

# PERF02-BP06 Usar aceleradores de computação baseados em hardware otimizados
<a name="perf_compute_hardware_compute_accelerators"></a>

 Use aceleradores de hardware para executar determinadas funções com mais eficiência do que as alternativas baseadas em CPU. 

 **Práticas comuns que devem ser evitadas:** 
+  Em sua workload, você não compara uma instância de uso geral com uma instância criada para um propósito específico capaz de oferecer maior performance e menor custo. 
+  Você está usando aceleradores de computação baseados em hardware para tarefas que podem ser eficientes com o uso de alternativas baseadas em CPU. 
+  Você não está monitorando o uso da GPU. 

**Benefícios de implementar esta prática recomendada:** ao usar aceleradores baseados em hardware, como unidades de processamento gráfico (GPUs) e matrizes de portas programáveis em campo (FPGAs), você pode executar determinadas funções de processamento com mais eficiência. 

 **Nível de risco exposto se esta prática recomendada não for estabelecida:** Médio 

## Orientação para implementação
<a name="implementation-guidance"></a>

 As instâncias com computação acelerada fornecem acesso a aceleradores de computação baseados em hardware, como GPUs e FPGAs. Esses aceleradores de hardware executam certas funções, como processamento gráfico ou correspondência de padrões de dados, com mais eficiência do que alternativas baseadas em CPU. Muitas workloads aceleradas, como renderização, transcodificação e machine learning, são altamente variáveis em termos de uso de recursos. Execute esse hardware apenas pelo tempo necessário e desative-o com automação quando não precisar mais dele para melhorar a eficiência da performance geral. 

### Etapas de implementação
<a name="implementation-steps"></a>
+  Identifique quais [instâncias com computação acelerada](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/accelerated-computing-instances.html) podem atender às suas necessidades. 
+  Para workloads de machine learning, utilize hardware específico para sua workload, como [AWS Trainium](https://aws.amazon.com/machine-learning/trainium/), [AWS Inferentia](https://aws.amazon.com/machine-learning/inferentia/) e [Amazon EC2 DL1](https://aws.amazon.com/ec2/instance-types/dl1/). AWS Instâncias do Inferentia, como instâncias Inf2, [oferecem performance até 50% melhor por watt em relação a instâncias comparáveis do Amazon EC2](https://aws.amazon.com/machine-learning/inferentia/). 
+  Colete métricas de uso para as instâncias com computação acelerada. Por exemplo, você pode usar o agente do CloudWatch para coletar métricas como `utilization_gpu` e `utilization_memory` e para suas GPUs, conforme mostrado em [Coletar métricas de GPU NVIDIA com o Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-NVIDIA-GPU.html). 
+  Otimize o código, a operação de rede e as configurações dos aceleradores de hardware para garantir que o hardware subjacente seja totalmente utilizado. 
  +  [Otimizar as configurações da GPU](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/optimize_gpu.html) 
  +  [Monitoramento e otimização da GPU na AMI de aprendizado profundo](https://docs.aws.amazon.com/dlami/latest/devguide/tutorial-gpu.html) 
  +  [Otimizar a E/S para ajuste de performance da GPU de treinamento de aprendizado profundo no Amazon SageMaker AI](https://aws.amazon.com/blogs/machine-learning/optimizing-i-o-for-gpu-performance-tuning-of-deep-learning-training-in-amazon-sagemaker/) 
+  Use as mais recentes bibliotecas de alta performance e drivers de GPU. 
+  Use automação para liberar instâncias de GPU quando não estiverem em uso. 

## Recursos
<a name="resources"></a>

 **Documentos relacionados:** 
+  [Trabalhar com GPUs no Amazon Elastic Container Service](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-gpu.html) 
+  [Instâncias de GPU](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/accelerated-computing-instances.html#gpu-instances) 
+  [Instâncias com AWS Trainium](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/accelerated-computing-instances.html#aws-trainium-instances) 
+  [Instâncias com o AWS Inferentia](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/accelerated-computing-instances.html#aws-inferentia-instances) 
+  [Vamos arquitetar\$1 Como arquitetar com chips e aceleradores personalizados](https://aws.amazon.com/blogs/architecture/lets-architect-custom-chips-and-accelerators/) 
+  [Computação acelerada](https://aws.amazon.com/ec2/instance-types/#Accelerated_Computing) 
+  [Instâncias VT1 do Amazon EC2](https://aws.amazon.com/ec2/instance-types/vt1/) 
+  [Como faço para escolher o tipo de instância do Amazon EC2 apropriado para minha workload?](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-instance-choose-type-for-workload/) 
+  [Escolher o melhor acelerador de IA e compilação de modelos para inferência de visão computacional com o 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/) 

 **Vídeos relacionados:** 
+  AWS re:Invent 2021: [Como selecionar instâncias de GPU do Amazon Elastic Compute Cloud para aprendizado profundo](https://www.youtube.com/watch?v=4bVrIbgGWEA&ab_channel=AWSEvents) 
+  [AWS re:Invent 2022 [NOVO LANÇAMENTO\$1]: Introdução as instâncias Inf2 do Amazon EC2 baseadas no AWS Inferentia2](https://www.youtube.com/watch?v=jpqiG02Y2H4&ab_channel=AWSEvents) 
+  [AWS re:Invent 2022: Acelerar o aprendizado profundo e inovar com mais rapidez com o AWS Trainium](https://www.youtube.com/watch?v=YRqvfNwqUIA&ab_channel=AWSEvents) 
+  [AWS re:Invent 2022: Aprendizado profundo na AWS com a NVIDIA: do treinamento à implantação](https://www.youtube.com/watch?v=l8AFfaCkp0E&ab_channel=AWSEvents) 

 **Exemplos relacionados:** 
+  [Amazon SageMaker AI e NVIDIA GPU Cloud (NGC)](https://github.com/aws-samples/amazon-sagemaker-nvidia-ngc-examples) 
+  [Usar o SageMaker AI com Trainium e Inferentia para workloads otimizadas de treinamento e de inferência em aprendizado profundo](https://github.com/aws-samples/sagemaker-trainium-inferentia) 
+  [Otimizar modelos de PLN com instâncias Inf1 do Amazon Elastic Compute Cloud no Amazon SageMaker AI](https://github.com/aws-samples/aws-inferentia-huggingface-workshop) 