{"id":26400059,"url":"https://github.com/thrust/thrust","last_synced_at":"2025-03-17T14:01:15.133Z","repository":{"id":2643685,"uuid":"3633213","full_name":"NVIDIA/thrust","owner":"NVIDIA","description":"[ARCHIVED] The C++ parallel algorithms library. See https://github.com/NVIDIA/cccl","archived":true,"fork":false,"pushed_at":"2024-02-08T15:54:40.000Z","size":17809,"stargazers_count":4953,"open_issues_count":8,"forks_count":756,"subscribers_count":206,"default_branch":"main","last_synced_at":"2025-03-10T20:49:43.295Z","etag":null,"topics":["algorithms","cpp","cpp11","cpp14","cpp17","cpp20","cuda","cxx","cxx11","cxx14","cxx17","cxx20","gpu","gpu-computing","nvidia","nvidia-hpc-sdk","thrust"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NVIDIA.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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}},"created_at":"2012-03-06T01:01:29.000Z","updated_at":"2025-03-08T10:47:42.000Z","dependencies_parsed_at":"2023-07-05T19:18:15.328Z","dependency_job_id":"9c3e4fef-36aa-4620-9f34-b7eb86deffa2","html_url":"https://github.com/NVIDIA/thrust","commit_stats":{"total_commits":4056,"total_committers":113,"mean_commits":35.89380530973451,"dds":0.4738658777120316,"last_synced_commit":"756c5afc0750f1413da05bd2b6505180e84c53d4"},"previous_names":["thrust/thrust"],"tags_count":101,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NVIDIA%2Fthrust","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NVIDIA%2Fthrust/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NVIDIA%2Fthrust/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NVIDIA%2Fthrust/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NVIDIA","download_url":"https://codeload.github.com/NVIDIA/thrust/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244047608,"owners_count":20389205,"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":["algorithms","cpp","cpp11","cpp14","cpp17","cpp20","cuda","cxx","cxx11","cxx14","cxx17","cxx20","gpu","gpu-computing","nvidia","nvidia-hpc-sdk","thrust"],"created_at":"2025-03-17T14:00:32.932Z","updated_at":"2025-03-17T14:01:15.076Z","avatar_url":"https://github.com/NVIDIA.png","language":"C++","readme":":warning: **The Thrust repository has been archived and is now part of the unified [nvidia/cccl repository](https://github.com/nvidia/cccl). See the [announcement here](https://github.com/NVIDIA/cccl/discussions/520) for more information. Please visit the new repository for the latest updates.** :warning:\n\n# Thrust: The C++ Parallel Algorithms Library\n\n\u003ctable\u003e\u003ctr\u003e\n\u003cth\u003e\u003cb\u003e\u003ca href=\"https://github.com/nvidia/thrust/tree/main/examples\"\u003eExamples\u003c/a\u003e\u003c/b\u003e\u003c/th\u003e\n\u003cth\u003e\u003cb\u003e\u003ca href=\"https://godbolt.org/z/8E8W764E6\"\u003eGodbolt\u003c/a\u003e\u003c/b\u003e\u003c/th\u003e\n\u003cth\u003e\u003cb\u003e\u003ca href=\"https://nvidia.github.io/thrust\"\u003eDocumentation\u003c/a\u003e\u003c/b\u003e\u003c/th\u003e\n\u003c/tr\u003e\u003c/table\u003e\n\nThrust is the C++ parallel algorithms library which inspired the introduction\n  of parallel algorithms to the C++ Standard Library.\nThrust's **high-level** interface greatly enhances programmer **productivity**\n  while enabling performance portability between GPUs and multicore CPUs.\nIt builds on top of established parallel programming frameworks (such as CUDA,\n  TBB, and OpenMP).\nIt also provides a number of general-purpose facilities similar to those found\n  in the C++ Standard Library.\n\nThe NVIDIA C++ Standard Library is an open source project; it is available on\n  [GitHub] and included in the NVIDIA HPC SDK and CUDA Toolkit.\nIf you have one of those SDKs installed, no additional installation or compiler\n  flags are needed to use libcu++.\n\n## Examples\n\nThrust is best learned through examples.\n\nThe following example generates random numbers serially and then transfers them\n  to a parallel device where they are sorted.\n\n```cuda\n#include \u003cthrust/host_vector.h\u003e\n#include \u003cthrust/device_vector.h\u003e\n#include \u003cthrust/generate.h\u003e\n#include \u003cthrust/sort.h\u003e\n#include \u003cthrust/copy.h\u003e\n#include \u003cthrust/random.h\u003e\n\nint main() {\n  // Generate 32M random numbers serially.\n  thrust::default_random_engine rng(1337);\n  thrust::uniform_int_distribution\u003cint\u003e dist;\n  thrust::host_vector\u003cint\u003e h_vec(32 \u003c\u003c 20);\n  thrust::generate(h_vec.begin(), h_vec.end(), [\u0026] { return dist(rng); });\n\n  // Transfer data to the device.\n  thrust::device_vector\u003cint\u003e d_vec = h_vec;\n\n  // Sort data on the device.\n  thrust::sort(d_vec.begin(), d_vec.end());\n\n  // Transfer data back to host.\n  thrust::copy(d_vec.begin(), d_vec.end(), h_vec.begin());\n}\n```\n\n[See it on Godbolt](https://godbolt.org/z/GeWEd8Er9)\n\nThis example demonstrates computing the sum of some random numbers in parallel:\n\n```cuda\n#include \u003cthrust/host_vector.h\u003e\n#include \u003cthrust/device_vector.h\u003e\n#include \u003cthrust/generate.h\u003e\n#include \u003cthrust/reduce.h\u003e\n#include \u003cthrust/functional.h\u003e\n#include \u003cthrust/random.h\u003e\n\nint main() {\n  // Generate random data serially.\n  thrust::default_random_engine rng(1337);\n  thrust::uniform_real_distribution\u003cdouble\u003e dist(-50.0, 50.0);\n  thrust::host_vector\u003cdouble\u003e h_vec(32 \u003c\u003c 20);\n  thrust::generate(h_vec.begin(), h_vec.end(), [\u0026] { return dist(rng); });\n\n  // Transfer to device and compute the sum.\n  thrust::device_vector\u003cdouble\u003e d_vec = h_vec;\n  double x = thrust::reduce(d_vec.begin(), d_vec.end(), 0, thrust::plus\u003cint\u003e());\n}\n```\n\n[See it on Godbolt](https://godbolt.org/z/cnsbWWME7)\n\nThis example show how to perform such a reduction asynchronously:\n\n```cuda\n#include \u003cthrust/host_vector.h\u003e\n#include \u003cthrust/device_vector.h\u003e\n#include \u003cthrust/generate.h\u003e\n#include \u003cthrust/async/copy.h\u003e\n#include \u003cthrust/async/reduce.h\u003e\n#include \u003cthrust/functional.h\u003e\n#include \u003cthrust/random.h\u003e\n#include \u003cnumeric\u003e\n\nint main() {\n  // Generate 32M random numbers serially.\n  thrust::default_random_engine rng(123456);\n  thrust::uniform_real_distribution\u003cdouble\u003e dist(-50.0, 50.0);\n  thrust::host_vector\u003cdouble\u003e h_vec(32 \u003c\u003c 20);\n  thrust::generate(h_vec.begin(), h_vec.end(), [\u0026] { return dist(rng); });\n\n  // Asynchronously transfer to the device.\n  thrust::device_vector\u003cdouble\u003e d_vec(h_vec.size());\n  thrust::device_event e = thrust::async::copy(h_vec.begin(), h_vec.end(),\n                                               d_vec.begin());\n\n  // After the transfer completes, asynchronously compute the sum on the device.\n  thrust::device_future\u003cdouble\u003e f0 = thrust::async::reduce(thrust::device.after(e),\n                                                           d_vec.begin(), d_vec.end(),\n                                                           0.0, thrust::plus\u003cdouble\u003e());\n\n  // While the sum is being computed on the device, compute the sum serially on\n  // the host.\n  double f1 = std::accumulate(h_vec.begin(), h_vec.end(), 0.0, thrust::plus\u003cdouble\u003e());\n}\n```\n\n[See it on Godbolt](https://godbolt.org/z/be54efaKj)\n\n## Getting The Thrust Source Code\n\nThrust is a header-only library; there is no need to build or install the project\nunless you want to run the Thrust unit tests.\n\nThe CUDA Toolkit provides a recent release of the Thrust source code in\n`include/thrust`. This will be suitable for most users.\n\nUsers that wish to contribute to Thrust or try out newer features should\nrecursively clone the Thrust Github repository:\n\n```\ngit clone --recursive https://github.com/NVIDIA/thrust.git\n```\n\n## Using Thrust From Your Project\n\nFor CMake-based projects, we provide a CMake package for use with\n`find_package`. See the [CMake README](thrust/cmake/README.md) for more\ninformation. Thrust can also be added via `add_subdirectory` or tools like\nthe [CMake Package Manager](https://github.com/cpm-cmake/CPM.cmake).\n\nFor non-CMake projects, compile with:\n- The Thrust include path (`-I\u003cthrust repo root\u003e`)\n- The libcu++ include path (`-I\u003cthrust repo root\u003e/dependencies/libcudacxx/`)\n- The CUB include path, if using the CUDA device system (`-I\u003cthrust repo root\u003e/dependencies/cub/`)\n- By default, the CPP host system and CUDA device system are used.\n  These can be changed using compiler definitions:\n  - `-DTHRUST_HOST_SYSTEM=THRUST_HOST_SYSTEM_XXX`,\n     where `XXX` is `CPP` (serial, default), `OMP` (OpenMP), or `TBB` (Intel TBB)\n  - `-DTHRUST_DEVICE_SYSTEM=THRUST_DEVICE_SYSTEM_XXX`, where `XXX` is\n    `CPP`, `OMP`, `TBB`, or `CUDA` (default).\n\n## Developing Thrust\n\nThrust uses the [CMake build system] to build unit tests, examples, and header\n  tests.\nTo build Thrust as a developer, it is recommended that you use our\n  containerized development system:\n\n```bash\n# Clone Thrust and CUB repos recursively:\ngit clone --recursive https://github.com/NVIDIA/thrust.git\ncd thrust\n\n# Build and run tests and examples:\nci/local/build.bash\n```\n\nThat does the equivalent of the following, but in a clean containerized\n  environment which has all dependencies installed:\n\n```bash\n# Clone Thrust and CUB repos recursively:\ngit clone --recursive https://github.com/NVIDIA/thrust.git\ncd thrust\n\n# Create build directory:\nmkdir build\ncd build\n\n# Configure -- use one of the following:\ncmake ..   # Command line interface.\nccmake ..  # ncurses GUI (Linux only).\ncmake-gui  # Graphical UI, set source/build directories in the app.\n\n# Build:\ncmake --build . -j ${NUM_JOBS} # Invokes make (or ninja, etc).\n\n# Run tests and examples:\nctest\n```\n\nBy default, a serial `CPP` host system, `CUDA` accelerated device system, and\n  C++14 standard are used.\nThis can be changed in CMake and via flags to `ci/local/build.bash`\n\nMore information on configuring your Thrust build and creating a pull request\n  can be found in the [contributing section].\n\n## Licensing\n\nThrust is an open source project developed on [GitHub].\nThrust is distributed under the [Apache License v2.0 with LLVM Exceptions];\n  some parts are distributed under the [Apache License v2.0] and the\n  [Boost License v1.0].\n\n## CI Status\n\n\u003ca href='https://gpuci.gpuopenanalytics.com/job/nvidia/job/thrust/job/branch/job/thrust-gpu-build/CXX_TYPE=gcc,CXX_VER=9,OS_TYPE=ubuntu,OS_VER=20.04,SDK_TYPE=cuda,SDK_VER=11.7.0-devel/'\u003e\u003cimg src='https://gpuci.gpuopenanalytics.com/job/nvidia/job/thrust/job/branch/job/thrust-gpu-build/CXX_TYPE=gcc,CXX_VER=9,OS_TYPE=ubuntu,OS_VER=20.04,SDK_TYPE=cuda,SDK_VER=11.7.0-devel/badge/icon?subject=NVCC%2011.7.0%20%2B%20GCC%209%20build%20and%20device%20tests'\u003e\u003c/a\u003e\n\n\u003ca href='https://gpuci.gpuopenanalytics.com/job/nvidia/job/thrust/job/branch/job/thrust-cpu-build/CXX_TYPE=gcc,CXX_VER=11,OS_TYPE=ubuntu,OS_VER=20.04,SDK_TYPE=cuda,SDK_VER=11.7.0-devel/'\u003e\u003cimg src='https://gpuci.gpuopenanalytics.com/job/nvidia/job/thrust/job/branch/job/thrust-cpu-build/CXX_TYPE=gcc,CXX_VER=11,OS_TYPE=ubuntu,OS_VER=20.04,SDK_TYPE=cuda,SDK_VER=11.7.0-devel/badge/icon?subject=NVCC%2011.7.0%20%2B%20GCC%2011%20build%20and%20host%20tests'\u003e\u003c/a\u003e\n\n\u003ca href='https://gpuci.gpuopenanalytics.com/job/nvidia/job/thrust/job/branch/job/thrust-cpu-build/CXX_TYPE=gcc,CXX_VER=10,OS_TYPE=ubuntu,OS_VER=20.04,SDK_TYPE=cuda,SDK_VER=11.7.0-devel/'\u003e\u003cimg src='https://gpuci.gpuopenanalytics.com/job/nvidia/job/thrust/job/branch/job/thrust-cpu-build/CXX_TYPE=gcc,CXX_VER=10,OS_TYPE=ubuntu,OS_VER=20.04,SDK_TYPE=cuda,SDK_VER=11.7.0-devel/badge/icon?subject=NVCC%2011.7.0%20%2B%20GCC%2010%20build%20and%20host%20tests'\u003e\u003c/a\u003e\n\n\u003ca href='https://gpuci.gpuopenanalytics.com/job/nvidia/job/thrust/job/branch/job/thrust-cpu-build/CXX_TYPE=gcc,CXX_VER=9,OS_TYPE=ubuntu,OS_VER=20.04,SDK_TYPE=cuda,SDK_VER=11.7.0-devel/'\u003e\u003cimg src='https://gpuci.gpuopenanalytics.com/job/nvidia/job/thrust/job/branch/job/thrust-cpu-build/CXX_TYPE=gcc,CXX_VER=9,OS_TYPE=ubuntu,OS_VER=20.04,SDK_TYPE=cuda,SDK_VER=11.7.0-devel/badge/icon?subject=NVCC%2011.7.0%20%2B%20GCC%209%20build%20and%20host%20tests'\u003e\u003c/a\u003e\n\n\u003ca href='https://gpuci.gpuopenanalytics.com/job/nvidia/job/thrust/job/branch/job/thrust-cpu-build/CXX_TYPE=gcc,CXX_VER=8,OS_TYPE=ubuntu,OS_VER=20.04,SDK_TYPE=cuda,SDK_VER=11.7.0-devel/'\u003e\u003cimg src='https://gpuci.gpuopenanalytics.com/job/nvidia/job/thrust/job/branch/job/thrust-cpu-build/CXX_TYPE=gcc,CXX_VER=8,OS_TYPE=ubuntu,OS_VER=20.04,SDK_TYPE=cuda,SDK_VER=11.7.0-devel/badge/icon?subject=NVCC%2011.7.0%20%2B%20GCC%208%20build%20and%20host%20tests'\u003e\u003c/a\u003e\n\n\u003ca href='https://gpuci.gpuopenanalytics.com/job/nvidia/job/thrust/job/branch/job/thrust-cpu-build/CXX_TYPE=gcc,CXX_VER=7,OS_TYPE=ubuntu,OS_VER=20.04,SDK_TYPE=cuda,SDK_VER=11.7.0-devel/'\u003e\u003cimg src='https://gpuci.gpuopenanalytics.com/job/nvidia/job/thrust/job/branch/job/thrust-cpu-build/CXX_TYPE=gcc,CXX_VER=7,OS_TYPE=ubuntu,OS_VER=20.04,SDK_TYPE=cuda,SDK_VER=11.7.0-devel/badge/icon?subject=NVCC%2011.7.0%20%2B%20GCC%207%20build%20and%20host%20tests'\u003e\u003c/a\u003e\n\n\u003ca href='https://gpuci.gpuopenanalytics.com/job/nvidia/job/thrust/job/branch/job/thrust-cpu-build/CXX_TYPE=gcc,CXX_VER=6,OS_TYPE=ubuntu,OS_VER=20.04,SDK_TYPE=cuda,SDK_VER=11.7.0-devel/'\u003e\u003cimg src='https://gpuci.gpuopenanalytics.com/job/nvidia/job/thrust/job/branch/job/thrust-cpu-build/CXX_TYPE=gcc,CXX_VER=6,OS_TYPE=ubuntu,OS_VER=20.04,SDK_TYPE=cuda,SDK_VER=11.7.0-devel/badge/icon?subject=NVCC%2011.7.0%20%2B%20GCC%206%20build%20and%20host%20tests'\u003e\u003c/a\u003e\n\n\u003ca href='https://gpuci.gpuopenanalytics.com/job/nvidia/job/thrust/job/branch/job/thrust-cpu-build/CXX_TYPE=gcc,CXX_VER=5,OS_TYPE=ubuntu,OS_VER=20.04,SDK_TYPE=cuda,SDK_VER=11.7.0-devel/'\u003e\u003cimg src='https://gpuci.gpuopenanalytics.com/job/nvidia/job/thrust/job/branch/job/thrust-cpu-build/CXX_TYPE=gcc,CXX_VER=5,OS_TYPE=ubuntu,OS_VER=20.04,SDK_TYPE=cuda,SDK_VER=11.7.0-devel/badge/icon?subject=NVCC%2011.7.0%20%2B%20GCC%205%20build%20and%20host%20tests'\u003e\u003c/a\u003e\n\n\u003ca href='https://gpuci.gpuopenanalytics.com/job/nvidia/job/thrust/job/branch/job/thrust-cpu-build/CXX_TYPE=clang,CXX_VER=12,OS_TYPE=ubuntu,OS_VER=20.04,SDK_TYPE=cuda,SDK_VER=11.7.0-devel/'\u003e\u003cimg src='https://gpuci.gpuopenanalytics.com/job/nvidia/job/thrust/job/branch/job/thrust-cpu-build/CXX_TYPE=clang,CXX_VER=12,OS_TYPE=ubuntu,OS_VER=20.04,SDK_TYPE=cuda,SDK_VER=11.7.0-devel/badge/icon?subject=NVCC%2011.7.0%20%2B%20Clang%2012%20build%20and%20host%20tests'\u003e\u003c/a\u003e\n\n\u003ca href='https://gpuci.gpuopenanalytics.com/job/nvidia/job/thrust/job/branch/job/thrust-cpu-build/CXX_TYPE=clang,CXX_VER=11,OS_TYPE=ubuntu,OS_VER=20.04,SDK_TYPE=cuda,SDK_VER=11.7.0-devel/'\u003e\u003cimg src='https://gpuci.gpuopenanalytics.com/job/nvidia/job/thrust/job/branch/job/thrust-cpu-build/CXX_TYPE=clang,CXX_VER=11,OS_TYPE=ubuntu,OS_VER=20.04,SDK_TYPE=cuda,SDK_VER=11.7.0-devel/badge/icon?subject=NVCC%2011.7.0%20%2B%20Clang%2011%20build%20and%20host%20tests'\u003e\u003c/a\u003e\n\n\u003ca href='https://gpuci.gpuopenanalytics.com/job/nvidia/job/thrust/job/branch/job/thrust-cpu-build/CXX_TYPE=clang,CXX_VER=10,OS_TYPE=ubuntu,OS_VER=20.04,SDK_TYPE=cuda,SDK_VER=11.7.0-devel/'\u003e\u003cimg src='https://gpuci.gpuopenanalytics.com/job/nvidia/job/thrust/job/branch/job/thrust-cpu-build/CXX_TYPE=clang,CXX_VER=10,OS_TYPE=ubuntu,OS_VER=20.04,SDK_TYPE=cuda,SDK_VER=11.7.0-devel/badge/icon?subject=NVCC%2011.7.0%20%2B%20Clang%2010%20build%20and%20host%20tests'\u003e\u003c/a\u003e\n\n\u003ca href='https://gpuci.gpuopenanalytics.com/job/nvidia/job/thrust/job/branch/job/thrust-cpu-build/CXX_TYPE=clang,CXX_VER=9,OS_TYPE=ubuntu,OS_VER=20.04,SDK_TYPE=cuda,SDK_VER=11.7.0-devel/'\u003e\u003cimg src='https://gpuci.gpuopenanalytics.com/job/nvidia/job/thrust/job/branch/job/thrust-cpu-build/CXX_TYPE=clang,CXX_VER=9,OS_TYPE=ubuntu,OS_VER=20.04,SDK_TYPE=cuda,SDK_VER=11.7.0-devel/badge/icon?subject=NVCC%2011.7.0%20%2B%20Clang%209%20build%20and%20host%20tests'\u003e\u003c/a\u003e\n\n\u003ca href='https://gpuci.gpuopenanalytics.com/job/nvidia/job/thrust/job/branch/job/thrust-cpu-build/CXX_TYPE=clang,CXX_VER=8,OS_TYPE=ubuntu,OS_VER=20.04,SDK_TYPE=cuda,SDK_VER=11.7.0-devel/'\u003e\u003cimg src='https://gpuci.gpuopenanalytics.com/job/nvidia/job/thrust/job/branch/job/thrust-cpu-build/CXX_TYPE=clang,CXX_VER=8,OS_TYPE=ubuntu,OS_VER=20.04,SDK_TYPE=cuda,SDK_VER=11.7.0-devel/badge/icon?subject=NVCC%2011.7.0%20%2B%20Clang%208%20build%20and%20host%20tests'\u003e\u003c/a\u003e\n\n\u003ca href='https://gpuci.gpuopenanalytics.com/job/nvidia/job/thrust/job/branch/job/thrust-cpu-build/CXX_TYPE=clang,CXX_VER=7,OS_TYPE=ubuntu,OS_VER=20.04,SDK_TYPE=cuda,SDK_VER=11.7.0-devel/'\u003e\u003cimg src='https://gpuci.gpuopenanalytics.com/job/nvidia/job/thrust/job/branch/job/thrust-cpu-build/CXX_TYPE=clang,CXX_VER=7,OS_TYPE=ubuntu,OS_VER=20.04,SDK_TYPE=cuda,SDK_VER=11.7.0-devel/badge/icon?subject=NVCC%2011.7.0%20%2B%20Clang%207%20build%20and%20host%20tests'\u003e\u003c/a\u003e\n\n\u003ca href='https://gpuci.gpuopenanalytics.com/job/nvidia/job/thrust/job/branch/job/thrust-cpu-build/CXX_TYPE=icc,CXX_VER=latest,OS_TYPE=ubuntu,OS_VER=20.04,SDK_TYPE=cuda,SDK_VER=11.7.0-devel/'\u003e\u003cimg src='https://gpuci.gpuopenanalytics.com/job/nvidia/job/thrust/job/branch/job/thrust-cpu-build/CXX_TYPE=icc,CXX_VER=latest,OS_TYPE=ubuntu,OS_VER=20.04,SDK_TYPE=cuda,SDK_VER=11.7.0-devel/badge/icon?subject=NVCC%2011.7.0%20%2B%20ICC%20build%20and%20host%20tests'\u003e\u003c/a\u003e\n\n\n\n[GitHub]: https://github.com/nvidia/thrust\n\n[CMake section]: https://nvidia.github.io/thrust/setup/cmake_options.html\n[contributing section]: https://nvidia.github.io/thrust/contributing.html\n\n[CMake build system]: https://cmake.org\n\n[Apache License v2.0 with LLVM Exceptions]: https://llvm.org/LICENSE.txt\n[Apache License v2.0]: https://www.apache.org/licenses/LICENSE-2.0.txt\n[Boost License v1.0]: https://www.boost.org/LICENSE_1_0.txt\n\n","funding_links":[],"categories":["Sensor Processing","二、必用 CUDA 库（附选型指南，避免重复造轮子）","TODO scan for Android support in followings","GPU","Libraries","C++"],"sub_categories":["Parallel Processing","1. 通用并行算法库"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthrust%2Fthrust","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthrust%2Fthrust","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthrust%2Fthrust/lists"}