Librairies installées

CUDA

PETSc

VTK

HDF5

CGNS


Autres librairies

MMG (remeshing tool)

Mmg is an open source software for simplicial remeshing. It provides 3 applications and 4 libraries:
  • the mmg2d application and the libmmg2d library: adaptation and optimization of a two-dimensional triangulation and generation of a triangulation from a set of points or from given boundary edges
  • the mmgs application and the libmmgs library: adaptation and optimization of a surface triangulation and isovalue discretization
  • the mmg3d application and the libmmg3d library: adaptation and optimization of a tetrahedral mesh and implicit domain meshing
  • see https://www.mmgtools.org/
  • Pour l’utiliser via les modules : module load module compilers/gcc/10.2 compilers/intel/compilers_2020u2 mpi/hpempi-1.6/mpt/2.22 lib/vtk/7.1.1 lib/scotch/6.0.3 lib/mmg/5.5.2
  • Usage (voir https://www.mmgtools.org/mmg-remesher-try-mmg/mmg-remesher-tutorials) :
    [homer@vision ~]$ mmgs_O3 -h
      -- MMGS, Release 5.5.2 (Nov. 17, 2020)
         Copyright (c) Bdx INP/CNRS/Inria/UPMC, 2004-
         Nov  3 2021 14:40:36
    
    Usage: mmgs_O3 [-v [n]] [opts..] filein [fileout]
    
    ** Generic options
    -h        Print this message
    -v [n]    Tune level of verbosity, [-1..10]
    -m [n]    Set maximal memory size to n Mbytes
    -d        Turn on debug mode
    -val      Print the default parameters values
    -default  Save a local parameters file for default parameters values
    
    **  File specifications
    -in  file  input triangulation
    -out file  output triangulation
    -sol file  load solution or metric file
    -met file  load metric file
    
    **  Mode specifications (mesh adaptation by default)
    -ls  val     create mesh of isovalue val (0 if no argument provided)
    
    **  Parameters
    -A           enable anisotropy (without metric file).
    -ar     val  angle detection
    -nr          no angle detection
    -hausd  val  control Hausdorff distance
    -hgrad  val  control gradation
    -hmax   val  maximal mesh size
    -hmin   val  minimal mesh size
    -hsiz   val  constant mesh size
    -keep-ref    preserve initial domain references in level-set mode.
    -rn [n]      Turn on or off the renumbering using SCOTCH [0/1]
    
    -noinsert    no point insertion/deletion
    -nomove      no point relocation
    -noswap      no edge or face flipping
    -nreg        normal regul.
    -nsd    val  save the subdomain number val (0==all subdomain)
    -optim       mesh optimization
    
    **  Parameters for advanced users
    -nosizreq       disable setting of required edge sizes over required vertices.
    -hgradreq  val  control gradation from required entities toward others
    
       ELAPSED TIME  0.003s
    

Mesh partitionning metis/scotch

  1. Le répertoire d’installation de la librairie METIS : /softs/lib/metis/5.1.0/

Pour l’utiliser via les modules : module load lib/metis/5.1.0

  1. Le répertoire d’installation de la librairie SCOTCH (et PTSCOTCH) : /softs/lib/scotch/6.0.3/mpt

Pour l’utiliser via les modules : module load/scotch/6.0.3

Ces librairies ont été compilées avec l’environnement Intel 2020.

Boost

[homer@vision codes]$ module av lib/boost/
--------------------------------------- /zfs/softs/modulefiles ---------------------------------------
lib/boost/1.70_gcc4.8  lib/boost/1.70_gcc4.8_anac3.7  lib/boost/1.70_gcc10  lib/boost/1.70_intel20
[homer@vision codes]$ module help lib/boost/1.70_gcc4.8_anac3.7
-------------------------------------------------------------------
Module Specific Help for /zfs/softs/modulefiles/lib/boost/1.70_gcc4.8_anac3.7:

        modules - loads the boost library environment

        This adds /softs/lib/boost/1.70/gnu4.8_anac3.7/* to several of the

        environment variables.

         Version Gnu Compiler 4.8 / python 3.7 interface

         . the boost mpi is linked to MPT (HPE MPI)

        Version 1.70

Eigen

 Enabled backends:  Boost.Multiprecision,  MPFR C++,  fftw,
 Default order:     Column-major
 Maximal matrix/vector size: 320
  AVX:               ON
 AVX512:            ON
 C++11:             OFF
 SYCL:              OFF
 CUDA:              ON (using nvcc)

 CXX:               /usr/bin/c++
  CXX_VERSION:       c++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39)
  CXX_FLAGS:         -march=native -mavx2 -std=c++03 -pedantic -Wall -Wextra -Wundef -Wcast-align
 -Wchar-subscripts -Wnon-virtual-dtor -Wunused-local-typedefs -Wpointer-arith -Wwrite-strings
 -Wformat-security -Wlogical-op -Wdouble-promotion -Wno-psabi -Wno-variadic-macros -Wno-long-long
 -fno-check-new -fno-common -fstrict-aliasing -ansi -mavx -mavx512f -fabi-version=6
 -DEIGEN_ENABLE_AVX512
  • Module Usage
[homer@vision codes]$ module show lib/eigen/
-------------------------------------------------------------------
/zfs/softs/modulefiles/lib/eigen/3.3.8:

module-whatis   {loads the Eigen3 environment}
setenv          EIGEN3_INCLUDE_DIR /zfs/softs/lib/eigen/3.3.8/include/eigen3
prepend-path    INCLUDE_PATH /zfs/softs/lib/eigen/3.3.8/include
-------------------------------------------------------------------
[homer@vision codes]$ module help lib/eigen/
-------------------------------------------------------------------
Module Specific Help for /zfs/softs/modulefiles/lib/eigen/3.3.8:

        modules - loads the Eigen3 environment,

        This adds /zfs/softs/lib/eigen/3.3.8/* to several of the
        environment variables.
Enabled backends:  Boost.Multiprecision, MPFR C++, fftw, CUDA

        Version 3.3.8

-------------------------------------------------------------------

Armadillo

  • A c++ library for linear algebra and scientific computing, aiming towards a good balance between speed and ease of use.
    It's useful for algorithm development directly in C++,and/or quick conversion of research code into production environments.
    It has high-level syntax and functionality which is deliberately similar to Matlab.
  • See http://arma.sourceforge.net/docs.html
  • Module Usage
[homer@vision codes]$ module show lib/armadillo
-------------------------------------------------------------------
/zfs/softs/modulefiles/lib/armadillo/10.3.0:

module-whatis   {loads the Armadillo environment}
setenv          ARMA_INCLUDE_DIR /zfs/softs/lib/armadillo/10.3.0/include
prepend-path    INCLUDE_PATH /zfs/softs/lib/armadillo/10.3.0/include
prepend-path    LD_LIBRARY_PATH /zfs/softs/lib/armadillo/10.3.0/lib64
setenv          ARMA_DIR /zfs/softs/lib/armadillo/10.3.0/share/Armadillo/CMake/
-------------------------------------------------------------------
[homer@vision codes]$ module help lib/armadillo
-------------------------------------------------------------------
Module Specific Help for /zfs/softs/modulefiles/lib/armadillo/10.3.0:

        modules - loads the Armadillo c++ lib environment,

        This adds /zfs/softs/lib/armadillo/10.3.0/* to several of the
        environment variables.
         compilation ex :

         g++ prog.cpp -o prog -std=c++11 -O2 -larmadillo
Enabled backends:  OpenBLAS, MKL

        Version 10.3.0

-------------------------------------------------------------------

mpi4py

fftw

gperftools

(originally Google Performance Tools)

OVERVIEW

gperftools is a collection of a high-performance multi-threaded
malloc() implementation, plus some pretty nifty performance analysis
tools.

gperftools is distributed under the terms of the BSD License. Join our
mailing list at for updates:
https://groups.google.com/forum/#!forum/gperftools

gperftools was original home for pprof program. But do note that
original pprof (which is still included with gperftools) is now
deprecated in favor of Go version at https://github.com/google/pprof

see https://github.com/gperftools/gperftools

  • Installed in /softs/tools/gperftools/

Kokkos

Overview

Kokkos Core implements a programming model in C++ for writing performance portable applications targeting all major HPC platforms. For that purpose it provides abstractions for both parallel execution of code and data management. Kokkos is designed to target complex node architectures with N-level memory hierarchies and multiple types of execution resources. It currently can use CUDA, HPX, OpenMP and Pthreads as backend programming models with several other backends in development.

Reference

Usage

  • Compiled from github repository
  • OpenMP only version (3.4)
    [gueguenm@vision gperftools]$ module help lib/kokkos/3.4.0/openmp
    -------------------------------------------------------------------
    Module Specific Help for /zfs/softs/modulefiles/lib/kokkos/3.4.0/openmp:
    
    loads the  Kokkos parallel environment
     optimized OPENMP/libnuma version, compiled with
     gcc10
     see https://github.com/kokkos/kokkos
    
             usage : module load  compilers/gcc/10.2 lib/kokkos/3.4.0/openmp
    
    
  • Cuda/OpenMP version (3.4)
    [gueguenm@vision gperftools]$ module help lib/kokkos/3.4.0/cuda_omp
    -------------------------------------------------------------------
    Module Specific Help for /zfs/softs/modulefiles/lib/kokkos/3.4.0/cuda_omp:
    
    loads the  Kokkos parallel environment
     optimized CUDA/OPENMP version, compiled with
     gcc10
     see https://github.com/kokkos/kokkos
    
             usage : module load  cuda/11.1 compilers/gcc/10.2 lib/kokkos/3.4.0/cuda
    

ArrayFire