補 足 MPIプログラムのコンパイル, 実 行 標 準 の 環 境 ではmpic++やmpiexecを 実 行 できない OSがmpic++やmpiexecの 場 所 を 把 握 していないことが 原 因 bash 3.2$ mpic++ bash: mpic++: command not found bash 3.2$ mpiexec bash: mpiexec: command not found bash 3.2$ OSが 実 行 ファイルなどを 探 す 場 所 (PATH)を 設 定 PATH(パス)にmpic++やmpiexecがあるディレクトリを 追 加 PATHは.bashrcに 記 述.bashrcはホームディレクトリ(grouseにログインしたときの ディレクトリ)に 置 く 337
補 足 MPIプログラムのコンパイル, 実 行 ホームディレクトリでls a を 実 行 して.bashrcが 見 つかる 場 合 エディタで.bashrcを 開 いて 編 集.bashrcが 見 つからない 場 合 ホームディレクトリに.bashrcを 新 しく 作 成.(ドット)から 始 まるファイルはlsで 表 示 されない lsに aオプションを 付 けて 実 行 すると 全 てのファイルを 表 示 338
補 足 MPIプログラムのコンパイル, 実 行.bashrcに 記 述 ( 追 記 )する 内 容 MPIROOT=/opt/mpi/openmpi/gcc PATH=$MPIROOT/bin:$PATH LD_LIBRARY_PATH=$MPIROOT/lib:$LD_LIBRARY_PATH MANPATH=$MPIROOT/share/man:$MANPATH export PATH export LD_LIBRARY_PATH export MANPATH.bashrcに 記 述 した 内 容 を 有 効 化 sourceコマンドを 利 用 source 設 定 ファイル 名 として 実 行 339
補 足 MPIプログラムのコンパイル, 実 行.bashrcをストリーミング 配 信 サイトからダウンロードし て 利 用 するには 1.ストリーミング 配 信 サイト(GPGUP 実 践 基 礎 工 学 第 8 回 )にアク セス 2.bashrcをダウンロードしてホームディレクトリに 置 く アップロードしているファイル 名 はbashrc 3.mvコマンドを 使 ってファイル 名 を 変 更 mv 変 更 前 ファイル 名 変 更 後 ファイル 名 mv bashrc.bashrc 4.sourceコマンドで 設 定 を 有 効 化 source.bashrc 340
GPUのアーキテクチャ 長 岡 技 術 科 学 大 学 電 気 電 子 情 報 工 学 専 攻 出 川 智 啓
今 回 の 内 容 GPUの 進 化 の 歴 史 GPUのアーキテクチャ grouse 利 用 の 復 習 ( 実 習 ) 342
GPU(Graphics Processing Unit)とは 画 像 処 理 専 用 のハードウェア 具 体 的 には 画 像 処 理 用 のチップ チップ 単 体 では 販 売 されていない PCI Exカードで 販 売 (チップ 単 体 と 区 別 せずにGPUと 呼 ぶことも 多 い) マザーボードやノートPCに 搭 載 PCI Exカードとして 販 売 されるGPUには,ビデオメモリと 呼 ばれ るRAMが 搭 載 343
GPU(Graphics Processing Unit)とは 代 表 的 な 製 品 NVIDIA GeForce AMD Radeon Intel HD Graphics( 内 蔵 ) 代 表 的 な 用 途 3Dグラフィックス 処 理 3Dゲーム,3DCAD,3DCG 作 成 エンコード デコード 支 援 GPU 上 に 専 用 チップを 搭 載 していることが 多 い デスクトップPCのGUI 処 理 Windows Aeroが 比 較 的 高 性 能 なGPUを 要 求 344
GPU(Graphics Processing Unit)の 役 割 グラフィックスを 表 示 するために 様 々な 処 理 を 行 い, 処 理 の 結 果 をディスプレイに 出 力 3 次 元 グラフィックスの 発 展 に 伴 って 役 割 が 大 きく 変 化 描 画 情 報 CPU 3 次 元 座 標 変 換 ポリゴンとピクセルの 対 応 付 け ピクセル 色 計 算 テクスチャ 参 照 フレームバッファ(ビデ オメモリ)への 書 き 込 み ディスプレイ 出 力 ビデオカード 過 去 CPU が 3D 描 画 の 演 算 を 実 行 GPUが 出 力 画 面 出 力 描 画 情 報 3 次 元 座 標 変 換 ポリゴンとピクセルの 対 応 付 け ピクセル 色 計 算 テクスチャ 参 照 フレームバッファ(ビデ オメモリ)への 書 き 込 み ディスプレイ 出 力 GPU 現 在 GPUが 演 算 から 出 力 までの 全 て を 担 当 CPUは 描 画 情 報 の 生 成 やGPUへ の 情 報 の 引 き 渡 し,GPU の 制 御 を 行 う 画 面 出 力 345
GPUの 描 画 の 流 れ 1. CPUからGPUへ 描 画 情 報 を 送 信 2. 頂 点 処 理 ( 頂 点 シェーダ) 座 標 変 換 画 面 上 での 頂 点 やポリゴンの 位 置 大 きさの 決 定 頂 点 単 位 での 照 明 の 計 算 3. 頂 点 やポリゴンからピクセルを 生 成 (ラスタライザ) 4. ピクセル 処 理 (ピクセルシェーダ) 画 面 上 のピクセルの 色 テクスチャの 模 様 5. 画 面 出 力 ピクセルの 色 情 報 をフレームバッファに 書 き 込 み 2. 3. 4. 346
ビデオカードの 利 点 CPUで 描 画 のための 演 算 を 行 うと,CPUにかかる 負 荷 が 大 きい 3 次 元 画 像 処 理 の 専 用 回 路 を 備 えたハードウェアを 導 入 CPUにかかる 負 荷 を 減 らすことができる 頂 点 ピクセルごとに 並 列 処 理 が 可 能 なため,ハードウェアに よる 並 列 処 理 が 可 能 347
ビデオカードの 欠 点 3 次 元 画 像 処 理 の 専 用 回 路 を 備 えたハードウェアを 導 入 新 しい 描 画 方 法 を 開 発 しても,GPUへ 実 装 製 品 化 されるまで 利 用 できない ユーザが 所 有 しているGPUによって 利 用 できる 機 能 にばらつき が 生 じる ある 描 画 手 法 用 の 専 用 回 路 を 実 装 しても,その 描 画 方 法 が 常 に 使 われる 訳 ではないのでGPU 全 体 の 利 用 効 率 が 下 がる 348
ビデオカードからGPUへ CGの 多 様 化 と 共 に 固 定 機 能 の 実 装 が 困 難 に 頂 点 処 理 とピクセル 処 理 をユーザが 書 き 換 えられるプロ グラマブルシェーダの 実 装 ビデオカード GPU 頂 点 処 理 用 回 路 頂 点 シェーダユニット ピクセル 処 理 用 回 路 ピクセルシェーダユニット 349
レンダリングパイプライン 処 理 頂 点 情 報 光 源 情 報 形 状 データの 画 面 への 投 影 像 実 数 演 算 投 影 変 換 視 野 変 換 陰 影 計 算 材 質 情 報 クリッピング 投 影 像 を 画 素 へ 変 換 整 数 演 算 とメモリ アクセス ビューポート 変 換 走 査 変 換 合 成 テクスチャ 出 力 画 像 350
レンダリングパイプライン 処 理 頂 点 情 報 光 源 情 報 形 状 データの 画 面 への 投 影 像 実 数 演 算 実 数 演 算 を 行 うハード ウェアは 高 価 だった 視 野 変 換 陰 影 計 算 投 影 変 換 クリッピング 材 質 情 報 ハードウェアで 処 理 ( 固 定 機 能 ) ビューポート 変 換 走 査 変 換 合 成 テクスチャ 出 力 画 像 351
レンダリングパイプライン 処 理 頂 点 情 報 光 源 情 報 視 野 変 換 ハードウェアで 処 理 ( 固 定 機 能 ) 投 影 変 換 陰 影 計 算 材 質 情 報 クリッピング ハードウェアで 処 理 ( 固 定 機 能 ) ビューポート 変 換 走 査 変 換 合 成 テクスチャ 出 力 画 像 352
レンダリングパイプライン 処 理 頂 点 情 報 頂 点 シェーダ 投 影 変 換 視 野 変 換 陰 影 計 算 光 源 情 報 材 質 情 報 クリッピング ピクセルシェーダ ビューポート 変 換 走 査 変 換 合 成 テクスチャ 出 力 画 像 353
ビデオカードからGPUへ 描 画 する 画 像 によって 頂 点 処 理 とピクセル 処 理 の 負 荷 が 変 化 処 理 によっては 利 用 効 率 に 差 が 発 生 し, 利 用 効 率 が 低 下 頂 点 処 理 重 視 の 処 理 GPU 頂 点 シェーダユニット ピクセル 処 理 重 視 の 処 理 GPU 頂 点 シェーダユニット 空 きユニット ピクセルシェーダユニット ピクセルシェーダユニット 空 きユニット 354
ビデオカードからGPUへ 頂 点 シェーダとピクセルシェーダを 統 合 したユニファイド シェーダへの 進 化 頂 点 処 理 とピクセル 処 理 を 切 り 替 えることで 利 用 率 を 向 上 頂 点 処 理 重 視 の 処 理 GPU ユニファイドシェーダユニット ピクセル 処 理 重 視 の 処 理 GPU ユニファイドシェーダユニット 355
ビデオカードからGPUへ 各 ピクセルに 対 して 並 列 に 処 理 実 行 できるように 進 化 単 純 な 処 理 を 行 う 演 算 器 を 大 量 に 搭 載 高 い 並 列 度 で 処 理 を 実 行 GPUの 誕 生 とGPGPUの 普 及 高 性 能 な3DCG 画 像 処 理 への 要 求 GPUの 高 性 能 化 GPUの 長 所 消 費 電 力 あたりの 浮 動 小 数 点 理 論 演 算 性 能 が 高 い GPU 単 体 の 消 費 電 力 は 高 い ( 相 対 的 に) 安 価 CPUだけで 同 等 の 計 算 能 力 を 達 成 するより 安 価 356
Teslaアーキテクチャ * の 構 造 *CUDAのサポートから 外 れます Tesla C1060の 仕 様 SM 数 30 CUDA Core 数 240(=8 Core/SM 30 SM) キャッシュを 搭 載 せず 357
Teslaアーキテクチャの 構 造 Tesla C1060の 仕 様 CUDAコア 数 ( 単 精 度 ) CUDAコアクロック 周 波 数 240 Cores 1,296 MHz 単 精 度 演 算 ピーク 性 能 622* 1 (933* 2 ) GFLOPS 倍 精 度 演 算 ユニット 数 30* 3 Units 倍 精 度 演 算 ピーク 性 能 メモリクロック 周 波 数 メモリバス 幅 最 大 メモリバンド 幅 * 4 78 GFLOPS 800 MHz 512 bit 102 GB/s * 1 単 精 度 演 算 ピーク 性 能 = コアクロック 周 波 数 コア 数 命 令 の 同 時 発 行 数 (2) * 2 CUDA CoreとSFUが 同 時 に 命 令 を 発 行 できれば1296 MHz 240 3 * 3 一 つのSMに 倍 精 度 演 算 器 が 一 つ 搭 載 * 4 最 大 メモリバンド 幅 =メモリクロック 周 波 数 メモリバス 幅 /8 2(Double Data Rate) 358
Fermiアーキテクチャの 構 造 Tesla M2050の 仕 様 SM 数 14 CUDA Core 数 448(=32 Core/SM 14 SM) L1/L2 キャッシュを 搭 載 ECC( 誤 り 訂 正 機 能 )を 搭 載 359
Fermiアーキテクチャの 構 造 Tesla M2050の 仕 様 CUDAコア 数 ( 単 精 度 ) CUDAコアクロック 周 波 数 単 精 度 演 算 ピーク 性 能 倍 精 度 演 算 ユニット 数 倍 精 度 演 算 ピーク 性 能 メモリクロック 周 波 数 メモリバス 幅 最 大 メモリバンド 幅 448 Cores 1,150 MHz 1.03 TFLOPS 0* 1 Unit 515 GFLOPS 1.55 GHz 384 bit 148 GB/s * 1 単 精 度 CUDA Coreを2 基 使 って 倍 精 度 演 算 を 実 行 360
Keplerアーキテクチャの 構 造 Tesla K20c/mの 仕 様 SMX 数 13 Streaming Multiprocessor extreme (?) CUDA Core 数 2,496(=192 Core/SM 13 SMX) 361
Keplerアーキテクチャの 構 造 Tesla K20c/mの 仕 様 CUDAコア 数 ( 単 精 度 ) 2,496 Cores CUDAコアクロック 周 波 数 706 MHz 単 精 度 演 算 ピーク 性 能 3.52 TFLOPS 倍 精 度 演 算 ユニット 数 832* 1 Units 倍 精 度 演 算 ピーク 性 能 1.17 TFLOPS メモリクロック 周 波 数 2.6 GHz メモリバス 幅 320 bit 最 大 メモリバンド 幅 208 GB/s * 1 64 基 /SMX 13 基 362
Maxwellアーキテクチャ GeForce GTX TITAN Xの 仕 様 SM 数 24 CUDA Core 数 3,072(=128 Core/SM 24 SM) http://www.itmedia.co.jp/pcuser/articles/1409/19/news051.htmlより 引 用 363
Maxwellアーキテクチャ GeForce GTX TITAN Xの 仕 様 * CUDAコア 数 ( 単 精 度 ) CUDAコアクロック 周 波 数 単 精 度 演 算 ピーク 性 能 3,072 Cores 1,002 MHz 6.14 TFLOPS 倍 精 度 演 算 ユニット 数 0* 1 Units 倍 精 度 演 算 ピーク 性 能 192 GFLOPS* 2 メモリクロック 周 波 数 3.5 GHz* 3 メモリバス 幅 最 大 メモリバンド 幅 *http://ja.wikipedia.org/wiki/flops http://http://www.geforce.com/hardware/desk top gpus/geforce gtx titan x/specifications 384 bit 336.5 GB/s * 1 http://www.4gamer.net/games/121/g012181/20141225075/ * 2 倍 精 度 演 算 は 単 精 度 演 算 の 性 能 の1/32 (1/16 Flop/Core/clock) * 3 DDR(Double Data Rate) 7GHz 相 当 と 書 かれている 場 合 もある 364
Pascalアーキテクチャ 2016 年 にリリース 予 定 倍 精 度 演 算 器 を 搭 載 予 定 NVLink GPU 同 士 やGPUとCPUを 接 続 する 独 自 の 方 式 通 信 (CPU メモリ PCI Express メモリ GPU)の ボトルネックを 解 消 (PCI Express3.0の5~12 倍 ) 複 数 のGPUを 使 って 大 規 模 な 計 算 が 可 能 3Dメモリ(High Bandwidth Memory, HBM)* 3 次 元 積 層 技 術 を 利 用 し,メモリの 容 量 と 帯 域 を 大 幅 に 増 加 最 大 32GB,メモリ 帯 域 1TB/s *http://pc.watch.impress.co.jp/docs/column/kaigai/20150421_698806.html 365
Voltaアーキテクチャ Pascalの 後 継 詳 しい 情 報 は 不 明 アメリカの 次 世 代 スーパーコンピュータへ 採 用 予 定 オークリッジ 国 立 研 究 所 SUMMIT 150~300PFLOPS ローレンス リバモア 研 究 所 SIERRA 100PFLOPS 以 上 地 球 シミュレータと 同 等 の 演 算 性 能 を1ノードで 実 現 現 在 Top500 2 位 のスーパーコンピュータと 同 じ 電 力 で5~10 倍 高 速,サイズは1/5 *http://www.4gamer.net/games/121/g012181/20141225075/ 366
GPUの 普 及 の 要 因 GPUの 進 展 は15 年 程 普 及 の 速 度 は 驚 異 的 CPUは 数 十 年 かけて 進 展 CPUも 驚 異 的 な 速 度 で 進 展 様 々な 高 速 化 技 術 を 導 入 GPUが 普 及 している 要 因 は 何 か? 367
TOP500 List(2015, Jun.) スーパーコンピュータの 性 能 の 世 界 ランキング GPUを 搭 載 したコンピュータは2 基 だけ 計 算 機 名 称 ( 設 置 国 ) アクセラレータ 実 効 性 能 [PFlop/s] /ピーク 性 能 [PFlop/s] 消 費 電 力 [MW] 1 Tianhe 2 (China) Intel Xeon Phi 33.9/54.9 17.8 2 Titan (U.S.A.) NVIDIA K20x 17.6/27.1 8.20 3 Sequoia (U.S.A.) 17.2/20.1 7.90 4 K computer (Japan) 10.5/11.3 12.7 5 Mira (U.S.A.) 8.59/10.1 3.95 6 Piz Daint (Switzerland) NVIDIA K20x 6.27/7.79 2.33 7 Shaheen II(Saudi Arabia) 5.54/7.24 2.83 8 Stampede (U.S.A.) Intel Xeon Phi 5.17/8.52 4.51 9 JUQUEEN (Germany) 5.01/5.87 2.30 10 Vulcan (U.S.A.) 4.29/5.03 1.97 http://www.top500.org/より 引 用 368
CPUの 性 能 向 上 サイクル 性 能 向 上 半 導 体 回 路 の 細 線 化 動 作 周 波 数 向 上 消 費 電 力 が 低 下 低 下 分 の 電 力 をトランジ スタのスイッ チングに 利 用 369
CPUの 性 能 向 上 サイクル 性 能 向 上 半 導 体 回 路 の 細 線 化 2 倍 のトランジスタ を 使 っても 性 能 は 1.4 倍 程 度 にしか 伸 びない 絶 縁 部 が 狭 くなり 漏 れ 電 流 が 発 生, 電 力 が 低 下 しない 動 作 周 波 数 向 上 消 費 電 力 が 低 下 消 費 電 力 の 増 加 に よって 発 熱 量 が 増 加, 空 冷 の 限 界 低 下 分 の 電 力 をトランジ スタのスイッ チングに 利 用 370
CPUの 性 能 向 上 サイクル 性 能 向 上 半 導 体 回 路 の 細 線 化 コア 数 の 増 加 2 倍 のトランジスタ を 使 っても 性 能 は 1.4 倍 程 度 にしか 伸 びない 絶 縁 部 が 狭 くなり 漏 れ 電 流 が 発 生, 電 力 が 低 下 しない 動 作 周 波 数 向 上 消 費 電 力 が 低 下 消 費 電 力 の 増 加 に よって 発 熱 量 が 増 加, 空 冷 の 限 界 低 下 分 の 電 力 をトランジ スタのスイッ チングに 利 用 371
CPUの 性 能 向 上 FLOPS = 1コアの 演 算 性 能 コア 数 CPUの 動 作 周 波 数 1コアの 演 算 性 能 の 向 上 演 算 器 (トランジスタ)の 増 加 コア 数 の 増 加 トランジスタ 数 の 増 加 CPUの 動 作 周 波 数 回 路 の 効 率 化 や 印 可 電 圧 の 向 上 コンパイラの 最 適 化 を 利 用 複 数 のコアを 使 うように プログラムを 書 かないと 速 くならない 劇 的 な 性 能 向 上 は 期 待 できない 372
GPUを 使 うという 選 択 GPU 普 及 の 要 因 の 一 つはCPUクロックの 頭 打 ち クロックを 下 げてマルチコア 化 したCPUへの 対 応 が 必 要 なぜGPUという 選 択 か? CPU 用 プログラムの 並 列 化 でもいいのでは? 消 費 電 力 の 低 減 数 値 計 算 や 高 性 能 計 算 (HPC)の 業 界 がGPUに 注 目 スーパーコンピュータの 性 能 向 上 高 機 能 なCPUを 大 量 に 使 うと 消 費 電 力 が 問 題 に 高 機 能 な 制 御 用 プロセッサと, 計 算 を 実 行 する 低 性 能 なアクセラ レータの 組 み 合 わせ 373
Green500(2015, Jun.) 日 本 の 次 世 代 機 がTOP3を 独 占 AMD 社 のGPUが4 位 NVIDIA 社 のGPUが5 位 以 降 を 占 める 計 算 機 名 称 アクセラレータ GFLOPS/W 消 費 電 力 [kw] 1 Shoubu PEZY SC 7.03 50.32 2 Suiren Blue PEZY SC 6.84 28.25 3 Suiren PEZY SC 6.22 32.59 4 AMD FirePro S9150 5.27 57.15 5 TSUBAME KFC NVIDIA K20x 4.25 39.83 6 XStream NVIDIA K80 4.11 190.0 7 Storm1 NVIDIA K40m 3.96 44.54 8 Wilkes NVIDIA K20 3.63 52.62 9 Taurus NVIDIA K80 3.61 58.01 10 idataplex NVIDIA K20x 3.54 54.60 http://www.green500.org/より 引 用 374
まとめ GPUの 特 徴 低 性 能 の 演 算 器 を 大 量 に 搭 載 (~3000コア) GPUが 使 われる 理 由 理 論 演 算 性 能 が 高 い メモリとチップ 間 の 帯 域 も 広 い 省 電 力 と 高 性 能 を 両 立 今 後 の 計 算 機 の 主 流 になると 考 えられる 将 来 に 対 する 投 資 GPUだけでなく, 制 御 用 CPU+ 計 算 用 アクセラレータという 思 想 は 今 後 しばらく 主 流 であり 続 ける 375
GROUSEの 利 用 方 法 ( 復 習 )
情 報 処 理 センターGPGPUシステム 16 台 の 計 算 サーバで 構 成 NVIDIA Tesla M2050を 搭 載 各 サーバに4 機 ずつ 計 64 機 grouse 外 部 ネットワーク tesla01 tesla04 tesla05 tesla08 tesla09 tesla12 tesla13 tesla16 M2050 16 M2050 16 M2050 16 M2050 16 377
grouseへのログイン 378 2013 年 度 GPGPU 講 習 会 資 料 より 引 用
grouseへのログイン 統 合 アカウントとパスワード 入 力 379 2013 年 度 GPGPU 講 習 会 資 料 より 引 用
ターミナルの 起 動 System Terminal 380 2013 年 度 GPGPU 講 習 会 資 料 より 引 用
ターミナルの 起 動 381 2013 年 度 GPGPU 講 習 会 資 料 より 引 用
実 行 イメージ キー 入 力,マウス 入 力 処 理 結 果 出 力 grouse 処 理 382
プログラムの 作 成 と 保 存 383 2013 年 度 GPGPU 講 習 会 資 料 より 引 用
実 行 イメージ 共 有 grouse 共 有 ハード ディスク 共 有 ファイル 保 存 tesla01 tesla04 tesla05 tesla08 tesla09 tesla12 tesla13 tesla16 384
tesla??へのログイン もう 一 つターミナルを 起 動 し, 下 の ターミナルでログイン $ ssh l ユーザID tesla?? (??には01~16の 番 号 を 入 力 ) 385 2013 年 度 GPGPU 講 習 会 資 料 より 引 用
tesla??でのコンパイルとプログラム 実 行 grouseでの 作 業 用 tesla??でのコンパイルと 実 行 用 386 2013 年 度 GPGPU 講 習 会 資 料 より 引 用
tesla??でコンパイルとプログラム 実 行 コンパイル nvcc ソースファイル 名 nvccがコンパイル 対 象 とするソースファイルの 拡 張 子 は.cu エラーがなければa.outという 実 行 ファイルが 作 成 される 実 行./a.out nvccはgccと 同 じオプションを 持 っていることが 多 い 対 応 オプションの 一 覧 は hオプションで 確 認 nvcc h 387
実 行 イメージ キー 入 力,マウス 入 力 $ ssh tesla16 処 理 結 果 出 力 grouse 処 理 処 理 結 果 キー 入 力 処 理 388 tesla16
実 行 イメージ キー 入 力,マウス 入 力 $ ssh tesla16 $ nvcc??.cu 処 理 結 果 出 力 grouse ハード ディスク??.cu 処 理 結 果 キー 入 力 コンパイル 389 tesla16
実 行 イメージ キー 入 力,マウス 入 力 処 理 結 果 出 力 $ ssh tesla16 $ nvcc??.cu $./a.out grouse ハード ディスク a.out 処 理 結 果 キー 入 力 実 行 390 tesla16
実 行 イメージ キー 入 力,マウス 入 力 処 理 結 果 出 力 $ ssh tesla16 $ nvcc??.cu $./a.out grouse ハード ディスク a.out 391 GPU3 GPU2 GPU1 GPU0 処 理 結 果 tesla16 キー 入 力 実 行
情 報 処 理 センターでのCUDAの 使 い 方 1. grouseやtesla??で 開 発 する 場 合 grouseやtesla??にログイン ソースファイルを 作 成 し,tesla?? 上 でコンパイル 実 行 grouseはgpuを 搭 載 していないため 実 行 できない(コンパイルは 可 能 ) 2. 研 究 室 のPC 等, 情 報 処 理 センター 外 で 開 発 する 場 合 研 究 室 のPCでソースファイルを 作 成 WinSCPなどでファイルをgrouseにアップロード grouseを 経 由 してtesla??にログインした 後,コンパイル 実 行 392
ターミナルのみの 利 用 ( 特 に 演 習 室 外 から 利 用 する 場 合 ) 1. Tera Termでgrouseにログイン 393 2013 年 度 GPGPU 講 習 会 資 料 より 引 用
ターミナルのみの 利 用 ( 特 に 演 習 室 外 から 利 用 する 場 合 ) 2. sshでtesla??にログイン $ ssh l ユーザID tesla?? (??には01~16の 番 号 を 入 力 ) 394 2013 年 度 GPGPU 講 習 会 資 料 より 引 用
grouseへのファイル 転 送 (WinSCP) Unixコマンドscp(secure copy)のwindows GUIクラ イアント Secure Shell (ssh) に 含 まれるsshの 機 能 を 利 用 し て 安 全 性 の 高 いファイル 転 送 を 行 う Host 名 grouse 統 合 アカウントの ユーザ 名 とパスワード login 395
Windows 上 のソースファイルをコピー WinSCPでコピー ハード ディスク grouse ハード ディスク ソース ファイル 共 有 共 有 共 有 tesla01 tesla04 tesla05 tesla08 tesla09 tesla12 tesla13 tesla16 396
ログインしているサーバの 確 認 grouseにログインしているかtesla??にログインしてい るか 分 からなくなったら $ hostname 397
GPUの 選 択 計 算 機 がGPUを 複 数 搭 載 している 場 合 CUDAで 利 用 するGPUを 選 択 CUDA APIを 利 用 したGPUの 選 択 cudasetdevice() 命 令 int main(void){ 変 数 宣 言 //ここでは 標 準 でGPU0が 使 われる GPUやCPUを 使 った 処 理 // cudasetdevice(3); //ここからGPU3が 使 われる... return 0; } 398
レポート 課 題 1( 提 出 期 限 は2 学 期 末 ) grouseにログインして, 以 降 のスライドに 示 す3 個 のプロ グラムを 作 成,コンパイル, 実 行 せよ helloworld.cu hellokernel.cu hellothread.cu 各 プログラムで 指 定 された 事 項 について 考 察 せよ 399
レポート 課 題 1( 提 出 期 限 は2 学 期 末 ) 通 常 のC 言 語 のプログラムとの 違 いは 何 か 違 いがあるとすればどの 箇 所 か 違 いがないとすればその 理 由 はなぜか #include<stdio.h> int main(void){ printf("hello world n"); } return 0; helloworld.cu 400
レポート 課 題 1( 提 出 期 限 は2 学 期 末 ) 通 常 のC 言 語 の 関 数 との 違 いは 何 か 違 いがあるとすればどの 箇 所 か(どのように 違 うか) #include<stdio.h> global void kernel(){} int main(void){ kernel<<<1,1>>>(); printf("hello world n"); return 0; } hellokernel.cu 401
レポート 課 題 1( 提 出 期 限 は2 学 期 末 ) 三 重 括 弧 (<<<1,1>>>) 内 の 数 字 を 変 えると 実 行 結 果 は どのように 変 化 するか cudadevicesynchronize();をコメントアウトすると 実 行 結 果 はどのように 変 化 するか,その 理 由 はなぜか #include<stdio.h> global void hello(){ printf( Hello Thread n );//printfを 実 行 するには,コンパイルの 際 に } // arch=sm_20オプションが 必 要 int main(void){ hello<<<1,1>>>(); cudadevicesynchronize(); return 0; } hellothread.cu 402
レポートの 書 式 必 ず 表 紙 を 付 けること 授 業 名, 課 題 番 号, 学 籍 番 号, 氏 名, 提 出 日 に 加 えて 課 題 に 要 した 時 間 を 書 く 課 題 内 容,プログラム, 実 行 結 果 (ターミナルの 出 力 結 果 ), 考 察 で 構 成 プログラムを 実 行 したtesla??およびGPUの 番 号 も 明 記 すること pdf 形 式 に 変 換 してメールで 提 出 宛 先 degawa at vos.nagaokaut.ac.jp メール 題 目 課 題 1( 氏 名 ) 403