====== Instalación ======
===== Amber24 =====
module purge
module load intel openmpi4 cmake
tar xvfj AmberTools24.tar.bz2
tar xvfj Amber24.tar.bz2
cd amber24_src
vi update_amber # reemplazo python por python3, TODO: usar sed
./update_amber --help
./update_amber --check-updates --proxy=$http_proxy # cuidado si ambermd.org está caído
./update_amber --update --proxy=$http_proxy
cd build
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
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
Me hinché y repetí los pasos con GNU / gnu12, 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 ====
Si la instalación de miniconda no anda por ToS:
cd /data/shared/apps/amber/24/amber24_src/build/CMakeFiles/miniconda/install/bin/
./conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main
./conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r
cd -
./run_cmake
Si no están instalados numpy scipy matplotlib en realidad es que no esta el symlink de libstdc++.so.6
cd /data/shared/apps/amber/24/amber24_src/build/CMakeFiles/miniconda/install/lib
ln -s libstdc++.so.6.0.34 libstdc++.so.6
export LD_LIBRARY_PATH=/data/shared/apps/amber/24/amber24_src/build/CMakeFiles/miniconda/install/lib:$LD_LIBRARY_PATH
cd -
./run_cmake
Si MPI no es reconocido, hay que meter un module purge y cargar de nuevo los módulos.
===== 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.
tar zxvf amber20_src.tgz
cp Amber20_SYCL_patch_2024-02-05.tar.bz2 amber20_src
cd amber20_src
tar xvf Amber20_SYCL_patch_2024-02-05.tar.bz2
cd build
ml intel/2024.2.1 mkl/2024.2 mpi cmake dpct/2024.2.0
./run_cmake
make install
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
CXX_FLAGS = -O0 -fsycl -std=c++17 -O0 -fsycl -std=c++17 -std=gnu++11
por
CXX_FLAGS = -O0 -fsycl -std=c++17 -O0 -fsycl -std=c++17