|
非常精彩, 我仔细的看了一下 平方数求和的那个函数, 矩阵预算没看
本文的很多灵光一闪让我恍惚回到了 学习计算机系统的大学时光, 作者有非常丰富而清晰的Cycle, 连续内存, Bandwidth, 线程并行, Register 知识, 最兴奋的是 平方数求和那个, 256个线程开始看起来貌似是一个线程同时存取一块连续的内存, 然后作者告诉我们Lantency原因, 必须跳着访问, 这个和CPU上 编程还是很大不同的, 怪不得微软公司的架构师 (Microsoft SPP部门的 ) 都跳槽去做图形芯片并行库开发区了
然后是那个什么 Bank Conflict? 貌似是16倍的字节对齐可以解决部分问题, 这个和C编译器自动对齐结构 方便CPU寻址是异曲同工之妙啊
我的看法是, 如果想矩阵运行, 加解密, 平方和累加等等 各种函数封装成完备的接口, CUDA 能自动实现并行优化就好, 我给你一个数组, 你自己觉得 并行多少个Thread, 利用多少个Block 和SharedMemory, 就好了
否则CUDA程序员的门槛还是很高的, 要对NV的GPU的架构非常熟悉, 对于内存带宽, PCI Express, CPU, 操作系统都要有非常深刻的认识, 才能写出很漂亮的程序
无论如何,这是一个软件+硬件高手写的漂亮文章, 收益匪浅
谢谢楼主的转载! 以后自己攒机了一定写程序试试.:loveliness:
[ 本帖最后由 yyzjp 于 2008-6-6 22:07 编辑 ] |
|