<div dir="ltr">Yes I was responding to comment 3.<div><br></div><div>I am curious, does the longer form signature "-gencode arch=compute_20,code=sm_20  -gencode arch=compute_20,code=compute_20" work correctly? CMake has to parse the gencode flags and move them to special msbuild entries, and I wonder if there is a bug when parsing multiple code options. </div>







</div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Sep 6, 2017 at 10:36 AM, Mueller-Roemer, Johannes Sebastian <span dir="ltr"><<a href="mailto:Johannes.Sebastian.Mueller-Roemer@igd.fraunhofer.de" target="_blank">Johannes.Sebastian.Mueller-Roemer@igd.fraunhofer.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang="DE" link="blue" vlink="purple">
<div class="m_4838613739286076793WordSection1">
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">If the comment is wrt 3., the result is the same no matter if I use a space or an equals sign, if I double escape the
 quotes (e.g., use the value as you wrote it in the cmake-gui for CMAKE_CUDA_FLAGS), the value in VS becomes compute_20,"sm_20,compute_20" instead of compute_20,sm_20,compute_20, which is equally illegal and will cause the same error message, also double escaping
 should not be necessary for a subset of flags (Xcompiler works fine without it, even if the default values are pointless).<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">If the comment is wrt 2., this is the line automatically generated by CMake/VS when not passing in any gencode flags explicitly.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Or am I misunderstanding what you mean?<u></u><u></u></span></p><span class="">
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Fraunhofer-Institut für Graphische Datenverarbeitung IGD<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Fraunhoferstr. 5  |  64283 Darmstadt  |  Germany<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Tel <a href="tel:+49%206151%20155606" value="+496151155606" target="_blank">+49 6151 155-606</a>  |  Fax <a href="tel:+49%206151%20155139" value="+496151155139" target="_blank">+49 6151 155-139</a><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><a href="mailto:johannes.mueller-roemer@igd.fraunhofer.de" target="_blank">johannes.mueller-roemer@igd.<wbr>fraunhofer.de</a> |
<a href="http://www.igd.fraunhofer.de" target="_blank">www.igd.fraunhofer.de</a><u></u><u></u></span></p>
<p class="MsoNormal"><span><u></u> <u></u></span></p>
</span><p class="MsoNormal"><b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif"> Robert Maynard [mailto:<a href="mailto:robert.maynard@kitware.com" target="_blank">robert.maynard@<wbr>kitware.com</a>]
<br>
<b>Sent:</b> Wednesday, September 6, 2017 15:38<br>
<b>To:</b> Mueller-Roemer, Johannes Sebastian <<a href="mailto:Johannes.Sebastian.Mueller-Roemer@igd.fraunhofer.de" target="_blank">Johannes.Sebastian.Mueller-<wbr>Roemer@igd.fraunhofer.de</a>><br>
<b>Cc:</b> <a href="mailto:cmake@cmake.org" target="_blank">cmake@cmake.org</a><br>
<b>Subject:</b> Re: [CMake] CMake 3.9.x Visual Studio CUDA PDB/compiler flags issues<u></u><u></u></span></p><div><div class="h5">
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">As far as <span style="font-size:11.0pt;font-family:"Calibri",sans-serif">gencode goes, your line has errors. With CUDA 8 it should look like:</span><u></u><u></u></p>
<div>
<p class="m_4838613739286076793gmail-p1"><span class="m_4838613739286076793gmail-s1">-gencode arch=compute_20,code=\"sm_20,<wbr>compute_20\" </span><u></u><u></u></p>
<p class="m_4838613739286076793gmail-p1"><u></u> <u></u></p>
</div>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">On Mon, Sep 4, 2017 at 4:06 AM, Mueller-Roemer, Johannes Sebastian <<a href="mailto:Johannes.Sebastian.Mueller-Roemer@igd.fraunhofer.de" target="_blank">Johannes.Sebastian.Mueller-<wbr>Roemer@igd.fraunhofer.de</a>> wrote:<u></u><u></u></p>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<div>
<div>
<p class="MsoNormal"><span lang="EN-US">I’m having two issues with debug symbols for CUDA libraries on a project:</span><u></u><u></u></p>
<p class="MsoNormal"><span lang="EN-US"> </span><u></u><u></u></p>
<p class="m_4838613739286076793m4624768089518785155msolistparagraph"><span lang="EN-US">1.</span><span lang="EN-US" style="font-size:7.0pt">      
</span><span lang="EN-US">The PDBs are not placed where the linker later expects to find them (haven’t been able to replicate this in a minimal project yet)</span><u></u><u></u></p>
<p class="m_4838613739286076793m4624768089518785155msolistparagraph"><span lang="EN-US">2.</span><span lang="EN-US" style="font-size:7.0pt">      
</span><span lang="EN-US">Trying to circumnavigate this issue by using “/Z7” instead of “/Zi” does not work, Zi is always used (replicable in any project with CUDA)<br>
<br>
Replication steps: Replace -Zi or /Zi in CMAKE_*_FLAGS* (CUDA, CXX, C) by -Z7 or /Z7. Build and see several warnings like “cl : Command line warning D9025: overriding '/Z7' with '/Zi'” in the output window.<br>
And do the flags in the –Xcompiler make sense at all in VS? The CUDA build tools seem to determine these automatically anyways… for example I get the following call in the above scenario:<br>
<br>
"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin\nvcc.<wbr>exe" -gencode=arch=compute_20,code=<wbr>\"sm_20,compute_20\" --use-local-env --cl-version 2015 -ccbin "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64"  -I"C:\Program Files\NVIDIA
 GPU Computing Toolkit\CUDA\v8.0\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\include"  -G   --keep-dir x64\Debug -maxrregcount=0  --machine 64 --compile -cudart static -Xcompiler="/EHsc -Z7 -Ob0" -g   -D_WINDOWS -Xcompiler "/EHsc /W3
 /nologo /Od /FS /Zi /RTC1 /MDd /GR" -o A.dir\Debug\a.cu.obj "D:\jsroemer\projects\cuda-<wbr>pdb-test\a\<a href="http://a.cu" target="_blank">a.cu</a>"</span><u></u><u></u></p>
<p class="m_4838613739286076793m4624768089518785155msolistparagraph"><span lang="EN-US">3.</span><span lang="EN-US" style="font-size:7.0pt">      
</span><span lang="EN-US">Also, -gencode flags do not behave as expected when given in the form -gencode=arch=compute_20,code=<wbr>"sm_20,compute_20", as this causes the VS build system to error out:<br>
<br>
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\<wbr>v4.0\V140\BuildCustomizations\<wbr>CUDA 8.0.targets(216,9): error : Item '..\..\a\<a href="http://a.cu" target="_blank">a.cu</a>' Code Generation value is not in the expected format '[Arch],[Code]'.<br>
<br>
The code generation value in this example is set to compute_20,sm_20,compute_20 by CMake.</span><u></u><u></u></p>
<p class="MsoNormal"><span lang="EN-US"> </span><u></u><u></u></p>
<p class="MsoNormal">Fraunhofer-Institut für Graphische Datenverarbeitung IGD<u></u><u></u></p>
<p class="MsoNormal">Fraunhoferstr. 5  |  64283 Darmstadt  |  Germany<u></u><u></u></p>
<p class="MsoNormal">Tel
<a href="tel:+49%206151%20155606" target="_blank">+49 6151 155-606</a>  |  Fax <a href="tel:+49%206151%20155139" target="_blank">
+49 6151 155-139</a><u></u><u></u></p>
<p class="MsoNormal"><a href="mailto:johannes.mueller-roemer@igd.fraunhofer.de" target="_blank">johannes.mueller-roemer@igd.<wbr>fraunhofer.de</a> |
<a href="http://www.igd.fraunhofer.de" target="_blank">www.igd.fraunhofer.de</a><u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
</div>
<p class="MsoNormal"><br>
--<br>
<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Please keep messages on-topic and check the CMake FAQ at: <a href="http://www.cmake.org/Wiki/CMake_FAQ" target="_blank">
http://www.cmake.org/Wiki/<wbr>CMake_FAQ</a><br>
<br>
Kitware offers various services to support the CMake community. For more information on each offering, please visit:<br>
<br>
CMake Support: <a href="http://cmake.org/cmake/help/support.html" target="_blank">
http://cmake.org/cmake/help/<wbr>support.html</a><br>
CMake Consulting: <a href="http://cmake.org/cmake/help/consulting.html" target="_blank">
http://cmake.org/cmake/help/<wbr>consulting.html</a><br>
CMake Training Courses: <a href="http://cmake.org/cmake/help/training.html" target="_blank">
http://cmake.org/cmake/help/<wbr>training.html</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">
http://www.kitware.com/<wbr>opensource/opensource.html</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/cmake" target="_blank">http://public.kitware.com/<wbr>mailman/listinfo/cmake</a><u></u><u></u></p>
</blockquote>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div></div></div>
</div>

</blockquote></div><br></div>