Mathematical Libraries and Application Software on JUQUEEN and JURECA

Similar documents
Mathematical Libraries and Application Software on JUQUEEN and JURECA

Mathematical Libraries and Application Software on JUROPA, JUGENE, and JUQUEEN. JSC Training Course

Overview on HPC software (compilers, libraries, tools)

HPC Numerical Libraries. Nicola Spallanzani SuperComputing Applications and Innovation Department

The Blue Gene/P at Jülich Introduction. W.Frings, Forschungszentrum Jülich,

Scientific Computing. Some slides from James Lambers, Stanford

Intel Performance Libraries

Brief notes on setting up semi-high performance computing environments. July 25, 2014

Mathematical libraries at the CHPC

Our new HPC-Cluster An overview

Intel Math Kernel Library

Optimization and Scalability

Achieve Better Performance with PEAK on XSEDE Resources

Introduction to Numerical Libraries for HPC. Bilel Hadri. Computational Scientist KAUST Supercomputing Lab.

Workshop on High Performance Computing (HPC08) School of Physics, IPM February 16-21, 2008 HPC tools: an overview

Faster Code for Free: Linear Algebra Libraries. Advanced Research Compu;ng 22 Feb 2017

Mixed MPI-OpenMP EUROBEN kernels

Dynamic Selection of Auto-tuned Kernels to the Numerical Libraries in the DOE ACTS Collection

Introduction to Parallel Computing

Mitglied der Helmholtz-Gemeinschaft JUQUEEN. Best Practices. Florian Janetzko. 29. November 2013

Linear Algebra libraries in Debian. DebConf 10 New York 05/08/2010 Sylvestre

Some notes on efficient computing and high performance computing environments

Introduction to Compilers and Optimization

Intel Math Kernel Library for macos*

Intel Math Kernel Library 10.3

Introduction to Scientific

MPI Related Software

Intel Math Kernel Library for Linux*

SPIKE Documentation v1.0

Advanced School in High Performance and GRID Computing November Mathematical Libraries. Part I

How to compile Fortran program on application server

How to get Access to Shaheen2? Bilel Hadri Computational Scientist KAUST Supercomputing Core Lab

Code Optimization. Brandon Barker Computational Scientist Cornell University Center for Advanced Computing (CAC)

Ranger Optimization Release 0.3

Cray Scientific Libraries. Overview

MPI Related Software. Profiling Libraries. Performance Visualization with Jumpshot

Intel Math Kernel Library Cluster Edition for Linux*

A quick guide to Fortran

fspai-1.1 Factorized Sparse Approximate Inverse Preconditioner

Resources for parallel computing

Performance Analysis of BLAS Libraries in SuperLU_DIST for SuperLU_MCDT (Multi Core Distributed) Development

Parallelism V. HPC Profiling. John Cavazos. Dept of Computer & Information Sciences University of Delaware

Installation of OpenMX

SCALABLE ALGORITHMS for solving large sparse linear systems of equations

In 1986, I had degrees in math and engineering and found I wanted to compute things. What I ve mostly found is that:

Parallel algorithms for Scientific Computing May 28, Hands-on and assignment solving numerical PDEs: experience with PETSc, deal.

Compilers & Optimized Librairies

The Cray Programming Environment. An Introduction

Programming Environment 4/11/2015

fspai-1.0 Factorized Sparse Approximate Inverse Preconditioner

IBM Research. IBM Research Report

High-Performance Libraries and Tools. HPC Fall 2012 Prof. Robert van Engelen

Introduction to HPC Programming 4. C and FORTRAN compilers; make, configure, cmake. Valentin Pavlov

Self Adapting Numerical Software (SANS-Effort)

Introduction to Parallel Programming. Martin Čuma Center for High Performance Computing University of Utah

LAPACK. Linear Algebra PACKage. Janice Giudice David Knezevic 1

Introduction to Parallel Programming. Martin Čuma Center for High Performance Computing University of Utah

Optimizing Parallel Electronic Structure Calculations Through Customized Software Environment

Multi-GPU Scaling of Direct Sparse Linear System Solver for Finite-Difference Frequency-Domain Photonic Simulation

SDPLR 1.03-beta User s Guide (short version)

Scientific Programming in C XIV. Parallel programming

JURECA Tuning for the platform

Optimization and Scalability. Steve Lantz Senior Research Associate Cornell CAC

ATLAS (Automatically Tuned Linear Algebra Software),

Quantum ESPRESSO on GPU accelerated systems

Improving the Performance and Extending the Scalability in the Cluster of SMP based Petaflops Computing

How to perform HPL on CPU&GPU clusters. Dr.sc. Draško Tomić

Intel Math Kernel Library for Windows*

Intel C++ Compiler User's Guide With Support For The Streaming Simd Extensions 2

Intel Math Kernel Library for Linux*

IFISS is a set of test problems from [Elman, Silvester, Wathen]. Convectiondiffusion problems cd2 and cd4 are the two of interest here.

Software Announcement October 14, 2003

9. Linear Algebra Computation

BDDCML. solver library based on Multi-Level Balancing Domain Decomposition by Constraints copyright (C) Jakub Šístek version 1.

MUMPS. The MUMPS library. Abdou Guermouche and MUMPS team, June 22-24, Univ. Bordeaux 1 and INRIA

PARDISO - PARallel DIrect SOlver to solve SLAE on shared memory architectures

PRACE PATC Course: Intel MIC Programming Workshop, MKL LRZ,

PARDISO Version Reference Sheet Fortran

Cray Scientific Libraries: Overview and Performance. Cray XE6 Performance Workshop University of Reading Nov 2012

ECE 697NA MATH 697NA Numerical Algorithms

Intel Direct Sparse Solver for Clusters, a research project for solving large sparse systems of linear algebraic equation

FFTSS Library Version 3.0 User s Guide

Intel MKL Sparse Solvers. Software Solutions Group - Developer Products Division

IBM Research. IBM Research Report

Intel Visual Fortran Compiler Professional Edition 11.0 for Windows* In-Depth

PATC Parallel Workflows, CSC/PDC

Accelerating the Iterative Linear Solver for Reservoir Simulation

Sparse Direct Solvers for Extreme-Scale Computing

Per-Core Performance Optimization. Steve Lantz Senior Research Associate Cornell CAC

Study and implementation of computational methods for Differential Equations in heterogeneous systems. Asimina Vouronikoy - Eleni Zisiou

PAMIHR. A Parallel FORTRAN Program for Multidimensional Quadrature on Distributed Memory Architectures

Intel Math Kernel Library (Intel MKL) Latest Features

Software Usage on Cray Systems across Three Centers (NICS, ORNL and CSCS)

MAGMA. Matrix Algebra on GPU and Multicore Architectures

Issues In Implementing The Primal-Dual Method for SDP. Brian Borchers Department of Mathematics New Mexico Tech Socorro, NM

Cell Processor and Playstation 3

The Cray Programming Environment. An Introduction

PRACE PATC Course: Intel MIC Programming Workshop, MKL. Ostrava,

Preparation of Codes for Trinity

Best Practices JUGENE. Florian Janetzko, Jülich Supercomputing Centre (JSC) Institute for Advanced Simulation, Forschungszentrum Jülich

Transcription:

Mitglied der Helmholtz-Gemeinschaft Mathematical Libraries and Application Software on JUQUEEN and JURECA JSC Training Course May 2017 I.Gutheil

Outline General Informations Sequential Libraries Parallel Libraries and Application Systems: Threaded Libraries MPI parallel Libraries Application Software Software for Materials Science Software for Computational Engineering Further Information May 2017 I.Gutheil Folie 2

General Informations JUQUEEN All libraries as modules in /bgsys/local/name module avail lists names of available libraries module avail name lists available versions on name module help name tells how to use library module load name sets environment variables for -L$(NAME LIB) and -I$(NAME INCLUDE) to include in makefile Link sequence important,.o always before the libraries, sometimes double linking necessary Linking Fortran subroutines with the C linker needs mpixlc r name.c -L/opt/ibmcmp/xlf/bg/14.1/bglib64 -lxl -lxlopt -lxlf90 r -lxlfmath -lm -lrt May 2017 I.Gutheil Folie 3

General Informations JURECA (I) module spider name shows whether a library is available in the current stage and in which versions module spider name/version shows which environment you have to load before you can load that version to check availability of other versions first say module use /usr/local/software/jureca/otherstages after that module spider name shows all available versions of the software May 2017 I.Gutheil Folie 4

General Informations JURECA (II) First you have to load a compiler, module load Intel loads the current default intel compilers version 2017.2.174, Then you load an MPI version module load ParaStationMPI loads the single threaded version of ParaStation MPI version 5.1.9-1 module load imkl loads MKL 2017.2.174 module load intel-para still works and loads the current default intel compiler with ParaStationMPI and MKL May 2017 I.Gutheil Folie 5

General Informations JURECA (III) after loading compiler and MPI module avail shows the software available with that environment module avail name and module help name also only work after loading a compiler and, if necessary MPI and imkl Many libraries available for more than one environment Write e-mail to sc@fz-juelich.de if you want special versions or new software $EBROOTNAME is the root directory where the library is installed, for most libraries $NAME ROOT is also set Linking Fortran subroutines with the C linker requires -lifcore -lifport in the link command May 2017 I.Gutheil Folie 6

Sequential Libraries and Packages (I) Vendor specific Libraries JURECA MKL Intel R Math Kernel Library versions as mentioned in general informations, 2017.2.174 on JURECA JUQUEEN ESSL (Engineering and Scientific Subroutine Library) version 5.1 in /bgsys/local/lib May 2017 I.Gutheil Folie 7

Sequential Libraries and Packages (II) Public domain Libraries LAPACK (Linear Algebra PACKage) ARPACK (Arnoldi PACKage) GSL (Gnu Scientific Library) GMP (Gnu Multiple Precision Arithmetic Library) Commercial library NAG Fortran Library: JUQUEEN and JURECA May 2017 I.Gutheil Folie 8

Contents of Intel R MKL BLAS, Sparse BLAS, CBLAS LAPACK Iterative Sparse Solvers, Trust Region Solver Vector Math Library Vector Statistical Library Fourier Transform Functions Trigonometric Transform Functions May 2017 I.Gutheil Folie 9

Contents of Intel R MKL GMP routines Poisson Library Interface for fftw For more information see http://www.fz-juelich.de/ias/jsc/en/expertise/ Support/Software/SystemDependentLibraries/ SystemDependentLibraries/MKL.html?nn=1035570 May 2017 I.Gutheil Folie 10

Contents of ESSL Version 5.1 BLAS level 1-3 and additional vector, matrix-vector, and matrix-matrix operations Sparse vector and matrix operations LAPACK computational routines for linear equation systems and eigensystems Banded linear system solvers Linear Least Squares Fast Fourier Transforms May 2017 I.Gutheil Folie 11

Contents of ESSL Version 5.1 (II) Numerical Quadrature Random Number Generation Interpolation For further information see IBM Engineering and Scientific Subroutine Library for Linux on POWER V5.1: Guide and Reference http: //www.fz-juelich.de/ias/jsc/en/expertise/support/ Software/SystemDependentLibraries/ESSL_ESSLSMP.html Link to IBM documents Guide and Reference May 2017 I.Gutheil Folie 12

Usage of MKL on JURECA (I) FORTRAN, C, and C++ callable Arrays FORTRAN like, i.e. column-first (except cblas) Compilation and linking of program name.f calling sequential MKL routines: ifort name.f -o name -lmkl intel lp64 -lmkl sequential -lmkl core -liomp5 -lpthread May 2017 I.Gutheil Folie 13

Usage of MKL on JURECA(II) To use CBLAS include mkl.h into source code Compilation and linking of program name.c calling sequential MKL icc name.c -o name -lmkl intel lp64 -lmkl sequential -lmkl core -liomp5 -lpthread [-lifcore -lifport] May 2017 I.Gutheil Folie 14

Usage of ESSL FORTRAN, C, and C++ callable, Arrays FORTRAN like, i.e. column-first Header file essl.h for C and C++ Installed in /bgsys/local/lib (not as module) May 2017 I.Gutheil Folie 15

Usage of ESSL (II) Compilation and linking of program name.f calling ESSL routines mpixlf90 r name.f -L/bgsys/local/lib -lesslbg Compilation and linking of program name.c calling ESSL routines mpixlc r name.c -I/opt/ibmmath/essl/5.1/include -L/bgsys/local/lib -lesslbg -L/opt/ibmcmp/xlf/bg/14.1/bglib64 -lxl -lxlopt -lxlf90 r -lxlfmath -lm -lrt May 2017 I.Gutheil Folie 16

LAPACK (I) Part of MKL on JURECA in libmkl core.a Part of OpenBLAS/0.2.19-LAPACK-3.7.0 on JURECA if GCC is loaded Public domain version 3.6.0 and 3.7.0 on JUQUEEN Must be used together with ESSL (or ESSLsmp) Some routines already in ESSL Attention, some calling sequences are different! Experimental LAPACK header file available for C-usage of lapack on JUQUEEN Experimental C-LAPACK, liblapacke.a (3.6.0 and 3.7.0) on JUQUEEN May 2017 I.Gutheil Folie 17

LAPACK (II) Compilation and linking of FORTRAN program name.f calling LAPACK routines JURECA: (see usage of MKL), JUQUEEN: module load lapack/3.7.0[ g][ simd] mpixlf90 r name.f -Wl,-allow-multiple-definition -L/bgsys/local/lib [-lessl[smp]bg] -L$(LAPACK LIB) -llapack -lessl[smp]bg ESSL must be linked after LAPACK to resolve references, linking essl[smp] also before lapack takes lapack routines from essl May 2017 I.Gutheil Folie 18

Arpack ARPACK, ARnoldi PACKage, Version 2.1 and arpack-ng/3.5.0 on JUQUEEN arpack-ng/3.4.0 on JURECA Iterative solver for sparse eigenvalue problems Reverse communication interface FORTRAN 77 Calls LAPACK and BLAS routines May 2017 I.Gutheil Folie 19

GSL GNU Scientific Library Version 2.1 on JUQUEEN (xlc), 2.3 JURECA (gcc and icc) Provides a wide range of mathematical routines Not recommended for performance reasons Often used by configure scripts module load gsl/2.1 strict[opt][g] JUQUEEN module load intel-para GSL/2.3 for icc version on JURECA module load GCC ParaStationMPI/5.1.9-1 GSL/2.3 for gcc version on JURECA May 2017 I.Gutheil Folie 20

NAG Libraries NAG Fortran Mark 22 on JUQUEEN: as module more than 1600 user-callable routines Mark 26 on JURECA only available with Intel compiler Please tell us if you really need it May 2017 I.Gutheil Folie 21

Parallel Libraries Threaded Parallelism I MKL (JURECA) is multi-threaded or at least thread-save if OMP NUM THREADS not set, 48 threads used on JURECA Usage: ifort name.f -o name -lmkl intel lp64 -lmkl intel thread -lmkl core -liomp5 -lpthread May 2017 I.Gutheil Folie 22

Parallel Libraries Threaded Parallelism II ESSLsmp 5.1 (JUQUEEN) Usage: Fortran: mpixlf90 r name.f -L/bgsys/local/lib -lesslsmpbg C: mpixlc r name.c -L/bgsys/local/lib -lesslsmpbg -L/opt/ibmcmp/xlsmp/3.1/bglib64 -lxlsmp -I/opt/ibmmath/essl/5.1/include -L/opt/ibmcmp/xlf/bg/14.1/bglib64 -lxlf90 r -lxl -lxlfmath -lxlopt -lm -lrt -ldl FFTW 3.3 (Fastest Fourier Transform of the West) Sequential, threaded, and OpenMP version on JUQUEEN 3.3.6 on JURECA Intel compiler and GCC http://www.fftw.org May 2017 I.Gutheil Folie 23

Parallel Libraries MPI Parallelism ScaLAPACK (Scalable Linear Algebra PACKage) ELPA (Eigenvalue SoLvers for Petaflop-Applications) Elemental, C++ framework for parallel dense linear algebra FFTW (Fastest Fourier Transform of the West) MUMPS (MUltifrontal Massively Parallel sparse direct Solver) ParMETIS (Parallel Graph Partitioning) hypre (high performance preconditioners) May 2017 I.Gutheil Folie 24

MPI Parallelism (II) PARPACK (Parallel ARPACK), Eigensolver SPRNG (Scalable Parallel Random Number Generator) SUNDIALS (SUite of Nonlinear and DIfferential/ALgebraic equation Solvers) Parallel Systems, MPI Parallelism PETSc, toolkit for partial differential equations May 2017 I.Gutheil Folie 25

ScaLAPACK JURECA: part of MKL with Intel compiler, ScaLAPACK/2.0.2-OpenBLAS-0.2.19-LAPACK-3.7.0 with GCC JUQUEEN: ScaLAPACK Release 2.0.2, contains already BLACS FORTRAN, also C-Interface, scalapack.h incomplete LAPACK has to be linked, too, $LAPACK DIR set when loading scalapack http://www.netlib.org/scalapack/index.html May 2017 I.Gutheil Folie 26

Contents of ScaLAPACK Parallel BLAS 1-3, PBLAS Version 2 Dense linear system solvers Banded linear system solvers Solvers for Linear Least Squares Problem Singular value decomposition Eigenvalues and eigenvectors of dense symmetric/hermitian matrices May 2017 I.Gutheil Folie 27

Usage on JURECA Linking a program name.f calling routines from ScaLAPACK, default version, Intel compiler: mpif77 name.f -lmkl scalapack lp64 -lmkl blacs intelmpi lp64 -lmkl intel lp64 -lmkl intel thread[-lmkl sequential] -lmkl core -liomp5 -lpthread May 2017 I.Gutheil Folie 28

Usage on JUQUEEN Compilation and linking of a program name.f calling ScaLAPACK routines: module load scalapack/2.0.2[ g][ simd] mpixlf90 r name.f -L$SCALAPACK LIB -lscalapack -L$LAPACK LIB -llapack -L/bgsys/local/lib -lessl[smp]bg May 2017 I.Gutheil Folie 29

ELPA Eigenvalue SoLvers for Petaflop-Applications ELPA uses ScaLAPACK, must be linked together with scalapack FORTRAN 95, same data-distribution as ScaLAPACK http: //elpa.rzg.mpg.de/elpa-english?set_language=en JUQUEEN pure MPI and hybrid version 2015.11.001 and 2016.05.003 JURECA pure MPI and hybrid version 2016.05.004 May 2017 I.Gutheil Folie 30

Elemental C++ framework, two-dimensional data distribution element by element http://libelemental.org/about/ 0.87.7 on JURECA, hybrid version 0.85 on JUQUEEN only available with CLANG compiler, pure MPI version May 2017 I.Gutheil Folie 31

MUMPS: Multifrontal Massively Parallel sparse direct Solver Solution of linear systems with symmetric positive definite matrices, general symmetric matrices, general unsymmetric matrices Real or Complex Parallel factorization and solve phase, iterative refinement and backward error analysis F90 with MPI and OpenMP since 5.1.1 Version 5.0.0 and 5.1.1 on JUQUEEN, version 5.1.1 on JURECA http://graal.ens-lyon.fr/mumps/ May 2017 I.Gutheil Folie 32

ParMETIS Parallel Graph Partinioning and Fill-reducing Matrix Ordering developed in Karypis Lab at the University of Minnesota Version 3.2.0 and 4.0.3 on JUQUEEN, 4.0.3 on JURECA http: //glaros.dtc.umn.edu/gkhome/metis/parmetis/overview Hypre High performance preconditioners Version 2.11.2 on JURECA, also version with bigint, 2.9.0b, 2.10.1, and 2.11.1 also version with bigint, on JUQUEEN, bigint cannot be used together with essl http://www.llnl.gov/casc/hypre/software.html May 2017 I.Gutheil Folie 33

FFTW Version 2.1.5, this old version contains an old MPI-parallel version of FFTW on JUQUEEN (module avail fftw2) Version 3.3.2 and 3.3.3 on JUQUEEN, 3.3.6 on JURECA, (Intel and GCC modules) all with MPI parallel version On JUQUEEN ask module avail fftw3 May 2017 I.Gutheil Folie 34

PARPACK ARPACK Version 2.1 and arpack-ng/3.5.0 JUQUEEN arpack-ng/3.4.0 on JURECA PARPACK MPI-Version Must be linked with LAPACK and BLAS Reverse communication interface, user has to supply parallel matrix-vector multiplication https://github.com/opencollab/arpack-ng http://www.caam.rice.edu/~kristyn/parpack_home.html May 2017 I.Gutheil Folie 35

SPRNG The Scalable Parallel Random Number Generators Library for ASCI Monte Carlo Computations Version 2.0 [JUQUEEN] and 5.0[JURECA]: various random number generators in one library Version 1.0 seperate library for each random number generator, on JUQUEEN and JURECA http://sprng.cs.fsu.edu/ Sundials (CVODE) Package for the solution of ordinary differential equations, Version 2.6.2 on JUQUEEN and 2.7.0 JURECA https: //computation.llnl.gov/casc/sundials/main.html May 2017 I.Gutheil Folie 36

PETSc Portable, Extensible Toolkit for Scientific Computation Numerical solution of partial differential equations version 3.7.3 on JUQUEEN and 3.7.6 on JURECA with several other packages included on both systems complex version and version with 8-Byte integer http://www.mcs.anl.gov/petsc/ JUQUEEN: module avail petsc module help petsc/[whatever version you want] JURECA: module spider petsc May 2017 I.Gutheil Folie 37

Software for Materials Science Package JUQUEEN JURECA Abinit yes ADF yes Amber yes CP2K yes yes CPMD yes yes Gromacs yes yes LAMMPS yes yes Molpro yes NAMD yes yes NWChem yes QuantumEspresso yes yes TURBOMOLE yes May 2017 I.Gutheil Folie 38

Software for Computational Engineering CFD Package OpenFOAM is installed on JUQUEEN Versions 2.1.1 JURECA Versions 2.0.1, 2.2.2, 2.3.1, 2.4.0. 3.0.0, and OpenFOAM-Extend 3.1 and 3.2, only in older stages up to now Commercial FEM Software ANSYS, LS-DYNA, COMSOL are technically maintained on JURECA Licenses must be provided by the User! May 2017 I.Gutheil Folie 39

Further information and JSC-people http://www.fz-juelich.de/ias/jsc/jureca http://www.fz-juelich.de/ias/jsc/juqueen http://www.fz-juelich.de/ias/jsc/en/expertise/ Support/Software/_node.html Mailto Supercomputer support: sc@fz-juelich.de I. Gutheil: Parallel mathematical Libraries i.gutheil@fz-juelich.de B. Körfgen: Physics and Engineering software b.koerfgen@fz-juelich.de May 2017 I.Gutheil Folie 40