05 2011 档案
摘要:最近一直在做CUDA程序,优化了CT重建中的FDK算法,又开始结合FDK和volume rendering做点工作。CUDA程序的优化至关重要,常见的优化策略,可以总结为:1. 将串行代码并行化。这里说简单也简单,说难也难,比如,对比for循环,就可以很简单的直接拆开,并行。但是,如果是迭代算法,比如Gauss-Seidel迭代求解,那么,就需要整理Gauss-Seidel算法,提起共同项,然后并行。2. 尽量减少Host和Device之间的数据拷贝。拷贝一次,尽量多用。3. 在配置kernel的时候,分配合理的thread个数和block个数,使得device的使用达到最大化,充分利用硬件资
阅读全文
摘要:local laplacian pyramid,orignial imagefilter image以后做代码优化,并CUDA加速。
阅读全文
摘要:程序员们经常编写内存管理程序,往往提心吊胆。如果不想触雷,唯一的解决办法就是发现所有潜伏的地雷并且排除它们,躲是躲不了的。本文的内容比一般教科书的要深入得多,读者需细心阅读,做到真正地通晓内存管理。 1、内存分配方式 内存分配方式有三种: (1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。 (2)在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。 (3) 从堆上分配,亦称动态内存分配。程序在
阅读全文

浙公网安备 33010602011771号