Mathematical Libraries
LibSciCray LibSci is a library of highly tuned linear algebra and FFT products for Cray XE6 systems. Cray LibSci includes the following:
How to use LibSciThe modulefile is loaded by default. This is true for all the available programming environments (PGI, GNU, and Cray) as long as you use the Cray compiler wrappers (ftn, cc, and CC). All LibSci routines will be loaded by all Cray-provided compiler wrappers by default. No user flags or options are required for compiling or linking. % module list xt-libsci/<version of LibSci> Example Code for Matrix Matrix Multiply using ScaLAPACK library from SciLib, test_scilib_scalapack.f90 Compile the code as
Additional Information
FFTWFFTW is a C subroutine library for computing the discrete Fourier transform in one or more dimensions of arbitrary input size, and of both real and complex data. FFTW v2.1.5 and FFTW v3.3 are available for the Cray XE6 system and distributed with the Cray Programming Environment. How to use FFTW% module load fftw To see which versions of FFTW are available. Use %module avail fftw To compile and link a sequential 1D code : % ftn test1D.f $FFTW_POST_LINK_OPTS -lfftw To compile and link MPI 3D code : % ftn test3D.f $FFTW_POST_LINK_OPTS -ldfftw_mpi -ldfftw The order in which libraries are given is important. Examples (coming soon) PETScPETSc , the Portable, Extensible Toolkit for Scientific computation, is provided as part of the Cray Programming Environment software stack. It provides sets of tools for the parallel (as well as serial), numerical solution of PDEs that require solving large-scale, nonlinear and sparse linear systems of equations. Cray provides an optimized version of the standard PETSc Library. This package is highly tuned for Cray hardware via Cray's custom Cray Adaptive Sparse Kernels (CASK). CASK is an auto-tuned and adaptive framework for the optimization of Sparse Matrix Vector operations. CASK uses a custom code generator and the result of extensive offline research to select the best optimization method according to the problem characteristics. This adaptive approach is vital in the optimization of sparse linear solvers since the performance of numeric kernels is highly dependent on sparsity characteristics of the calling problem. CASK provides CSR (Compressed Sparse Row format) and FBSR (Fixed Block Sparse Row) tuned kernels that can improve PETSc performance by 5% to 30%. The exact performance advantage from CASK depends on the matrix class of the calling problem. How to use PetSC% module load cray-petsc This will load the default version of PetSc. to load a specific version available on the system, use % module avail cray-petsc then load the specific version, for example, % module load cray-petsc/<version> Examples : (coming soon) Additional InformationMore information can be found in PETSc and the Cray Application Developer's Environment User's Guide. Always refer to docs.cray.com for the version available on your system or the latest version of the document. TrilinosTrilinos is also provided as part of the Cray Programming Environment software stack. It provides a set of packages to solve linear and non-linear systems of equations, eigensystems and other related problems while leveraging the value of established libraries. Cray provides an optimized version of the standard Trilinos library which is highly tuned for Cray hardware via Cray's custom CASK. CASK is an auto-tuned and adaptive framework for the optimization of Sparse Matrix Vector operations. CASK uses a custom code generator and the result of extensive offline research to select the best optimization method according to the problem characteristics. This adaptive approach is vital in the optimization of sparse linear solvers since the performance of numeric kernels is highly dependent on sparsity characteristics of the calling problem. CASK provides CSR (Compressed Sparse Row format) and FBSR (Fixed Block Sparse Row) tuned kernels that can improve Trilinos performance by 5% to 30%. The exact performance advantage from CASK depends on the matrix class of the calling problem. How to use Trilinos% module load cray-trilinos More Information
ACML: AMD Core Math LibraryThe 64-bit AMD Core Math Library (ACML) has been optimized for the Cray XE/XK-series and is included with the LibSci Scientific Library. It includes:
How to use ACML% module load acml To compile and link, use % ftn test_acml.f -L$ACML_BASE_DIR/pgi64/lib -lacml Example : (coming soon) Additional Information
GSL : GNU Scientific LibraryThe GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. It is free software under the GNU General Public License. How to use GSLA programming envirnment should be loaded before loading this module. %module load gsl To see which enviornment veriables are set, use : %module show gsl To compile and link a code that uses GSL, %cc -I$GSL_INCLUDE_PATH -L$GSL_LIBRARY_PATH test_gsl.c -lgsl
References
|