mallocmc

mallocMC: Memory Allocator for Many Core Architectures :pager:

https://github.com/alpaka-group/mallocmc

Science Score: 49.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 6 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.9%) to scientific vocabulary

Keywords from Contributors

cpp17 header-only heterogeneous-parallel-programming hip openacc openmp rocm tbb adios file-handling
Last synced: 7 months ago · JSON representation

Repository

mallocMC: Memory Allocator for Many Core Architectures :pager:

Basic Info
  • Host: GitHub
  • Owner: alpaka-group
  • License: other
  • Language: C++
  • Default Branch: dev
  • Homepage:
  • Size: 5.48 MB
Statistics
  • Stars: 58
  • Watchers: 10
  • Forks: 16
  • Open Issues: 35
  • Releases: 11
Created about 12 years ago · Last pushed 11 months ago
Metadata Files
Readme Changelog Contributing License Zenodo

README.md

mallocMC

mallocMC: Memory Allocator for Many Core Architectures

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 comes with multiple allocation algorithms out-of-the-box. Custom ones can be added easily due to the policy-based design.

Usage

Follow the step-by-step instructions in Usage.md to replace your new/malloc calls with a blacingly fast mallocMC heap! :rocket:

Install

mallocMC is header-only, but requires a few other C++ libraries to be available. Our installation notes can be found in INSTALL.md.

Contributing

Rules for contributions are found in CONTRIBUTING.md.

On the Algorithms

This library was originally inspired by the ScatterAlloc algorithm, forked from the ScatterAlloc project, developed by the Managed Volume Processing group at Institute for Computer Graphics and Vision, TU Graz (kudos!). The currently shipped algorithms are using similar ideas but differ from the original one significantly.

From the original project page (which is no longer existent to the best of our knowledge):

```quote ScatterAlloc is a dynamic memory allocator for the GPU. It is designed concerning the requirements of massively parallel execution.

ScatterAlloc greatly reduces collisions and congestion by scattering memory requests based on hashing. It can deal with thousands of GPU-threads concurrently allocating memory and its execution time is almost independent of the thread count.

ScatterAlloc is open source and easy to use in your CUDA projects. ```

Our Homepage: https://www.hzdr.de/crp

Versions and Releases

Official releases can be found in the Github releases. We try to stick to semantic versioning but we'll bump the major version number for major features. Development happens on the dev branch. Changes there have passed the CI and a code review but we make no guarantees about API or feature stability in this branch.

Literature

Just an incomplete link collection for now:

  • Paper by Markus Steinberger, Michael Kenzel, Bernhard Kainz and Dieter Schmalstieg

  • 2012, May 5th: Presentation at Innovative Parallel Computing 2012 by Bernhard Kainz

  • Junior Thesis DOI by Carlchristian Eckert (2014)

License

We distribute the modified software under the same license as the original software from TU Graz (by using the MIT License). Please refer to the LICENSE file.

Owner

  • Name: alpaka
  • Login: alpaka-group
  • Kind: organization
  • Location: Dresden, Germany

Abstraction Library for Parallel Kernel Acceleration

GitHub Events

Total
  • Issues event: 5
  • Watch event: 8
  • Issue comment event: 10
  • Push event: 24
  • Pull request review comment event: 19
  • Pull request review event: 39
  • Pull request event: 48
  • Fork event: 1
Last Year
  • Issues event: 5
  • Watch event: 8
  • Issue comment event: 10
  • Push event: 24
  • Pull request review comment event: 19
  • Pull request review event: 39
  • Pull request event: 48
  • Fork event: 1

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 361
  • Total Committers: 14
  • Avg Commits per committer: 25.786
  • Development Distribution Score (DDS): 0.715
Past Year
  • Commits: 101
  • Committers: 4
  • Avg Commits per committer: 25.25
  • Development Distribution Score (DDS): 0.119
Top Committers
Name Email Commits
Carlchristian Eckert c****t@h****e 103
Julian Lenz j****z@h****e 89
René Widera r****a@h****e 63
Axel Huebl a****l@w****e 39
Bernhard Manfred Gruber b****r@g****m 28
Third Party m****C@h****e 15
Carlchristian Eckert C****t@g****e 7
Sergei Bastrakov s****v@g****m 6
Benjamin Worpitz b****z@g****m 4
Alexander Grund a****d@h****e 2
Third Party m****C@h****e 2
Flamefire g****t@g****e 1
Tapish Narwal 1****i 1
Tools p****u@h****e 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 35
  • Total pull requests: 136
  • Average time to close issues: about 2 years
  • Average time to close pull requests: 14 days
  • Total issue authors: 9
  • Total pull request authors: 7
  • Average comments per issue: 1.6
  • Average comments per pull request: 0.99
  • Merged pull requests: 123
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 2
  • Pull requests: 47
  • Average time to close issues: N/A
  • Average time to close pull requests: 5 days
  • Issue authors: 1
  • Pull request authors: 2
  • Average comments per issue: 0.5
  • Average comments per pull request: 0.28
  • Merged pull requests: 43
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • psychocoderHPC (8)
  • chillenzer (8)
  • ax3l (6)
  • sbastrakov (5)
  • slizzered (3)
  • saipavankalyan (1)
  • Flamefire (1)
  • ivandrodri (1)
  • bernhardmgruber (1)
Pull Request Authors
  • chillenzer (71)
  • psychocoderHPC (57)
  • bernhardmgruber (11)
  • sbastrakov (7)
  • ax3l (5)
  • ikbuibui (2)
  • matthias-springer (1)
Top Labels
Issue Labels
new backend (6) feature (5) bug (5) refactoring (4) example/test (3) warning (1) documentation (1) question (1)
Pull Request Labels
bug (46) refactoring (45) documentation (28) feature (15) example/test (15) warning (5) duplicate (1)

Dependencies

alpaka/docs/requirements.txt pypi
  • Jinja2 <3.0
  • breathe ==4.16.0
  • markupsafe <2.0.0
  • pygments *
  • rst2pdf *
  • sphinx ==3.0.3
  • sphinx_rtd_theme >=0.3.1
  • sphinxcontrib.programoutput *