我们有学过除了C以外的编程语言,所以在很努力的看这些例子的时候,有几个很疑惑的问题??
(虽然我知道很多问题一起问,效果不好,但是毕竟问题相关)
1.main函数应该放在什么格式的文件里面啊?
2.在GPU上运行的部分是否都要包括在kernel.cu文件里面啊?
3.为什么还会有cpp文件,什么时候需要用它啊?它是不是标准的C++程序啊?里面能否包含cuda的一些程序?
4.有时候会出现的.h .cubin .cuh又是应什么需求而出现的,各是什么文件?
5.为什么在有些程序里面会有 extern C字样,不写行不?
问题比较多,麻烦各位了。。。
1.这个不太好说,如果有CUDA的内容得放到.cu文件中,如果没有的话,就与其它的编译器有关了。
2.是的
3.不包含CUDA的内容,可以使用CPP文件,是C++,不能包含CUDA的东西。
4…h,.cuh是头文件,其它的是中间文件,可查nvcc手册
5.extern C的作用,可google,写不写得看是用什么主机编译器
1.放cu或者c都可以
2.GPU部分是在kernel.cu的
3.写c++的时候会用到
4…h .cuh是头文件,cubin是生成的二进制 kernel文件
5.这个是C语言和C++语言之间的混合编程问题,不属于CUDA范围,这个是在C++里面调用C的函数的时候,告诉编译器,这个函数是C的,所以加上extern C
那请问最先执行的文件是不是和程序同名称的文件啊??
表示在GPU上运行的界定符<<< >>>能否包含在kernel.cu文件里面啊??