2011-02-23 71 views
1

是否可以從(主機)應用程序的不同線程啓動內核,並讓它們在同一GPGPU設備上同時運行?如果沒有,您是否知道(Nvidia的)計劃在未來提供這種功能?並行內核執行

回答

3

編程指南http://developer.download.nvidia.com/compute/cuda/3_1/toolkit/docs/NVIDIA_CUDA_C_ProgrammingGuide_3.1.pdf說:

3.2.7.3同時內核執行 計算能力2.0的一些設備可以同時執行多個內核。應用程序可以通過調用cudaGetDeviceProperties()並檢查concurrentKernels屬性來查詢此功能。 設備可同時執行的內核啓動的最大數量爲16。

所以答案是:這取決於。它實際上只取決於設備。主機線程不會以任何方式發揮作用。如果設備不支持併發內核執行,並且內核啓動並行執行,並且串行內核在不同流上啓動的內核啓動將同時執行。