- 博客(7)
- 资源 (12)
- 收藏
- 关注
转载 C++模板
转自:C++模板一C++模板 模板是C++支持参数化多态的工具,使用模板可以使用户为类或者函数声明一种一般模式,使得类中的某些数据成员或者成员函数的参数、返回值取得任意类型。 模板是一种对类型进行参数化的工具; 通常有两种形式:函数模板和类模板; 函数模板针对仅参数类型不同的函数; 类模板针对仅数据成员和成员函数类型不同的类。 使
2017-07-31 16:01:20 203
原创 Cuda 学习教程四:GPU和Cuda逻辑关系
工欲善其事必先利其器,再次补充下GPU和Cuda之间的逻辑对应关系:每个SM中有大量的寄存器资源,可以养活成千上万的线程。SM中另外一个重要资源是Shared Memory,没错,它正是软件抽象中Shared Memory的对应物。到这里,SM在软件抽象里的对应也呼之欲出了,没错,正是Block。我们不妨先摆出这个对应:Block <-> SMThread执行 <-&g...
2017-07-28 15:13:28 1650
原创 Cuda 学习教程(五):GPU架构-Sp,sm,thread,block,grid,warp
SP(streaming Process),SM(streaming multiprocessor)是硬件(GPU hardware)概念。而thread,block,grid,warp是软件上的(CUDA)概念。需要指出,每个SM包含的SP数量依据GPU架构而不同,Fermi架构GF100是32个,GF10X是48个,Kepler架构都是192个,Maxwell都是128个,Gefo
2017-07-28 14:58:45 8841 2
原创 Cuda 学习教程(四):Cuda程序的优化
本文大多数内容来源于《GPU高性能运算之CUDA》-张舒1. 线程和线程块的分配如果线程块过大,线程过少,而每个SM中包括两个block,这样会导致每个SM中的线程过少,即warp(每个warp包括32个线程)过少,这样会造成延时;另外,每个block块中的线程数最好是32的倍数,这样每个warp机会分配到一个SM中计算,从而隐藏延时。2. 优化策略为了在最佳的时
2017-07-27 14:41:56 481
原创 Cuda 学习教程三:CUDA硬件架构
本文大多数内容来源于《GPU高性能运算之CUDA》-张舒GPU内存GPU的内存结构和CPU类似,但也存在一些区别,GPU的内存中可读写的有:寄存器(registers)、Local memory、共享内存(shared memory)和全局内存(global memory),只读的有:常量内存(constant memory)和纹理内存(texture memory)。1. 共
2017-07-27 14:03:40 859
原创 Cuda 学习教程二:GeForce GTX 950M 显卡参数
CUDA Device Query (Runtime API) version (CUDART static linking)Detected 1 CUDA Capable device(s)Device 0: "GeForce GTX 950M" CUDA Driver Version / Runtime Version 8.0 / 8.0
2017-07-27 09:56:08 9523
原创 VS 优化C++代码几点注意事项
1.VS Release和Debug版本对程序的处理机制不同,特比是对变量的初始化,需要格外注意,可以参考博客:Debug与Release版本的区别详解2.C++ 代码中使用openmp并行运算:omp_set_num_threads(8);#pragma omp parallel for schedule(static,1) for() {};需要注意:1) 将VS
2017-07-19 15:45:27 4099
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人