diff --git a/docs.it4i/software/numerical-libraries/fftw.md b/docs.it4i/software/numerical-libraries/fftw.md index 0807bd4d8c9f3b7b3b8b637c623e4f6f4cd80666..37820b71210c0e69217de5ca2268cb589e001999 100644 --- a/docs.it4i/software/numerical-libraries/fftw.md +++ b/docs.it4i/software/numerical-libraries/fftw.md @@ -68,6 +68,9 @@ $ ml fftw3-mpi $ mpicc testfftw3mpi.c -o testfftw3mpi.x -Wl,-rpath=$LIBRARY_PATH -lfftw3_mpi ``` -Run the example as [Intel MPI program](software/mpi/running-mpich2/). +Run the example as [Intel MPI program][1]. -Read more on FFTW usage on the [FFTW website.](http://www.fftw.org/fftw3_doc/) +Read more on FFTW usage on the [FFTW website][a]. + +[1]: ../mpi/running-mpich2.md +[a]: http://www.fftw.org/fftw3_doc/ diff --git a/docs.it4i/software/numerical-libraries/gsl.md b/docs.it4i/software/numerical-libraries/gsl.md index 3299492ddbe6270c70a1ee1fbc4228b4e3ca5c15..857fafdb38af50a147574ebb6d49eae6b3d8a264 100644 --- a/docs.it4i/software/numerical-libraries/gsl.md +++ b/docs.it4i/software/numerical-libraries/gsl.md @@ -8,39 +8,39 @@ The GNU Scientific Library (GSL) provides a wide range of mathematical routines The library covers a wide range of topics in numerical computing. Routines are available for the following areas: - Complex Numbers Roots of Polynomials +Complex Numbers Roots of Polynomials - Special Functions Vectors and Matrices +Special Functions Vectors and Matrices - Permutations Combinations +Permutations Combinations - Sorting BLAS Support +Sorting BLAS Support - Linear Algebra CBLAS Library +Linear Algebra CBLAS Library - Fast Fourier Transforms Eigensystems +Fast Fourier Transforms Eigensystems - Random Numbers Quadrature +Random Numbers Quadrature - Random Distributions Quasi-Random Sequences +Random Distributions Quasi-Random Sequences - Histograms Statistics +Histograms Statistics - Monte Carlo Integration N-Tuples +Monte Carlo Integration N-Tuples - Differential Equations Simulated Annealing +Differential Equations Simulated Annealing - Numerical Differentiation Interpolation +Numerical Differentiation Interpolation - Series Acceleration Chebyshev Approximations +Series Acceleration Chebyshev Approximations - Root-Finding Discrete Hankel Transforms +Root-Finding Discrete Hankel Transforms - Least-Squares Fitting Minimization +Least-Squares Fitting Minimization - IEEE Floating-Point Physical Constants +IEEE Floating-Point Physical Constants - Basis Splines Wavelets +Basis Splines Wavelets ## Modules diff --git a/docs.it4i/software/numerical-libraries/hdf5.md b/docs.it4i/software/numerical-libraries/hdf5.md index 11cd26da0760918e98d78b76f3a31b9e370bb9fd..2048d3800a06e80e461c8321be18669e12c05572 100644 --- a/docs.it4i/software/numerical-libraries/hdf5.md +++ b/docs.it4i/software/numerical-libraries/hdf5.md @@ -2,7 +2,7 @@ Hierarchical Data Format library. Serial and MPI parallel version. -[HDF5 (Hierarchical Data Format)](http://www.hdfgroup.org/HDF5/) is a general purpose library and file format for storing scientific data. HDF5 can store two primary objects: datasets and groups. A dataset is essentially a multidimensional array of data elements, and a group is a structure for organizing objects in an HDF5 file. Using these two basic objects, one can create and store almost any kind of scientific data structure, such as images, arrays of vectors, and structured and unstructured grids. You can also mix and match them in HDF5 files according to your needs. +[HDF5 (Hierarchical Data Format)][a] is a general purpose library and file format for storing scientific data. HDF5 can store two primary objects: datasets and groups. A dataset is essentially a multidimensional array of data elements, and a group is a structure for organizing objects in an HDF5 file. Using these two basic objects, one can create and store almost any kind of scientific data structure, such as images, arrays of vectors, and structured and unstructured grids. You can also mix and match them in HDF5 files according to your needs. Versions **1.8.11** and **1.8.13** of HDF5 library are available on Anselm, compiled for **Intel MPI** and **OpenMPI** using **Intel** and **gnu** compilers. These are available via modules: @@ -84,6 +84,10 @@ $ ml hdf5-parallel $ mpicc hdf5test.c -o hdf5test.x -Wl,-rpath=$LIBRARY_PATH $HDF5_INC $HDF5_SHLIB ``` -Run the example as [Intel MPI program](software/mpi/running-mpich2/). +Run the example as [Intel MPI program][1]. -For further information, see the website: [http://www.hdfgroup.org/HDF5/](http://www.hdfgroup.org/HDF5/) +For further information, see the [website][a]. + +[1]: ../mpi/running-mpich2.md + +[a]: http://www.hdfgroup.org/HDF5/ diff --git a/docs.it4i/software/numerical-libraries/intel-numerical-libraries.md b/docs.it4i/software/numerical-libraries/intel-numerical-libraries.md index f25d6edd52ca26f6f9cfd8a71668bc709b398427..5d3c57c4d0cebeebd4611a02d345ea5b8e79438e 100644 --- a/docs.it4i/software/numerical-libraries/intel-numerical-libraries.md +++ b/docs.it4i/software/numerical-libraries/intel-numerical-libraries.md @@ -10,7 +10,7 @@ Intel Math Kernel Library (Intel MKL) is a library of math kernel subroutines, e $ ml mkl **or** ml imkl ``` -Read more at the [Intel MKL](software/intel/intel-suite/intel-mkl/) page. +Read more at the [Intel MKL][1]. ## Intel Integrated Performance Primitives @@ -20,7 +20,7 @@ Intel Integrated Performance Primitives, version 7.1.1, compiled for AVX is avai $ ml ipp ``` -Read more at the [Intel IPP](software/intel/intel-suite/intel-integrated-performance-primitives/) page. +Read more at the [Intel IPP][2]. ## Intel Threading Building Blocks @@ -30,4 +30,8 @@ Intel Threading Building Blocks (Intel TBB) is a library that supports scalable $ ml tbb ``` -Read more at the [Intel TBB](software/intel/intel-suite/intel-tbb/) page. +Read more at the [Intel TBB][3]. + +[1]: ../intel/intel-suite/intel-mkl.md +[2]: ../intel/intel-suite/intel-integrated-performance-primitives.md +[3]: ../intel/intel-suite/intel-tbb.md diff --git a/docs.it4i/software/numerical-libraries/magma-for-intel-xeon-phi.md b/docs.it4i/software/numerical-libraries/magma-for-intel-xeon-phi.md index 40499eaad224018b1fce3ef00c214d474c716ae1..d98284126e8d9ebd16ecdb333f3c9d263ea17079 100644 --- a/docs.it4i/software/numerical-libraries/magma-for-intel-xeon-phi.md +++ b/docs.it4i/software/numerical-libraries/magma-for-intel-xeon-phi.md @@ -69,8 +69,12 @@ To test if the MAGMA server runs properly we can run one of examples that are pa !!! note MAGMA relies on the performance of all CPU cores as well as on the performance of the accelerator. Therefore on Anselm number of CPU OpenMP threads has to be set to 16 with `export OMP_NUM_THREADS=16`. -See more details at [MAGMA home page](http://icl.cs.utk.edu/magma/). +See more details at [MAGMA home page][a]. ## References -[1] MAGMA MIC: Linear Algebra Library for Intel Xeon Phi Coprocessors, Jack Dongarra et. al, [http://icl.utk.edu/projectsfiles/magma/pubs/24-MAGMA_MIC_03.pdf](http://icl.utk.edu/projectsfiles/magma/pubs/24-MAGMA_MIC_03.pdf) +[1] [MAGMA MIC: Linear Algebra Library for Intel Xeon Phi Coprocessors][1], Jack Dongarra et. al + +[1]: http://icl.utk.edu/projectsfiles/magma/pubs/24-MAGMA_MIC_03.pdf + +[a]: http://icl.cs.utk.edu/magma/ diff --git a/docs.it4i/software/numerical-libraries/petsc.md b/docs.it4i/software/numerical-libraries/petsc.md index 71070af4fd27b4b9ddbc787b5c12184d22b4cc6b..0910493f3990bcc50c7cf19fe4c2e6be0e9cfc3c 100644 --- a/docs.it4i/software/numerical-libraries/petsc.md +++ b/docs.it4i/software/numerical-libraries/petsc.md @@ -8,11 +8,11 @@ PETSc (Portable, Extensible Toolkit for Scientific Computation) is a suite of bu ## Resources -* [project webpage](http://www.mcs.anl.gov/petsc/) -* [documentation](http://www.mcs.anl.gov/petsc/documentation/) - * [PETSc Users Manual (PDF)](http://www.mcs.anl.gov/petsc/petsc-current/docs/manual.pdf) - * [index of all manual pages](http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/singleindex.html) -* PRACE Video Tutorial [part1](http://www.youtube.com/watch?v=asVaFg1NDqY), [part2](http://www.youtube.com/watch?v=ubp_cSibb9I), [part3](http://www.youtube.com/watch?v=vJAAAQv-aaw), [part4](http://www.youtube.com/watch?v=BKVlqWNh8jY), [part5](http://www.youtube.com/watch?v=iXkbLEBFjlM) +* [project webpage][a] +* [documentation][b] + * [PETSc Users Manual (PDF)][c] + * [index of all manual pages][d] +* PRACE Video Tutorial [part1][e], [part2][f], [part3][g], [part4][h], [part5][i] ## Modules @@ -23,35 +23,63 @@ $# ml petsc/version-compiler-mpi-blas-variant, e.g. $ ml petsc/3.4.4-icc-impi-mkl-opt ``` -where `variant` is replaced by one of `{dbg, opt, threads-dbg, threads-opt}`. The `opt` variant is compiled without debugging information (no `-g` option) and with aggressive compiler optimizations (`-O3 -xAVX`). This variant is suitable for performance measurements and production runs. In all other cases use the debug (`dbg`) variant, because it contains debugging information, performs validations and self-checks, and provides a clear stack trace and message in case of an error. The other two variants `threads-dbg` and `threads-opt` are `dbg` and `opt`, respectively, built with [OpenMP and pthreads threading support](https://www.mcs.anl.gov/petsc/miscellaneous/petscthreads.html). +where `variant` is replaced by one of `{dbg, opt, threads-dbg, threads-opt}`. The `opt` variant is compiled without debugging information (no `-g` option) and with aggressive compiler optimizations (`-O3 -xAVX`). This variant is suitable for performance measurements and production runs. In all other cases use the debug (`dbg`) variant, because it contains debugging information, performs validations and self-checks, and provides a clear stack trace and message in case of an error. The other two variants `threads-dbg` and `threads-opt` are `dbg` and `opt`, respectively, built with [OpenMP and pthreads threading support][j]. ## External Libraries PETSc needs at least MPI, BLAS and LAPACK. These dependencies are currently satisfied with Intel MPI and Intel MKL in Anselm `petsc` modules. -PETSc can be linked with a plethora of [external numerical libraries](http://www.mcs.anl.gov/petsc/miscellaneous/external.html), extending PETSc functionality, e.g. direct linear system solvers, preconditioners or partitioners. See below a list of libraries currently included in Anselm `petsc` modules. +PETSc can be linked with a plethora of [external numerical libraries][k], extending PETSc functionality, e.g. direct linear system solvers, preconditioners or partitioners. See below a list of libraries currently included in Anselm `petsc` modules. All these libraries can be used also alone, without PETSc. Their static or shared program libraries are available in `$PETSC_DIR/$PETSC_ARCH/lib` and header files in `$PETSC_DIR/$PETSC_ARCH/include`. `PETSC_DIR` and `PETSC_ARCH` are environment variables pointing to a specific PETSc instance based on the PETSc module loaded. * dense linear algebra - * [Elemental](http://libelemental.org/) + * [Elemental][l] * sparse linear system solvers - * [Intel MKL Pardiso](https://software.intel.com/en-us/node/470282) - * [MUMPS](http://mumps.enseeiht.fr/) - * [PaStiX](http://pastix.gforge.inria.fr/) - * [SuiteSparse](http://faculty.cse.tamu.edu/davis/suitesparse.html) - * [SuperLU](http://crd.lbl.gov/~xiaoye/SuperLU/#superlu) - * [SuperLU_Dist](http://crd.lbl.gov/~xiaoye/SuperLU/#superlu_dist) + * [Intel MKL Pardiso][m] + * [MUMPS][n] + * [PaStiX][o] + * [SuiteSparse][p] + * [SuperLU][q] + * [SuperLU_Dist][r] * input/output - * [ExodusII](http://sourceforge.net/projects/exodusii/) - * [HDF5](http://www.hdfgroup.org/HDF5/) - * [NetCDF](http://www.unidata.ucar.edu/software/netcdf/) + * [ExodusII][s] + * [HDF5][t] + * [NetCDF][u] * partitioning - * [Chaco](http://www.cs.sandia.gov/CRF/chac.html) - * [METIS](http://glaros.dtc.umn.edu/gkhome/metis/metis/overview) - * [ParMETIS](http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview) - * [PT-Scotch](http://www.labri.fr/perso/pelegrin/scotch/) + * [Chaco][v] + * [METIS][w] + * [ParMETIS][x] + * [PT-Scotch][y] * preconditioners & multigrid - * [Hypre](http://www.nersc.gov/users/software/programming-libraries/math-libraries/petsc/) - * [SPAI - Sparse Approximate Inverse](https://bitbucket.org/petsc/pkg-spai) + * [Hypre][z] + * [SPAI - Sparse Approximate Inverse][aa] + +[a]: http://www.mcs.anl.gov/petsc/ +[b]: http://www.mcs.anl.gov/petsc/documentation/ +[c]: http://www.mcs.anl.gov/petsc/petsc-current/docs/manual.pdf +[d]: http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/singleindex.html +[e]: http://www.youtube.com/watch?v=asVaFg1NDqY +[f]: http://www.youtube.com/watch?v=ubp_cSibb9I +[g]: http://www.youtube.com/watch?v=vJAAAQv-aaw +[h]: http://www.youtube.com/watch?v=BKVlqWNh8jY +[i]: http://www.youtube.com/watch?v=iXkbLEBFjlM +[j]: https://www.mcs.anl.gov/petsc/miscellaneous/petscthreads.html +[k]: http://www.mcs.anl.gov/petsc/miscellaneous/external.html +[l]: http://libelemental.org/ +[m]: https://software.intel.com/en-us/node/470282 +[n]: http://mumps.enseeiht.fr/ +[o]: http://pastix.gforge.inria.fr/ +[p]: http://faculty.cse.tamu.edu/davis/suitesparse.html +[q]: http://crd.lbl.gov/~xiaoye/SuperLU/#superlu +[r]: http://crd.lbl.gov/~xiaoye/SuperLU/#superlu_dist +[s]: http://sourceforge.net/projects/exodusii/ +[t]: http://www.hdfgroup.org/HDF5/ +[u]: http://www.unidata.ucar.edu/software/netcdf/ +[v]: http://www.cs.sandia.gov/CRF/chac.html +[w]: http://glaros.dtc.umn.edu/gkhome/metis/metis/overview +[x]: http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview +[y]: http://www.labri.fr/perso/pelegrin/scotch/ +[z]: http://www.nersc.gov/users/software/programming-libraries/math-libraries/petsc/ +[aa]: https://bitbucket.org/petsc/pkg-spai diff --git a/docs.it4i/software/numerical-libraries/trilinos.md b/docs.it4i/software/numerical-libraries/trilinos.md index 77aa53914807c9e0d04fb7bb4c520c16e1b8bb8b..8810abbc1fdebbc436a849f8fc831559641ea156 100644 --- a/docs.it4i/software/numerical-libraries/trilinos.md +++ b/docs.it4i/software/numerical-libraries/trilinos.md @@ -18,7 +18,7 @@ Current Trilinos installation on ANSELM contains (among others) the following ma * **IFPACK** - distributed algebraic preconditioner (includes e.g. incomplete LU factorization) * **Teuchos** - common tools packages. This package contains classes for memory management, output, performance monitoring, BLAS and LAPACK wrappers etc. -For the full list of Trilinos packages, descriptions of their capabilities, and user manuals see [http://trilinos.sandia.gov.](http://trilinos.sandia.gov) +For the full list of Trilinos packages, descriptions of their capabilities, and user manuals [see][a]. ## Installed Version @@ -47,3 +47,5 @@ include Makefile.export.<package> ``` if you are interested only in a specific Trilinos package. This will give you access to the variables such as Trilinos_CXX_COMPILER, Trilinos_INCLUDE_DIRS, Trilinos_LIBRARY_DIRS etc. + +[a]: http://www.mcs.anl.gov/petsc/miscellaneous/external.html