SlideShare ist ein Scribd-Unternehmen logo
1 von 21
エヌビディア
ディープラーニングソリューションアーキテクト 兼 CUDAエンジニア 村上 真奈
NVIDIA GPUマネージメント入門
HyperScale 勉強会 #06
3
前回の復習
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/using_cluster_computing.html
P2インスタンスついに出た!
4
前回の復習
https://aws.amazon.com/jp/blogs/aws/new-p2-instance-type-for-amazon-ec2-up-to-16-gpus/
とりあえずこのコマンドを実行すると良いらしい
5
これって何をしているの?
6
GPU Boost For NVIDIA Tesla
GPU Boostという言葉を聞いた事がありますか?
https://www.nvidia.com/content/PDF/kepler/nvidia-gpu-boost-tesla-k40-06767-001-v02.pdf
Increase Performance with GPU Boost
ベースクロック(デフォルトクロック)とBoost
Clock(ブーストクロック)が存在。
ブースとクロックは複数ある場合もある
Tesla K40,GPU Boost whitepaperより引用
7
Increase Performance with GPU Boost and K80 Autoboost
• PARALLEL FORALL(NVIDIA技術ブログ)にTesla K80のパフォーマンス向上の為にという記事あり
• GPU BoostとAutoboostの説明あり
https://devblogs.nvidia.com/parallelforall/increase-performance-gpu-boost-k80-autoboost/
Increase Performance with GPU Boost
8
NVIDIA SMI & NVML
• NVIDIA Management Library (NVML SDK)
• http://developer.nvidia.com/tesla-deployment-kit
• Python NVMLバインド
• http://pypi.python.org/pypi/nvidia-ml-py/
• Perl NVMLバインド
• http://search.cpan.org/~nvbinding/nvidia-ml-pl/
Monitoring and Managing NVIDIA GPUs in Cluster Environments
9
いろいろ書いてあるが、、、
10
まずはやってみましょう
11
GPUパフォーマンス設定の手順
1. クラスタ内のGPU数を確認する
2. 現在のGPUのクロックを確認する
3. Persistenceモードを有効にする
4. SUPPORTED_CLOCKSの確認する
5. クロックの変更する
GPU Boost
12
1.クラスタ内のGPU数を確認する
• nvidia-smiを実行(GPU一覧の取得のみならばnvidia-smi –Lでも良い)
GPUパフォーマンス設定の手順
$ nvidia-smi
Sun Nov 20 08:00:34 2016
+-----------------------------------------------------------------------------------------------------------------------------------+
| NVIDIA-SMI 361.93.02 Driver Version: 361.93.02 |
|-------------------------------------------+-------------------------------------------+------------------------------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
|=============================+==============================+=============================|
| 0 Tesla P100-SXM2... On | 0000:06:00.0 Off | 0 |
| N/A 23C P0 29W / 300W | 0MiB / 16280MiB | 0% Default |
+-------------------------------------------+-------------------------------------------+------------------------------------------+
| 1 Tesla P100-SXM2... On | 0000:07:00.0 Off | 0 |
| N/A 25C P0 29W / 300W | 0MiB / 16280MiB | 0% Default |
+-------------------------------------------+-------------------------------------------+------------------------------------------+
| 2 Tesla P100-SXM2... On | 0000:0A:00.0 Off | 0 |
| N/A 26C P0 28W / 300W | 0MiB / 16280MiB | 0% Default |
+-------------------------------------------+-------------------------------------------+------------------------------------------+
| 3 Tesla P100-SXM2... On | 0000:0B:00.0 Off | 0 |
| N/A 24C P0 29W / 300W | 0MiB / 16280MiB | 0% Default |
+-------------------------------------------+-------------------------------------------+------------------------------------------+
| 4 Tesla P100-SXM2... On | 0000:85:00.0 Off | 0 |
| N/A 25C P0 29W / 300W | 0MiB / 16280MiB | 0% Default |
+-------------------------------------------+-------------------------------------------+------------------------------------------+
| 5 Tesla P100-SXM2... On | 0000:86:00.0 Off | 0 |
| N/A 25C P0 28W / 300W | 0MiB / 16280MiB | 0% Default |
+-------------------------------------------+-------------------------------------------+------------------------------------------+
| 6 Tesla P100-SXM2... On | 0000:89:00.0 Off | 0 |
| N/A 26C P0 29W / 300W | 0MiB / 16280MiB | 0% Default |
+-------------------------------------------+-------------------------------------------+------------------------------------------+
| 7 Tesla P100-SXM2... On | 0000:8A:00.0 Off | 0 |
| N/A 23C P0 29W / 300W | 0MiB / 16280MiB | 0% Default |
+-------------------------------------------+-------------------------------------------+------------------------------------------+
13
2.現在のGPUのクロックを確認する
• nvidia-smi –q –i [GPU IDまたはBus ID] –d CLOCK
GPUパフォーマンス設定の手順
$ nvidia-smi -q -i 0 -d CLOCK
==============NVSMI LOG==============
Timestamp : Sun Nov 20 20:23:45 2016
Driver Version : 361.93.02
Attached GPUs : 8
GPU 0000:07:00.0
Clocks
Graphics : 405 MHz
SM : 405 MHz
Memory : 715 MHz
Video : 835 MHz
Applications Clocks
Graphics : 1328 MHz
Memory : 715 MHz
Default Applications Clocks
Graphics : 1328 MHz
Memory : 715 MHz
Max Clocks
Graphics : 1480 MHz
SM : 1480 MHz
Memory : 715 MHz
Video : 1480 MHz
SM Clock Samples
Duration : 4499.47 sec
14
3.Persistenceモードを有効にする
• Persistenceモードとは、CUDAアプリケーションやXアプリケーションが存在していない状態でも
NVIDIAドライバをロードし続ける為の設定
• もしドライバがロードされていない場合、ロードしてから計算が走るのでオーバーヘッドが発生してしまう
可能性がある
• sudo nvidia-smi –pm ENABLED –i [GPU IDまたはBus ID]
GPUパフォーマンス設定の手順
$ nvidia-smi -pm ENABLED -i 0
Persistence mode is already Enabled for GPU 0000:06:00.0.
All done.
15
4. SUPPORTED_CLOCKSの確認する
• nvidia-smi –q –i [GPU IDまたはBus ID] –d SUPPORTED_CLOCKS
GPUパフォーマンス設定の手順
Attached GPUs : 8
GPU 0000:06:00.0
Supported Clocks
Memory : 715 MHz
Graphics : 1480 MHz
Graphics : 1468 MHz
Graphics : 1455 MHz
Graphics : 1442 MHz
Graphics : 1430 MHz
Graphics : 1417 MHz
Graphics : 1404 MHz
Graphics : 1392 MHz
Graphics : 1379 MHz
Graphics : 1366 MHz
Graphics : 1354 MHz
Graphics : 1341 MHz
Graphics : 1328 MHz
Graphics : 1316 MHz
Graphics : 1303 MHz
Graphics : 1290 MHz
Graphics : 1278 MHz
Graphics : 1265 MHz
Graphics : 1252 MHz
Graphics : 1240 MHz
16
5.クロックの変更する
• graphics clock rateはmemory clock rateは依存しているので、両方を設定する必要がある
• sudo nvidia-smi –ac <memory,graphics> –i [GPU IDまたはBus ID]
GPUパフォーマンス設定の手順
$ sudo nvidia-smi -ac 715,1480 -i 0
Applications clocks set to "(MEM 715, SM 1480)" for GPU 0000:06:00.0
All done.
$ sudo nvidia-smi -q -i 0 -d CLOCK
==============NVSMI LOG==============
Timestamp : Sun Nov 20 21:16:54 2016
Driver Version : 361.93.02
Attached GPUs : 8
GPU 0000:06:00.0
Clocks
Graphics : 405 MHz
SM : 405 MHz
Memory : 715 MHz
Video : 835 MHz
Applications Clocks
Graphics : 1480 MHz
Memory : 715 MHz
Default Applications Clocks
Graphics : 1328 MHz
Memory : 715 MHz
Max Clocks
Graphics : 1480 MHz
SM : 1480 MHz
Memory : 715 MHz
17
ベンチマークをしてみよう
18
Graphics Clock = 1328 MHz
ベンチマーク
dgxuser@dgx-1:~/NVIDIA_CUDA-8.0_Samples/5_Simulations/nbody$ ./nbody -benchmark
Run "nbody -benchmark [-numbodies=<numBodies>]" to measure performance.
-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)
NOTE: The CUDA Samples are not meant for performance measurements. Results may vary when GPU Boost is enabled.
> Windowed mode
> Simulation data stored in video memory
> Single precision floating point simulation
> 1 Devices used for simulation
GPU Device 0: "Tesla P100-SXM2-16GB" with compute capability 6.0
> Compute 6.0 CUDA device: [Tesla P100-SXM2-16GB]
57344 bodies, total time for 10 iterations: 110.661 ms
= 297.154 billion interactions per second
= 5943.080 single-precision GFLOP/s at 20 flops per interaction
19
Graphics Clock = 1480 MHz
ベンチマーク
dgxuser@dgx-1:~/NVIDIA_CUDA-8.0_Samples/5_Simulations/nbody$ ./nbody -benchmark
Run "nbody -benchmark [-numbodies=<numBodies>]" to measure performance.
-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)
NOTE: The CUDA Samples are not meant for performance measurements. Results may vary when GPU Boost is enabled.
> Windowed mode
> Simulation data stored in video memory
> Single precision floating point simulation
> 1 Devices used for simulation
GPU Device 0: "Tesla P100-SXM2-16GB" with compute capability 6.0
> Compute 6.0 CUDA device: [Tesla P100-SXM2-16GB]
57344 bodies, total time for 10 iterations: 103.895 ms
= 316.505 billion interactions per second
= 6330.091 single-precision GFLOP/s at 20 flops per interaction
20
その他
21
その他
• デフォルトクロックに戻す
• sudo nvidia-smi –rac –i [GPU IDまたはBus ID]
• クロック変更可能なユーザを設定する
• sudo nvidia-smi –acp [UNRESTRICTEDまたはRESTRICTED] –i [GPU IDまたはBus ID]
• などなど
GPUパフォーマンス設定の手順
Thank you!

Weitere ähnliche Inhalte

Was ist angesagt?

1076: CUDAデバッグ・プロファイリング入門
1076: CUDAデバッグ・プロファイリング入門1076: CUDAデバッグ・プロファイリング入門
1076: CUDAデバッグ・プロファイリング入門NVIDIA Japan
 
A100 GPU 搭載! P4d インスタンス 使いこなしのコツ
A100 GPU 搭載! P4d インスタンス使いこなしのコツA100 GPU 搭載! P4d インスタンス使いこなしのコツ
A100 GPU 搭載! P4d インスタンス 使いこなしのコツKuninobu SaSaki
 
1070: CUDA プログラミング入門
1070: CUDA プログラミング入門1070: CUDA プログラミング入門
1070: CUDA プログラミング入門NVIDIA Japan
 
機械学習とこれを支える並列計算: ディープラーニング・スーパーコンピューターの応用について
機械学習とこれを支える並列計算: ディープラーニング・スーパーコンピューターの応用について機械学習とこれを支える並列計算: ディープラーニング・スーパーコンピューターの応用について
機械学習とこれを支える並列計算: ディープラーニング・スーパーコンピューターの応用についてハイシンク創研 / Laboratory of Hi-Think Corporation
 
Automatic Mixed Precision の紹介
Automatic Mixed Precision の紹介Automatic Mixed Precision の紹介
Automatic Mixed Precision の紹介Kuninobu SaSaki
 
Slurmのジョブスケジューリングと実装
Slurmのジョブスケジューリングと実装Slurmのジョブスケジューリングと実装
Slurmのジョブスケジューリングと実装Ryuichi Sakamoto
 
1018: ディープラーニング最新技術情報~cuDNN 3、DIGITS 2、CUDA 7.5のご紹介~
1018: ディープラーニング最新技術情報~cuDNN 3、DIGITS 2、CUDA 7.5のご紹介~1018: ディープラーニング最新技術情報~cuDNN 3、DIGITS 2、CUDA 7.5のご紹介~
1018: ディープラーニング最新技術情報~cuDNN 3、DIGITS 2、CUDA 7.5のご紹介~NVIDIA Japan
 
20170726 py data.tokyo
20170726 py data.tokyo20170726 py data.tokyo
20170726 py data.tokyoManaMurakami1
 
Maxwell と Java CUDAプログラミング
Maxwell と Java CUDAプログラミングMaxwell と Java CUDAプログラミング
Maxwell と Java CUDAプログラミングNVIDIA Japan
 
Chainer で Tensor コア (fp16) を使いこなす
Chainer で Tensor コア (fp16) を使いこなすChainer で Tensor コア (fp16) を使いこなす
Chainer で Tensor コア (fp16) を使いこなすNVIDIA Japan
 
Chainer でのプロファイリングをちょっと楽にする話
Chainer でのプロファイリングをちょっと楽にする話Chainer でのプロファイリングをちょっと楽にする話
Chainer でのプロファイリングをちょっと楽にする話NVIDIA Japan
 
NVIDIA Deep Learning SDK を利用した画像認識
NVIDIA Deep Learning SDK を利用した画像認識NVIDIA Deep Learning SDK を利用した画像認識
NVIDIA Deep Learning SDK を利用した画像認識NVIDIA Japan
 
CUDAプログラミング入門
CUDAプログラミング入門CUDAプログラミング入門
CUDAプログラミング入門NVIDIA Japan
 
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介Preferred Networks
 
FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化Kazunori Sato
 
Flow in VR Funhouse MOD Kit
Flow in VR Funhouse MOD KitFlow in VR Funhouse MOD Kit
Flow in VR Funhouse MOD KitNVIDIA Japan
 
Kubernetes meetup-tokyo-13-customizing-kubernetes-for-ml-cluster
Kubernetes meetup-tokyo-13-customizing-kubernetes-for-ml-clusterKubernetes meetup-tokyo-13-customizing-kubernetes-for-ml-cluster
Kubernetes meetup-tokyo-13-customizing-kubernetes-for-ml-clusterPreferred Networks
 
1000: 基調講演
1000: 基調講演1000: 基調講演
1000: 基調講演NVIDIA Japan
 
Java トラブル解析支援ツール HeapStats のご紹介
Java トラブル解析支援ツール HeapStats のご紹介Java トラブル解析支援ツール HeapStats のご紹介
Java トラブル解析支援ツール HeapStats のご紹介Shinya Takebayashi
 
機械学習 / Deep Learning 大全 (4) GPU編
機械学習 / Deep Learning 大全 (4) GPU編機械学習 / Deep Learning 大全 (4) GPU編
機械学習 / Deep Learning 大全 (4) GPU編Daiyu Hatakeyama
 

Was ist angesagt? (20)

1076: CUDAデバッグ・プロファイリング入門
1076: CUDAデバッグ・プロファイリング入門1076: CUDAデバッグ・プロファイリング入門
1076: CUDAデバッグ・プロファイリング入門
 
A100 GPU 搭載! P4d インスタンス 使いこなしのコツ
A100 GPU 搭載! P4d インスタンス使いこなしのコツA100 GPU 搭載! P4d インスタンス使いこなしのコツ
A100 GPU 搭載! P4d インスタンス 使いこなしのコツ
 
1070: CUDA プログラミング入門
1070: CUDA プログラミング入門1070: CUDA プログラミング入門
1070: CUDA プログラミング入門
 
機械学習とこれを支える並列計算: ディープラーニング・スーパーコンピューターの応用について
機械学習とこれを支える並列計算: ディープラーニング・スーパーコンピューターの応用について機械学習とこれを支える並列計算: ディープラーニング・スーパーコンピューターの応用について
機械学習とこれを支える並列計算: ディープラーニング・スーパーコンピューターの応用について
 
Automatic Mixed Precision の紹介
Automatic Mixed Precision の紹介Automatic Mixed Precision の紹介
Automatic Mixed Precision の紹介
 
Slurmのジョブスケジューリングと実装
Slurmのジョブスケジューリングと実装Slurmのジョブスケジューリングと実装
Slurmのジョブスケジューリングと実装
 
1018: ディープラーニング最新技術情報~cuDNN 3、DIGITS 2、CUDA 7.5のご紹介~
1018: ディープラーニング最新技術情報~cuDNN 3、DIGITS 2、CUDA 7.5のご紹介~1018: ディープラーニング最新技術情報~cuDNN 3、DIGITS 2、CUDA 7.5のご紹介~
1018: ディープラーニング最新技術情報~cuDNN 3、DIGITS 2、CUDA 7.5のご紹介~
 
20170726 py data.tokyo
20170726 py data.tokyo20170726 py data.tokyo
20170726 py data.tokyo
 
Maxwell と Java CUDAプログラミング
Maxwell と Java CUDAプログラミングMaxwell と Java CUDAプログラミング
Maxwell と Java CUDAプログラミング
 
Chainer で Tensor コア (fp16) を使いこなす
Chainer で Tensor コア (fp16) を使いこなすChainer で Tensor コア (fp16) を使いこなす
Chainer で Tensor コア (fp16) を使いこなす
 
Chainer でのプロファイリングをちょっと楽にする話
Chainer でのプロファイリングをちょっと楽にする話Chainer でのプロファイリングをちょっと楽にする話
Chainer でのプロファイリングをちょっと楽にする話
 
NVIDIA Deep Learning SDK を利用した画像認識
NVIDIA Deep Learning SDK を利用した画像認識NVIDIA Deep Learning SDK を利用した画像認識
NVIDIA Deep Learning SDK を利用した画像認識
 
CUDAプログラミング入門
CUDAプログラミング入門CUDAプログラミング入門
CUDAプログラミング入門
 
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
 
FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化
 
Flow in VR Funhouse MOD Kit
Flow in VR Funhouse MOD KitFlow in VR Funhouse MOD Kit
Flow in VR Funhouse MOD Kit
 
Kubernetes meetup-tokyo-13-customizing-kubernetes-for-ml-cluster
Kubernetes meetup-tokyo-13-customizing-kubernetes-for-ml-clusterKubernetes meetup-tokyo-13-customizing-kubernetes-for-ml-cluster
Kubernetes meetup-tokyo-13-customizing-kubernetes-for-ml-cluster
 
1000: 基調講演
1000: 基調講演1000: 基調講演
1000: 基調講演
 
Java トラブル解析支援ツール HeapStats のご紹介
Java トラブル解析支援ツール HeapStats のご紹介Java トラブル解析支援ツール HeapStats のご紹介
Java トラブル解析支援ツール HeapStats のご紹介
 
機械学習 / Deep Learning 大全 (4) GPU編
機械学習 / Deep Learning 大全 (4) GPU編機械学習 / Deep Learning 大全 (4) GPU編
機械学習 / Deep Learning 大全 (4) GPU編
 

Andere mochten auch

CNNの可視化手法Grad-CAMの紹介~CNNさん、あなたはどこを見ているの?~ | OHS勉強会#6
CNNの可視化手法Grad-CAMの紹介~CNNさん、あなたはどこを見ているの?~ | OHS勉強会#6CNNの可視化手法Grad-CAMの紹介~CNNさん、あなたはどこを見ているの?~ | OHS勉強会#6
CNNの可視化手法Grad-CAMの紹介~CNNさん、あなたはどこを見ているの?~ | OHS勉強会#6Toshinori Hanya
 
Deep Learningで似た画像を見つける技術 | OHS勉強会#5
Deep Learningで似た画像を見つける技術 | OHS勉強会#5Deep Learningで似た画像を見つける技術 | OHS勉強会#5
Deep Learningで似た画像を見つける技術 | OHS勉強会#5Toshinori Hanya
 
機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual Talks機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual TalksYuya Unno
 
Object Detection & Instance Segmentationの論文紹介 | OHS勉強会#3
Object Detection & Instance Segmentationの論文紹介 | OHS勉強会#3Object Detection & Instance Segmentationの論文紹介 | OHS勉強会#3
Object Detection & Instance Segmentationの論文紹介 | OHS勉強会#3Toshinori Hanya
 
JAWS re:Mote 2015 Nagoya
JAWS re:Mote 2015 NagoyaJAWS re:Mote 2015 Nagoya
JAWS re:Mote 2015 Nagoya陽平 山口
 
コンピュータ将棋・囲碁における機械学習活用
コンピュータ将棋・囲碁における機械学習活用コンピュータ将棋・囲碁における機械学習活用
コンピュータ将棋・囲碁における機械学習活用Takashi Kato
 
機械学習概論 講義テキスト
機械学習概論 講義テキスト機械学習概論 講義テキスト
機械学習概論 講義テキストEtsuji Nakai
 
Deep Learningと画像認識   ~歴史・理論・実践~
Deep Learningと画像認識 ~歴史・理論・実践~Deep Learningと画像認識 ~歴史・理論・実践~
Deep Learningと画像認識   ~歴史・理論・実践~nlab_utokyo
 
機械学習の理論と実践
機械学習の理論と実践機械学習の理論と実践
機械学習の理論と実践Preferred Networks
 
機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話Ryota Kamoshida
 
NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1
NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1
NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1NVIDIA Japan
 

Andere mochten auch (12)

CNNの可視化手法Grad-CAMの紹介~CNNさん、あなたはどこを見ているの?~ | OHS勉強会#6
CNNの可視化手法Grad-CAMの紹介~CNNさん、あなたはどこを見ているの?~ | OHS勉強会#6CNNの可視化手法Grad-CAMの紹介~CNNさん、あなたはどこを見ているの?~ | OHS勉強会#6
CNNの可視化手法Grad-CAMの紹介~CNNさん、あなたはどこを見ているの?~ | OHS勉強会#6
 
Deep Learningで似た画像を見つける技術 | OHS勉強会#5
Deep Learningで似た画像を見つける技術 | OHS勉強会#5Deep Learningで似た画像を見つける技術 | OHS勉強会#5
Deep Learningで似た画像を見つける技術 | OHS勉強会#5
 
機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual Talks機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual Talks
 
ohs#6 opening
ohs#6 openingohs#6 opening
ohs#6 opening
 
Object Detection & Instance Segmentationの論文紹介 | OHS勉強会#3
Object Detection & Instance Segmentationの論文紹介 | OHS勉強会#3Object Detection & Instance Segmentationの論文紹介 | OHS勉強会#3
Object Detection & Instance Segmentationの論文紹介 | OHS勉強会#3
 
JAWS re:Mote 2015 Nagoya
JAWS re:Mote 2015 NagoyaJAWS re:Mote 2015 Nagoya
JAWS re:Mote 2015 Nagoya
 
コンピュータ将棋・囲碁における機械学習活用
コンピュータ将棋・囲碁における機械学習活用コンピュータ将棋・囲碁における機械学習活用
コンピュータ将棋・囲碁における機械学習活用
 
機械学習概論 講義テキスト
機械学習概論 講義テキスト機械学習概論 講義テキスト
機械学習概論 講義テキスト
 
Deep Learningと画像認識   ~歴史・理論・実践~
Deep Learningと画像認識 ~歴史・理論・実践~Deep Learningと画像認識 ~歴史・理論・実践~
Deep Learningと画像認識   ~歴史・理論・実践~
 
機械学習の理論と実践
機械学習の理論と実践機械学習の理論と実践
機械学習の理論と実践
 
機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話
 
NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1
NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1
NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1
 

Ähnlich wie 20161121 open hyperscale#6

200625material naruse
200625material naruse200625material naruse
200625material naruseRCCSRENKEI
 
TPC-DSから学ぶPostgreSQLの弱点と今後の展望
TPC-DSから学ぶPostgreSQLの弱点と今後の展望TPC-DSから学ぶPostgreSQLの弱点と今後の展望
TPC-DSから学ぶPostgreSQLの弱点と今後の展望Kohei KaiGai
 
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002Takeshi Kuramochi
 
高速ネットワーク最新動向と具体例 (ENOG58 Meeting)
高速ネットワーク最新動向と具体例 (ENOG58 Meeting)高速ネットワーク最新動向と具体例 (ENOG58 Meeting)
高速ネットワーク最新動向と具体例 (ENOG58 Meeting)Naoto MATSUMOTO
 
あるRISC-V CPUの 浮動小数点数(異常なし)
あるRISC-V CPUの 浮動小数点数(異常なし)あるRISC-V CPUの 浮動小数点数(異常なし)
あるRISC-V CPUの 浮動小数点数(異常なし)たけおか しょうぞう
 
生活を豊かにするデータ解析と計算機の使われ方の進化
生活を豊かにするデータ解析と計算機の使われ方の進化生活を豊かにするデータ解析と計算機の使われ方の進化
生活を豊かにするデータ解析と計算機の使われ方の進化Naoto MATSUMOTO
 
【A-1】AIを支えるGPUコンピューティングの今
【A-1】AIを支えるGPUコンピューティングの今【A-1】AIを支えるGPUコンピューティングの今
【A-1】AIを支えるGPUコンピューティングの今Developers Summit
 
GPGPU deいろんな問題解いてみた
GPGPU deいろんな問題解いてみたGPGPU deいろんな問題解いてみた
GPGPU deいろんな問題解いてみたRyo Sakamoto
 
1072: アプリケーション開発を加速するCUDAライブラリ
1072: アプリケーション開発を加速するCUDAライブラリ1072: アプリケーション開発を加速するCUDAライブラリ
1072: アプリケーション開発を加速するCUDAライブラリNVIDIA Japan
 
Zabbixでvmc statsの情報など監視
Zabbixでvmc statsの情報など監視Zabbixでvmc statsの情報など監視
Zabbixでvmc statsの情報など監視Shota Onishi
 
20181212 - PGconf.ASIA - LT
20181212 - PGconf.ASIA - LT20181212 - PGconf.ASIA - LT
20181212 - PGconf.ASIA - LTKohei KaiGai
 
[Azure Antenna] クラウドで HPC ~ HPC 環境の構築から、アプリケーションの実行まで ~
[Azure Antenna] クラウドで HPC ~ HPC 環境の構築から、アプリケーションの実行まで ~ [Azure Antenna] クラウドで HPC ~ HPC 環境の構築から、アプリケーションの実行まで ~
[Azure Antenna] クラウドで HPC ~ HPC 環境の構築から、アプリケーションの実行まで ~ Shuichi Gojuki
 
AWS Black Belt Online Seminar 2016 HPC分野でのAWS活用
AWS Black Belt Online Seminar 2016 HPC分野でのAWS活用AWS Black Belt Online Seminar 2016 HPC分野でのAWS活用
AWS Black Belt Online Seminar 2016 HPC分野でのAWS活用Amazon Web Services Japan
 
第12回 配信講義 計算科学技術特論B(2022)
第12回 配信講義 計算科学技術特論B(2022)第12回 配信講義 計算科学技術特論B(2022)
第12回 配信講義 計算科学技術特論B(2022)RCCSRENKEI
 
20140828 #ssmjp 社内チューニンガソンで優勝したはなし
20140828 #ssmjp 社内チューニンガソンで優勝したはなし20140828 #ssmjp 社内チューニンガソンで優勝したはなし
20140828 #ssmjp 社内チューニンガソンで優勝したはなしMasahiro NAKAYAMA
 
Linux KVM環境におけるGPGPU活用最新動向
Linux KVM環境におけるGPGPU活用最新動向Linux KVM環境におけるGPGPU活用最新動向
Linux KVM環境におけるGPGPU活用最新動向Taira Hajime
 
PL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
PL/CUDA - Fusion of HPC Grade Power with In-Database AnalyticsPL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
PL/CUDA - Fusion of HPC Grade Power with In-Database AnalyticsKohei KaiGai
 
HPCフォーラム2015 A-2 グローバル設計環境に欠かせないHP ProLiantサーバー 久保田隆志
HPCフォーラム2015 A-2 グローバル設計環境に欠かせないHP ProLiantサーバー  久保田隆志HPCフォーラム2015 A-2 グローバル設計環境に欠かせないHP ProLiantサーバー  久保田隆志
HPCフォーラム2015 A-2 グローバル設計環境に欠かせないHP ProLiantサーバー 久保田隆志日本ヒューレット・パッカード株式会社
 

Ähnlich wie 20161121 open hyperscale#6 (20)

200625material naruse
200625material naruse200625material naruse
200625material naruse
 
TPC-DSから学ぶPostgreSQLの弱点と今後の展望
TPC-DSから学ぶPostgreSQLの弱点と今後の展望TPC-DSから学ぶPostgreSQLの弱点と今後の展望
TPC-DSから学ぶPostgreSQLの弱点と今後の展望
 
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002
 
高速ネットワーク最新動向と具体例 (ENOG58 Meeting)
高速ネットワーク最新動向と具体例 (ENOG58 Meeting)高速ネットワーク最新動向と具体例 (ENOG58 Meeting)
高速ネットワーク最新動向と具体例 (ENOG58 Meeting)
 
あるRISC-V CPUの 浮動小数点数(異常なし)
あるRISC-V CPUの 浮動小数点数(異常なし)あるRISC-V CPUの 浮動小数点数(異常なし)
あるRISC-V CPUの 浮動小数点数(異常なし)
 
生活を豊かにするデータ解析と計算機の使われ方の進化
生活を豊かにするデータ解析と計算機の使われ方の進化生活を豊かにするデータ解析と計算機の使われ方の進化
生活を豊かにするデータ解析と計算機の使われ方の進化
 
【A-1】AIを支えるGPUコンピューティングの今
【A-1】AIを支えるGPUコンピューティングの今【A-1】AIを支えるGPUコンピューティングの今
【A-1】AIを支えるGPUコンピューティングの今
 
GPGPU deいろんな問題解いてみた
GPGPU deいろんな問題解いてみたGPGPU deいろんな問題解いてみた
GPGPU deいろんな問題解いてみた
 
1072: アプリケーション開発を加速するCUDAライブラリ
1072: アプリケーション開発を加速するCUDAライブラリ1072: アプリケーション開発を加速するCUDAライブラリ
1072: アプリケーション開発を加速するCUDAライブラリ
 
Zabbixでvmc statsの情報など監視
Zabbixでvmc statsの情報など監視Zabbixでvmc statsの情報など監視
Zabbixでvmc statsの情報など監視
 
CPUから見たG1GC
CPUから見たG1GCCPUから見たG1GC
CPUから見たG1GC
 
20181212 - PGconf.ASIA - LT
20181212 - PGconf.ASIA - LT20181212 - PGconf.ASIA - LT
20181212 - PGconf.ASIA - LT
 
[Azure Antenna] クラウドで HPC ~ HPC 環境の構築から、アプリケーションの実行まで ~
[Azure Antenna] クラウドで HPC ~ HPC 環境の構築から、アプリケーションの実行まで ~ [Azure Antenna] クラウドで HPC ~ HPC 環境の構築から、アプリケーションの実行まで ~
[Azure Antenna] クラウドで HPC ~ HPC 環境の構築から、アプリケーションの実行まで ~
 
AWS Black Belt Online Seminar 2016 HPC分野でのAWS活用
AWS Black Belt Online Seminar 2016 HPC分野でのAWS活用AWS Black Belt Online Seminar 2016 HPC分野でのAWS活用
AWS Black Belt Online Seminar 2016 HPC分野でのAWS活用
 
第12回 配信講義 計算科学技術特論B(2022)
第12回 配信講義 計算科学技術特論B(2022)第12回 配信講義 計算科学技術特論B(2022)
第12回 配信講義 計算科学技術特論B(2022)
 
Linux on Powerの最新情報(2014年11月)
Linux on Powerの最新情報(2014年11月)Linux on Powerの最新情報(2014年11月)
Linux on Powerの最新情報(2014年11月)
 
20140828 #ssmjp 社内チューニンガソンで優勝したはなし
20140828 #ssmjp 社内チューニンガソンで優勝したはなし20140828 #ssmjp 社内チューニンガソンで優勝したはなし
20140828 #ssmjp 社内チューニンガソンで優勝したはなし
 
Linux KVM環境におけるGPGPU活用最新動向
Linux KVM環境におけるGPGPU活用最新動向Linux KVM環境におけるGPGPU活用最新動向
Linux KVM環境におけるGPGPU活用最新動向
 
PL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
PL/CUDA - Fusion of HPC Grade Power with In-Database AnalyticsPL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
PL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
 
HPCフォーラム2015 A-2 グローバル設計環境に欠かせないHP ProLiantサーバー 久保田隆志
HPCフォーラム2015 A-2 グローバル設計環境に欠かせないHP ProLiantサーバー  久保田隆志HPCフォーラム2015 A-2 グローバル設計環境に欠かせないHP ProLiantサーバー  久保田隆志
HPCフォーラム2015 A-2 グローバル設計環境に欠かせないHP ProLiantサーバー 久保田隆志
 

20161121 open hyperscale#6

  • 1. エヌビディア ディープラーニングソリューションアーキテクト 兼 CUDAエンジニア 村上 真奈 NVIDIA GPUマネージメント入門 HyperScale 勉強会 #06
  • 5. 6 GPU Boost For NVIDIA Tesla GPU Boostという言葉を聞いた事がありますか? https://www.nvidia.com/content/PDF/kepler/nvidia-gpu-boost-tesla-k40-06767-001-v02.pdf Increase Performance with GPU Boost ベースクロック(デフォルトクロック)とBoost Clock(ブーストクロック)が存在。 ブースとクロックは複数ある場合もある Tesla K40,GPU Boost whitepaperより引用
  • 6. 7 Increase Performance with GPU Boost and K80 Autoboost • PARALLEL FORALL(NVIDIA技術ブログ)にTesla K80のパフォーマンス向上の為にという記事あり • GPU BoostとAutoboostの説明あり https://devblogs.nvidia.com/parallelforall/increase-performance-gpu-boost-k80-autoboost/ Increase Performance with GPU Boost
  • 7. 8 NVIDIA SMI & NVML • NVIDIA Management Library (NVML SDK) • http://developer.nvidia.com/tesla-deployment-kit • Python NVMLバインド • http://pypi.python.org/pypi/nvidia-ml-py/ • Perl NVMLバインド • http://search.cpan.org/~nvbinding/nvidia-ml-pl/ Monitoring and Managing NVIDIA GPUs in Cluster Environments
  • 10. 11 GPUパフォーマンス設定の手順 1. クラスタ内のGPU数を確認する 2. 現在のGPUのクロックを確認する 3. Persistenceモードを有効にする 4. SUPPORTED_CLOCKSの確認する 5. クロックの変更する GPU Boost
  • 11. 12 1.クラスタ内のGPU数を確認する • nvidia-smiを実行(GPU一覧の取得のみならばnvidia-smi –Lでも良い) GPUパフォーマンス設定の手順 $ nvidia-smi Sun Nov 20 08:00:34 2016 +-----------------------------------------------------------------------------------------------------------------------------------+ | NVIDIA-SMI 361.93.02 Driver Version: 361.93.02 | |-------------------------------------------+-------------------------------------------+------------------------------------------+ | GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | |=============================+==============================+=============================| | 0 Tesla P100-SXM2... On | 0000:06:00.0 Off | 0 | | N/A 23C P0 29W / 300W | 0MiB / 16280MiB | 0% Default | +-------------------------------------------+-------------------------------------------+------------------------------------------+ | 1 Tesla P100-SXM2... On | 0000:07:00.0 Off | 0 | | N/A 25C P0 29W / 300W | 0MiB / 16280MiB | 0% Default | +-------------------------------------------+-------------------------------------------+------------------------------------------+ | 2 Tesla P100-SXM2... On | 0000:0A:00.0 Off | 0 | | N/A 26C P0 28W / 300W | 0MiB / 16280MiB | 0% Default | +-------------------------------------------+-------------------------------------------+------------------------------------------+ | 3 Tesla P100-SXM2... On | 0000:0B:00.0 Off | 0 | | N/A 24C P0 29W / 300W | 0MiB / 16280MiB | 0% Default | +-------------------------------------------+-------------------------------------------+------------------------------------------+ | 4 Tesla P100-SXM2... On | 0000:85:00.0 Off | 0 | | N/A 25C P0 29W / 300W | 0MiB / 16280MiB | 0% Default | +-------------------------------------------+-------------------------------------------+------------------------------------------+ | 5 Tesla P100-SXM2... On | 0000:86:00.0 Off | 0 | | N/A 25C P0 28W / 300W | 0MiB / 16280MiB | 0% Default | +-------------------------------------------+-------------------------------------------+------------------------------------------+ | 6 Tesla P100-SXM2... On | 0000:89:00.0 Off | 0 | | N/A 26C P0 29W / 300W | 0MiB / 16280MiB | 0% Default | +-------------------------------------------+-------------------------------------------+------------------------------------------+ | 7 Tesla P100-SXM2... On | 0000:8A:00.0 Off | 0 | | N/A 23C P0 29W / 300W | 0MiB / 16280MiB | 0% Default | +-------------------------------------------+-------------------------------------------+------------------------------------------+
  • 12. 13 2.現在のGPUのクロックを確認する • nvidia-smi –q –i [GPU IDまたはBus ID] –d CLOCK GPUパフォーマンス設定の手順 $ nvidia-smi -q -i 0 -d CLOCK ==============NVSMI LOG============== Timestamp : Sun Nov 20 20:23:45 2016 Driver Version : 361.93.02 Attached GPUs : 8 GPU 0000:07:00.0 Clocks Graphics : 405 MHz SM : 405 MHz Memory : 715 MHz Video : 835 MHz Applications Clocks Graphics : 1328 MHz Memory : 715 MHz Default Applications Clocks Graphics : 1328 MHz Memory : 715 MHz Max Clocks Graphics : 1480 MHz SM : 1480 MHz Memory : 715 MHz Video : 1480 MHz SM Clock Samples Duration : 4499.47 sec
  • 14. 15 4. SUPPORTED_CLOCKSの確認する • nvidia-smi –q –i [GPU IDまたはBus ID] –d SUPPORTED_CLOCKS GPUパフォーマンス設定の手順 Attached GPUs : 8 GPU 0000:06:00.0 Supported Clocks Memory : 715 MHz Graphics : 1480 MHz Graphics : 1468 MHz Graphics : 1455 MHz Graphics : 1442 MHz Graphics : 1430 MHz Graphics : 1417 MHz Graphics : 1404 MHz Graphics : 1392 MHz Graphics : 1379 MHz Graphics : 1366 MHz Graphics : 1354 MHz Graphics : 1341 MHz Graphics : 1328 MHz Graphics : 1316 MHz Graphics : 1303 MHz Graphics : 1290 MHz Graphics : 1278 MHz Graphics : 1265 MHz Graphics : 1252 MHz Graphics : 1240 MHz
  • 15. 16 5.クロックの変更する • graphics clock rateはmemory clock rateは依存しているので、両方を設定する必要がある • sudo nvidia-smi –ac <memory,graphics> –i [GPU IDまたはBus ID] GPUパフォーマンス設定の手順 $ sudo nvidia-smi -ac 715,1480 -i 0 Applications clocks set to "(MEM 715, SM 1480)" for GPU 0000:06:00.0 All done. $ sudo nvidia-smi -q -i 0 -d CLOCK ==============NVSMI LOG============== Timestamp : Sun Nov 20 21:16:54 2016 Driver Version : 361.93.02 Attached GPUs : 8 GPU 0000:06:00.0 Clocks Graphics : 405 MHz SM : 405 MHz Memory : 715 MHz Video : 835 MHz Applications Clocks Graphics : 1480 MHz Memory : 715 MHz Default Applications Clocks Graphics : 1328 MHz Memory : 715 MHz Max Clocks Graphics : 1480 MHz SM : 1480 MHz Memory : 715 MHz
  • 17. 18 Graphics Clock = 1328 MHz ベンチマーク dgxuser@dgx-1:~/NVIDIA_CUDA-8.0_Samples/5_Simulations/nbody$ ./nbody -benchmark Run "nbody -benchmark [-numbodies=<numBodies>]" to measure performance. -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) NOTE: The CUDA Samples are not meant for performance measurements. Results may vary when GPU Boost is enabled. > Windowed mode > Simulation data stored in video memory > Single precision floating point simulation > 1 Devices used for simulation GPU Device 0: "Tesla P100-SXM2-16GB" with compute capability 6.0 > Compute 6.0 CUDA device: [Tesla P100-SXM2-16GB] 57344 bodies, total time for 10 iterations: 110.661 ms = 297.154 billion interactions per second = 5943.080 single-precision GFLOP/s at 20 flops per interaction
  • 18. 19 Graphics Clock = 1480 MHz ベンチマーク dgxuser@dgx-1:~/NVIDIA_CUDA-8.0_Samples/5_Simulations/nbody$ ./nbody -benchmark Run "nbody -benchmark [-numbodies=<numBodies>]" to measure performance. -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) NOTE: The CUDA Samples are not meant for performance measurements. Results may vary when GPU Boost is enabled. > Windowed mode > Simulation data stored in video memory > Single precision floating point simulation > 1 Devices used for simulation GPU Device 0: "Tesla P100-SXM2-16GB" with compute capability 6.0 > Compute 6.0 CUDA device: [Tesla P100-SXM2-16GB] 57344 bodies, total time for 10 iterations: 103.895 ms = 316.505 billion interactions per second = 6330.091 single-precision GFLOP/s at 20 flops per interaction
  • 20. 21 その他 • デフォルトクロックに戻す • sudo nvidia-smi –rac –i [GPU IDまたはBus ID] • クロック変更可能なユーザを設定する • sudo nvidia-smi –acp [UNRESTRICTEDまたはRESTRICTED] –i [GPU IDまたはBus ID] • などなど GPUパフォーマンス設定の手順