Skip to content

Latest commit

 

History

History
86 lines (68 loc) · 2.25 KB

README.md

File metadata and controls

86 lines (68 loc) · 2.25 KB

mathlibrary_aarch64.sif


Description

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.

Usage

In order to use this container follow the following steps:

singularity shell mathlibrary_aarch64.sif
  • Set the environment using:
source /usr/setvars.sh

The container is ready for use.

Using Math libraries for BLAS/LAPACK

  • 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>

Using Math libraries for FFT

  • 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

Using TAU for profiling

  • Compiling the code:
tau_CC.sh <program.c> -optCompInst
  • Run the code and check profile
./a.out
pprof

Software details

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

Help

Any query or help regarding the container usage needed? Raise an issue/discussion on the repository.