TSUBAME2.0 における GPU の 活用方法 東京工業大学学術国際情報センター丸山直也第 10 回 GPU コンピューティング講習会 2011 年 9 月 28 日

Similar documents
TSUBAME2.0におけるGPUの 活用方法

GPU GPU CPU CPU CPU GPU GPU N N CPU ( ) 1 GPU CPU GPU 2D 3D CPU GPU GPU GPGPU GPGPU 2 nvidia GPU CUDA 3 GPU 3.1 GPU Core 1

Slide 1

Microsoft Word - HOKUSAI_system_overview_ja.docx

07-二村幸孝・出口大輔.indd

1. GPU コンピューティング GPU コンピューティング GPUによる 汎用コンピューティング GPU = Graphics Processing Unit CUDA Compute Unified Device Architecture NVIDIA の GPU コンピューティング環境 Lin

( CUDA CUDA CUDA CUDA ( NVIDIA CUDA I

RICCについて

TSUBAME2.5 利用講習会 平成 26 年度版 (Rev ) 東京工業大学学術国際情報センター共同利用推進室 Copyright (C) GSIC All Rights Reserved.

GPU チュートリアル :OpenACC 篇 Himeno benchmark を例題として 高エネルギー加速器研究機構 (KEK) 松古栄夫 (Hideo Matsufuru) 1 December 2018 HPC-Phys 理化学研究所 共通コードプロジェクト

Microsoft PowerPoint - GPU_computing_2013_01.pptx

XACCの概要

TSUBAME利用講習会

TSUBAME 2.0利用ガイダンス

システムソリューションのご紹介

VXPRO R1400® ご提案資料

2ndD3.eps

GPUコンピューティング講習会パート1

CUDA 連携とライブラリの活用 2

MATLAB® における並列・分散コンピューティング ~ Parallel Computing Toolbox™ & MATLAB Distributed Computing Server™ ~


GPU n Graphics Processing Unit CG CAD

Microsoft PowerPoint - GPUシンポジウム _d公開版.ppt [互換モード]

untitled

GPUコンピューティング講習会パート1

目次 LS-DYNA 利用の手引き 1 1. はじめに 利用できるバージョン 概要 1 2. TSUBAME での利用方法 使用可能な LS-DYNA の実行 4 (1) TSUBAMEにログイン 4 (2) バージョンの切り替え 4 (3) インタラ

appli_HPhi_install

untitled

HPCS

N08

Microsoft Word - appli_SMASH_tutorial_2.docx

HPEハイパフォーマンスコンピューティング ソリューション

Hphi実行環境導入マニュアル_v1.1.1

HP High Performance Computing(HPC)

HPC (pay-as-you-go) HPC Web 2

7th CodeGear Developer Camp

Slides: TimeGraph: GPU Scheduling for Real-Time Multi-Tasking Environments

B 2 Thin Q=3 0 0 P= N ( )P Q = 2 3 ( )6 N N TSUB- Hub PCI-Express (PCIe) Gen 2 x8 AME1 5) 3 GPU Socket 0 High-performance Linpack 1

スライド 1

CCS HPCサマーセミナー 並列数値計算アルゴリズム

NUMAの構成

Microsoft Word - nvsi_050110jp_netvault_vtl_on_dothill_sannetII.doc

GPGPUイントロダクション

1 OpenCL OpenCL 1 OpenCL GPU ( ) 1 OpenCL Compute Units Elements OpenCL OpenCL SPMD (Single-Program, Multiple-Data) SPMD OpenCL work-item work-group N

マルチコアPCクラスタ環境におけるBDD法のハイブリッド並列実装

PowerPoint プレゼンテーション

$ cmake --version $ make --version $ gcc --version 環境が無いあるいはバージョンが古い場合は yum などを用いて導入 最新化を行う 4. 圧縮ファイルを解凍する $ tar xzvf gromacs tar.gz 5. cmake を用

Intel Integrated Performance Premitives 4.1 Linux

Microsoft Word - PGI WorkstationServer事前準備 doc

ERDAS IMAGINE における処理速度の向上 株式会社ベストシステムズ PASCO CORPORATION 2015

GPGPUクラスタの性能評価

Total View Debugger 利用の手引 東京工業大学学術国際情報センター version 1.0

PowerPoint Presentation

211 年ハイパフォーマンスコンピューティングと計算科学シンポジウム Computing Symposium 211 HPCS /1/18 a a 1 a 2 a 3 a a GPU Graphics Processing Unit GPU CPU GPU GPGPU G

Gfarm/MPI-IOの 概要と使い方

Microsoft PowerPoint - CCS学際共同boku-08b.ppt

! 行行 CPUDSP PPESPECell/B.E. CPUGPU 行行 SIMD [SSE, AltiVec] 用 HPC CPUDSP PPESPE (Cell/B.E.) SPE CPUGPU GPU CPU DSP DSP PPE SPE SPE CPU DSP SPE 2

HPC143

Microsoft PowerPoint - 1_コンパイラ入門セミナー.ppt

並列・高速化を実現するための 高速化サービスの概要と事例紹介

Microsoft PowerPoint - GTC2012-SofTek.pptx

HD View Single Windowsセットアップガイド

LS-DYNA 利用の手引 第 1 版 東京工業大学学術国際情報センター 2017 年 9 月 25 日

PowerPoint プレゼンテーション

Intel MPI Library Linux

NUMAの構成

NEC Express5800 シリーズ COBOL Enterprise Edition クライアントライセンス V1 COBOL Enterprise Edition クライアントライセンス V1 (1 年間保守付き ) COBOL Enterprise Edition クライアントライセンス

ストリームを用いたコンカレントカーネルプログラミングと最適化 エヌビディアジャパン CUDAエンジニア森野慎也 GTC Japan 2014

インテル Parallel Studio XE 2017 Composer Edition for Fortran Windows* インストール ガイド Rev (2017/06/08) エクセルソフト株式会社

名称 : 日本 GPU コンピューティングパートナーシップ (G-DEP) 所在 : 東京都文京区本郷 7 丁目 3 番 1 号東京大学アントレプレナープラザ, 他工場 URL アライアンスパートナー コアテクノロジーパートナー NVIDIA JAPAN ソリュ

電気通信大学 I 類 情報系 情報 ネットワーク工学専攻 CED 2018 システム利用ガイド ver1.2 CED 管理者 学術技師 島崎俊介 教育研究技師部 実験実習支援センター 2018 年 3 月 29 日 1 ログイン ログアウト手順について 1.1 ログイン手順 CentOS 1. モニ

HPC146

内容に関するご質問は まで お願いします [Oakforest-PACS(OFP) 編 ] 第 85 回お試しアカウント付き並列プログラミング講習会 ライブラリ利用 : 科学技術計算の効率化入門 スパコンへのログイン テストプログラム起動 東京大学情報基盤セ

Microsoft PowerPoint - suda.pptx

Microsoft Word ●IntelクアッドコアCPUでのベンチマーク_吉岡_ _更新__ doc

PGRelief C/C++ 強化ポイント説明書

COBOL Enterprise Edition V2 for Linux COBOL Enterprise Edition V2 は以下のソフトウェアによって構成されています COBOL Enterprise Edition Developer V2.0 COBOL Enterprise Edit

PowerPoint プレゼンテーション

PassMark PerformanceTest ™

GPU CUDA CUDA 2010/06/28 1

1重谷.PDF

Microsoft Word - appli_OpenMX_install.docx

PowerPoint プレゼンテーション

hpc141_shirahata.pdf

1 GPU GPGPU GPU CPU 2 GPU 2007 NVIDIA GPGPU CUDA[3] GPGPU CUDA GPGPU CUDA GPGPU GPU GPU GPU Graphics Processing Unit LSI LSI CPU ( ) DRAM GPU LSI GPU

インテル® Parallel Studio XE 2019 Composer Edition for Fortran Windows 日本語版 : インストール・ガイド

PGIコンパイラ導入手順

コードのチューニング

目次 1 はじめに 本文書の概要 WINDOWS 上での PVF ソフトウェアの実装 PVF コンパイラの利用方法 PVF コンパイラのコマンド オプションについて PVF コンパイラの起動 (Microsoft

1. TSUBAME2.0 通常実行まで 1.1. 環境設定 (MPI ライブラリ & コンパイラ ) 最新の Open MPI と Intel コンパイラを使用するため,${HOME}/.bashrc 等で環境変数 ( パス等 ) を設定します. ~ 設定例 ~ export SELECT_MPI

GPGPU によるアクセラレーション環境について

DO 時間積分 START 反変速度の計算 contravariant_velocity 移流項の計算 advection_adams_bashforth_2nd DO implicit loop( 陰解法 ) 速度勾配, 温度勾配の計算 gradient_cell_center_surface 速

NEC COBOL Enterprise Edition Developer クライアントライセンス V2.0 COBOL Enterprise Edition Developer クライアントライセンス V2.0 (1 年間保守付 ) COBOL Enterprise Edition Develo

目次 1 はじめに 製品に含まれるコンポーネント 動作環境... 4 オペレーティング システム... 4 Microsoft Visual Studio* 製品 製品のダウンロード 製品版をインストールする場合 評価版を

slide5.pptx

目次 1 はじめに 本文書の概要 WINDOWS 上での PVF ソフトウェアの実装 PVF コンパイラの利用方法 PVF コンパイラのコマンド オプションについて PVF コンパイラの起動 (Microsoft

PRIMERGY 性能情報 SPECint2006 / SPECfp2006 測定結果一覧

ワークステーション推奨スペック Avid Avid Nitris Mojo SDI Fibre 及び Adrenaline MC ソフトウェア 3.5 以降のバージョンが必要です Dual 2.26 GHz Quad Core Intel 構成のに関しては Configuration Guideli

ユーザーマニュアル開発環境編

Transcription:

TSUBAME2.0 における GPU の 活用方法 東京工業大学学術国際情報センター丸山直也第 10 回 GPU コンピューティング講習会 2011 年 9 月 28 日

目次 1. TSUBAMEのGPU 環境 2. プログラム作成 3. プログラム実行 4. 性能解析 デバッグ サンプルコードは /work0/gsic/seminars/gpu- 2011-09- 28 からコピー可能です

1. TSUBAME の GPU 環境

計算ノード 1408 Thin nodes + 24 Medium nodes + 10 Fat nodes Thin node: HP Proliant SL390s G7 CPU: Intel Xeon 2.93GHz 6core x 2CPU=12 cores GPU: NVIDIA Tesla M2050 3GPU CPU 140GF + GPU 1545GF = 1685GF Memory: 54GB SSD: 120GB Network: QDR InfiniBand x 2 = 80Gbps

NVIDIA Tesla M2050 448 コア 3GB メモリ 1030 GFLOPS (SP), 515 GFLOPS (DP) メモリバンド幅 148 GB/s Fermi( フェルミ ) アーキテクチャ ハードウェアキャッシュ C++ サポート ECC その他の Fermi GPU Tesla 2070/2090 シリーズ GeForce GTX 480/580 GTX

計算ノード構成 (Thin node) 24GB QDR InfiniBand 4GB/s DDR3 memory 54GB in total 6core Xeon X5670 70.4GF/s IOH GDDR5 memory 3GB 6core Xeon X5670 70.4GF/s IOH 14core Fermi 515GF/s 150GB/s 30GB 32GB/s QPI 25.6GB/s PCIe 2.0 x16 8GB/s Tesla M2050 x 3GPU

TSUBAME 2.0 全体概要

ソフトウェア環境 TSUBAME 2.0 Linux OS SUSE Linux Enterprise Server 11 SP1 Windows OS Job Scheduler for Linux Job Scheduler for Windows Windows HPC Server 2008 R2 PBS Professional Windows HPC Server Windows OS を新規にサポート ジョブスケジューラが変更されたため バッチジョブ投入オプションが Tsubame1 と大きく変わります

コンパイラ ライブラリなど TSUBAME 2.0 Compiler Intel Compiler 11.1.072 ( 標準 ) PGI CDK 10.6 gcc 4.3.4 MPI OpenMPI 1.4.2 ( 標準 ) MVAPICH2 1.5.1 CUDA 3.2 (4.0 も利用可能 ) CPU 用 BLAS/ LAPACK/FFT MKL (hfp://tsubame.gsic.gtech.ac.jp/docs/guides/ tsubame2/html/programming.html#id4) GPU 用 BLAS CUBLAS (CUDA Toolkit 付属 ) GPU 用 LAPACK CULA (hfp://tsubame.gsic.gtech.ac.jp/docs/guides/ tsubame2/html/programming.html#cula)

2. GPU プログラム作成

GPU プログラミング CUDA C/Fortranを利用 OpenCLを利用 PGIアクセラレータコンパイラを利用

CUDA C プログラム開発 コンパイラ nvcc /opt/cuda ディレクトリ以下にバージョンごとにインストールされています 現在のデフォルトバージョンは 3.2 です /opt/cuda/3.2 現在の最新バージョン 4.0 も利用可能です /opt/cuda/4.0 デバッガ CUDA 標準の cuda- gdb が利用可能です cuda- memcheck: メモリエラーチェック

CUDA C プログラム開発実習 以下のコマンドをターミナルから入力し CUDA プログラムのコンパイル 実行を確認してください $ はコマンドプロンプトです $ cd $ cp /work0/gsic/seminars/ gpu- 2011-09- 28/test.cu. $ nvcc test.cu o test $./test

CUDA Fortran プログラム開発 コンパイラ CUDA Fortran コンパイラが利用可能 PGIコンパイラがサポート 通常のPGI Fortranコンパイラによりコンパイル可能 $ cd $ cp /work0/gsic/seminars/ gpu- 2011-09- 28/fortran/matmul.CUF. $ pgfortran matmul.cuf o matmul $./matmul

OpenCL プログラム開発 NVIDIA GPU 用 OpenCL 開発ツールキットは CUDA ツールキットおよび GPU ドライバに付属 OpenCL ヘッダーファイル ライブラリ /opt/cuda/3.2/include/cl 以下 /usr/lib64/libopencl.so コンパイル方法 - I/opt/cuda/3.2/include リンク方法 - lopencl

PGI アクセラレータプログラム開発 PGI アクセラレータ拡張 OpenMP のような指示文により一部を GPU 実行 OpenMP では指示文によりループを並列実行 PGI アクセラレータ拡張ではループを GPU により並列実行 PGI コンパイラによりコンパイル コンパイルオプションに - ta=nvidia を追加

PGI 指示文サンプルコード #include <stdio.h> #include <stdlib.h> #include <assert.h> int main( int argc, char* argv[] ) { int n = 10000; /* size of the vector */ float *restrict a; /* the vector */ float *restrict r; /* the results */ float *restrict e; /* expected results */ int I; a = (float*)malloc(n*sizeof(float)); r = (float*)malloc(n*sizeof(float)); e = (float*)malloc(n*sizeof(float)); for( i = 0; i < n; ++i ) a[i] = (float)(i+1); 続く

PGI 指示文サンプルコード } #pragma acc region { for( i = 0; i < n; ++i ) r[i] = a[i]*2.0f; } /* compute on the host to compare */ for( i = 0; i < n; ++i ) e[i] = a[i]*2.0f; /* check the results */ for( i = 0; i < n; ++i ) assert( r[i] == e[i] ); prinv( "%d iteragons completed\n", n ); return 0;

PGI アクセラレータコンパイラ実習 必須 à PGI コンパイラに ta=nvidia オプションを追加 推奨 à - Minfo オプションによりコンパイラによる GPU コード生成の情報を表示 $ cd $ cp /work0/gsic/seminars/ gpu- 2011-09- 28/pgi_acc/c1.c. $ pgcc c1.c ta=nvidia - Minfo o c1 $./c1

PGI アクセラレータコンパイラ実習 コンパイル時のメッセージ t2a006173:tmp$ pgcc c1.c - ta=nvidia - Minfo - o ci1 main: 23, Generagng copyin(a[0:n- 1]) Generagng copyout(r[0:n- 1]) Generagng compute capability 1.0 binary Generagng compute capability 1.3 binary 25, Loop is parallelizable Accelerator kernel generated 25, #pragma acc for parallel, vector(256) CC 1.0 : 3 registers; 20 shared, 36 constant, 0 local memory bytes; 100 occupancy CC 1.3 : 3 registers; 20 shared, 36 constant, 0 local memory bytes; 100 occupancy

3. GPU プログラム実行

テスト実行 ( 無料 ) インタラクティブノード上で実行 制限 : 実行時間 30 分まで 並列度 4 プロセス メモリ 6GB GPU の利用に関しては時間以外に制限なし コマンドラインで直接プログラムを実行可能 無料キューで実行 制限 : 2 ノード 10 分まで ノード内プロセス数 メモリ利用量に制限なし GPU 利用に関しても制限なし バッチキューにジョブを投入して実行 キュー : S グループ : 無指定 例 : t2sub - q S - l 他のオプションジョブスクリプト 制限を超えた利用は他の利用者の迷惑になるため注意

バッチキューの使い方 t2sub コマンドの基本 ~/test にある myprog というプログラムを S キューで実行する場合 (1) スクリプトファイルを作っておく ( たとえば job.sh というファイル ) #!/bin/sh cd $HOME/test./myprog job.sh ファイル (2) t2sub コマンドで投入 t2sub W group_list=xxx q S./job.sh - q xxx: キュー名を指定 - W group_list=xxx: TSUBAMEグループ番号を指定

本実行用キュー ( 有料 ) S キュー 指定した台数のノードを専有して利用 システムが順番にリクエストされたジョブを処理 実行時間をなるべく短めに指定したほうが早く実行されます - l wallgme=1:00:00 à 1 時間と指定 H キュー S キューと同様に指定した台数のノードを専有して利用 ただし バッチキュー形式ではなく TSUBAME ポータルより利用したい日付 台数を予約して利用 ( カレンダー予約 ) hfp://portal.g.gsic.gtech.ac.jp/ à ノード予約 予約が入れば指定した日に確実に利用可能 多数ノードを利用する場合に最適 利用料 S キューの 1.25 倍 G キュー 各ノードの 3 台の GPU および CPU4 コア ( ハードウェアスレッド数 8) のみ利用 残り 8 コアは仮想マシンにて利用 (V キュー ) し CPU ジョブと GPU ジョブを共存 S キューの半額

有料キュー利用シナリオ GPU のみを用いる場合 G キューがおすすめ 利用料金 S の半額 ただし CPU コアは 4 コアのみ CPU もそれなりに用いる場合 S がおすすめ 大規模実行 ( 数百ノード ) の場合 H キューで予約する方法が確実 ただし 最低利用時間が 1 日のため短時間利用の場合には利用料金的に非効率 S キューが混んでいる場合 急ぎで確実に実行したい場合も有効

4. 性能解析 デバッグ

プロファイラ Compute Visual Profiler NVIDIA CUDA ツールキット付属 /opt/cuda/3.2/computeprof/bin/computeprof CUDA および OpenCL プログラムの性能解析をサポート 実行時間 PCI データ転送サイズ メモリアクセス回数 分岐回数 実行命令数 キャッシュミス回数 など

CUDA 用デバッガ cuda- gdb NVIDIA による GDB の拡張 Linux 専用 (CUDA 4.0 より OS X もサポート ) CUDA toolkit 付属 TSUBAME で利用可能 Parallel Nsight NVIDIA による Visual Studio 用プラグイン 無料 性能解析等を含む非常に豊富な機能を搭載 TotalView 商用 TSUBAME で利用可能 DDT 商用

CUDA- GDB GDB Linux 標準のデバッガ 標準的なデバッガの機能を搭載 シングルステップ実行 ブレイクポイント など CUDA- GDB GDB をベースに GPU 上のプログラム実行のデバッグをサポート ホストコードは通常の GDB と同様にデバッグ可能 カーネル関数のシングルステップ実行やブレイクポイントの設定が可能 両者ともコマンドラインインターフェイスのみ TotalView などはより使いやすい GUI を提供