问题:原工程是普通c/c++编译工程,需要将部分运算进行cuda加速,如何实现?
首先确保电脑中安装有cuda库,可通过cmd命令查看是否安装和安装的版本,在命令行中输入nvcc --version。显示安装的是版本号是cuda 11.8
然后选中工程文件目录,点击右键,选择“生成依赖项”->"生成自定义",勾选cuda项,选择cuda版本名称。
选择项目属性,在属性页中选中“C/C++”,在右侧“附加包含目录”中加入cuda库路径(include和lib),在“链接器”->"输入"中“附加依赖项”中输入cudart.lib
添加cuda代码文件,头文件以.cuh为后缀,实现文件以.cu为后缀,选中文件后右键选择"属性",在“配置属性”->"常规"中“项类型”选择“CUDA C/C++”.
至此配置已完成。
编译过程中存在的问题解决
我采用的是vs2019,其中涉及mfc库。在编译过程中出现LNK2005 DllMain已经在MSVCRT.lib中已定义问题
在网上找到一个有效的解决方法,这是因为出现库文件链接顺序问题,调整一下链接顺序即可。首先在错误列表中查看是哪个lib文件出错,然后在“项目属性”-“链接器”-“输入”-“忽略特定默认库”中输入出错的lib文件(如MSVCRT.lib和mfcs140u.lib),然后在附加依赖项中再增加,如(mfcs140u.lib和MSVCRT.lib),编译成功。