

# PERF02-BP06 最適化されたハードウェアベースのコンピューティングアクセラレーターを使用する
<a name="perf_compute_hardware_compute_accelerators"></a>

 ハードウェアアクセラレーターを使用すると、CPU ベースの代替手段よりも効率的に特定の機能を実行できます。 

 **一般的なアンチパターン:** 
+  現在のワークロードで、より高いパフォーマンスとより低いコストを実現できる専用のインスタンスに対する汎用インスタンスのベンチマーキングを行ったことがない。 
+  CPU ベースのコンピューティングアクセラレーターを使用した方が効率的なタスクに、ハードウェアベースのコンピューティングアクセラレーターを使用している。 
+  GPU の使用状況を監視していない。 

**このベストプラクティスを活用するメリット:** GPU (グラフィックス処理ユニット) や FPGA (フィールドプログラマブルゲートアレイ) などのハードウェアベースのアクセラレーターを使用することで、特定の処理機能をより効率的に実行できます。 

 **このベストプラクティスを活用しない場合のリスクレベル:** 中 

## 実装のガイダンス
<a name="implementation-guidance"></a>

 高速コンピューティングインスタンスを使用すると、GPU や FPGA などのハードウェアベースのコンピューティングアクセラレーターにアクセスできます。これらのハードウェアアクセラレーターは、グラフィック処理やデータパターンマッチングなどの特定の機能を、CPU ベースの代替手段よりも効率的に実行します。レンダリング、トランスコーディング、機械学習など、多くの高速ワークロードは、リソースの使用量に大きなばらつきがあります。このハードウェアは必要な時間だけ実行し、必要のない場合は自動で廃止することで、全体的なパフォーマンス効率を向上させることができます。 

### 実装手順
<a name="implementation-steps"></a>
+  どの [高速コンピューティングインスタンスが](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/accelerated-computing-instances.html) お客様の要件に対応できるかを特定します。 
+  機械学習のワークロードには、 [AWS Trainium](https://aws.amazon.com/machine-learning/trainium/)、 [AWS Inferentia](https://aws.amazon.com/machine-learning/inferentia/)、 [Amazon EC2 DL1 など、ワークロードに特化した専用ハードウェアを利用します](https://aws.amazon.com/ec2/instance-types/dl1/)。Inf2 インスタンスなどの AWS Inferentia インスタンスは、 [Amazon EC2 インスタンスと比較して、ワットあたりのパフォーマンスが最大 50% 向上します](https://aws.amazon.com/machine-learning/inferentia/)。 
+  高速コンピューティングインスタンスの使用状況メトリクスを収集します。例えば、CloudWatch エージェントを使用して、GPU の `utilization_gpu` および `utilization_memory` などのメトリクスを収集できます ( [「Amazon CloudWatch で NVIDIA GPU メトリクスを収集する」を参照)](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-NVIDIA-GPU.html)。 
+  ハードウェアアクセラレーターのコード、ネットワーク操作、設定を最適化し、基盤となるハードウェアが十分に活用されるようにします。 
  +  [GPU 設定を最適化する](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/optimize_gpu.html) 
  +  [Deep Learning AMI での GPU のモニタリングと最適化](https://docs.aws.amazon.com/dlami/latest/devguide/tutorial-gpu.html) 
  +  [Amazon SageMaker AI における深層学習トレーニングの GPU パフォーマンスチューニングのための I/O の最適化](https://aws.amazon.com/blogs/machine-learning/optimizing-i-o-for-gpu-performance-tuning-of-deep-learning-training-in-amazon-sagemaker/) 
+  最新の高性能ライブラリと GPU ドライバーを使用します。 
+  使用しないときは、自動化を使用して GPU インスタンスを解放します。 

## リソース
<a name="resources"></a>

 **関連するドキュメント:** 
+  [分散された機械学習トレーニング](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/accelerated-computing-instances.html#gpu-instances) 
+  [AWS Trainium を搭載したインスタンス](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/accelerated-computing-instances.html#aws-trainium-instances) 
+  [AWS Inferentia を搭載したインスタンス](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/accelerated-computing-instances.html#aws-inferentia-instances) 
+  [Let’s Architect\$1 Architecting with custom chips and accelerators](https://aws.amazon.com/blogs/architecture/lets-architect-custom-chips-and-accelerators/) 
+  [高速コンピューティング](https://aws.amazon.com/ec2/instance-types/#Accelerated_Computing) 
+  [Amazon EC2 VT1 インスタンス](https://aws.amazon.com/ec2/instance-types/vt1/) 
+  [ワークロードに適切な Amazon EC2 インスタンスタイプを選択する方法を教えてください。](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-instance-choose-type-for-workload/) 
+  [ Choose the best AI accelerator and model compilation for computer vision inference with Amazon SageMaker AI ](https://aws.amazon.com/blogs/machine-learning/choose-the-best-ai-accelerator-and-model-compilation-for-computer-vision-inference-with-amazon-sagemaker/) 

 **関連動画:** 
+  [深層学習用の Amazon EC2 GPU インスタンスの選択方法](https://www.youtube.com/watch?v=4bVrIbgGWEA&ab_channel=AWSEvents) 
+  [Deploying Cost-Effective Deep Learning Inference (費用対効果の高い深層学習推論の導入)](https://www.youtube.com/watch?v=WiCougIDRsw&ab_channel=AWSOnlineTechTalks) 