2013-01-02 178 views
1

我在Arch Linux上運行:CUDA內核調用阻塞?

我已經在多個地方看到內核調用與CPU異步(將立即返回並允許CPU繼續)。但是,我沒有得到這種行爲。

例如

kernel<<<blocks,threads>>>(); 
printf("print immediately\n"); 
check_cuda_error(); 

CPU似乎鎖定並沒有打印任何東西(同樣沒有其他執行)直到內核完成。測試各種不同執行時間(1s,2s,3s等)和計算的內核,以確保它不是我的內核。

這是驅動程序問題嗎?或者我誤解了某些東西

回答

2

我發現當我在X之外(在非圖形環境中)運行時,我得到了預期的行爲。我的假設是,雖然我的GPU在內核中努力工作,但它並沒有更新屏幕上的圖形,因此在打印到控制檯之前似乎「掛起」了。

從shell運行提供了預期的結果,所以我正在考慮自己的問題回答。請在下方留言,您可能有更多見解