thrust快速入门指南(并行算法库,类似C++的STL) |
您所在的位置:网站首页 › hip模板 › thrust快速入门指南(并行算法库,类似C++的STL) |
thrust快速入门指南
文章目录
thrust快速入门指南
Introduction
Prerequisites
Simple Example
Vectors
Thrust Namespace
Iterators and Static Dispatching
Algorithms
Transformations
Reductions
Prefix-Sums
Reordering
Sorting
Fancy Iterators
`constant_iterator`
`transform_iterator`
`permutation_iterator`
`zip_iterator`
Additional Details
reference
Introduction
Thrust是基于标准模板库(STL)的并行平台的C ++模板库。Thrust允许您通过高级接口以最少的编程工作实现高性能并行应用程序,该接口可与C ++,CUDA,OpenMP和TBB等技术完全互操作。 Thrust提供了丰富的数据并行原语集合,例如扫描,排序和缩减,它们可以组合在一起,通过简洁易读的源代码实现复杂的算法。通过根据这些高级抽象描述您的计算,您可以为Thrust提供自动选择最有效实现的自由。因此,Thrust可用于CUDA应用程序的快速原型设计,其中程序员生产力最重要,而且在生产中,稳健性和绝对性能至关重要。 本文档描述了如何使用Thrust开发并行应用程序。即使您具有有限的C ++或并行编程经验,也可以访问本教程。 PrerequisitesThrust v1.6.0与CUDA 4.1(首选)和CUDA 4.0兼容。您可以通过nvcc --version在命令行上运行来确认已安装CUDA 。例如,在Linux系统上, $ nvcc --version nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2011 NVIDIA Corporation Built on Thu_Jan_12_14:41:45_PST_2012 Cuda compilation tools, release 4.1, V0.2.1221如果您使用的是CUDA 4.0或更高版本,那么您的系统上已经安装了Thrust,您可以安全地跳到下一部分。 由于Thrust是一个C ++模板库,因此无需“构建”。只需从下载部分下载最新版本,然后将zip文件的内容解压缩到一个目录中。我们建议将Thrust安装到CUDA include目录中,这通常是 /usr/local/cuda/include/ 在Linux和Mac OSX上 C:\CUDA\include\ 在Windows系统上 如果您无法将Thrust安装到CUDA include目录,那么您可以将Thrust放在主目录中的某个位置,例如:/home/nathan/libraries/。 警告:不要将Thrust安装到标准包含路径之类的/usr/local/include/。似乎nvcc对这些路径的处理方式不同于上面的建议,这会导致错误error: expected primary-expression before ‘ // H has storage for 4 integers thrust::host_vector H(4); // initialize individual elements H[0] = 14; H[1] = 20; H[2] = 38; H[3] = 46; // H.size() returns the size of vector H std::cout std::cout |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |