

# PERF02-BP06 Utilización de aceleradores computacionales optimizados basados en hardware
<a name="perf_compute_hardware_compute_accelerators"></a>

 Use aceleradores de hardware para realizar ciertas funciones de manera más eficiente que con las alternativas basadas en CPU. 

 **Antipatrones usuales:** 
+  En su carga de trabajo, no ha comparado una instancia de uso general con una instancia personalizada que pueda ofrecer mayor rendimiento y costes más reducidos. 
+  Utiliza aceleradores computacionales basados en hardware para tareas en las que podría ser más eficiente utilizar alternativas basadas en CPU. 
+  No supervisa el uso de GPU. 

**Ventajas de aplicar esta práctica recomendada:** al utilizar aceleradores basados en hardware, como unidades de procesamiento de gráficos (GPU) y matrices de puertas programables en campo (FPGA), puede ejecutar determinadas funciones de procesamiento de manera más eficiente. 

 **Nivel de riesgo expuesto si no se establece esta práctica recomendada:** medio 

## Guía para la implementación
<a name="implementation-guidance"></a>

 Las instancias de computación acelerada proporcionan acceso a aceleradores de computación basados en hardware, como las GPU y las FPGA. Estos aceleradores de hardware realizan ciertas funciones, como el procesamiento gráfico o la concordancia de patrones de datos, de forma más eficiente que las alternativas basadas en CPU. Muchas cargas de trabajo aceleradas, como el renderizado, la transcodificación y el machine learning, son muy variables en cuanto al uso de recursos. Ejecute este hardware únicamente durante el tiempo necesario y retírelo de forma automatizada cuando no sea necesario para mejorar la eficiencia general del rendimiento. 

### Pasos para la implementación
<a name="implementation-steps"></a>
+  Identifique qué [instancias de computación acelerada](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/accelerated-computing-instances.html) pueden satisfacer sus necesidades. 
+  En las cargas de trabajo de machine learning, utilice un hardware personalizado específico para la carga de trabajo, como [AWS Trainium](https://aws.amazon.com/machine-learning/trainium/), [AWS Inferentia](https://aws.amazon.com/machine-learning/inferentia/) y [Amazon EC2 DL1](https://aws.amazon.com/ec2/instance-types/dl1/). Las instancias de AWS Inferentia, como las instancias Inf2, [ofrecen hasta un 50 % más de rendimiento por vatio que las instancias de Amazon EC2 equivalentes](https://aws.amazon.com/machine-learning/inferentia/). 
+  Recopile las métricas de uso de sus instancias de computación acelerada. Por ejemplo, puede utilizar el agente de CloudWatch para recopilar las métricas, como `utilization_gpu` y `utilization_memory`, de sus GPU, tal y como se muestra en [Collect NVIDIA GPU metrics with Amazon CloudWatch](https://docs.aws.amazon.com/Amazon/latest/monitoring/-Agent-NVIDIA-GPU.html). 
+  Optimice el código, el funcionamiento de la red y la configuración de los aceleradores de hardware para asegurarse de que se aprovecha al máximo el hardware subyacente. 
  +  [Optimizar la configuración de GPU](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/optimize_gpu.html) 
  +  [GPU Monitoring and Optimization in the Deep Learning AMI](https://docs.aws.amazon.com/dlami/latest/devguide/tutorial-gpu.html) (Supervisión y optimización de la GPU en la AMI de aprendizaje profundo) 
  +  [Optimizing I/O for GPU performance tuning of deep learning training in Amazon SageMaker AI](https://aws.amazon.com/blogs/machine-learning/optimizing-i-o-for-gpu-performance-tuning-of-deep-learning-training-in-amazon-sagemaker/) (Optimización de la E/S para el ajuste del rendimiento de la GPU en el entrenamiento del aprendizaje profundo en Amazon SageMaker AI) 
+  Utilice las bibliotecas de alto rendimiento y los controladores de GPU más recientes. 
+  Use la automatización para liberar instancias de GPU cuando no se estén usando. 

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

 **Documentos relacionados:** 
+  [Uso de GPU en Amazon Elastic Container Service](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-gpu.html) 
+  [GPU instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/accelerated-computing-instances.html#gpu-instances) 
+  [Instances with AWS Trainium](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/accelerated-computing-instances.html#aws-trainium-instances) 
+  [Instances with AWS Inferentia](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/accelerated-computing-instances.html#aws-inferentia-instances) 
+  [Let’s Architect\! Architecting with custom chips and accelerators](https://aws.amazon.com/blogs/architecture/lets-architect-custom-chips-and-accelerators/) 
+  [Computación acelerada](https://aws.amazon.com/ec2/instance-types/#Accelerated_Computing) 
+  [Instancias VT1 de Amazon EC2](https://aws.amazon.com/ec2/instance-types/vt1/) 
+  [How do I choose the appropriate Amazon EC2 instance type for my workload?](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/) 

 **Vídeos relacionados: ** 
+  AWS re:Invent 2021 - [How to select Amazon Elastic Compute Cloud GPU instances for deep learning](https://www.youtube.com/watch?v=4bVrIbgGWEA&ab_channel=AWSEvents) 
+  [AWS re:Invent 2022 - [NEW LAUNCH\!] Introducing AWS Inferentia2-based Amazon EC2 Inf2 instances](https://www.youtube.com/watch?v=jpqiG02Y2H4&ab_channel=AWSEvents) 
+  [AWS re:Invent 2022 - Accelerate deep learning and innovate faster with AWS Trainium](https://www.youtube.com/watch?v=YRqvfNwqUIA&ab_channel=AWSEvents) 
+  [AWS re:Invent 2022 - Deep learning on AWS with NVIDIA: From training to deployment](https://www.youtube.com/watch?v=l8AFfaCkp0E&ab_channel=AWSEvents) 

 **Ejemplos relacionados:** 
+  [Amazon SageMaker AI and NVIDIA GPU Cloud (NGC)](https://github.com/aws-samples/amazon-sagemaker-nvidia-ngc-examples) 
+  [Use SageMaker AI with Trainium and Inferentia for optimized deep learning training and inferencing workloads](https://github.com/aws-samples/sagemaker-trainium-inferentia) 
+  [Optimizing NLP models with Amazon Elastic Compute Cloud Inf1 instances in Amazon SageMaker AI](https://github.com/aws-samples/aws-inferentia-huggingface-workshop) 