-
Notifications
You must be signed in to change notification settings - Fork 20
platforms
Assumes homebrew is installed, which it is by default on the AWS instances.
brew install cmake
brew install openblas
git clone https://github.com/project-asgard/asgard.git
cd asgard
mkdir build
cd build
cmake .. -DCMAKE_CXX_COMPILER=g++-10 -DASGARD_BLAS_PATH=/usr/local/opt/openblas
make
ctest
./asgard
The homebrew based install of openblas in the Catalina instructions above also likely work here - but I've not tested it.
git clone https://github.com/project-asgard/asgard.git
cd asgard
mkdir build
cd build
cmake ../ -DASGARD_BUILD_OPENBLAS=1
make
ctest
./asgard
git clone https://github.com/project-asgard/asgard.git
cd asgard
mkdir build
cd build
cmake -DASGARD_USE_MPI=ON -DASGARD_USE_SCALAPACK=ON ../
make
ctest
./asgard
source /home/dg6/spack/share/spack/setup-env.sh
module load openmpi-3.1.2-gcc-7.3.0-zz5232w
module load cuda-10.0.130-gcc-7.3.0-s6ervyw
module load cmake-3.12.2-gcc-7.3.0-duokccd
git clone https://github.com/project-asgard/asgard.git
cd asgard && mkdir build && cd build
cmake ../ -DASGARD_USE_CUDA=1
make
ctest
./asgard
module load cmake-3.15.3-gcc-7.4.0-i44ddvb
module load cuda-10.2.89-gcc-7.4.0-hzby2dv
module load openmpi-3.1.5-gcc-7.4.0-s4r4ogv
git clone https://github.com/project-asgard/asgard.git
cd asgard && mkdir build && cd build
cmake ../ -DASGARD_USE_CUDA=1
make
ctest
./asgard
- Access the Ascent login node:
- Load modules, other combinations may work, this one has been tested
module load cmake/3.17.3 cuda/10.1.243 gcc/7.4.0 openblas/0.3.9-omp spectrum-mpi/10.3.1.2-20200121
-
No need of allocation to compile the code
-
Make a build directory, compile the code. For a GPU version of the code without MPI:
mkdir build
cd build
cmake ../ -DASGARD_USE_CUDA=1
make -j 10
For a GPU version with MPI:
cmake ../ -DASGARD_USE_CUDA=1 -DASGARD_USE_MPI=1 -DCMAKE_CXX_COMPILER=mpicxx
You should find that ASGarD is able to detect an existing installation of BLAS on the Cori GPU nodes:
Found BLAS: /autofs/nccsopen-svm1_sw/ascent/.swci/1-compute/opt/spack/20180914/linux-rhel7-ppc64le/gcc-7.4.0/openblas-0.3.9-cjxfkk67xpigoo4qo77tzvigloabwuvr/lib/libopenblas.so
-- LINALG libraries found: /autofs/nccsopen-svm1_sw/ascent/.swci/1-compute/opt/spack/20180914/linux-rhel7-ppc64le/gcc-7.4.0/openblas-0.3.9-cjxfkk67xpigoo4qo77tzvigloabwuvr/lib/libopenblas.so;-lm;-ldl;/autofs/nccsopen-svm1_sw/ascent/.swci/1-compute/opt/spack/20180914/linux-rhel7-ppc64le/gcc-7.4.0/openblas-0.3.9-cjxfkk67xpigoo4qo77tzvigloabwuvr/lib/libopenblas.so
so it is no longer required to use Intel MKL, or to download and build OpenBLAS by hand. In fact it is recommended to avoid Intel MKL altogether, because the way Intel MKL uses OpenMP threads will cause Nsight Systems to hang when one attempts to profile the code.
- Use bsub to submit jobs
bsub launch.bsub
launch.bsub:
#!/bin/bash
# Begin LSF Directives
#BSUB -P GEN138
#BSUB -W 1:00
#BSUB -nnodes 1
#BSUB -T 44
#BSUB -alloc_flags "gpumps smt1"
#BSUB -J cont6_prof
#BSUB -o cont6_prof.%J
#BSUB -e cont6_prof.%J
module load cmake/3.17.3 cuda/10.1.243 gcc/7.4.0 openblas/0.3.9-omp spectrum-mpi/10.3.1.2-20200121
## /!\ UNCOMMENT which one you want to use /!\
## To run ASGarD using a single task (either 1 MPI rank, or without MPI at all), and with 1 OpenMP thread per core on the 2 sockets:
#export OMP_NUM_THREADS=42
#export OMP_PROC_BIND=spread
#export OMP_PLACES=cores
#jsrun -n 1 -a 1 -c 42 -g 1 -d packed -b rs ${PWD}/build/asgard -p continuity_6 -l 3 -d 4
##To run the code using multiple MPI ranks, with 1 GPU per rank:
#export OMP_NUM_THREADS=1
#export OMP_PROC_BIND=spread
#export OMP_PLACES=cores
## use 6 resource set, 1 core per resource set, 6 GPUs (all resource in one node)
#jsrun -n1 -a6 -g6 -c42 -d packed -b packed:7 ${PWD}/buildtmp/asgard -p continuity_6 -l 3 -d 4
GEN138 should be replaced with the project identity related to your account. For more documentation please look into: https://docs.olcf.ornl.gov/systems/summit_user_guide.html#logging-in-to-ascent
- To run in interactive mode look into: https://docs.olcf.ornl.gov/systems/summit_user_guide.html#running-jobs