2008-10-17 13 views
21

Tôi có một mạng lưới thần kinh được viết bằng Erlang và tôi vừa mua một thẻ GeForce GTX 260 với GPU 240 lõi trên đó. Việc sử dụng CUDA có phải là keo để chạy trên thẻ đồ họa không?Làm cách nào để tạo một chương trình đồng thời đã được viết trên một mảng GPU?

+0

tuyệt vời câu hỏi, bạn có thể muốn xem xét tăng này trong cộng đồng erlang, nó có thể truyền cảm hứng cho một số thay đổi thực sự đáng chú ý trong erlang! :-) – none

+1

@none: Tôi nghi ngờ điều đó. Các mô hình đồng thời erlang không giá vé rất tốt với các ngôn ngữ mô hình đồng thời như CUDA hoặc sử dụng OpenCL. Tôi đã thực hiện một số (chưa được công bố) những nỗ lực để viết các ràng buộc openCL cho erlang, nhưng ứng dụng thực sự duy nhất tôi thấy cho nó như của bây giờ là làm công cụ như biến đổi ma trận nhanh. – Amadiro

Trả lời

16

Không, việc sử dụng CUDA không phải là vấn đề nhỏ.

Mô hình lập trình CUDA về cơ bản sử dụng C (với một số bổ sung) nhưng để tận dụng tối đa khả năng của GPGPU, bạn phải đảm bảo rằng các thuật toán của bạn tuân thủ các nguyên tắc của CUDA. (xem NVidia CUDA Programming Guide)

Ví dụ để có được hiệu suất bộ nhớ tốt nhất (khoảng 70Gbps) bạn cần truy cập bộ nhớ trong chế độ phát trực tuyến với nhau, chi nhánh cũng rất tốn kém trên GPU nên bạn nên tránh điều kiện nhiều như khả thi. Hãy xem hướng dẫn và mẫu được cung cấp với SDK, chúng sẽ cung cấp một điểm xuất sắc tuyệt vời

+0

Yup, đó là rất nhiều công việc. Để có được tốc độ tăng tốc đáng kể, bạn sẽ phải hiểu cách sắp xếp dữ liệu và khái niệm về nửa warps và coalescing như đã đề cập. Ngoài ra, tôi tin rằng mã máy mục tiêu thay đổi theo chuỗi GPU ... – Sushant

3

Tôi ước tôi có thể cho bạn biết cách thực hiện điều này với Erlang ... ;-), nhưng ít nhất, Satnam Singh tại MS Nghiên cứu đã thực hiện một số công việc rất thú vị với Haskell (Lava) và F #. Có lẽ bài viết này có thể cung cấp cho bạn một số trực giác cho nó như thế nào thể được thực hiện:

http://research.microsoft.com/en-us/people/satnams/

+1

Liên kết bị hỏng. Trang chủ của Satnam là ở đây: http://research.microsoft.com/en-us/people/satnams/ –