{"id":20139233,"url":"https://github.com/rcppcore/rcppparallel","last_synced_at":"2025-05-15T03:08:50.896Z","repository":{"id":45293623,"uuid":"21576989","full_name":"RcppCore/RcppParallel","owner":"RcppCore","description":"High-level functions for parallel programming with Rcpp","archived":false,"fork":false,"pushed_at":"2025-03-19T02:36:36.000Z","size":42377,"stargazers_count":174,"open_issues_count":16,"forks_count":59,"subscribers_count":22,"default_branch":"master","last_synced_at":"2025-05-15T03:08:45.759Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://rcppcore.github.io/RcppParallel/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RcppCore.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2014-07-07T16:03:21.000Z","updated_at":"2025-03-19T02:36:41.000Z","dependencies_parsed_at":"2023-02-18T18:45:42.614Z","dependency_job_id":"2821ad6b-02ad-4f41-aed4-7e0bfe6f931f","html_url":"https://github.com/RcppCore/RcppParallel","commit_stats":{"total_commits":637,"total_committers":22,"mean_commits":"28.954545454545453","dds":0.6138147566718996,"last_synced_commit":"6f817167216e8954670ce8aba1c4fc732ff0da82"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RcppCore%2FRcppParallel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RcppCore%2FRcppParallel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RcppCore%2FRcppParallel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RcppCore%2FRcppParallel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RcppCore","download_url":"https://codeload.github.com/RcppCore/RcppParallel/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254264770,"owners_count":22041794,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-13T21:44:30.936Z","updated_at":"2025-05-15T03:08:45.869Z","avatar_url":"https://github.com/RcppCore.png","language":"C++","readme":"\n## RcppParallel\n\n\u003c!-- badges: start --\u003e\n[![CRAN](https://www.r-pkg.org/badges/version/RcppParallel)](https://cran.r-project.org/package=RcppParallel)\n[![R-CMD-check](https://github.com/RcppCore/RcppParallel/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/RcppCore/RcppParallel/actions/workflows/R-CMD-check.yaml)\n\u003c!-- badges: end --\u003e\n\nHigh 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.\n\nThe 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](https://github.com/oneapi-src/oneTBB) (Threading Building Blocks). On other platforms, a less-performant fallback implementation based on the [TinyThread](https://tinythreadpp.bitsnbites.eu/) library is used.\n\nFor additional documentation on using RcppParallel see the package website at http://rcppcore.github.io/RcppParallel/.\n\n\n### Intel TBB\n\n`RcppParallel` supports the new interface of Intel TBB, and can be configured to use an external copy of TBB (e.g., with [`oneTBB`](https://github.com/oneapi-src/oneTBB) or the system TBB library), using the `TBB_LIB` and `TBB_INC` environment variables.\n\nTo build the development version of `RcppParallel` with [`oneTBB`](https://github.com/oneapi-src/oneTBB):\n\n- Install [`oneTBB`](https://github.com/oneapi-src/oneTBB).\n\nFor example, installing [`oneTBB`](https://github.com/oneapi-src/oneTBB) on Linux 64-bit (`x86_64`) to `$HOME` directory (change if needed!):\n\n```bash\nTBB_RELEASE=\"https://api.github.com/repos/oneapi-src/oneTBB/releases/latest\"\nTBB_TAG=$(curl --silent $TBB_RELEASE | grep -Po '\"tag_name\": \"\\K.*?(?=\")')\nTBB_VERSION=${TBB_TAG#?}\n\nwget https://github.com/oneapi-src/oneTBB/releases/download/v$TBB_VERSION/oneapi-tbb-$TBB_VERSION-lin.tgz\ntar zxvf oneapi-tbb-$TBB_VERSION-lin.tgz -C $HOME\n\nexport TBB=\"$HOME/oneapi-tbb-$TBB_VERSION\"\n```\nNote that you may replace `TBB_VERSION=${TBB_TAG#?}` with a custom version number if needed ( check available releases [here](https://github.com/oneapi-src/oneTBB/releases) ).\n\n- 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).\n\nFor example, installing [`oneTBB`](https://github.com/oneapi-src/oneTBB) on Linux 64-bit (`x86_64`) to `$HOME` directory (change if needed!):\n\n```bash\nsource $TBB/env/vars.sh intel64\n\nexport TBB_INC=\"$TBB/include\"\nexport TBB_LIB=\"$TBB/lib/intel64/gcc4.8\"\n```\n\n- Build the development version of `RcppParallel`:\n\n```r\ninstall.packages(\"remotes\")\nremotes::install_github(\"RcppCore/RcppParallel\")\n```\n\n\n### License\n\nThe RcppParallel package is made available under the [GPLv2](http://www.gnu.org/licenses/old-licenses/gpl-2.0.html) license.\n\nThe [TinyThread library](https://tinythreadpp.bitsnbites.eu/) is licensed under the [zlib/libpng](https://opensource.org/licenses/zlib-license.php) license.\n\nThe Intel TBB Library is licensed under the Apache 2.0 license, as described at https://github.com/oneapi-src/oneTBB/blob/master/LICENSE.txt.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frcppcore%2Frcppparallel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frcppcore%2Frcppparallel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frcppcore%2Frcppparallel/lists"}