|  
  
       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. 
  
 | 
 
 
 
 
   
      
 |   
 |    |    |