User Tools

Site Tools


admin:compilaciones:amber

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
admin:compilaciones:amber [2025/08/27 14:34] – [Amber20 - SYCL] joaquintorresadmin:compilaciones:amber [2026/01/24 14:22] (current) joaquintorres
Line 15: Line 15:
 vi run_cmake # edito y cambio a -DCOMPILER=GNU a -DCOMPILER=INTELLLVM  https://ambermd.org/InstIntelOneAPI.php y agrego -DMINICONDA_VERSION=py312_25.5.1-1 vi run_cmake # edito y cambio a -DCOMPILER=GNU a -DCOMPILER=INTELLLVM  https://ambermd.org/InstIntelOneAPI.php y agrego -DMINICONDA_VERSION=py312_25.5.1-1
 ./run_cmake ./run_cmake
 +make install
 +source /data/shared/apps/amber/24/amber24/amber.sh
 +cd $AMBERHOME
 +make test.serial
 +cd ../amber24_src/build/
 +vim run_cmake # MPI = TRUE
 +
 </code> </code>
  
-Me hinché y repetí los pasos con GNU / gnu12, funciona mejor que con Intel 2023.+Me hinché y repetí los pasos con gnu13 openmpi5, funciona mejor que con Intel 2023
 + 
 +Es **clave** correr make install en lugar de make -j o make, aparentemente evita problemas de paralelización.
  
 ==== Problemas ==== ==== Problemas ====
Line 39: Line 48:
 ./run_cmake ./run_cmake
 </code> </code>
 +Si MPI no es reconocido, hay que meter un module purge y cargar de nuevo los módulos.
 ===== Amber20 - SYCL ===== ===== Amber20 - SYCL =====
 Hay una versión experimental para SYCL documentada en https://ambermd.org/GPUSupport.php El link al patch está en esta misma página. Hay una versión experimental para SYCL documentada en https://ambermd.org/GPUSupport.php El link al patch está en esta misma página.
Line 49: Line 58:
 tar xvf Amber20_SYCL_patch_2024-02-05.tar.bz2 tar xvf Amber20_SYCL_patch_2024-02-05.tar.bz2
 cd build cd build
-ml intel/2024.2.1 openmpi4 cmake+ml intel/2024.2.1 mkl/2024.2 mpi cmake dpct/2024.2.0
 ./run_cmake ./run_cmake
-make -j 48+make install
 </code> </code>
 +
 +Si falla por flags de C++17, hay que editar los archivos
 +  * src/pmemd/src/CMakeFiles/pmemd_obj_sycl.dir/flags.make
 +  * src/pmemd/src/CMakeFiles/pmemd_obj_sycl_mpi.dir/flags.make
 +  * src/pmemd/src/CMakeFiles/pmemd.dir/flags.make
 +  * src/pmemd/src/CMakeFiles/pmemd.MPI.dir/flags.make
 +
 +<code>
 +CXX_FLAGS =  -O0 -fsycl -std=c++17 -O0 -fsycl -std=c++17 -std=gnu++11
 +</code>
 +por 
 +<code>
 +CXX_FLAGS =  -O0 -fsycl -std=c++17 -O0 -fsycl -std=c++17
 +</code>
 +
 +Adicionalmente, es necesario cambiar extern size_t read y extern size_t write por ssize_t en ambos casos, para los headers nuevos de C++ (post upgrade). El mismo error indica dónde.
 +
 +Por último, OneAPI toma la libstdc++ del sistema por dynamic linking. Como GCC11 soporta hasta GLIBCXX3.24.29 y este usa features de GLIBCXX3.24.32, es necesario agregar /opt/ohpc/pub/compiler/gcc/13.2.0/lib64/ al LD_LIBRARY_PATH.
admin/compilaciones/amber.1756305263.txt.gz · Last modified: by joaquintorres