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)