Sample Code Repository
BC Project: FY06-15
Date of Policy: 24 May 2007
Last Updated: 06 Jan 2022 (see Revision Log)
Each participating center shall maintain a Sample Code Repository on each system. Users of all skill levels can use this repository to see examples of best practices for using the resources of the HCPMP. These examples will be especially helpful to users who are new to the HPCMP or to a particular system.
The environment variable $SAMPLES_HOME
will point to the repository's base directory.
Sample scripts are organized into six categories, each of which has its own subdirectory
named the same as the category itself. These categories are:
- Applications
- Data_Management
- Parallel_Environment
- Programming
- Software Containers
- User_Environment
- Workload_Management
Samples shall contain items such as a batch job script, sample input data, etc., and a
README
file that gives a brief functional description and instructions for its use.
A sample will reside in its own subdirectory under the appropriate category's subdirectory.
The Sample Code Repository directory shall contain a file (INDEX.txt
) that serves
as a table of contents of the code repository. This file includes a brief explanation of each
sample and is organized by the categories listed above.
The names of the samples and the format of the file INDEX.txt
will be uniform across
systems. The INDEX.txt
listing from each system shall be included in each center's online
documentation (currently "Sample Code Repository" under "Documentation").
The types of samples for each category are as follows:
Applications: application specific examples; interactive job submittal scripts, application names resource, software licenses
Data_Management: Archival and retrieval of files; Lustre file striping; $WORKDIR
Parallel_Environment: MPI, OpenMP, and hybrid parallelism; large memory jobs, running multiple applications within a single batch job
Programming: Basic code compilation; debugging; library files; static vs. dynamic linking; Makefiles; Endian conversion
Software Containers: Basic examples of how to use container technology to create a custom environment for your applications. The HPCMP is currently using the Singularity container software.
User_Environment: Modules; customization of login environment
Workload_Management: Basic batch scripting; transfer queue; job arrays; job dependencies; Secure Remote Desktop; job monitoring
The Sample Code Repository shall be maintained by DoD Supercomputing Resource Center (DSRC) personnel.
Date | Revision |
---|---|
06 Jan 2022 | Audit – no changes required due to lack of progress on AIMS project. Recommend another review at that time to ensure AIMS is properly incorporated |
07 Oct 2020 | Added new Category "Software Containers" to policy |
20 Sep 2018 | Moved Category Names and Descriptions from "additional information" link to main body of policy, dropped "Best Practices" link, and made numerous wording changes |
09 Mar 2012 | Added standardization text and "additional information" link. Moved Localy Available Tools into separate policy |
04 Mar 2009 | Added description of tools and scripts collection |