connections to other packages the cactus team albert einstein institute [email protected]

12
Connections to Other Packages The Cactus Team Albert Einstein Institute [email protected]

Upload: marcus-may

Post on 18-Jan-2016

214 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Connections to Other Packages The Cactus Team Albert Einstein Institute cactus@cactuscode.org

Connections to Other Packages

The Cactus Team

Albert Einstein [email protected]

Page 2: Connections to Other Packages The Cactus Team Albert Einstein Institute cactus@cactuscode.org

Why Link to Other Packages?Why Link to Other Packages?

Cactus is a framework or middleware for unifying and incorporating code from Thorns

The Cactus Computational Toolkit is a set of Thorns which provide different capabilities, such as interpolation and IO

Philosophy: provide users with as much choice and variety as possible.

External packages developed and maintained by experts in the respective fields. Cactus developers don’t need to reinvent the wheel, package developers get more users, users get better tools.

Cactus developers concentrate on generic interfaces.

Page 3: Connections to Other Packages The Cactus Team Albert Einstein Institute cactus@cactuscode.org

Cactus can make use of ...Cactus can make use of ...

Autopilot

FlexIO (IEEEIO/HDF5)

Globus

GrACE

HDF5

MPI

Panda IO

PAPI

PETSc

Page 4: Connections to Other Packages The Cactus Team Albert Einstein Institute cactus@cactuscode.org

AutoPilotAutoPilot

Dynamic performance instrumentation, on-the-fly performance data reduction, resource management algorithms, real-time adaptive control mechanism

Cactus provides a mechanism to register timers, and Autopilot is currently being integrated.

http://www-pablo.cs.uiuc.edu/Project/Autopilot/AutopilotOverview.htmhttp://www.cactuscode.org/Documentation/HOWTO/Performance-HOWTOhttp://www.cactuscode.org/Projects.html

Page 5: Connections to Other Packages The Cactus Team Albert Einstein Institute cactus@cactuscode.org

FlexIO (IEEEIO)FlexIO (IEEEIO)

FlexIO is a compact multi-platform API for storing multidimensional scientific data. It hides the differences between underlying file formats including HDF5 and IEEEIO.

IEEEIO readers for:AmiraAVSIDL

LCA VisionNAG Explorer

IEEEIO is a compact library for storing multidimensional scientific data in a binary format that can be transported between different computer systems.

Cactus thorn CactusPUGHIO/IOFlexIO outputs multidimensional data using the IEEEIO library. http://zeus.ncsa.uiuc.edu/~jshalf/FlexIO/http://zeus.ncsa.uiuc.edu/~jshalf/FlexIO/IEEEIO.htmlhttp://www.cactuscode.org/Documentation/HOWTO/Visualization-HOWTODocumentation in thorns CactusBase/IOUtil and CactusPUGHIO/IEEEIO

Page 6: Connections to Other Packages The Cactus Team Albert Einstein Institute cactus@cactuscode.org

Globus ToolkitGlobus Toolkit

Globus Toolkit: Enables application of Grid concepts to scientific and engineering computing

Cactus (with the default MPI driver) compiles with Globus (1.0/1.1), using MPICH-G.

Cactus can then be run using RSL scripts as usual with Globus

http://www.globus.org/http://www.cactuscode.org/Documentation/HOWTO/Globus-HOWTOhttp://jean-luc.aei-potsdam.mpg.de/SC98/

The Grid: Dependable, consistent, pervasive access to [high-end] resources

Collaborative engineeringBrowsing of remote datasets

Use of remote softwareData-intensive computing

Very large-scale simulationLarge-scale parameter studies

Page 7: Connections to Other Packages The Cactus Team Albert Einstein Institute cactus@cactuscode.org

GrACEGrACE

Parallel/distributed AMR via C++ library

Abstracts Grid Hierarchies, Grid Functions and Grid Geometries

CactusPAGH will include a driver thorn which uses GrACE to provide AMR (KDI ASC Project)

http://www.caip.rutgers.edu/~parashar/TASSL/Projects/GrACE/index.htmlhttp://www.cactuscode.org/Workshops/NCSA99/talk23/index.htm

Page 8: Connections to Other Packages The Cactus Team Albert Einstein Institute cactus@cactuscode.org

HDF5HDF5 Hierarchical data format for scientific data management

(I/O libraries and tools). Future standard, overcomes limitations of HDF4. Simple

but powerful model, includes hyperslabs, datatype conversion, parallel IO.

Used for 2D/3D output in Computational Toolkit (CactusPUGHIO/IOHDF5)

Much development in (remote) visualization and steering with Cactus uses HDF5

Readers for Amira, OpenDX, (LCA Vision).

http://hdf.ncsa.uiuc.edu/HDF5/http://www.CactusCode.org/Documentation/UsersGuide_html/node15.htmlhttp://www.cactuscode.org/Documentation/HOWTO/Visualization-HOWTODocumentation in thorns CactusBase/IOUtil and CactusPUGHIO/IOHDF5

Page 9: Connections to Other Packages The Cactus Team Albert Einstein Institute cactus@cactuscode.org

MPI (Message Passing Interface)MPI (Message Passing Interface)

The default Cactus driver uses MPI for processor communications (CactusPUGH/PUGH).

Cactus supports most implementations of MPI, including Native MPI on many architectures, as well as MPICH, MPICH-G(2), LAM, WMPI, PACX and HPVM.http://www-unix.mcs.anl.gov/mpi/http://www-unix.mcs.anl.gov/mpi/mpich/http://www.mpi.nd.edu/lam/http://dsg.dei.uc.pt/w32mpi/intro.htmlhttp://www.hlrs.de/structure/organisation/par/projects/pacx-mpi/ http://www.cactuscode.org/Documentation/UsersGuide_html/node14.html

Page 10: Connections to Other Packages The Cactus Team Albert Einstein Institute cactus@cactuscode.org

Panda IOPanda IO

Data management techniques for I/O intensive applications in high-performance scientific computing.

Simpler, more abstract interfaces, efficient layout alternatives for multidimensional arrays, high performance array I/O operations.

Thorn IOPanda

http://cdr.cs.uiuc.edu/panda/http://www.cactuscode.org/Workshops/NCSA99/talk13/sld003.htm

Page 11: Connections to Other Packages The Cactus Team Albert Einstein Institute cactus@cactuscode.org

PAPIPAPI

Standard API for accessing the hardware performance counters on most microprocessors.

Useful for tuning, optimisation, debugging, benchmarking, etc.

http://icl.cs.utk.edu/projects/papi/http://www.cactuscode.org/Documentation/HOWTO/Performance-HOWTOhttp://www.cactuscode.org/Projects.html

Java GUI available for monitoring the metrics Cactus thorn CactusPerformance/PAPI

Page 12: Connections to Other Packages The Cactus Team Albert Einstein Institute cactus@cactuscode.org

PETScPETSc

MPI based suite of data structures and routines for parallel solution of PDEs. Employs the MPI standard for message passing communication.

Cactus grid variables can be used to setup linear/non-linear systems and have them solved by PETSc.

http://www-fp.mcs.anl.gov/petsc/http://www.cactuscode.org/Documentation/HOWTO/PETSc-HOWTOhttp://www.cactuscode.org/Workshops/NCSA99/talk11/

The Scalable Linear Equations Solvers (SLES) provide an interface to the combination of a Krylov subspace iterative method and a preconditioner or a sequential direct solver.

The Scalable Nonlinear Equations Solvers (SNES) component provide an interface to Newton-based methods for solving systems of nonlinear equations.