CUDA编程模型:存储器层次和异构编程

【IT168 技术】 存储器层次

  在执行期间,CUDA线程可能访问来自多个存储器空间的数据,如图2-2所示。每个线程有私有的本地存储器。每个块有对块内所有线程可见的共享存储器,共享存储器的生命期和块相同。所有的线程可访问同一全局存储器。

  相关阅读:

  CUDA编程模型:内核与线程层次概述

        CUDA初探:从图形处理到通用并行计算

        CUDA初探:通用并行计算架构和编程模型

  另外还有两种可被所有线程访问的只读存储器:常量和纹理存储器空间。全局,常量和纹理存储器空间为不同的存储器用途作了优化。纹理存储器还为一些特殊数据格式提供了不同的寻址模式和数据滤波。

  在同一应用中发射的内核之间,全局,常量和纹理存储器空间是持久的。

CUDA编程模型:存储器层次和异构编程

  异构编程

  如图2-3所示,CUDA编程模型假设CUDA线程在物理上独立的设备上执行,设备作为主机的协处理器,主机运行C程序。例如,内核在GPU上执行,而C程序的其它部分在CPU上执行就是这种模式。

  CUDA编程模型同时假设主机和设备各自都维护着自己独立的DRAM存储器空间,各自被称为主机存储器空间和设备存储器空间。因此,程序通过调用CUDA 运行时,来管理对内核可见的全局、常量和纹理存储器空间。这包括设备存储器分配和释放,也包括在主机和设备间的数据传输。

CUDA编程模型:存储器层次和异构编程

        更多内容请点击:

        CUDA专区:http://cuda.it168.com/

        CUDA论坛:http://cudabbs.it168.com/

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值