CUDA
yuanCruise
工科生的笔尖
展开
-
GPU编程 | 你了解CUDA,了解GPU吗?
前段时间有同学问我CUDA到底是什么东西,Caffe源码中的.cu文件又是什么东西?我发现我没办法很有系统的回答这个问题,当时就觉得在想:哇,搞深度学习这么久了,居然没办法很好的回答这个问题,所以在充满愧疚感之下,抽空恶补了一下~CUDA的产生就是英伟达公司为拥有并行计算需求的从业者能够使用GPU而提供的工具,因此我们先来讲讲什么是GPU,它和CPU之间的有什么异同。首先要明确一点,CPU和...原创 2019-03-22 23:35:46 · 1904 阅读 · 0 评论 -
GPU编程 | 并行计算的helloworld!
在上一篇文章《你了解CUDA,了解GPU吗?》中,我们介绍了什么是CUDA,什么是GPU。那么接下来我们就要来讲解下GPU到底是如何实现并行计算的,以及CUDA是如何通过编程调用GPU的并行计算力的。1.GPU是如何实现并行计算从软件层面来说,GPU在进行并行计算时,是以核(kernel)为单位进行的。如下图所示,每个核相当于一个功能函数。每个核由若干线程块(thread block)负责运算...原创 2019-03-22 23:36:37 · 2953 阅读 · 3 评论 -
GPU编程 | 如何使得CUDA编写的GPU程序变得更高效?
在上一篇文章《那么CUDA是如何进行并行编程的?》中,为了让GPU的并行计算更加高效,本篇文章从高效的内存策略和屏障和同步机制下的编程规则这两个角度来建议CUDA编程者更加高效的利用GPU。高效的内存策略所谓的高效的内存策略,其实就是两个原则:第一保证每个线程的计算量大,第二每个线程计算时对内存的读取速度快。本篇文章主要展开讨论下如何使得线程计算时对内存的读取速度快。直白来说就是如下两种策...原创 2019-03-24 16:21:43 · 1303 阅读 · 0 评论