QCD API(*)
level 3
-------------------------------------------------------------------------
| Dirac Operators, CG Routines etc. |
| |
| (Organized by MILC or SZIN or CPS etc.) |
| |
==========================================================================
QDP_xxx level 2
--------------------------------------------------------------------------
| Data Parallel QCD Lattice Operations |
| (overlapping Algebra and Messaging) |
| |
| A = SHIFT(B, mu) * C; Global sums, etc |
| |
--------------------------------------------------------------------------
| Lattice Wide Lin Alg || Lattice Wide Data Movement |
| (No Communication) || (Pure Communiation, non-blocking) |
| || |
| e.g. A = B * C || e.g Atemp = SHIFT(A, mu-dir) |
| || |
==========================================================================
QLA_xxx level 1 QMP_xxx
--------------------------------------------------------------------------
| Single Site Linear Algebra API || Message Passing API |
| || |
| SU(3), gamma algebra etc. || (Know about mapping of Lattice |
| || into Network Geomentry) |
--------------------------------------------------------------------------
(*)Ideally each level only calls the level directly below it. When this is not
possible because of efficiency, this level structure should still be
maintained in the SEMANTICS.
Rich Brower: Tue Jul 31 14:37:39 EDT 2001
| Major Tasks | Delivery Date | Description |
| 1 Lattice QCD Kernels | Dec 2001
Jun 2002 Dec 2003 |
Kernels optimized for latency, yielding high efficieny on small clusters
of ``thin'' SMPs.
Standardized kernels optimized on QCDOC. Kernels optimized for ``fat'' SMPs, newer interconnects. |
| 2 Network Communication | Dec 2001
Jun 2002
Dec 2003
|
1 st version low level messaging API implemented on clusters,
QCD-API communications standard adopted.
2nd version low level messaging API running on clusters, QCDOC. high efficiency demonstrated on large clusters. high efficiency on clusters of ``fat'' SMPs, newer interconnects. |
| 3 Execution Environment | Jun 2002
Jun 2002 Jun 2003 Jun 2004 |
Requirements defined for parallel I/O, batch execution, and other aspects
of execution environment.
Uniform batch system running on clusters, QCDOC prototype. Final execution environment finished, including fast parallel I/O, distributed batch with load balancing and web portal. Fast parallel I/O, distributed batch with load balancing and web portal. |
| 4 Application, Porting and Optimization | Jun 2002
Jun 2003 |
MILC ported to all platforms (not fully optimized).
MILC, others, optimized on all platforms. |
| 5 QCD-API and Code Library | Dec 2001
Jun 2002 Jun 2003 Jun 2004 |
QCD-APS defined.
Requirements for data analysis defined. First versions of most data analysis tools available. Data analysis tools finished. |
| 6 Data Management | Dec 2001
Jun 2002 Jun 2002 Jun 2003 |
Data file formats defined.
Converters for legacy data available. 1st version of data grid operational. Production data grid operational. |
The message API activity spans multiple tasks (as enumerated above), which are defined in more as sub-tasks related to messaging with numbers are relative to the proposal task numbers:
Task 2.1 Implement efficient message passing for myrinet, aiming at minimal host and I/O processor overhead and message latency. The resulting low level calls may NOT have any relationship with MPI (i.e. NOT a subset).
Task 5.1 Analysis / design of a lattice QCD message API which is able to meet the needs of SZIN, MILC, CPS and expected future applications, and which is composable from the message primitives of sub-task 2.1
Task 2.2 Implement this API on myrinet.
Task 2.3 Implement this API on QCDOC.
Task 2.4 Implement this API on MPI, to allow portability to other architectures already supporting MPI; this implementation need not guarantee high performance, only portability.
Task 1.2 Test the performance of SZIN using optimal algorithms using this API.
Last modified: Wed Mar 10 10:41:58 EST 2004