mallocMC

This project provides a framework for fast memory managers on many core accelerators. It is based on alpaka to run on many different accelerators and implements the ScatterAlloc algorithm.

1
mention
8
contributors
178 commits | Last commit 2 weeks ago

Cite this software

What mallocMC can do for you

mallocMC is a powerful C++ memory allocator designed for high-performance computing applications, particularly in the context of many-core accelerators. Built to address the challenges of conventional memory allocation, mallocMC offers efficient, scalable solutions that significantly reduce memory fragmentation and improve allocation speed.

By implementing a per-thread caching mechanism, mallocMC minimizes contention and enhances performance in parallel applications.
This innovative approach allows for rapid memory allocation and deallocation, optimizing resource utilization and accelerating computational workflows.

With its user-friendly API and seamless integration capabilities, mallocMC is suitable for a variety of applications, from scientific research to industrial simulations.
It empowers developers to leverage the full potential of their hardware, ensuring that memory management does not become a bottleneck in high-performance computing tasks.

Related projects

alpaka

PIConGPU achieves hardware parallelization through the alpaka library, a C++17 tool for accelerator development. It offers performance portability across accelerators, supports CPUs and CUDA GPUs, and provides backend options for concurrent execution, streamlining parallelization without requiring CUDA or threading code. Its approach mirrors CUDA's grid-blocks-threads model for optimal hardware adaptation.

PIConGPU

PIConGPU is an extremely scalable and platform-portable application for particle-in-cell simulations. While we mainly use it to study laser-plasma interactions, it has also found utility in astrophysical studies and simulations of matter under extreme conditions.

PMacc

PMacc, an acronym for 'Particle Mesh Accelerated', provides fundamental parallel algorithms and data structures critical to the core operations of the PIConGPU. It serves as the foundation upon which all physics methods are built. Currently, the library remains an integral part of the PIConGPU framework.

Keywords
Programming languages
  • C++ 89%
  • CMake 5%
  • Python 3%
  • Shell 3%
License
</>Source code

Participating organisations

Helmholtz-Zentrum Dresden-Rossendorf

Reference papers

Mentions

Contributors

RW
René Widera
Helmholtz-Zentrum Dresden-Rossendorf
JL
Julian Lenz
CASUS, Helmholtz-Zentrum Dresden-Rossendorf
AH
Axel Huebl
Helmholtz-Zentrum Dresden-Rossendorf
BG
Bernhard Manfred Gruber
Helmholtz-Zentrum Dresden-Rossendorf, CASUS, CERN
SB
Sergei Bastrakov
Helmholtz-Zentrum Dresden-Rossendorf
CE
Carlchristian Eckert
Helmholtz-Zentrum Dresden-Rossendorf, TU Dresden
BW
Benjamin Worpitz
AG
Alexander Grund
Helmholtz-Zentrum Dresden-Rossendorf

Related software

alpaka

AL

The alpaka library is a header-only C++17 abstraction framework designed for computing accelerator development. It enables developers to implement algorithms once and execute them across a range of platforms, including x86, ARM, and RISC-V CPUs, as well as accelerators from NVIDIA, AMD, and Intel.

Updated 1 month ago
74 34

PIConGPU

PI

PIConGPU is a relativistic Particle-in-Cell code running on graphic processing units as well as regular multi-core processors. It is Open Source und is freely available for download. It can be used to study plasmas with relativistic dynamics, solving the Maxwell-Vlasov system of equations.

Updated 1 month ago
3 11