PhilipDeegan / Umpire

An application-focused API for memory management on NUMA & GPU architectures

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Umpire Umpire v2022.03.1

Travis Build Status Azure Pipelines Build Status Documentation Status codecov Join the chat at https://gitter.im/LLNL/Umpire

Umpire is a resource management library that allows the discovery, provision, and management of memory on machines with multiple memory devices like NUMA and GPUs.

Umpire uses CMake and BLT to handle builds. Since BLT is included as a submodule, first make sure you run:

$ git submodule init && git submodule update

Then, make sure that you have a modern compiler loaded, and the configuration is as simple as:

$ mkdir build && cd build
$ cmake ..

CMake will provide output about which compiler is being used. Once CMake has completed, Umpire can be built with Make:

$ make

For more advanced configuration you can use standard CMake variables.

Documentation

Both user and code documentation is available here.

The Umpire tutorial provides a step by step introduction to Umpire features.

If you have build problems, we have comprehensive build system documentation too!

Getting Involved

Umpire is an open-source project, and we welcome contributions from the community.

Mailing List

The Umpire mailing list is hosted on Google Groups, and is a great place to ask questions:

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. We use Travis to run CI tests, and your branch must pass these tests before being merged.

For more information, see the contributing guide.

Authors

Thanks to all of Umpire's contributors.

Umpire was created by David Beckingsale (david@llnl.gov).

Citing Umpire

If you are referencing Umpire in a publication, please use the following citation:

Release

Umpire is released under an MIT license. For more details, please see the LICENSE and RELEASE files.

LLNL-CODE-747640 OCEC-18-031

About

An application-focused API for memory management on NUMA & GPU architectures

License:MIT License


Languages

Language:C++ 87.3%Language:Fortran 4.9%Language:CMake 2.7%Language:C 2.2%Language:Python 1.7%Language:Shell 0.8%Language:Dockerfile 0.2%Language:Cuda 0.1%Language:Makefile 0.0%