Skip to content

parallelcodefoundry/Mneme

 
 

Repository files navigation

docs (gh-pages) codecov License: Apache 2.0 with LLVM exceptions

Mneme (Μνήμη)

Named after the Greek goddess of memory, preserves and replays the essence of your application's execution, allowing developers to revisit, analyze, and refine specific moments in code with precision.

Mneme is a tool allowing recording the execution of a GPU (CUDA/HIP) kernel and replaying that kernel as an independent executable.

Documentation

For full usage instructions, tutorials, and API reference, please visit the Documentation.

Key Features

  • Record: Capture GPU kernels from large applications into isolated replayable units.
  • Replay: Execute captured kernels independently without the original application context.
  • Tune: Optimize kernel parameters (block size, grid size) and compiler passes using Python tools like Optuna.

Contributions

We welcome all kinds of contributions: new features, bug fixes, documentation edits; it's all great!

To contribute, make a pull request, with develop as the destination branch.

Release

Mneme is released under Apache License (Version 2.0) with LLVM exceptions. For more details, please see the LICENSE.

LLNL-CODE-2000766

Citation

If you use this software, please cite it as below:

@inproceedings{parasyris2023scalable,
  title={Scalable Tuning of (OpenMP) GPU Applications via Kernel Record and Replay},
  author={Parasyris, Konstantinos and Georgakoudis, Giorgis and Rangel, Esteban and Laguna, Ignacio and Doerfert, Johannes},
  booktitle={Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis},
  pages={1--14},
  year={2023}
}

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 60.0%
  • C++ 34.8%
  • CMake 3.2%
  • Shell 1.6%
  • Other 0.4%