<div dir="ltr">Hi,<div><br></div><div>That's mystifying - in normal C the static const float should be in scope every time CUDA compiles the file. Clearly it works fine with other compilers, but we don't test the CUDA build on Windows. <a href="http://stackoverflow.com/questions/15004955/host-float-constant-usage-in-a-kernel-in-cuda">http://stackoverflow.com/questions/15004955/host-float-constant-usage-in-a-kernel-in-cuda</a> suggests that file static int and float are different for CUDA. <a href="http://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#variable-type-qualifiers">http://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#variable-type-qualifiers</a> suggests that using static const __device__ float might force MSVC to do what perhaps other compilers achieve via optimization? I'm pretty sure that value isn't used by GROMACS on the host, so it might just work. Not sure if any of the other qualifiers will help improve speed.</div><div><br></div><div>Mark</div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, Nov 23, 2016 at 9:41 AM Wahab Mirco <<a href="mailto:Mirco.Wahab@chemie.tu-freiberg.de">Mirco.Wahab@chemie.tu-freiberg.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I'm about to build 2016.1 on a windows machine w/VS2015<br class="gmail_msg">
and hitting a wall:<br class="gmail_msg">
<br class="gmail_msg">
...<br class="gmail_msg">
2> Building NVCC (Device) object<br class="gmail_msg">
src/gromacs/CMakeFiles/libgromacs.dir/mdlib/nbnxn_cuda/Release/libgromacs_generated_nbnxn_cuda.cu.obj<br class="gmail_msg">
2> <a href="http://nbnxn_cuda.cu" rel="noreferrer" class="gmail_msg" target="_blank">nbnxn_cuda.cu</a><br class="gmail_msg">
2><br class="gmail_msg">
2>CUSTOMBUILD : nvcc warning : The 'compute_20', 'sm_20', and 'sm_21'<br class="gmail_msg">
architectures are deprecated, and may be removed in a future release<br class="gmail_msg">
(Use -Wno-deprecated-gpu-targets to suppress warning).<br class="gmail_msg">
2><br class="gmail_msg">
2>D:/LibSrc/Gromacs2016/gromacs-2016.1/src\gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel_utils.cuh(351):<br class="gmail_msg">
error : identifier "c_oneSixth" is undefined<br class="gmail_msg">
2>D:/LibSrc/Gromacs2016/gromacs-2016.1/src\gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel_fermi.cuh(243):<br class="gmail_msg">
error : identifier "c_oneSixth" is undefined in device code<br class="gmail_msg">
...<br class="gmail_msg">
<br class="gmail_msg">
and so on. A quick look into the file reveals "c_oneSixth" at line 78:<br class="gmail_msg">
<br class="gmail_msg">
[nbnxn_cuda_kernel_utils.cuh]<br class="gmail_msg">
...<br class="gmail_msg">
78: static const float c_oneSixth = 0.16666667f;<br class="gmail_msg">
79: static const float c_oneTwelveth = 0.08333333f;<br class="gmail_msg">
...<br class="gmail_msg">
<br class="gmail_msg">
I'm not sure where to start looking for a solution ...<br class="gmail_msg">
<br class="gmail_msg">
Regards<br class="gmail_msg">
<br class="gmail_msg">
Mirco<br class="gmail_msg">
<br class="gmail_msg">
--<br class="gmail_msg">
Gromacs Developers mailing list<br class="gmail_msg">
<br class="gmail_msg">
* Please search the archive at <a href="http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List" rel="noreferrer" class="gmail_msg" target="_blank">http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List</a> before posting!<br class="gmail_msg">
<br class="gmail_msg">
* Can't post? Read <a href="http://www.gromacs.org/Support/Mailing_Lists" rel="noreferrer" class="gmail_msg" target="_blank">http://www.gromacs.org/Support/Mailing_Lists</a><br class="gmail_msg">
<br class="gmail_msg">
* For (un)subscribe requests visit<br class="gmail_msg">
<a href="https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers" rel="noreferrer" class="gmail_msg" target="_blank">https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers</a> or send a mail to <a href="mailto:gmx-developers-request@gromacs.org" class="gmail_msg" target="_blank">gmx-developers-request@gromacs.org</a>.<br class="gmail_msg">
</blockquote></div>