我在Nvidia的Nsight中有一個小項目,它爲我創建了makefiles。我想使用一些SSE指令,並想用gcc而不是nvcc編譯項目中的cpp文件。如何在使用Nsight Eclipse Edition時使用gcc進行編譯?
有沒有辦法配置Nsight來做到這一點,或者我必須手動編寫Makefile?
編輯:.cu文件應該與nvcc當然編譯。
我在Nvidia的Nsight中有一個小項目,它爲我創建了makefiles。我想使用一些SSE指令,並想用gcc而不是nvcc編譯項目中的cpp文件。如何在使用Nsight Eclipse Edition時使用gcc進行編譯?
有沒有辦法配置Nsight來做到這一點,或者我必須手動編寫Makefile?
編輯:.cu文件應該與nvcc當然編譯。
您應該能夠在CU文件中使用GCC SSE指令 - NVCC使用您的平臺編譯器編譯所有主機代碼。
如果你仍然想使用GCC,你有兩個選擇:
要在Nsight中使用gcc,您必須創建makefile項目並手動編寫makefile。
或者,你可以使用nvcc編譯你的.cpp/.c文件。要添加不能被nvcc識別的額外編譯器選項(只能由gcc識別),應該在nvcc選項-Xcompiler
前加上前綴。
使用nvcc的一個副作用是你的.cpp程序需要運行libcudart.so,即使它並不真的需要。
另外我只注意到nvcc完全「轉發」cpp文件到gcc。 (我注意到,因爲錯誤消息的格式發生了變化) – Hannes
@Eugene但是,如何將我的「平臺編譯器」從GCC更改爲ICC(Intel C++)?你能幫我解決我的問題嗎? http://stackoverflow.com/questions/23133335/how-can-i-create-the-project-in-eclipse-nsight-which-use-both-intel-c-and-cuda – Alex
@Alex應該有一個在CUDA項目屬性中暴露的「ccbin」NVCC標誌(我不記得屬性樹中的確切路徑 - 就像Build-> Settings)。只需指出你的icc編譯器。 – Eugene