Mneme
- Lawrence Livermore National Laboratory (LLNL), Livermore, CA (United States)
A simple tool allowing recording the execution of a GPU (CUDA) kernel and replaying that kernel as an independent executable. The tool operates in 3 phases. During compile time the user needs to apply a provided LLVM pass to instrument the code. The pass detects all device global variables and device functions and stores this information with the respective LLVM-IR in the global device memory. The compilation generates a record-able executable. The second phase involves running the application executable with a desired input and using LD_PRELOAD to enable recording. When recording before invoking a device kernel the pre-loaded library stores device memory in persistent storage and associates the memory with the device kernel and an LLVM IR file. At the end of the recorded execution the pre-load library generates a database in the form of a JSON file containing information regarding the LLVM-IR files and the snapshots of device memory. During the third and last phase the user can replay the execution of an kernel as a separate independent executable. Besides executing it the user can modify the LLVM IR file and auto-tune parameters such as kernel launch-bounds or kernel runtime execution parameters (e.g. Kernel Block and Grid Dimensions). Is
- Short Name / Acronym:
- Mneme
- Site Accession Number:
- LLNL-CODE-2000766
- Software Type:
- Scientific
- License(s):
- Apache License 2.0
- Research Organization:
- Lawrence Livermore National Laboratory (LLNL), Livermore, CA (United States)
- Sponsoring Organization:
- USDOE National Nuclear Security Administration (NNSA)Primary Award/Contract Number:AC52-07NA27344
- DOE Contract Number:
- AC52-07NA27344
- Code ID:
- 147006
- OSTI ID:
- code-147006
- Country of Origin:
- United States
Similar Records
geryon v. 0.1
System and method of storing and analyzing information