2016-02-07 38 views
5

Tôi đang sử dụng NVIDIA Grid K2 để lập trình CUDA. Nó có hai GPU, mỗi GPU có 1536 lõi. Có thể sử dụng cả hai GPU trong một hoặc nhiều cuộc gọi hạt nhân không?Sử dụng nhiều GPU CUDA

Trả lời

8

Không, điều đó là không thể. Mỗi GPU trên một thẻ đa GPU như một Grid K2 là một thiết bị CUDA riêng biệt với bộ nhớ riêng của nó. Như vậy, mỗi GPU có ngữ cảnh CUDA riêng và phải được lập trình rõ ràng. Trình điều khiển CUDA hoặc thời gian chạy sẽ không tự động sử dụng cả hai thiết bị như một thiết bị ảo duy nhất để khởi chạy hạt nhân.

+1

là bộ nhớ ít nhất được chia sẻ? I E. tôi có thể sao chép dữ liệu từ máy chủ đến device0 và sau đó chạy một hạt nhân trên device1 sẽ sử dụng dữ liệu từ device0? hoặc tôi có phải sao chép dữ liệu riêng biệt vào từng dữ liệu không? hoặc ít nhất có thể sao chép dữ liệu trực tiếp giữa các thiết bị (từ dev0 đến dev1)? – Val

+2

@ValCool: Theo như tôi biết câu trả lời là không, bộ nhớ không được chia sẻ. Trên nền tảng được hỗ trợ, có thể sử dụng bộ nhớ ảo hợp nhất và truy cập bộ nhớ ngang hàng, nhưng hai GPU rời rạc chỉ được liên kết bởi một chip cầu nối PCI-e thông thường trên bo mạch, và giao tiếp cơ bản là ở tốc độ PCI-e DMA – talonmies

+0

để SLI không được sử dụng cho loại giao tiếp này? – Val

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