- 博客(4)
- 资源 (2)
- 收藏
- 关注
原创 CUDA学习--内存处理之寄存器(2)
1. 寄存器GPU上一个SM可以看成一个多线程的CPU核。一般CPU拥有二、四、八个核。但一个GPU却有N个SM核。但这里需要注意的是,所有的工作都是有SM上的SP(流处理器)处理的。每个核上SP数目不同,因此每个核支持的线程数目也会有很大的不同。事实上,一个GPU设备上的所有SM中活跃的线程数目通常数以万计。与CPU不同,GPU的每个SM(流多处理器)有上千个寄存器。CPU与GPU架构的一个主要区
2016-09-24 11:16:04 4114
原创 CUDA学习--内存处理之概述(1)
1. 高速缓存高速缓存的最大速度与缓存的大小成反比关系。一级缓存是最快的,但他的大小一般限制在16k、32k或者64k。通常每个CPU核会分配一个单独的一级缓存。二级缓存相对而言慢一些,但他更大,通常有256k~512k。二级缓存或者三级缓存一般在处理器的核之间是共享的,或者作为连接于特定处理器核的独立缓存来维护。与CPU不同,GPU主要依赖基于程序员托管的缓存或者共享内存区。在费米架构的GPU实现
2016-09-23 21:18:46 1307
原创 CUDA学习--CUDA流
1. CUDA流介绍CUDA流在加速应用程序方面起着重要的作用。CUDA流表示一个GPU操作队列,并且该队列中的操作将以指定的顺序执行。我们可以在流中添加一些操作,如核函数启动,内存复制等。将这些操作添加到流的顺序也就是他们的执行顺序。你可以将每个流视为GPU上的一个任务,并且这些任务可以并行执行。2. CUDA流的使用我们先通过在应用程序中使用单个流来说明流的用法。1) 首先,选
2016-09-06 20:59:21 19049 13
原创 CUDA学习--页锁定主机内存
1. 页锁定主机内存除了通过cudaMalloc()在GPU上分配内存,以及通过标准的C函数malloc()在主机上分配内存,CUDA运行时还提供了自己独有的机制来分配主机内存:cudaHostAlloc()。C函数malloc()将分配标准的,可分页的主机内存。而cudaHostAlloc()将分配页锁定的主机内存。页锁定的主机内存也称为固定内存或不可分页内存,它的重要属性就是:操作系统
2016-09-06 19:04:26 3306
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人