日々の記録

メモ代わりにも使ってます

2018-01-01から1年間の記事一覧

CUDA C プロフェッショナルプログラミング第2章 4/9

実行モデル:特定のコンピューティングアーキテクチャで命令がどのように実行されるのかを計算処理の観点から定義する. ...CUDAの実行モデルではGPUの並列アーキテクチャが抽象的に表現されており,スレッドの並列性について論じることができる. CUDAの…

CUDA C プロフェッショナルプログラミング第2章 4/5 part2

カーネルの起動 kernel_nam<<<grid, block>>>(argument_list); CUDAプログラミングモデルには、スレッド階層という概念がある. 実行設定では、GPUで実行されるスレッドのスケジュール方法を指定できる. 実行設定の一つはグリッドサイズであり、作成するブロックの数を表し</grid,>…

乱択アルゴリズム 1

Fermat's little theoremを乱択アルゴリズムで表現することを考える. p : prime number a in {1, 2, ..., p-1} (mod p) p=5, a=2 (mod5) m, n; integers m>n>0 m = qm+r 0 < r < n m = 13, n = 8 13 = 18 + 5 13 5 (mod 8) < Fermat's little theorem - Wik…

CUDA C プロフェッショナルプログラミング第2章 4/5

スレッドの構成: ブロック: 複数のスレッドからなる束. 一つのカーネルによって生成された全てのスレッドをまとめてグリッドと呼ぶ. グリッド内のスレッドはすべて同じグローバルメモリ空間を共有している. グリッドは複数のスレッドブロックで構成されて…

マルチスレッドプログラミング入門

例:受信と処理を含むプログラムをマルチタスクプログラミングする. 受信バッファをどうやって共有するのかが問題になる. マルチプロセス: プロセス間で受信データを引き渡す必要が生じる. マルチスレッド: 受信スレッドと処理スレッドは同じメモリ空間を共…

CUDA C プロフェッショナルプログラミング第2章①

2 メモリの管理 メモリの階層:GPUのメモリ階層において重要なメモリ・・・グローバルメモリとシェアードメモリ グローバルメモリCPUのシステムメモリ シェアードメモリCPUのキャッシュ cudaMallocでメモリを確保→cudaMemcpyを使ってホストメモリのデータをG…