作者RisingForce (复苏哩)
看板VideoCard
标题[情报] CUDA书籍(日文)
时间Mon Jan 18 01:28:15 2010
※ [本文转录自 C_and_CPP 看板]
作者: RisingForce (复苏哩) 看板: C_and_CPP
标题: [情报] CUDA书籍(日文)
时间: Mon Jan 18 01:24:15 2010
http://www.kohgakusha.co.jp/books/detail/978-4-7775-1477-9
这本书不错 讲的很详细
给的例子清楚,明了
(小弟是完全看不懂日文者,只能从example与汉字去猜其意思)
这本书的example code可在这下载
http://www.kohgakusha.co.jp/support/cuda/index.html
简单介绍下例子:
sample 1: 用CUDA实现矩阵加法 (蛮样板的 没什麽好看)
sample 2: 古典粒子括散问题,粒子的速度场只与其座标有关 (v(x,y))
(有一阶与三阶计算两个function包在其中)
sample 3: 同sample 2,但不同的potential.
sample 4: 2D(温度)括散问题,没有任何优化过的CUDA平行算法。
sample 5: 同sample 4,但使用到shared memory 这技巧。
sample 6: 同 sample 5,讨论到shared memory不够时(>16kb),该如何应变。
sample 7: 同 sample 6,讨论如何(在同一个block)直接转换变数,让程式
近一步加快(高端技巧,在下看不太懂)。
基本上 sample 5 6 7 8是完全一样(function全都存在,就叫cuda_diffusion2d_0
cuda_diffusion2d_1 ..etc),只是真的被呼叫者不同
(blockDim_x 与blockDim_y 不太一样)。
这几个code让我最感到amazing的,是输出结果并不是txt需另找别的
软体绘图,而是输出直接就是图档。
(作者自己写了bmp_r8 与 DFR8bmp这两个function,让输出结果就是bmp档)
光是直接绘成图这点就非常值得去下载他的code。(用了<limit.h>这 header,
在下搞不清处这是什麽)
在此提供给CUDA的初学者参考。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.70.206.101
※ 编辑: RisingForce 来自: 219.70.206.101 (01/18 01:25)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.70.206.101
1F:推 kkmoney3:最近正在研究,想知道他有什麽技巧,谢谢分享。 01/21 14:32
2F:→ kkmoney3:sample6看起来是为了减少当处理左右boundary而造成的 01/26 13:41
3F:→ kkmoney3:non-coalescing的memory access。原本每个block是16*16, 01/26 13:43
4F:→ kkmoney3:後来改成256*1,则non-coalescing的次数就会由16*2次变成 01/26 13:44
5F:→ kkmoney3:1*2次,而且这个程式预设的NX是256,所以连1次都没有 01/26 13:45
6F:→ kkmoney3:而且sample6使用的shared memory是sample5的近3倍的量。 01/26 14:07