アセンブラの敷居を一気に下げた「読み物」

大熱血! アセンブラ入門

大熱血! アセンブラ入門

これで即実戦を戦えると思ってはいけないと思います。
とにかくとっきにくいアセンブラ、技術書を読もうにも上手く進まない。そんな場合はこの読み物(技術書ではない)が最高の入り口になると思います。分厚いですが、さくさく読めてしまうのが不思議です。読み物ですので、かなり自由に読めてしまいます。

FortranからHPCに入った人は結構いらっしゃると思います

最初の一冊。

独習C 第4版

独習C 第4版

Cの変態(?)的な性質を整理するにはこちら。

C言語ポインタ完全制覇 (標準プログラマーズライブラリ)

C言語ポインタ完全制覇 (標準プログラマーズライブラリ)

C++もご一緒に。

C++クラスと継承完全制覇 (標準プログラマーズライブラリ)

C++クラスと継承完全制覇 (標準プログラマーズライブラリ)

独習C++ 第4版

独習C++ 第4版

基本を一通り仕上げるには。

C++実践プログラミング

C++実践プログラミング

CUDA5によるGPUプログラミングの書籍

CUDA5の書籍は、世界初だそうです。
目次見る限り、結構基本的なそれを扱っているようです。
CUDA5ならではの機能を盛り込んだ内容なのでしょうか?注目です。
注文したので、感想かメモを書く予定です。

GPUプログラミング入門 -CUDA5による実装 (KS情報科学専門書)

GPUプログラミング入門 -CUDA5による実装 (KS情報科学専門書)

GTX Titanのnbody benchmark

とりあえずnbodyを。

float

[t_azu@linux]$ ./nbody -benchmark
Run "nbody -benchmark [-numbodies=<numBodies>]" to measure perfomance.
	-fullscreen       (run n-body simulation in fullscreen mode)
	-fp64             (use double precision floating point values for simulation)
	-hostmem          (stores simulation data in host memory)
	-benchmark        (run benchmark to measure performance) 
	-numbodies=<N>    (number of bodies (>= 1) to run in simulation) 
	-device=<d>       (where d=0,1,2.... for the CUDA device to use)
	-numdevices=<i>   (where i=(number of CUDA devices > 0) to use for simulation)
	-compare          (compares simulation results running once on the default GPU and once on the CPU)
	-cpu              (run n-body simulation on the CPU)
	-tipsy=<file.bin> (load a tipsy model file for simulation)

> Windowed mode
> Simulation data stored in video memory
> Single precision floating point simulation
> 1 Devices used for simulation
GPU Device 0: "GeForce GTX TITAN" with compute capability 3.5

> Compute 3.5 CUDA device: [GeForce GTX TITAN]
14336 bodies, total time for 10 iterations: 30.587 ms
= 67.193 billion interactions per second
= 1343.858 single-precision GFLOP/s at 20 flops per interaction

double

[t_azu@linux]$ ./nbody --benchmark -fp64
Run "nbody -benchmark [-numbodies=<numBodies>]" to measure perfomance.
	-fullscreen       (run n-body simulation in fullscreen mode)
	-fp64             (use double precision floating point values for simulation)
	-hostmem          (stores simulation data in host memory)
	-benchmark        (run benchmark to measure performance) 
	-numbodies=<N>    (number of bodies (>= 1) to run in simulation) 
	-device=<d>       (where d=0,1,2.... for the CUDA device to use)
	-numdevices=<i>   (where i=(number of CUDA devices > 0) to use for simulation)
	-compare          (compares simulation results running once on the default GPU and once on the CPU)
	-cpu              (run n-body simulation on the CPU)
	-tipsy=<file.bin> (load a tipsy model file for simulation)

> Windowed mode
> Simulation data stored in video memory
> Double precision floating point simulation
> 1 Devices used for simulation
GPU Device 0: "GeForce GTX TITAN" with compute capability 3.5

> Compute 3.5 CUDA device: [GeForce GTX TITAN]
14336 bodies, total time for 10 iterations: 103.493 ms
= 19.858 billion interactions per second
= 595.751 double-precision GFLOP/s at 30 flops per interaction

GeForce GTX Titanの倍精度は1.3TFLOPS、単精度では4.5TFLOPS

The GeForce Titan will churn out single precision performance 4.5 TFlops and 1.3 TFlops double precision.

これが本当ならすごい話ですね。