CUDA 并行计算

小咪咪 2023-02-20 10:40 97阅读 0赞

CUDA 并行计算

并行计算可以被定义为同时使用许多计算资源 (核心或计算机) 来执行并发计算,一个大的问题可以被分解成多个小问题,然后在不同的计算资源上并行处理这些小问题。

所有包含并发执行任务的程序都是并行程序。

在应用程序中有两种基本的并行类型:任务并行和数据并行。
当许多任务或函数可以独立地、大规模地并行执行时,这就是任务并行。任务并行的重点在于利用多核系统对任务进行分配。
当可以同时处理许多数据时,这就是数据并行。数据并行的重点在于利用多核系统对数据进行分配。

CUDA 编程非常适合解决数据并行计算的问题。数据并行处理可以将数据映射给并行线程。

数据并行程序设计的第一步是把数据依据线程进行划分,以使每个线程处理一部分数据。有两种方法可以对数据进行划分:块划分 (block partitioning) 和周期划分 (cyclic partitioning)。
在块划分中,一组连续的数据被分到一个块内。每个数据块以任意次序被安排给一个线程,线程通常在同一时间只处理一个数据块。
在周期划分中,更少的数据被分到一个块内。相邻的线程处理相邻的数据块,每个线程可以处理多个数据块。为一个待处理的线程选择一个新的块,就意味着要跳过和现有线程一样多的数据块。

数据是在一维空间中存储的。即便是多维逻辑数据,仍然要被映射到一维物理地址空间中。

对数据划分有两种基本的方法:
块划分:每个线程作用于一部分数据,通常这些数据具有相同大小。
周期划分:每个线程作用于数据的多部分。

  1. chapter ['tʃæptə]:n. 章,回,(俱乐部、协会等的) 分会,人生或历史上的重要时期 vt. 把...分成章节
  2. graphics processing unit,GPU
  3. application programming interface,API
  4. central processing unit,CPU
  5. general-purpose computing on graphics processing units,GPGPU and GPGP
  6. high-performance computing,HPC
  7. Harvard architecture:哈佛体系结构
  8. Compute Unified Device Architecture,CUDA:统一计算架构

发表评论

表情:
评论列表 (有 0 条评论,97人围观)

还没有评论,来说两句吧...

相关阅读

    相关 CUDA 并行计算

    CUDA 并行计算 并行计算可以被定义为同时使用许多计算资源 (核心或计算机) 来执行并发计算,一个大的问题可以被分解成多个小问题,然后在不同的计算资源上并行处理这些小