|
本帖最后由 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中后运行。
本人计算机知识浅薄,若描述中有不妥或错误之处,还请不吝赐教。
|
评分 Rate
-
查看全部评分 View all ratings
|