6

Tôi cần một số trợ giúp để hiểu khái niệm về lõi trên GPU so với lõi trong CPU với mục đích thực hiện các phép tính song song.GPU và CPU? Số lõi/luồng trong GPU để tăng tốc tính toán chương trình?

Khi nói đến lõi trong CPU, có vẻ như khá đơn giản. Tôi có một vòng lặp "for" siêu chuyên sâu lặp lại bốn lần. Tôi có bốn lõi trong Intel i5 2.26GHz CPU. Tôi đưa ra một vòng lặp cho mỗi lõi. Mỗi vòng trong bốn vòng là độc lập với nhau. Boom - Bây giờ tôi có bốn chủ đề được tạo và sử dụng CPU 100% (thay vì sử dụng CPU 25% chỉ với một lõi). Vòng lặp "for" của tôi hiện chạy nhanh hơn gấp 4 lần so với khi tôi không song song nó. Nhân đây, đối với vòng lặp "for", tôi đã sử dụng tính năng song song tự động có sẵn trên Microsoft Visual Studio 2012, như trong ví dụ trực tuyến này: (http://msdn.microsoft.com/en-us/library/hh872235.aspx).

Ngược lại, tôi thậm chí không biết số lõi trong GPU của máy tính xách tay (Intel Graphics Media Accelerator HD hoặc Intel HD Graphics, với bộ nhớ chia sẻ 1696MB) mà tôi có thể sử dụng để tính toán song song. Tôi thậm chí không biết một cách hợp lệ để so sánh GPU với CPU. Khi tôi thấy "12 @ 500MHz" bên cạnh mô tả cạc đồ hoạ, tôi tự hỏi liệu điều đó có nghĩa là card đồ họa có 12 lõi để song song có thể hoạt động giống như 4 lõi trong CPU, ngoại trừ lõi GPU chạy ở 500MHz [chậm ] thay vì 2,26GHz [nhanh]? Có cách sử dụng GPU có thể so sánh với việc sử dụng CPU trong trình quản lý tác vụ Windows không? Tôi là một người mới hoàn toàn cố gắng sử dụng thư viện C++ trong studio trực quan 2012, nếu điều đó tạo ra bất kỳ sự khác biệt nào. Khi tôi viết phần mềm GPU thực tế, mã song song trông giống như sau: (http://msdn.microsoft.com/en-us/library/hh265137.aspx).

Vì vậy, bạn có vui lòng điền vào một số khoảng trống hoặc sai lầm trong kiến ​​thức của tôi hoặc giúp tôi so sánh cả hai? Tôi không cần một câu trả lời siêu phức tạp, một cái gì đó đơn giản như "Bạn không thể so sánh một lõi CPU với một lõi GPU vì trống trống" hoặc "một lõi GPU không thực sự là một lõi như lõi CPU là" sẽ được rất nhiều đánh giá cao.

+1

Nếu bạn định nỗ lực giảm bớt câu hỏi của mình, ít nhất là để lại một câu giải thích tại sao bạn cho rằng đó là một câu hỏi tồi. Câu hỏi này khá cởi mở và bạn được tự do giải quyết nó từ nhiều góc độ khác nhau. –

+1

Ngoài ra, tôi biết rằng card đồ họa của tôi tiêu chuẩn với máy tính xách tay là một phần của crap. Nó không phải là một "card đồ họa rời" có khả năng làm việc với . Vì lợi ích của câu hỏi này, xin vui lòng giả vờ rằng nó là một thẻ "legit" có chức năng tốt cho việc tính toán chương trình. –

Trả lời

4

Đầu tiên, hệ điều hành chỉ khởi tạo nhiều lõi hơn nếu bạn yêu cầu chúng trong mã của bạn. Hãy thử sử dụng OpenMP hoặc Win32 chủ đề để đạt được song song trên i5 của bạn.

Thứ hai, xung CPU không chỉ là xung nhịp GPU. Nếu xung nhịp của GPU giống như CPU, bạn có thể sử dụng nó làm bếp nấu ăn. Các lõi trong GPU nhiều hơn CPU. Có một sự khác biệt giữa một sợi và lõi.

Thứ ba, tôi khuyên bạn nên đọc thông số kỹ thuật và hướng dẫn tham khảo cho CPU và GPU của bạn. Ngoài ra, đừng quên PCI-e. Đây là nút cổ chai cho việc thực hiện Lập trình song song.

Hy vọng điều này sẽ làm rõ những nghi ngờ của bạn. Còn câu hỏi nào nữa, hãy hỏi.

+0

Yêu thích tài liệu tham khảo của bạn cho câu hỏi này – Harrisson

Các vấn đề liên quan