

# PERF02-BP06 Uso di acceleratori di elaborazione ottimizzati basati su hardware
<a name="perf_compute_hardware_compute_accelerators"></a>

 Usa gli acceleratori hardware per eseguire determinate funzioni in modo più efficiente rispetto alle alternative basate sulla CPU. 

 **Anti-pattern comuni:** 
+  Nel carico di lavoro non hai confrontato un'istanza per uso generico con un'istanza dedicata in grado di offrire prestazioni più elevate e costi inferiori. 
+  Usi gli acceleratori di calcolo basati su hardware per attività in cui sono più efficienti le alternative basate su CPU. 
+  Utilizzo delle GPU non monitorato. 

**Vantaggi dell'adozione di questa best practice:** utilizzando gli acceleratori basati su hardware, come le unità di elaborazione grafica (GPU) e le serie di porte programmabili sul campo (FPGA), è possibile eseguire determinate funzioni di elaborazione in modo più efficiente. 

 **Livello di rischio associato se questa best practice non fosse adottata:** medio 

## Guida all’implementazione
<a name="implementation-guidance"></a>

 Le istanze a calcolo accelerato forniscono l'accesso agli acceleratori di calcolo basati su hardware, come GPU e FPGA. Questi acceleratori hardware eseguono alcune funzioni, come l'elaborazione grafica o la rilevazione della corrispondenza dei modelli di dati, in modo più efficiente rispetto alle alternative basate su CPU. Molti carichi di lavoro accelerati, come il rendering grafico, la transcodifica e il machine learning, sono altamente variabili in termini di utilizzo di risorse. Esegui questo hardware solo per il tempo necessario e disattivalo con l'automazione quando non serve per migliorare l'efficienza complessiva delle prestazioni. 

### Passaggi dell'implementazione
<a name="implementation-steps"></a>
+  Identifica le [istanza a calcolo accelerato](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/accelerated-computing-instances.html) in grado di soddisfare i tuoi requisiti. 
+  Per i carichi di lavoro di machine learning, sfrutta l'hardware specifico per il tuo carico di lavoro, come [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 Le istanze Inferentia come le istanze Inf2 [offrono fino al 50% in più di prestazioni per watt rispetto alle istanze Amazon EC2 paragonabili](https://aws.amazon.com/machine-learning/inferentia/). 
+  Raccogli i parametri di utilizzo delle istanze a calcolo accelerato. Ad esempio, puoi utilizzare l'agente CloudWatch per acquisire metriche quali `utilization_gpu` e `utilization_memory` per le tue GPU, come illustrato in [Collect NVIDIA GPU metrics with Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-NVIDIA-GPU.html). 
+  Ottimizza il codice, il funzionamento della rete e le impostazioni degli acceleratori hardware per garantire il pieno utilizzo dell'hardware sottostante. 
  +  [Ottimizza le impostazioni GPU](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/optimize_gpu.html) 
  +  [Monitoraggio e ottimizzazione delle GPU nell'AMI per il deep learning](https://docs.aws.amazon.com/dlami/latest/devguide/tutorial-gpu.html) 
  +  [Optimizing I/O for GPU performance tuning of deep learning training in Amazon SageMaker](https://aws.amazon.com/blogs/machine-learning/optimizing-i-o-for-gpu-performance-tuning-of-deep-learning-training-in-amazon-sagemaker/) 
+  Utilizza le librerie e i driver per GPU più recenti e performanti. 
+  Utilizza l'automazione per rilasciare le istanze GPU non in uso. 

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

 **Documenti correlati:** 
+  [Utilizzo di GPU su Amazon Elastic Container Service](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-gpu.html) 
+  [Istanze GPU](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/accelerated-computing-instances.html#gpu-instances) 
+  [Istanze con AWS Trainium](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/accelerated-computing-instances.html#aws-trainium-instances) 
+  [Istanze con 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/) 
+  [Calcolo accelerato](https://aws.amazon.com/ec2/instance-types/#Accelerated_Computing) 
+  [Amazon EC2 VT1 Instances](https://aws.amazon.com/ec2/instance-types/vt1/) 
+  [Come faccio a scegliere il tipo di istanza Amazon EC2 appropriata per il mio carico di lavoro?](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 ](https://aws.amazon.com/blogs/machine-learning/choose-the-best-ai-accelerator-and-model-compilation-for-computer-vision-inference-with-amazon-sagemaker/) 

 **Video correlati:** 
+  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\$1] 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) 

 **Esempi correlati:** 
+  [Amazon SageMaker and NVIDIA GPU Cloud (NGC)](https://github.com/aws-samples/amazon-sagemaker-nvidia-ngc-examples) 
+  [Use SageMaker 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](https://github.com/aws-samples/aws-inferentia-huggingface-workshop) 