![](/img/trans.png)
[英]Cuda Hello World printf not working even with -arch=sm_20
[英]Why printf is not working in CUDA?
我引用的鏈接說,如果您的設備的計算能力大於2.0,則可以在CUDA內核中使用printf()函數。 當我嘗試相同的操作時,出現錯誤“不允許從全局函數(“ mat_mul”)調用主機函數(“ printf”)” ,但是當我在Eclipse nsight上運行相同的代碼時,我得到了預期的輸出和printf( )函數得到執行。 為什么nsight會有如此不同的行為?
您引用的錯誤:
“不允許從全局函數(“ mat_mul”)調用主機函數(“ printf”)”
源於編譯代碼,而不是運行代碼。
因此,區別在於您如何從“終端中的nvcc”進行編譯,以及如何在nsight中進行編譯。
如果使用附加的體系結構開關在終端中進行編譯:
nvcc -arch=sm_20 ...
錯誤應該消失。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.