[gmx-users] Status of GROMACS native Windows Builds

Mark Abraham mark.j.abraham at gmail.com
Thu Jan 10 12:01:11 CET 2019


Hi,

On Wed, Jan 9, 2019 at 5:28 PM Mark Abraham <mark.j.abraham at gmail.com>
wrote:

> Hi,
>
> On Wed, Jan 9, 2019 at 4:54 PM Wahab Mirco <
> Mirco.Wahab at chemie.tu-freiberg.de> wrote:
>
>> The build machine also has an old GTX-680 4GB with working CUDA 10 and
>>
> working OpenCL 1.2. Neither a Cuda-Build nor an OpenCL build would
>> succeed (see Appendix).
>>
>> Q: is further support for the windows platform to be expected?
>>
>
> Our major interests are the extra portability ensured by supporting MSVC
> and its different C++ standard library. And later probably the Microsoft
> correctness checking machinery, e.g. for the GSL.
>
> We'd be likely to accept patches that would get the GPU support working,
> but we won't prioritize effort to do it ourselves. Some of the type
> mismatches look worth fixing on general principles, and e.g. if clFFT
> doesn't support Windows, then we should fix our build stuff. I opened an
> issue in our tracker.
>
> Thanks!
>
> Mark
>
> Thanks & Regards
>>
>> M.
>>
>>
>> -----------------------------------------------------------------------
>>
>> Appendix:
>>
>> CUDA: cmake (3.13.2)  would fail creating a makefile by complaining:
>>
>> -- Check for working NVCC/C compiler combination
>> CMake Error at cmake/gmxManageNvccConfig.cmake:180 (message):
>>    message called with incorrect number of arguments
>> Call Stack (most recent call first):
>>    cmake/gmxManageGPU.cmake:204 (include)
>>    CMakeLists.txt:590 (gmx_gpu_setup)
>>
>
I proposed a fix for that for 2019.1.


> -- Check for working NVCC/C compiler combination - broken
>> CMake Error at cmake/gmxManageNvccConfig.cmake:185 (message):
>>    CUDA compiler does not seem to be functional.
>> Call Stack (most recent call first):
>>    cmake/gmxManageGPU.cmake:204 (include)
>>    CMakeLists.txt:590 (gmx_gpu_setup)
>>
>
This check isn't functional on Windows, but nvcc might be. Please try
setting cmake -DGMX_NVCC_WORKS=1 for now, and see how you go. I have
proposed a fix for 2019.1 that will stop trying to make this check.


> OpenCL: cmake detects OpenCL 1.2 and creates a makefile, but compilation
>> fails at several places:
>>
>> 1>fft_binary_lookup.cpp
>> 1>D:\LibSrc\Gromacs2019\gromacs-2019\src\external\clFFT\src\library\fft_binary_lookup.cpp(123):
>>
>> error C2664: 'HANDLE
>> CreateFileA(LPCSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,DWORD,DWORD,HANDLE)':
>>
>> cannot convert argument 1 from 'const _Elem *' to 'LPCSTR'
>> 1>        with
>> 1>        [
>> 1>            _Elem=wchar_t
>> 1>        ]
>> 1>D:\LibSrc\Gromacs2019\gromacs-2019\src\external\clFFT\src\library\fft_binary_lookup.cpp(129):
>>
>> note: Types pointed to are unrelated; conversion requires
>> reinterpret_cast, C-style cast or function-style cast
>> 1>Done building project "clFFT.vcxproj" -- FAILED.
>> 2
>>
>
Unfortunately clFFT doesn't support recent versions of MSVC, so unless you
make an install of their library that GROMACS will find (see
https://github.com/clMathLibraries/clFFT/releases), there is no way to
build GROMACS with OpenCL support, as that requires clFFT. Or try GROMACS
2018.x! (I proposed a fix for our build system here too.)

and
>>
>> 2>D:\LibSrc\Gromacs2019\gromacs-2019\src\gromacs\ewald\pme-gpu-internal.cpp(1135):
>>
>>
>
I also proposed a code fix for this one.

Thanks!

Mark


More information about the gromacs.org_gmx-users mailing list