Tôi chỉ mới bắt đầu học C++ AMP và tôi đã có được một vài ví dụ mà tôi đã tạo bằng VS 2012 RC, nhưng tôi thấy rằng hiệu suất của GPU chậm hơn CPU. Ví dụ, các ví dụ của Kate Gregory: http://ampbook.codeplex.com/releases/view/90595 (liên quan đến cuốn sách sắp tới của cô http://www.gregcons.com/cppamp/). Họ đã được cô ấy chứng minh trong một bài giảng mà tôi đã xem ở đó cô ấy đã đạt được hiệu suất cải thiện ~ 5x cho ví dụ chương 4 bằng cách sử dụng GPU của máy tính xách tay của mình (tôi tin rằng cô ấy nói nó là 6650) so với CPU (không chắc CPU cô ấy có). Tôi đã thử nghiệm các ví dụ bản thân mình và trên một vài cấu hình hệ thống (như dưới đây) Tôi đã luôn luôn tìm thấy CPU được nhanh hơn. Tôi cũng đã thử nghiệm các ví dụ khác và tìm thấy giống nhau. Tôi có làm điều gì sai? Có lý do nào cho hiệu suất chậm hơn mong đợi không? Có ai có một ví dụ mà chắc chắn sẽ hiển thị GPU được nhanh hơn?C++ AMP với GPU nhanh hơn CPU
- Hệ thống 1: Intel i7 2600K với đồ họa onboard (Tôi hy vọng điều này là chậm hơn)
- Hệ thống 2: Intel i7 2630QM với Intel HD có thể chuyển đổi với AMD 6770 (Tôi đã cho nó chạy trong chế độ hiệu suất để nó phải được sử dụng 6770)
- Hệ thống 3: Intel i5 750 với 2xCrossfire AMD HD 5850
Ví dụ về kết quả: Kết quả dự án chapter4 trong 1.15ms CPU, GPU 2.57ms, 2.55ms GPU lát gạch.
Sửa:
Doh, tôi nghĩ rằng tôi chỉ tìm thấy lý do tại sao - các giá trị cho kích thước của ma trận cô đã sử dụng trong bài giảng là khác nhau. Mẫu trên trang web sử dụng M = N = W = 64. Nếu tôi sử dụng 64, 512 và 256 như cô ấy đã làm trong bài giảng thì tôi nhận được hiệu suất tăng 5x tương ứng.
Tôi tự hỏi liệu [Kate Gregory] (http://stackoverflow.com/users/203458/kate-gregory) có đang đọc cái này không. –
Nếu bạn đọc nó Kate thì tôi nghĩ sẽ tốt hơn khi cập nhật mã trực tuyến để sử dụng các kích thước ma trận được sử dụng trong bài giảng (http://channel9.msdn.com/Events/TechEd/Europe/2012/DEV334) - Tôi đã nghĩ rằng có một cái gì đó sai với VS của tôi hoặc cài đặt dự án là lý do tại sao tôi đã không nhìn thấy bất kỳ cải tiến :) – CarbonTwelve
Tại sao mọi người bỏ phiếu để đóng này là "tắt chủ đề"? Điều gì về C++ AMP, CPU, GPU và Visual Studio là "tắt chủ đề" cho Stack Overflow? –