计算化学公社

标题: 经验分享:Windows Server 2016下Gromacs 2024.3 GPU版本编译经历 [打印本页]

作者
Author:
JinxrDK    时间: 2024-9-16 22:00
标题: 经验分享:Windows Server 2016下Gromacs 2024.3 GPU版本编译经历
本帖最后由 JinxrDK 于 2024-9-16 22:00 编辑

近日,课题组分配了一台Windows Server 2016系统的服务器,配备了一片A100,考虑到切换Linux系统影响其他同门工作,出于好奇,便尝试在本系统下编译GPU版本的Gromacs
编译环境为:Visual Studio 2019 Community, CUDA Toolkit v11.8, CMake 3.27(起初使用3.30,后发现多数问题由Cmake版本引发),具体配置请参见下图:

现将安装过程中的一些经验和参考资料分享如下:
1)文件修改(红色为删除,绿色为增加)
1.1 gromacs-2024.3/cmake/gmxManageNvccConfig
list(APPEND GMX_CUDA_NVCC_FLAGS "${CMAKE_CXXCUDA17_STANDARD_COMPILE_OPTION}") (第241行)

参考资料:Win10 编译 Gromacs 2022.5 的流程总结 - 知乎 (zhihu.com)
gmx_add_nvcc_flag_if_supported(GMX_CUDA_NVCC_FLAGS NVCC_HAS_USE_FAST_MATH -use_fast_math -std=c++17) (第245行)
参考资料:GROMACS2023 Windows原生系统下编译超详细解析 - 分子模拟 (Molecular Modeling) - 计算化学公社 (keinsci.com)
1.2 gromacs-2024.3/CMakeLists
set(CMAKE_POLICY_DEFAULT_CMP0091 NEW)
set(CMAKE_POLICY_DEFAULT_CMP NEW)
cmake_policy(SET CMP0091 NEW) (第1行前)

参考资料:GROMACS2023 Windows原生系统下编译超详细解析 - 分子模拟 (Molecular Modeling) - 计算化学公社 (keinsci.com)
1.3 gromacs-2024.3/CMakeLists
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>") (第92行)
参考资料:Build fails on windows when cuda is enabled (#4582) · 议题 · GROMACS / GROMACS · GitLab
2)我遇到的问题和解决的措施
2.1 D:\XXX\gromacs-2024.3\src\gromacs\simd\include\gromacs\simd\impl_x86_avx_512\impl_x86_avx_512_simd_float.h(191): fata l error C1001: 内部编译器错误。 [D:\XXX\gromacs-2024.3\build\src\gromacs\libgromacs.vcxproj]    设置-DGMX_SIMD=AVX2_256会报同类型错误
解决措施:安装CMakeLists中明确有提及的Cmake 3.27后,问题消失
2.2 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”
解决措施:按1.3中修改后问题消失

编译好的Gromacs以一并上传,请各位测试。受上传文件大小所限,请自行将NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin下cufft64_10.dll拷入GROMACS2024_3/bin中后运行。

本人计算机知识浅薄,若描述中有不妥或错误之处,还请不吝赐教。


作者
Author:
JinxrDK    时间: 2024-9-16 22:02
编译设置: cmake .. -DCMAKE_INSTALL_PREFIX=D:\XXX\SOFTWARE\GROMACS2024 -DGMX_FFT_LIBRARY=fftw3 -DCMAKE_PREFIX_PATH=D:\XXX\PACKAGE\FFTW310 -DGMX_GPU=CUDA  -G "Visual Studio 16 2019" -DCUDA_TOOLKIT_ROOT_DIR="C:/Program Files/NV
IDIA GPU Computing Toolkit/CUDA/v11.8" -DGMX_SIMD=AVX2_256
作者
Author:
Huschein    时间: 2024-10-26 19:52
强的,当时搞这个折腾了我一个星期




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3