Skip to content

Latest commit

 

History

History
65 lines (53 loc) · 3.73 KB

File metadata and controls

65 lines (53 loc) · 3.73 KB

GLIA install

GLIA runs on CPUs and GPUs. This doc outlines the installation process for both architectures

GPUs (recommended)

For medical imaging resolutions, a single GPU (16GB) is sufficient

1. Dependencies

  • C++11 compatible compiler
  • CUDA (<= 10.2 tested) and associated libs (cufft, cublas, thrust)
  • MPI
  • install PETSc (3.7 <= version <= 3.11 tested; 3.11 recommended): petsc 3.11; for example config/install, see configs folder
  • install pnetCDF (if netcdf input files; recommended): pnetcdf 1.11; for installation instruction, see the accfft dependencies section
  • install niftilib and zlib (if nifti input files): nifti 2.0
  • [optional dependency for mass effect inversion, see reference paper] CLAIRE image registration tool; install from github

2. Environment variables

  • set CUDA_DIR
  • set MPI_DIR
  • set PETSC_DIR and PETSC_ARCH
  • set PNETCDF_DIR or (NIFTI_DIR and ZLIB_DIR)

3. Compile and build

  • compile.sh shows the scons script to compile the solver with default options
    • set use_gpu=yes, single_precision=yes (recommended, if no solver runs in double precision), multi_gpu=no (deprecated)
    • other options are defaulted
  • scons --help to see all compile options

4. Run

  • binary is build/last/tusolver
  • see run scripts for example run scripts

5. Clean binaries

  • use clean.sh

CPUs

Good strong scaling (> 95% parallel efficiency) up to about 4000 cores. For medical imaging resolution, 256 mpi tasks should suffice

1. Dependencies

2. Environment variables

  • set MPI_DIR
  • set PETSC_DIR and PETSC_ARCH
  • set PNETCDF_DIR or (NIFTI_DIR and ZLIB_DIR)
  • set FFTW_DIR and ACCFFT_DIR

3. Compile and build

  • compile.sh shows the scons script to compile the solver with default options
    • set use_gpu=no, single_precision=yes (recommended, if no solver runs in double precision), multi_gpu=no (deprecated)
    • other options are defaulted
  • scons --help to see all compile options

4. Run

  • binary is build/last/tusolver
  • see run scripts for example run scripts

5. Clean binaries

  • use clean.sh