RcppParallel

High-level functions for parallel programming with Rcpp

https://github.com/rcppcore/rcppparallel

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
  • Committers with academic emails
    1 of 23 committers (4.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.5%) to scientific vocabulary

Keywords from Contributors

c-plus-plus-11 c-plus-plus-14 c-plus-plus-17 c-plus-plus-20 r-packages rcpp rcpparmadillo data-manipulation tidy-data geo
Last synced: 10 months ago · JSON representation

Repository

High-level functions for parallel programming with Rcpp

Basic Info
Statistics
  • Stars: 174
  • Watchers: 22
  • Forks: 59
  • Open Issues: 16
  • Releases: 0
Created almost 12 years ago · Last pushed 10 months ago
Metadata Files
Readme Changelog

README.md

RcppParallel

CRAN R-CMD-check <!-- badges: end -->

High level functions for parallel programming with Rcpp. The parallelFor() function can be used to convert the work of a standard serial "for" loop into a parallel one, and the parallelReduce() function can be used for accumulating aggregate or other values.

The high level interface enables safe and robust parallel programming without direct manipulation of operating system threads. On Windows, macOS, and Linux systems, the underlying implementation is based on Intel TBB (Threading Building Blocks). On other platforms, a less-performant fallback implementation based on the TinyThread library is used.

For additional documentation on using RcppParallel see the package website at http://rcppcore.github.io/RcppParallel/.

Intel TBB

RcppParallel supports the new interface of Intel TBB, and can be configured to use an external copy of TBB (e.g., with oneTBB or the system TBB library), using the TBB_LIB and TBB_INC environment variables.

To build the development version of RcppParallel with oneTBB:

For example, installing oneTBB on Linux 64-bit (x86_64) to $HOME directory (change if needed!):

```bash TBBRELEASE="https://api.github.com/repos/oneapi-src/oneTBB/releases/latest" TBBTAG=$(curl --silent $TBBRELEASE | grep -Po '"tagname": "\K.*?(?=")') TBBVERSION=${TBBTAG#?}

wget https://github.com/oneapi-src/oneTBB/releases/download/v$TBBVERSION/oneapi-tbb-$TBBVERSION-lin.tgz tar zxvf oneapi-tbb-$TBB_VERSION-lin.tgz -C $HOME

export TBB="$HOME/oneapi-tbb-$TBBVERSION" `` Note that you may replaceTBBVERSION=${TBB_TAG#?}` with a custom version number if needed ( check available releases here ).

  • Set the TBB environment variables (specifically: TBB for the installation prefix, TBB_INC for the directory that includes the header files, and TBB_LIB for the libraries directory).

For example, installing oneTBB on Linux 64-bit (x86_64) to $HOME directory (change if needed!):

```bash source $TBB/env/vars.sh intel64

export TBBINC="$TBB/include" export TBBLIB="$TBB/lib/intel64/gcc4.8" ```

  • Build the development version of RcppParallel:

r install.packages("remotes") remotes::install_github("RcppCore/RcppParallel")

License

The RcppParallel package is made available under the GPLv2 license.

The TinyThread library is licensed under the zlib/libpng license.

The Intel TBB Library is licensed under the Apache 2.0 license, as described at https://github.com/oneapi-src/oneTBB/blob/master/LICENSE.txt.

Owner

  • Name: Rcpp
  • Login: RcppCore
  • Kind: organization

GitHub Events

Total
  • Issues event: 7
  • Watch event: 6
  • Issue comment event: 17
  • Push event: 39
  • Pull request review event: 1
  • Pull request event: 11
  • Create event: 3
Last Year
  • Issues event: 7
  • Watch event: 6
  • Issue comment event: 17
  • Push event: 39
  • Pull request review event: 1
  • Pull request event: 11
  • Create event: 3

Committers

Last synced: 12 months ago

All Time
  • Total Commits: 670
  • Total Committers: 23
  • Avg Commits per committer: 29.13
  • Development Distribution Score (DDS): 0.609
Past Year
  • Commits: 16
  • Committers: 4
  • Avg Commits per committer: 4.0
  • Development Distribution Score (DDS): 0.313
Top Committers
Name Email Commits
Kevin Ushey k****y@g****m 262
JJ Allaire jj@r****g 242
Johan Larsson j****n@o****m 58
Hamada S. Badr h****r@g****m 44
Dirk Eddelbuettel e****d@d****g 15
Romain François r****n@r****m 13
Andrew Johnson a****n@a****m 8
Jeroen Ooms j****s@g****m 5
Alexander Gaenko g****v@u****u 2
Iñaki Úcar i****r@f****g 2
James Bullard j****d@w****m 2
Kirill Müller k****r@m****g 2
Roy Storey r****y@p****z 2
Travers t****c@g****m 2
vdbg g****v@m****m 2
Sergey Fedorov b****a@m****g 2
mikejiang w****2@f****g 1
Amos Elberg a****g@g****m 1
Francisco Bischoff 9****f 1
Gergely Imreh g****h@f****i 1
Tomas Kalibera t****a@g****m 1
Vitalie Spinu s****t@g****m 1
wtianyi w****4@g****m 1

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 94
  • Total pull requests: 48
  • Average time to close issues: 3 months
  • Average time to close pull requests: 3 months
  • Total issue authors: 76
  • Total pull request authors: 16
  • Average comments per issue: 5.72
  • Average comments per pull request: 2.0
  • Merged pull requests: 40
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 7
  • Pull requests: 13
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 1 day
  • Issue authors: 7
  • Pull request authors: 3
  • Average comments per issue: 1.57
  • Average comments per pull request: 0.85
  • Merged pull requests: 11
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • Enchufa2 (7)
  • traversc (3)
  • asardaes (3)
  • kevinushey (3)
  • dipterix (2)
  • wds15 (2)
  • MurrayEfford (2)
  • hsbadr (2)
  • elbamos (2)
  • jlmelville (2)
  • barracuda156 (2)
  • anirban-mukherjee (2)
  • huyue87 (1)
  • dsteuer (1)
  • acwilsoncu (1)
Pull Request Authors
  • kevinushey (14)
  • andrjohns (9)
  • hsbadr (8)
  • jeroen (5)
  • eddelbuettel (3)
  • barracuda156 (3)
  • Enchufa2 (2)
  • SteveBronder (2)
  • krlmlr (2)
  • kalibera (2)
  • traversc (1)
  • elbamos (1)
  • dipterix (1)
  • galexv (1)
  • imrehg (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 2
  • Total downloads:
    • cran 107,905 last-month
  • Total docker downloads: 197,230
  • Total dependent packages: 209
    (may contain duplicates)
  • Total dependent repositories: 354
    (may contain duplicates)
  • Total versions: 49
  • Total maintainers: 1
cran.r-project.org: RcppParallel

Parallel Programming Tools for 'Rcpp'

  • Versions: 34
  • Dependent Packages: 187
  • Dependent Repositories: 340
  • Downloads: 107,905 Last month
  • Docker Downloads: 197,230
Rankings
Dependent packages count: 0.6%
Dependent repos count: 0.9%
Downloads: 1.3%
Forks count: 1.3%
Stargazers count: 2.6%
Average: 4.0%
Docker downloads count: 17.3%
Maintainers (1)
Last synced: 10 months ago
conda-forge.org: r-rcppparallel
  • Versions: 15
  • Dependent Packages: 22
  • Dependent Repositories: 14
Rankings
Dependent packages count: 3.0%
Dependent repos count: 9.5%
Average: 16.3%
Forks count: 24.3%
Stargazers count: 28.6%
Last synced: 10 months ago

Dependencies

.github/workflows/R-CMD-check.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/check-r-package v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
DESCRIPTION cran
  • R >= 3.0.2 depends
  • RUnit * suggests
  • Rcpp * suggests
  • knitr * suggests
  • rmarkdown * suggests