【科学计算与企业级应用的并行优化】
1、并行:指令并行、数据并行和线程并行;
2、一级缓存单核心独享,二级缓存多核心共享;
3、一个内核访问数据时,另一个内核进行计算,提高了设备的利用率;
4、CUDA编程中warp对齐;
5、全局存储器合并访问;
6、减少全局存储器的操作,使用局部存储器代替;
7、常量存储器/纹理存储器:const __restrist__指针;
8、减少非合并访问的影响,存储方式的优化:__constant__、const __restrist__关键字;
9、AVX向量指令集:__m256、__m128前缀;
10、线程同步:__syncthreads()
11、NEON指令集;
12、合理安排指令顺序,更好地使用预取技术;
13、CUDA:__shared__、__global__、__constant__、...
14、动态负载均衡,OpenMP;
15、存储器合并访问;
16、<<<、>>>是什么操作?:cuda核函数运行参数;
17、反汇编看优化代码;
18、Caffe卷积软件;
1、并行:指令并行、数据并行和线程并行;
2、一级缓存单核心独享,二级缓存多核心共享;
3、一个内核访问数据时,另一个内核进行计算,提高了设备的利用率;
4、CUDA编程中warp对齐;
5、全局存储器合并访问;
6、减少全局存储器的操作,使用局部存储器代替;
7、常量存储器/纹理存储器:const __restrist__指针;
8、减少非合并访问的影响,存储方式的优化:__constant__、const __restrist__关键字;
9、AVX向量指令集:__m256、__m128前缀;
10、线程同步:__syncthreads()
11、NEON指令集;
12、合理安排指令顺序,更好地使用预取技术;
13、CUDA:__shared__、__global__、__constant__、...
14、动态负载均衡,OpenMP;
15、存储器合并访问;
16、<<<、>>>是什么操作?:cuda核函数运行参数;
17、反汇编看优化代码;
18、Caffe卷积软件;