我在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