hyPACK-2013 : Tuning and Performance of Programs/Benchmarks Using Math Libraries
|
Tuning and Performance of Application Programs using Compiler optimisation techniques,
Codre restructuring techniques and system tuned mathematical libraries
on Multi-Core Processors will enhance performance. Performance and scalability of application
on multi-core processors with respect to increase in problem size require serious effrots.
System provided tuned mathematical libraries on Intel, IBM P690 systems, open source
tuned mathematical libraries, commerical software & libraries on scientific computatons
are discussed below.
|
PetSc Tool Kit, NetLib software &, NAG Libraries
|
(a). PETSc Toolk Kit (ortable, Extensible Toolkit for
Scientific Computation)
|
http://www-unix.mcs.anl.gov/petsc/
The PETSC (Portable, Extensible Toolkit for
Scientific Computation) (pronounced PET-see (the S is silent), is a suite of data structures and routines for
the scalable (parallel) solution of scientific applications modeled by partial differential equations.
It employs the MPI standard for all message-passing communication. The web-page
http://www-unix.mcs.anl.gov/petsc/petsc-2/index.html
PETSc is part of the DOE SciDAC (Scientific Discovery through Advanced Computing) TOPS project in algorithms, software,
and applications for the scalable solution of PDES. The web page is
http://www.scidac.gov/ .
PETSc is intended for use in large-scale application projects, many ongoing computational science projects are built
around the PETSc libraries. PETSc is easy to use for beginners. Moreover, its careful design allows advanced users
to have detailed control over the solution process. PETSc includes a large suite of parallel linear and nonlinear
equation solvers that are easily used in application codes written in C, C++, Fortran and now Python.
PETSc provides many of the mechanisms needed within parallel application codes, such as simple parallel matrix and
vector assembly routines that allow the overlap of communication and computation. In addition, PETSc includes
support for parallel distributed arrays useful for finite difference methods. PETSc is a sophisticated package and
fully understanding its usage requires time. However, application programmers can easily begin to use PETSc
from a high level and then gradually learn more details according to their needs. Features include:
Parallel vectors
scatters (handles communicating ghost point information); & gathers
Parallel matrices : several sparse storage formats; easy, efficient assembly.
Scalable parallel preconditioners
Krylov subspace methods
Parallel Newton-based nonlinear solvers
Parallel timestepping (ODE) solvers
The other features are :
Complete documentation
Automatic profiling of floating point and memory usage
Consistent interface
Intensive error checking
Portable to UNIX and Windows
PETSc is supported and will be actively enhanced for many years. It has many example programs that
run on message passing Clusters or computing systems supporting MPI.
|
(b). Netlib
|
The Netlib has repository of mathematical software for
for scientific applications as well papers, and databases.
Netlib Repository is available at
UTK and
ORNL
The Netlib repository contains freely available software, documents, and databases of interest to the numerical,
scientific computing, and other communities. The repository is maintained by AT&T Bell Laboratories, the University of
Tennessee and Oak Ridge National Laboratory, and by colleagues world-wide. The collection is replicated at several sites
around the world, automatically synchronized, to provide reliable and network efficient service to the global community.
The web-page
http://www.netlib.org/
The BLAS (Basic Linear Algebra Subprograms) are high quality "building block" routines for performing basic vector
and matrix operations. Level 1 BLAS do vector-vector operations, Level 2 BLAS do matrix-vector operations, and Level 3
BLAS do matrix-matrix operations. Because the BLAS are efficient, portable, and widely available, they're commonly used
in the development of high quality linear algebra software, LINPACK and LAPACK for example.
LAPACK is designed especially for high-performance computing so the LAPACK group prefers that users use
tuned vendor-supplied BLAS whenever possible.
Software, papers, etc.
Services provided at Netlib
Related efforts
|
(c). NAG
|
The Numerical Algorithms Group (
NAG ) specializes in the provision of software
for the solution
of mathematical, statistical and data mining problems. These components, together with
the visualization software and additional services that NAG offers, are used by companies and
institutions in a diverse range of industries spanning the globe. They use them to enrich
their applications developed
to solve problems in disciplines such as financial analysis, science and engineering and
in the fields of education and academia.
NAG's mathematical and statistical software components underpin thousands of programs
and applications spanning the globe in industries as diverse as finance, science,
engineering, academia, and research.
They are so widely used and trusted because of their outstanding and unrivalled quality,
reliability and portability. From PC workstations to a cluster of the world's largest
supercomputers, NAG has the numerical software capabilities to suit your modeling and
computing needs.
The libraries such as NAG Fortran Library, NAG Fortran 90 Library, NAG SMP Library, NAG Parallel Library,
NAG Daata Mining Components, NAG Toolkit for MATLAB is available.
|
|
| | |