thrust快速入门指南(并行算法库,类似C++的STL)

您所在的位置:网站首页 hip模板 thrust快速入门指南(并行算法库,类似C++的STL)

thrust快速入门指南(并行算法库,类似C++的STL)

2023-11-06 06:54| 来源: 网络整理| 查看: 265

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 ++或并行编程经验,也可以访问本教程。

Prerequisites

  Thrust 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