https://github.com/bytehamster/alias-table-gpu

Efficient construction of and sampling from alias tables on the GPU

https://github.com/bytehamster/alias-table-gpu

Science Score: 36.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
  • Academic publication links
    Links to: arxiv.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (7.4%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Efficient construction of and sampling from alias tables on the GPU

Basic Info
  • Host: GitHub
  • Owner: ByteHamster
  • License: gpl-3.0
  • Language: Cuda
  • Default Branch: main
  • Size: 80.1 KB
Statistics
  • Stars: 9
  • Watchers: 2
  • Forks: 1
  • Open Issues: 0
  • Releases: 0
Created about 5 years ago · Last pushed about 5 years ago
Metadata Files
Readme License

README.md

Weighted Random Sampling - Alias Tables on the GPU

This is the code to accompany our technical report "Weighted Random Sampling on GPUs". The report is freely accessible under a Creative Commons license (CC-BY) on arXiv.

@misc{lehmann2021weighted, title = {Weighted Random Sampling on GPUs}, author = {Hans-Peter Lehmann and Lorenz H{\"u}bschle-Schneider and Peter Sanders}, year = {2021}, journal = {arXiv e-prints}, eprint = {2106.12270} }

Compiling

This project requires CUDA 11.0 or newer. To compile using cmake cmake, type the following:

mkdir build cd build cmake -DCMAKE_BUILD_TYPE=Release .. make -j4

Experiments

To reproduce our experiments, compile using cmake. To enable/disable individual experiments, edit the file plots/Plots.cuh. Note that some of the experiments (that do not depend on timings) require to use debug builds. Experiments automatically write the output in csv format to both stdout and a file. You can specify the file name by changing OUT_PATH in utils/Utils.cuh.

  • You can override some of the hardware-dependent parameters like group size by passing arguments to cmake. See CMakeLists.txt for available options.
  • To run the experiments where the l and h arrays do not contain weights, you need to comment out the LH_TYPE_USE_WEIGHT definition in construction/aliasTable/buildMethod/LhType.cuh.

License

This code is licensed under the GPLv3.

Owner

  • Login: ByteHamster
  • Kind: user
  • Location: Germany
  • Company: Karlsruhe Institute of Technology

I'm a PhD student at Karlsruhe Institute of Technology. In my freetime, I maintain AntennaPod and contribute to other projects like K-9 Mail and Baikal Server.

GitHub Events

Total
  • Fork event: 1
Last Year
  • Fork event: 1

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 1
  • Total Committers: 1
  • Avg Commits per committer: 1.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
ByteHamster i****o@b****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: over 1 year ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels