![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并行计算
GabrielGu
工程师的一个基本职责 就是用最有效的方式解决问题
展开
-
回归博客的说明
这是我在csdn的第一篇博客,是在舍友恶劣的脚臭环境下写的,很心酸,集体生活总是会有一些不尽如人意的地方。时代在抛弃qq,微信,因为里面的人太杂太乱,更像是一个被挤压的社会。人越来越渴望与相似的人交谈,与懂自己的人交谈。希望csdn能让我感到熟悉与理解,技术圈里氛围总归要好一点罢。英语不好,技术贴还是英文的高大上一些。以后还是要认真学外语。原创 2016-04-26 10:33:59 · 474 阅读 · 0 评论 -
CUDA中编译时显示helper_functions.h:No such file的解决办法
看到网上不少人说自己在CUDA编程时会遇到这样一个问题,对拷贝过来的.cu文件执行nvcc命令时会显示error helper_functions.h:No such file的错误。困难的是连helper_functions.h这个头文件在哪都不知道。这个问题其实很好解决,我以最简明扼要的文字来给出一个解决方案:1.首先,改正直接用nvcc命令编译程序的习惯,换成makefile。2原创 2016-10-30 11:11:05 · 10136 阅读 · 1 评论 -
基于CUDA的GPU优化方法
初学CUDA,往往拿到代码无从下手,也没有什么明确的思路。我想有必要把前人的经验总结拿出来,便于后来者更快掌握这门技术。对于block和thread的分配问题,有这么一个技巧,每个block里面的thread个数最好是32的倍数,因为,这样可以让计算效率更高,促进memory coalescing。其实,每个grid里面block的dimension维度和size数量,以及每个block里面的原创 2016-10-18 19:44:15 · 3365 阅读 · 0 评论 -
CUDA卷积加速(一)
保存原创 2016-10-26 09:03:45 · 11354 阅读 · 3 评论 -
CUDA8.0thrust编程报错
首先讲一下最近在thrust上遇到的坑吧,记住,现在千万不要用CUDA8.0做,我试了一下,7.5是可以的。在对着官方Toolkit:Documention敲程序时老是卡壳,反馈的原因总是bas_alloc:what():unknown,这就让人很不解了。我还特地打开bad_alloc.h看了一下,那个头文件自己都没写全。。所幸程序换到7.5上跑还是可以的,大家注意一下,8.0上thrus原创 2016-11-03 21:17:26 · 1014 阅读 · 0 评论 -
关于内存分配时malloc()和calloc()的区别
动态分配内存空间,较为熟悉的是malloc(),但有时也会用calloc()。两者有何区别呢?先写一下两者的常规用法示例吧。void *malloc(size_t size);void *calloc(size_t count,size_t size);可见两者使用时参数不同。malloc(0有一个参数,代表着要分配的内存大小calloc()函数有两个参数,原创 2016-09-28 17:09:14 · 3122 阅读 · 0 评论 -
网上找到的一篇适合初学者看的CUDA使用说明,良心干货
CUDA是什么 CUDA,Compute Unified Device Architecture的简称,是由NVIDIA公司创立的基于他们公司生产的图形处理器GPUs(Graphics Processing Units,可以通俗的理解为显卡)的一个并行计算平台和编程模型。 通过CUDA,GPUs可以很方便地被用来进行通用计算(有点像在CPU中进行的数值计算等等)转载 2016-10-23 16:43:39 · 17258 阅读 · 0 评论 -
GPU中基于CUDA计算SM中active block和active warp及普遍优化流程
CUDA优化第一要义是设计block和thread的dimension,这时active block和active warp就必须要考虑了。(一维的同学请回避谢谢)首先通俗地讲一些CUDA优化的常识吧accurancy:只在关键步骤使用双精度,其他部分仍然使用单精度浮点以获得指令吞吐量和精度的平衡;建议将双精度放在CPU里计算。异构并行会给项目加分哦latency:降低延迟需要考虑缓冲原创 2016-10-23 10:39:46 · 3738 阅读 · 0 评论 -
关于CUDA5之后cutil.h不可用的问题
用CUDA进行GPU加速开发的同学在移植一些代码片段时应该都有过这样的经历,如果自己用的是高版本的CUDA,系统有时会报错:CANNOT FIND CUTIL.H。查看代码才发现原来是多了CUTIL.H,CUTIL_MATH.H,CUTIL_INLINE.H的头文件。这种报错该如何处理呢?可以先尝试着注释掉这三个头文件,再运行一下,看看到底是哪里调用到。不出意外的话,系统弹出的error总是C原创 2016-09-27 10:38:16 · 5442 阅读 · 1 评论 -
CUDA库之Thrust篇
哈哈哈原创 2016-10-26 09:42:12 · 2580 阅读 · 0 评论