visual-studio - windows vs2015创建cuda项目,release模式下默认开启/Zi选项。如何删除它?
问题描述
- 我通过vs2015创建了一个cuda项目(vector_add的代码是自动创建的)。
- 设置释放模式。
- 打开属性页,观察编译选项,注意默认设置了/Zi
- 对应的编译选项有:</li>
"D:\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin\nvcc.exe" -gencode=arch=compute_35,code=\"sm_35,compute_35\" --use-local-env -ccbin "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64" -x cu -I"D:\NVIDIA GPU Computing Toolkit\CUDA\v10.0\include" -I"D:\NVIDIA GPU Computing Toolkit\CUDA\v10.0\include" --keep-dir x64\Release -maxrregcount=0 --machine 64 --compile -cudart static -DWIN32 -DWIN64 -DNDEBUG -D_CONSOLE -D_MBCS -Xcompiler "/EHsc /W3 /nologo /O2 /Fdx64\Release\vc140.pdb /FS /Zi /MD " -o x64\Release\kernel.cu.obj "C:\Users\paddle-ci\Desktop\test\test1\kernel.cu"
生成的 obj 大小为74 kb。
在命令行中,去掉/Zi直接编译,生成的.obj大小为34kb。
在某些情况下,我们热切地希望obj尺寸变小,我们希望找到一种方法来移除/Zi。
环境:
win10+vs2015企业版
解决方案
修改文件,删除 /Zi
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\BuildCustomizations\CUDA 10.0.props
推荐阅读
- reference - Azure 中 Web 应用的负载平衡
- c - 如何打印动态数组书籍 * arr
- python - 如何创建一个查询?
- javascript - 在我的 ajax 请求上添加条件(if 和 else)
- apache-spark - 关于 Spark 中数据局部性的一个问题
- azure - 逻辑应用子文件夹触发器
- python - python中有没有像Arduino的millis()这样的函数?
- sql - oracle sql组合
- python - ValueError: s 必须是标量,或与 x 和 y 大小相同
- ios - CoreLocation - Continuous location update in background with authorizedWhenInUse authorization