110 likes | 258 Views
NTCC Software Standards. NTCC Modules Library Project 1998 -- 2004. NTCC historical Context. Modest OFES Project to modernize and improve availability of MFE fusion software: Transport models. Equilibrium, heating and current drive. Supporting tools (e.g. numerics, portability).
E N D
NTCC Software Standards NTCC Modules Library Project 1998 -- 2004 D. McCune
NTCC historical Context • Modest OFES Project to modernize and improve availability of MFE fusion software: • Transport models. • Equilibrium, heating and current drive. • Supporting tools (e.g. numerics, portability). • Standards were developed in 1998: • Coding practices, documentation. • Specification moderated by cost concerns. • Deliverables: subroutine libraries. D. McCune
Issues addressed: Documentation. Portability. Distribution. Modernization. Modularization. Reusability. Sharing of subroutine libraries. NOT addressed: Distribution of entire codes or systems. High performance computing. Distributed computing: secure services, etc. Shared development. Mixed language programming. NTCC Modules Library Scope D. McCune
Modules Library Assessment • Enabled sharing of important physics simulation software, but… • Successful sharing still involves a struggle: • Portability & build system issues. • Dependencies. • Low level consequences of use of mixed language programming on real systems… • Process to process distributed computing may present fewer engineering issues. D. McCune
Example: NUBEAM • PPPL (TRANSP) Monte Carlo Fast Ion Package. • Neutral beam injected fast ions. • Fusion product fast ions. • Successfully deployed at PPPL (TRANSP) and GA (ONETWO). • Also reported coupled to ASTRA at JET. • Test code adapted as NUBEAM “server”. • PPPL MPI implementation in progress. D. McCune
MPI-Parallel Module Server Serial TRANSP Run (Client #1) Input File* Package, e.g. XPLASMA** NetCDF state. Server Queue • MPI-Parallel TRANSP • Module Server(s): • NUBEAM monte carlo • TORIC5 full wave • GenRAY ray tracing • CQL3D fokker planck • GCNM transp. solver • ... … … Serial TRANSP Run (Client #2) Output File* Package, e.g. XPLASMA** NetCDF state. Serial TRANSP Run (Client #3) … *viability of method depends on keeping files small. Serial TRANSP Run (Client #N) **NTCC container module for equilibrium, profiles, distribution functions, etc. (http://w3.pppl.gov/NTCC) to be used for Fusion Simulation Project prototype and tested in TRANSP deployment. network D. McCune
The NTCC Software Standards • Complete standards and all NTCC modules at http://w3.pppl.gov/NTCC... • NTCC project included review process for enforcement of standards. • This was useful but expensive in labor. • Some recommendations were made voluntary: “goals” instead of “standards”. • Due to cost concerns. D. McCune
Full source code. Test driver code. Makefile. Build instructions. Use instructions. Description of all I/O. No imbedded graphics dependencies. Missed goal warnings. Goals: Portability. Precision control. Error handling. No dependence on licensed software. Dynamic memory allocation. Avoid hardwired LUNs. Standard NTCC Modules include: D. McCune
Documentation: Contact Information. Date of last revision. Physics description with “range of validity”. List of dependencies. List of known bugs. Documentation goals: HTML documents. Journal publication. Goals for generated data files: Provide i/o interface. Use standard self-describing portable format (e.g. NetCDF). Establish standards for physical units, grids, and names of items. More NTCC Standards & Goals D. McCune
Standards for NTCC Users • Acknowledge the work of NTCC authors. • Report bugs back to author or module contact person. • Return code improvements to module author or designated support person. • These standards were not enforced. • NTCC had no enforcement mechanism. D. McCune
Summary • NTCC standards & NTCC experience very useful and productive. • NTCC not the last word. • Suggest review and refinement of standards for Fusion Simulation Project. D. McCune