mathlibrary_aarch64.sif is a singularity container based on ARM (aarch64). This container is used for solving the BLAS, LAPACK operations using OpenBLAS math library and FFT operations using FFTW math library. We can also profile these operations using TAU Profiler which is available within the container. This README showcases the usage of the container, invoking math libraries and TAU profiling . It also lists the major softwares present in the container image for use.
In order to use this container follow the following steps:
-
Get the image from CDAC's open source download page
-
Once download is complete invoke the image shell using:
singularity shell mathlibrary_aarch64.sif
- Set the environment using:
source /usr/setvars.sh
The container is ready for use.
- Compiling the code:
gcc <program.c> -lopenblas
- Run the code:
./a.out
- OpenBLAS also supports threading:
- setting the threads:
export OPENBLAS_NUM_THREADS= <no of threads>
- Compiling the code:
1) Without Threading :
gcc <program.c> -lm -lfftw3f
2) With Threading :
gcc <program.c> -lm -lfftw3f_threads -lfftw3f -lpthread
- Run the code:
./a.out
- Compiling the code:
tau_CC.sh <program.c> -optCompInst
- Run the code and check profile
./a.out
pprof
hybridapplication_tau_aarch64.sif contains the following softwares/packages:
Category | Details |
---|---|
Architecture | ARM / aarch64 |
Operating System | CentOS 8 |
Linux Kernel | 4.18.0-348.el8.aarch64 |
BLAS/LAPACK Library | OpenBLAS v0.3.23 |
FFT Library | FFTW-3.3.10 |
Compiler | GCC v12.2.0 |
Profiler | TAU v2.32.1 |
Text Editor | vim |
Git | v2.27.0 |
Additional softwares | wget, curl |
Any query or help regarding the container usage needed? Raise an issue/discussion on the repository.