140 likes | 271 Views
Integrating SciDAC Modules with Community Application Codes. USQCD Collaboration SciDAC-II Review C. DeTar, Univ Utah. Outline. Community code bases Code design and structure Integration with SciDAC suite Future directions. Community Code Bases. Chroma ( Jlab ) (Edwards talk)
E N D
Integrating SciDAC Modules with Community Application Codes USQCD Collaboration SciDAC-II Review C. DeTar, Univ Utah
Outline • Community code bases • Code design and structure • Integration with SciDAC suite • Future directions
Community Code Bases • Chroma (Jlab) (Edwards talk) • 200? – present • XX users worldwide • CPS (Riken-Brookhaven-Columbia collab) • 199? – present • XX users worldwide • MILC (MILC collab) • 1992 – present • XX users worldwide
Design Requirements • Science support • Portability • Efficiency • Versatility
Typical Code Structure: MILC • Applications: • Lattice generation • Hadron spectrum • Weak matrix elements • (some tens of active projects) • Utilities: • Sparse matrix solvers • “Force” calculation • Eigensolvers • etc MILC Applications MILC Utilities I/O Comm LinAlg MPI
SciDAC Integration Map Chroma Applications MILC Applications QOP QDP++ QDP/C MILC Utilities QMT I/O LinAlg Comm CPS Applications QIO QMP QLA CPS utilities MPI LinAlg I/O Comm QCDOC/SCU
QOP Design • Critical utilities • Sparse matrix solvers • Quark and gluon force • Common API • Implemented for maximum efficiency • QCDOC version • QDP version
QOP Design Sampler • Opaque data parallel objects specific to QOP e.g. • QOP_D3_GaugeField • QOP_F3_FermionLinksAsqtad • A raw format (plain array of floats) maps to QOP • flinks = QOP_F3_asqtad_create_L_from_raw( fatlinks, longlinks, QOP_EVEN); • Execution: Solve sparse system A x = b • QOP_F3_asqtad_invert(info, flinks, inv_arg, res_arg, mass, x, b);
MILC Integration with SciDAC MILC Applications QOP QDP/C MILC Utilities I/O Comm LinAlg QIO QMP QLA MPI
Benefits of Integration • Improves performance • give examples • Supports mixed precision • Heavily used • cite numbers • Improves MILC code structure
SciDAC Package Usage • SciDAC facilities • FNAL cluster • JLab cluster • QCDOC • All NSF Teragrid sites: NCSA, PSC, SDSC, TACC, NICS • LLNL IBM Blue Gene/L • ANL IBM Blue Gene/P • ORNL Cray XT4
SciDAC-II Ongoing Development • QIO: Added support for a common propagator file format • QLA: Further optimization • Compiler intrinsics • BLAS version for BG/L • comment on performance?? • QOP: Adding smart solvers, eigensolvers
SciDAC Future Development • Our field is evolving rapidly in response to changing scientific objectives, improved algorithmic methods, and new hardware requirements. We are continually upgrading the SciDAC packages • HISQ algorithm support (with UKQCD) • Gauge force improvement • Multithreading • Heavy quark algorithm improvement
Chroma Organization Chroma Applications QOP QDP++ Chroma kernels QIO QMP MPI