狠狠撸

狠狠撸Share a Scribd company logo
aokomoriuta (2013-06-01): 関東GPGPU勉強会
青子守歌
ライブラリを使って
大規模疎行列線形方程式を解いてみよう
- 2 -
aokomoriuta (2013-06-01): 関東GPGPU勉強会
まずはじめに
- 3 -
aokomoriuta (2013-06-01): 関東GPGPU勉強会
感謝を述べましょう
Thank you!!!!!!!!!!!!!!
山田さん
&
YamadaSysems
<まずはじめに>
- 4 -
aokomoriuta (2013-06-01): 関東GPGPU勉強会
自己紹介
- 5 -
aokomoriuta (2013-06-01): 関東GPGPU勉強会
名前とアバター
青子守歌 / aokomoriuta
※call me “あお”
<自己紹介>
- 6 -
aokomoriuta (2013-06-01): 関東GPGPU勉強会
いろんなとこのアカウント
twitter: @aokomorita
github: aokomoriuta
web: j.mp/ao_komoriuta
<自己紹介>
- 7 -
aokomoriuta (2013-06-01): 関東GPGPU勉強会
専門分野
分類:
土木工学
>水理学
>計算力学
粒子法(MPS法)を用いた計算力学
@土木工学(主に水工学分野)
<自己紹介>
- 8 -
aokomoriuta (2013-06-01): 関東GPGPU勉強会
計算力学とは
実験空間 計算空間
File:Coastal defences, Beesands - geograph.org.uk - 69707.jpg
by Nigel Chadwick : CC-BY-SA 2.0 Generic
File:Gileston20.jpg
by Mick Lobbi : CC-BY-SA 2.0 Generic
File:Dolos.jpg
by Adam Brinki : CC-BY-SA 3.0 Unported
現実空間
海岸工学?水工学分野において
代替となりうるか?
<自己紹介>
- 9 -
aokomoriuta (2013-06-01): 関東GPGPU勉強会
こんなこと言ってますので
プログラマじゃないです!!
計算力学屋です!
<自己紹介>
(超重要)
- 10 -
aokomoriuta (2013-06-01): 関東GPGPU勉強会
だから
カーネルがりがり
低レイヤー最適化
<自己紹介>
嫌!!
- 11 -
aokomoriuta (2013-06-01): 関東GPGPU勉強会
というわけで
ライブラリを使って
らくらく
<自己紹介>
- 12 -
aokomoriuta (2013-06-01): 関東GPGPU勉強会
解法の紹介
- 13 -
aokomoriuta (2012-09-11): 関東GPGPU勉強会
共役勾配法
連立一次方程式の解法
<解法の紹介>
ベクトル?行列演算を
収束するまで繰り返す
Ax=bを解く
x?Ax/2 - x?bを最小化
※Aが対称正定値のみ
- 14 -
aokomoriuta (2012-09-11): 関東GPGPU勉強会
共役勾配法アルゴリズム
ap=Ax
r2=r?r
ap=Ap
α=r2 / p?ap
x'=x + αp
p=r
r=b - ap
r'=r - αap
r2'=r'?r'
β=r2'/r2
p=r' + βp
収束するまで繰り返し
<解法の紹介>
- 15 -
aokomoriuta (2012-09-11): 関東GPGPU勉強会
共役勾配法の内訳
ap=Ax
r2=r?r
ap=Ap
α=r2 / p?ap
x'=x + αp
p=r
r=b - ap
r'=r - αap
r2'=r'?r'
β=r2'/r2
収束するまで繰り返し
p=r' + βp
行列とベクトルの積
ベクトル同士の加減
ベクトルの複製
ベクトルの内積
行列とベクトルの積
ベクトルの内積
ベクトルの内積
ベクトル同士の加減
ベクトル同士の加減
ベクトル同士の加減
浮動小数点演算
<解法の紹介>
- 16 -
aokomoriuta (2012-09-11): 関東GPGPU勉強会
共役勾配法は
<解法の紹介>
GPGPU向き?
行列?ベクトル演算
だけで解ける!!
- 17 -
aokomoriuta (2013-06-01): 関東GPGPU勉強会
GPGPU行列演算ライブラリ
- 18 -
aokomoriuta (2012-09-11): 関東GPGPU勉強会
GPGPU行列演算ライブラリ
<ライブラリ>
?CUBLAS/cuSPARSE
?MAGMA
?APPML
?ViennaCL
CUDA
OpenCL
両方
- 19 -
aokomoriuta (2012-09-11): 関東GPGPU勉強会
一番速いのは
<ライブラリ>
おそらく
CUBLAS/cuSPARSE
(※もちろん環境による)
- 20 -
aokomoriuta (2012-09-11): 関東GPGPU勉強会
一番手軽なのは
<ライブラリ>
(※もちろん環境による)
おそらく
ViennaCL
- 21 -
aokomoriuta (2012-09-11): 関東GPGPU勉強会
今日は
<ライブラリ>
(せっかくTitanが使えるので)
CUBLAS/cuSPARSE
- 22 -
aokomoriuta (2013-06-01): 関東GPGPU勉強会
CUBLAS/cuSPARSE
- 23 -
aokomoriuta (2012-09-11): 関東GPGPU勉強会
CUBLAS
<CUBLAS/cuSPARSE>
(CUDA SDKに標準付属)
BLASがCUDAで使える
ライブラリ
by NVIDIA
- 24 -
aokomoriuta (2012-09-11): 関東GPGPU勉強会
cuSPARSE
<CUBLAS/cuSPARSE>
(CUDA SDKに標準付属)
CUBLAS=密行列
cuSPARSE=疎行列
- 25 -
aokomoriuta (2012-09-11): 関東GPGPU勉強会
再掲:共役勾配法
ap=Ax
r2=r?r
ap=Ap
α=r2 / p?ap
x'=x + αp
p=r
r=b - ap
r'=r - αap
r2'=r'?r'
β=r2'/r2
収束するまで繰り返し
p=r' + βp
行列とベクトルの積
ベクトル同士の加減
ベクトルの複製
ベクトルの内積
行列とベクトルの積
ベクトルの内積
ベクトルの内積
ベクトル同士の加減
ベクトル同士の加減
ベクトル同士の加減
浮動小数点演算
<CUBLAS/cuSPARSE>
- 26 -
aokomoriuta (2012-09-11): 関東GPGPU勉強会
必要な演算
?行列=ベクトル積
?ベクトル加減
?ベクトル内積
?ベクトルの複製
?浮動小数点演算
<CUBLAS/cuSPARSE>
- 27 -
aokomoriuta (2012-09-11): 関東GPGPU勉強会
ベクトル複製
<CUBLAS/cuSPARSE>
cublasDcopy_v2(cublas,
count,
x, offsetX
y, offsetY);
count: ベクトルのサイズ
offsetX, offsetY: 演算を開始するベクトルの先頭(通常は1)
cublas: 後述@p.27
COPY
y = x
- 28 -
aokomoriuta (2012-09-11): 関東GPGPU勉強会
ベクトル加減
<CUBLAS/cuSPARSE>
cublasDaxpy_v2(cublas,
count,
&alpha,
x, offsetX
y, offsetY);
count: ベクトルのサイズ
offsetX, offsetY: 演算を開始するベクトルの先頭(通常は1)
cublas: 後述@p.27
AXPY
y = αx + y
- 29 -
aokomoriuta (2012-09-11): 関東GPGPU勉強会
ベクトル内積
<CUBLAS/cuSPARSE>
cublasDdot_v2(cublas,
count,
x, offsetX,
y, offsetY,
&z);
count: ベクトルのサイズ
offsetX, offsetY: 演算を開始するベクトルの先頭(通常は1)
cublas: 後述@p.27
DOT
z = x?y
- 30 -
aokomoriuta (2012-09-11): 関東GPGPU勉強会
行列=ベクトル積
<CUBLAS/cuSPARSE>
cusparseDcsrmv_v2(cusparse,
CUSPARSE_OPERATION_NON_TRANSPOSE,
count, count, elementsCount,
&alpha,
matDescr,elements, rowOffsets, columnIndeces,
x,
&beta, y);
y = αAx + βy
count: 行列のサイズ
elementsCount: 行列の非ゼロ要素数
elements, rowOffset, columnIndeces: 係数行列AのCSR形式
cusparse, matDescr: 後述@p.27
CSRMV
- 31 -
aokomoriuta (2012-09-11): 関東GPGPU勉強会
準備するもの
<CUBLAS/cuSPARSE>
cublasHandle/cusparseHandle
// CUBLASハンドルを作成
::cublasHandle_t cublas;
::cublasCreate(&cublas);
// cuSPARSEハンドルを作成
::cusparseHandle_t cusparse;
::cusparseCreate(&cusparse);
cusparseMatDescr
// 行列形式を作成
// * 一般的な形式
// * 番号は0から開始
::cusparseMatDescr_t matDescr;
::cusparseCreateMatDescr(&matDescr);
::cusparseSetMatType(matDescr, CUSPARSE_MATRIX_TYPE_GENERAL);
::cusparseSetMatIndexBase(matDescr, CUSPARSE_INDEX_BASE_ZERO);
- 32 -
aokomoriuta (2012-09-11): 関東GPGPU勉強会
詳しくは
<CUBLAS/cuSPARSE>
リファレンス見てね!
?http://docs.nvidia.com/cuda/cublas/index.html
?http://docs.nvidia.com/cuda/cusparse/index.html
- 33 -
aokomoriuta (2013-06-01): 関東GPGPU勉強会
コード解説?デモ
- 34 -
aokomoriuta (2012-09-11): 関東GPGPU勉強会
URLはこちら
<コード解説?デモ>
https://github.com/aokomoriuta/ConjugateGradient/
tree/master/SimpleConjugateGradient
Titanで動かしてみます!
- 35 -
aokomoriuta (2012-09-11): 関東GPGPU勉強会
CPUは?
<コード解説?デモ>
boost::numeric::ublas
割と最適化されてて
速いらしい
- 36 -
aokomoriuta (2012-09-11): 関東GPGPU勉強会
比較しなきゃ!!
<コード解説?デモ>
01:30 就寝
08:00 起床
11:11 GPU側コード書き終わり
12:47 資料作成終わり
13:57 会場入り(遅刻)
14:00 エクストリームコーディング開始
- 37 -
aokomoriuta (2012-09-11): 関東GPGPU勉強会
エクストリームコーディング1
<コード解説?デモ>
serializationなんて用意してない
@手元のノートPC
- 38 -
aokomoriuta (2012-09-11): 関東GPGPU勉強会
エクストリームコーディング2
<コード解説?デモ>
型チェック(?)で怒られる
@YamadaSystem
- 39 -
aokomoriuta (2012-09-11): 関東GPGPU勉強会
頑張ったよ!
<コード解説?デモ>
CPUとの比較ができませんでしたぁぁ!!
私が無能なばかりに(略)
- 40 -
aokomoriuta (2012-09-11): 関東GPGPU勉強会
はい
<コード解説?デモ>
<お断り>
前のページは、主宰者はじめ周囲からの圧
力があったので入れたかっただけです。
- 41 -
aokomoriuta (2012-09-11): 関東GPGPU勉強会
結論
<コード解説?デモ>
GPGPUライブラリを使うと
簡単に線形方程式が
解けますね!
- 42 -
aokomoriuta (2013-06-01): 関東GPGPU勉強会
余談
- 43 -
aokomoriuta (2012-09-11): 関東GPGPU勉強会
GPGPU勉強会
<余談>
関西?関東GPGPU勉強会
盛り上がってるなー
- 44 -
aokomoriuta (2012-09-11): 関東GPGPU勉強会
でも
<余談>
個人的には
なんか
不完全燃焼な感じ
- 45 -
aokomoriuta (2012-09-11): 関東GPGPU勉強会
なんで
<余談>
GPGPUが
専門じゃないから!!
- 46 -
aokomoriuta (2012-09-11): 関東GPGPU勉強会
みなさんの
<余談>
専門/興味分野は
なんですか?
- 47 -
aokomoriuta (2012-09-11): 関東GPGPU勉強会
やりませんか
<余談>
計算シミュレーション
勉強会
- 48 -
aokomoriuta (2012-09-11): 関東GPGPU勉強会
計算シミュレーション勉強会
<余談>
計算機を使って
シミュレーション
してる人たちの
勉強会?
- 49 -
aokomoriuta (2012-09-11): 関東GPGPU勉強会
シミュレーション
<余談>
「シミュレーション」
と言えればなんでも!
(自称/他称問わず)
- 50 -
aokomoriuta (2012-09-11): 関東GPGPU勉強会
構想段階
<余談>
Coming not soon...
aokomoriuta (2012-10-13): 関東GPGPU勉強会
一部で特別な指定があるものを除き、全ての文章と画像は
クリエイティブ?コモンズ 表示-継承または表示-非営利 3.0 非移植で利用可能です。
Otherwise noted, all text and images are available
under the Creative Commons Attribution-Share Alike or Attribution-Noncommercial 3.0 Unported.
CC-BY-SA: http://creativecommons.org/licenses/by-sa/3.0 CC-BY-NC: http://creativecommons.org/licenses/by-nc/3.0
return 0;

More Related Content

[関東GPGPU勉強会#2] ライブラリを使って大規模疎行列線形方程式を解いてみよう

  • 2. - 2 - aokomoriuta (2013-06-01): 関東GPGPU勉強会 まずはじめに
  • 3. - 3 - aokomoriuta (2013-06-01): 関東GPGPU勉強会 感謝を述べましょう Thank you!!!!!!!!!!!!!! 山田さん & YamadaSysems <まずはじめに>
  • 4. - 4 - aokomoriuta (2013-06-01): 関東GPGPU勉強会 自己紹介
  • 5. - 5 - aokomoriuta (2013-06-01): 関東GPGPU勉強会 名前とアバター 青子守歌 / aokomoriuta ※call me “あお” <自己紹介>
  • 6. - 6 - aokomoriuta (2013-06-01): 関東GPGPU勉強会 いろんなとこのアカウント twitter: @aokomorita github: aokomoriuta web: j.mp/ao_komoriuta <自己紹介>
  • 7. - 7 - aokomoriuta (2013-06-01): 関東GPGPU勉強会 専門分野 分類: 土木工学 >水理学 >計算力学 粒子法(MPS法)を用いた計算力学 @土木工学(主に水工学分野) <自己紹介>
  • 8. - 8 - aokomoriuta (2013-06-01): 関東GPGPU勉強会 計算力学とは 実験空間 計算空間 File:Coastal defences, Beesands - geograph.org.uk - 69707.jpg by Nigel Chadwick : CC-BY-SA 2.0 Generic File:Gileston20.jpg by Mick Lobbi : CC-BY-SA 2.0 Generic File:Dolos.jpg by Adam Brinki : CC-BY-SA 3.0 Unported 現実空間 海岸工学?水工学分野において 代替となりうるか? <自己紹介>
  • 9. - 9 - aokomoriuta (2013-06-01): 関東GPGPU勉強会 こんなこと言ってますので プログラマじゃないです!! 計算力学屋です! <自己紹介> (超重要)
  • 10. - 10 - aokomoriuta (2013-06-01): 関東GPGPU勉強会 だから カーネルがりがり 低レイヤー最適化 <自己紹介> 嫌!!
  • 11. - 11 - aokomoriuta (2013-06-01): 関東GPGPU勉強会 というわけで ライブラリを使って らくらく <自己紹介>
  • 12. - 12 - aokomoriuta (2013-06-01): 関東GPGPU勉強会 解法の紹介
  • 13. - 13 - aokomoriuta (2012-09-11): 関東GPGPU勉強会 共役勾配法 連立一次方程式の解法 <解法の紹介> ベクトル?行列演算を 収束するまで繰り返す Ax=bを解く x?Ax/2 - x?bを最小化 ※Aが対称正定値のみ
  • 14. - 14 - aokomoriuta (2012-09-11): 関東GPGPU勉強会 共役勾配法アルゴリズム ap=Ax r2=r?r ap=Ap α=r2 / p?ap x'=x + αp p=r r=b - ap r'=r - αap r2'=r'?r' β=r2'/r2 p=r' + βp 収束するまで繰り返し <解法の紹介>
  • 15. - 15 - aokomoriuta (2012-09-11): 関東GPGPU勉強会 共役勾配法の内訳 ap=Ax r2=r?r ap=Ap α=r2 / p?ap x'=x + αp p=r r=b - ap r'=r - αap r2'=r'?r' β=r2'/r2 収束するまで繰り返し p=r' + βp 行列とベクトルの積 ベクトル同士の加減 ベクトルの複製 ベクトルの内積 行列とベクトルの積 ベクトルの内積 ベクトルの内積 ベクトル同士の加減 ベクトル同士の加減 ベクトル同士の加減 浮動小数点演算 <解法の紹介>
  • 16. - 16 - aokomoriuta (2012-09-11): 関東GPGPU勉強会 共役勾配法は <解法の紹介> GPGPU向き? 行列?ベクトル演算 だけで解ける!!
  • 17. - 17 - aokomoriuta (2013-06-01): 関東GPGPU勉強会 GPGPU行列演算ライブラリ
  • 18. - 18 - aokomoriuta (2012-09-11): 関東GPGPU勉強会 GPGPU行列演算ライブラリ <ライブラリ> ?CUBLAS/cuSPARSE ?MAGMA ?APPML ?ViennaCL CUDA OpenCL 両方
  • 19. - 19 - aokomoriuta (2012-09-11): 関東GPGPU勉強会 一番速いのは <ライブラリ> おそらく CUBLAS/cuSPARSE (※もちろん環境による)
  • 20. - 20 - aokomoriuta (2012-09-11): 関東GPGPU勉強会 一番手軽なのは <ライブラリ> (※もちろん環境による) おそらく ViennaCL
  • 21. - 21 - aokomoriuta (2012-09-11): 関東GPGPU勉強会 今日は <ライブラリ> (せっかくTitanが使えるので) CUBLAS/cuSPARSE
  • 22. - 22 - aokomoriuta (2013-06-01): 関東GPGPU勉強会 CUBLAS/cuSPARSE
  • 23. - 23 - aokomoriuta (2012-09-11): 関東GPGPU勉強会 CUBLAS <CUBLAS/cuSPARSE> (CUDA SDKに標準付属) BLASがCUDAで使える ライブラリ by NVIDIA
  • 24. - 24 - aokomoriuta (2012-09-11): 関東GPGPU勉強会 cuSPARSE <CUBLAS/cuSPARSE> (CUDA SDKに標準付属) CUBLAS=密行列 cuSPARSE=疎行列
  • 25. - 25 - aokomoriuta (2012-09-11): 関東GPGPU勉強会 再掲:共役勾配法 ap=Ax r2=r?r ap=Ap α=r2 / p?ap x'=x + αp p=r r=b - ap r'=r - αap r2'=r'?r' β=r2'/r2 収束するまで繰り返し p=r' + βp 行列とベクトルの積 ベクトル同士の加減 ベクトルの複製 ベクトルの内積 行列とベクトルの積 ベクトルの内積 ベクトルの内積 ベクトル同士の加減 ベクトル同士の加減 ベクトル同士の加減 浮動小数点演算 <CUBLAS/cuSPARSE>
  • 26. - 26 - aokomoriuta (2012-09-11): 関東GPGPU勉強会 必要な演算 ?行列=ベクトル積 ?ベクトル加減 ?ベクトル内積 ?ベクトルの複製 ?浮動小数点演算 <CUBLAS/cuSPARSE>
  • 27. - 27 - aokomoriuta (2012-09-11): 関東GPGPU勉強会 ベクトル複製 <CUBLAS/cuSPARSE> cublasDcopy_v2(cublas, count, x, offsetX y, offsetY); count: ベクトルのサイズ offsetX, offsetY: 演算を開始するベクトルの先頭(通常は1) cublas: 後述@p.27 COPY y = x
  • 28. - 28 - aokomoriuta (2012-09-11): 関東GPGPU勉強会 ベクトル加減 <CUBLAS/cuSPARSE> cublasDaxpy_v2(cublas, count, &alpha, x, offsetX y, offsetY); count: ベクトルのサイズ offsetX, offsetY: 演算を開始するベクトルの先頭(通常は1) cublas: 後述@p.27 AXPY y = αx + y
  • 29. - 29 - aokomoriuta (2012-09-11): 関東GPGPU勉強会 ベクトル内積 <CUBLAS/cuSPARSE> cublasDdot_v2(cublas, count, x, offsetX, y, offsetY, &z); count: ベクトルのサイズ offsetX, offsetY: 演算を開始するベクトルの先頭(通常は1) cublas: 後述@p.27 DOT z = x?y
  • 30. - 30 - aokomoriuta (2012-09-11): 関東GPGPU勉強会 行列=ベクトル積 <CUBLAS/cuSPARSE> cusparseDcsrmv_v2(cusparse, CUSPARSE_OPERATION_NON_TRANSPOSE, count, count, elementsCount, &alpha, matDescr,elements, rowOffsets, columnIndeces, x, &beta, y); y = αAx + βy count: 行列のサイズ elementsCount: 行列の非ゼロ要素数 elements, rowOffset, columnIndeces: 係数行列AのCSR形式 cusparse, matDescr: 後述@p.27 CSRMV
  • 31. - 31 - aokomoriuta (2012-09-11): 関東GPGPU勉強会 準備するもの <CUBLAS/cuSPARSE> cublasHandle/cusparseHandle // CUBLASハンドルを作成 ::cublasHandle_t cublas; ::cublasCreate(&cublas); // cuSPARSEハンドルを作成 ::cusparseHandle_t cusparse; ::cusparseCreate(&cusparse); cusparseMatDescr // 行列形式を作成 // * 一般的な形式 // * 番号は0から開始 ::cusparseMatDescr_t matDescr; ::cusparseCreateMatDescr(&matDescr); ::cusparseSetMatType(matDescr, CUSPARSE_MATRIX_TYPE_GENERAL); ::cusparseSetMatIndexBase(matDescr, CUSPARSE_INDEX_BASE_ZERO);
  • 32. - 32 - aokomoriuta (2012-09-11): 関東GPGPU勉強会 詳しくは <CUBLAS/cuSPARSE> リファレンス見てね! ?http://docs.nvidia.com/cuda/cublas/index.html ?http://docs.nvidia.com/cuda/cusparse/index.html
  • 33. - 33 - aokomoriuta (2013-06-01): 関東GPGPU勉強会 コード解説?デモ
  • 34. - 34 - aokomoriuta (2012-09-11): 関東GPGPU勉強会 URLはこちら <コード解説?デモ> https://github.com/aokomoriuta/ConjugateGradient/ tree/master/SimpleConjugateGradient Titanで動かしてみます!
  • 35. - 35 - aokomoriuta (2012-09-11): 関東GPGPU勉強会 CPUは? <コード解説?デモ> boost::numeric::ublas 割と最適化されてて 速いらしい
  • 36. - 36 - aokomoriuta (2012-09-11): 関東GPGPU勉強会 比較しなきゃ!! <コード解説?デモ> 01:30 就寝 08:00 起床 11:11 GPU側コード書き終わり 12:47 資料作成終わり 13:57 会場入り(遅刻) 14:00 エクストリームコーディング開始
  • 37. - 37 - aokomoriuta (2012-09-11): 関東GPGPU勉強会 エクストリームコーディング1 <コード解説?デモ> serializationなんて用意してない @手元のノートPC
  • 38. - 38 - aokomoriuta (2012-09-11): 関東GPGPU勉強会 エクストリームコーディング2 <コード解説?デモ> 型チェック(?)で怒られる @YamadaSystem
  • 39. - 39 - aokomoriuta (2012-09-11): 関東GPGPU勉強会 頑張ったよ! <コード解説?デモ> CPUとの比較ができませんでしたぁぁ!! 私が無能なばかりに(略)
  • 40. - 40 - aokomoriuta (2012-09-11): 関東GPGPU勉強会 はい <コード解説?デモ> <お断り> 前のページは、主宰者はじめ周囲からの圧 力があったので入れたかっただけです。
  • 41. - 41 - aokomoriuta (2012-09-11): 関東GPGPU勉強会 結論 <コード解説?デモ> GPGPUライブラリを使うと 簡単に線形方程式が 解けますね!
  • 42. - 42 - aokomoriuta (2013-06-01): 関東GPGPU勉強会 余談
  • 43. - 43 - aokomoriuta (2012-09-11): 関東GPGPU勉強会 GPGPU勉強会 <余談> 関西?関東GPGPU勉強会 盛り上がってるなー
  • 44. - 44 - aokomoriuta (2012-09-11): 関東GPGPU勉強会 でも <余談> 個人的には なんか 不完全燃焼な感じ
  • 45. - 45 - aokomoriuta (2012-09-11): 関東GPGPU勉強会 なんで <余談> GPGPUが 専門じゃないから!!
  • 46. - 46 - aokomoriuta (2012-09-11): 関東GPGPU勉強会 みなさんの <余談> 専門/興味分野は なんですか?
  • 47. - 47 - aokomoriuta (2012-09-11): 関東GPGPU勉強会 やりませんか <余談> 計算シミュレーション 勉強会
  • 48. - 48 - aokomoriuta (2012-09-11): 関東GPGPU勉強会 計算シミュレーション勉強会 <余談> 計算機を使って シミュレーション してる人たちの 勉強会?
  • 49. - 49 - aokomoriuta (2012-09-11): 関東GPGPU勉強会 シミュレーション <余談> 「シミュレーション」 と言えればなんでも! (自称/他称問わず)
  • 50. - 50 - aokomoriuta (2012-09-11): 関東GPGPU勉強会 構想段階 <余談> Coming not soon...
  • 51. aokomoriuta (2012-10-13): 関東GPGPU勉強会 一部で特別な指定があるものを除き、全ての文章と画像は クリエイティブ?コモンズ 表示-継承または表示-非営利 3.0 非移植で利用可能です。 Otherwise noted, all text and images are available under the Creative Commons Attribution-Share Alike or Attribution-Noncommercial 3.0 Unported. CC-BY-SA: http://creativecommons.org/licenses/by-sa/3.0 CC-BY-NC: http://creativecommons.org/licenses/by-nc/3.0 return 0;