
高性能计算
分布式数据管理
这个作者很懒,什么都没留下…
展开
-
《CUDA并行程序设计:GPU编程指南》笔记 Chaper 1 超级计算简史
Chaper 1 超级计算简史超级计算机和桌面计算正在向着异构计算发展—人们试图通过将中央处理器(CPU)和图形处理器(GPU)技术混合在一起来实现更高的性能,让适合CPU的计算类型让CPU算,适合GPU的运算让GPU算,这也是一种分布式计算架构现大多数计算属于“内存受限型”,现代计算机三级缓存技术受到成本的考验历史上出现的超算发展实例:克雷(Cray)系列连接机,出现单指令多...原创 2018-09-12 21:05:09 · 506 阅读 · 0 评论 -
《CUDA并行程序设计:GPU编程指南》笔记 Chaper 2 使用GPU理解并行计算
并行计算中需要解决的问题资源共享多个线程与多个进程经常使用到同一个资源,产生临界资源,操作系统需要使用信号量来解决,这里不再赘述。并发性在面临的任务中,有一部分属于“易并行”,例如矩阵乘法,每个计算单元的输出相互独立,这类问题在GPU上可以得到很好的解决并且编程非常简单。对于“不易并行”的任务,各个计算单元之间存在依赖性。CUDA中,涉及块内的通信通过共享内存实现,块间通信需则要全局内存...原创 2018-09-19 15:38:35 · 417 阅读 · 0 评论 -
《CUDA并行程序设计:GPU编程指南》笔记 Chaper 4 环境搭建
关于平台:Windows、Linux、Mac OS都支持Windows下环境搭建顺序:(1) VS 2010 (必须先安装VS!,然后再安装其他)(2) CUDA ToolKit (在9.0版本中,显卡驱动以及Nsight调试器都已经集成在ToolKit中一并安装)Windows上支持Nsight调试器,这一点极为方便CUDA程序支持向后兼容INVIDIA 支持CUDA编程的GPU:h...原创 2018-09-27 11:24:46 · 416 阅读 · 2 评论 -
《CUDA并行程序设计:GPU编程指南》笔记 Chaper 3 CUDA 硬件描述
传统PC架构GPU硬件架构SM内部组成结构图原创 2018-09-22 20:00:50 · 323 阅读 · 0 评论 -
《CUDA并行程序设计:GPU编程指南》笔记 Chaper 5 线程网格、线程块、线程束
线程网格、线程块、线程束 关系为了将数据放到GPU上运算首先要通过cudaMalloc和cudaFree申请或释放内存然后使用cudaMemcpy将数据从CPU端复制到GPUCUDA 中的相关变量含义gridDim.x – 线程网格X维度上线程块的数目gridDim.y – 线程网格Y维度上线程块的数目blockDim.x – 一个线程块X维度上的线程数量b...原创 2018-10-29 11:25:08 · 669 阅读 · 0 评论 -
PaperNote:Concurrent analytical query processing with GPUs (VLDB 2014)
MotivationSharing GPUs among concurrent queries is not supported, causing serious resource underutilization.Problems with Uncoordinated Query Co-RunningDevice memory swappingQuery scheduling1....原创 2018-11-01 15:28:13 · 322 阅读 · 0 评论 -
CUDA共享内存操作(__shared__关键字)
CUDA 对GPU的显存操作时,若线程频繁对某个数据进行读写操作,可以设置操作的数据常驻缓存,这样可以进一步提高代码的运行效率,并且同一个线程块内的所有线程共享该内存区域。然而当出现多个线程对同一个内存区域进行操作时,需要对线程进行同步操作,从而避免竞争的发生。cuda中使用__shared__关键字,这里使用__syncthreads()控制线程同步。如核函数dot所示,代码生成一个数组并计算...原创 2019-03-18 16:55:29 · 14231 阅读 · 1 评论