RcppParallel
High-level functions for parallel programming with Rcpp
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
Repository
High-level functions for parallel programming with Rcpp
Basic Info
- Host: GitHub
- Owner: RcppCore
- Language: C++
- Default Branch: master
- Homepage: http://rcppcore.github.io/RcppParallel/
- Size: 40.4 MB
Statistics
- Stars: 174
- Watchers: 22
- Forks: 59
- Open Issues: 16
- Releases: 0
Metadata Files
README.md
RcppParallel
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:
- Install
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:
TBBfor the installation prefix,TBB_INCfor the directory that includes the header files, andTBB_LIBfor 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
- Website: http://www.rcpp.org
- Repositories: 10
- Profile: https://github.com/RcppCore
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
Top Committers
| Name | 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 |
Committer Domains (Top 20 + Academic)
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'
- Homepage: https://rcppcore.github.io/RcppParallel/
- Documentation: http://cran.r-project.org/web/packages/RcppParallel/RcppParallel.pdf
- License: GPL (≥ 3)
-
Latest release: 5.1.11
published 10 months ago
Rankings
Maintainers (1)
conda-forge.org: r-rcppparallel
- Homepage: http://rcppcore.github.io/RcppParallel
- License: GPL-3.0-or-later
-
Latest release: 5.1.5
published over 4 years ago
Rankings
Dependencies
- 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
- R >= 3.0.2 depends
- RUnit * suggests
- Rcpp * suggests
- knitr * suggests
- rmarkdown * suggests