MPT - DSMML
Overview
DSMML - Distributed Symmetric Memory Management Library
Implementation
Cray Linux Environment (CLE)
Introduction
DSMML is a stand-alone memory management library for maintaining distributed shared symmetric memory heaps for top level PGAS languages and libraries like Coarray Fortran, UPC, and OpenSHMEM. DSMML allows user libraries to create multiple symmetric heaps and share information with other libraries. Through DSMML, we could extract interoperability between PGAS programming models.
Compiling and Launching a DSMML application on Cray system
To invoke the compiler for all applications, including standalone DSMML applications, use either the cc, CC, or ftn command. Do not use any vendor-specific compiler commands such as pgcc, as this may result in undefined behavior.
Example:
In the example below, an application is first compiled, and the resulting executable is then launched using 1 process:
cc -o test_dsmml test_dsmml.c
srun -n 1 ./test_dsmml
See srun(1) man page for more information.
Environment Variables
The following environment variables affect the DSMML behavior.
- DSMML_VERSION_INFO
If set, causes DSMML to display the Cray DSMML library version number as well as the build date information.
Default: not enabled
DSMML_ERROR_FILE
Specifies the name of error file to be used for reporting the errors in DSMML. Only
`stderr`
and`stdout`
are available as valid input options.Default: stderr
DSMML_DEBUG_FILE
Specifies the name of the file to be used for reporting the debug logs in DSMML. Only
`stderr`
and`stdout`
are available as valid input options.Default: stderr
DSMML_DEBUG_LEVEL
Specifies the level for providing the debug log details. The following levels are available as valid input options, and their corresponding information level details are provided.
Level:1 Only error reports Level:2 General high-level user-facing function entry information Level:3 High-level function entry information on all other functions Level:4 More details on each internal operation Level:5 Complete every possible log information
Default: 0
DSMML_DEBUG_RANKS
Specifies the ranks on which the debug logs are to be retrieved. Multiple ranks can be combined using the (;) delimiter.
Default: (All ranks are reported)
DSMML_DEBUG_CATEGORIES
Debug categories used to isolate and separate the log information. The following categories are available as input. Multiple categories can be combined using the (;) delimiter.
init enter create allocate query numa
Default: (All categories are reported)