Utilisation du processeur graphique
Le service de flux de données prend en charge Spark entièrement géré, basé sur un processeur graphique, pour accélérer et unifier le pipeline de données et d'intelligence artificielle pour l'apprentissage automatique.
L'accélérateur RAPIDS Spark de NVIDIA accélère l'ETC dans le service de flux de données et optimise le rendement-prix. Exécutez des applications Spark de flux de données existantes sur un processeur graphique sans modification du code pour tirer parti de l'accélération RAPIDS de NVIDIA.
Préalable
La version minimale de Spark pour exécuter des formes GPU sur le service de flux de données est Spark 3.2.1. Si vous souhaitez utiliser des formes GPU dans le service de flux de données, soumettez une demande de service pour Oracle Cloud Infrastructure Data Flow. Indiquez la forme de processeur graphique qui vous intéresse et décrivez votre cas d'utilisation. Ces informations sont utilisées pour atteindre la limite et l'augmentation de quota nécessaires pour votre location.
Formes prises en charge
- VM.GPU.A10 : Calcul GPU basé sur X9.
-
- GPU : NVIDIA A10 24 Go
- UC : Intel Xeon Platinum 8358. Fréquence de base de 2,6 GHz, fréquence turbo maximale de 3,4 GHz.
forme | Nombre d'OCPU | Mémoire de GPU (Go) | Mémoire d'UC (Go) | Stockage par blocs (Go) | bande passante de réseau maximale (Gbit/s) | Nombre total maximal de cartes vNIC (Linux) |
---|---|---|---|---|---|---|
VM.GPU.A10.1 (GPU : 1xA10 | 15 | 24 | 240 | 1,575 | 24 | 15 |
VM.GPU.A10.2 (GPU : 2xA10) | 30 | 48 | 480 | 3,075 | 48 | 24 |
Pour plus d'informations, consultez la Documentation de Compute.
Démarrage avec les formes GPU pour Spark dans le service de flux de données
Lorsque vous mélangez et mettez en correspondance des formes d'UC et de GPU de différentes architectures pour votre pilote et vos exécuteurs, assurez-vous que l'application et toutes les dépendances sont indépendantes de l'architecture.
- Utilisation des options --jars et --conf
- Cette commande compatible Spark-submit utilise l'accélérateur NVIDIA RAPIDS inclus pour Apache Spark :
oci --profile <cli-profile> --auth security_token data-flow run submit \ --compartment-id <compartment-id> \ --execute "--jars oci://dataflow_sample_apps@bigdatadatasciencelarge/rapids-4-spark_2.12-23.06.0.jar \ --driver-shape "VM.GPU.A10.1" \ --executor-shape "VM.GPU.A10.1" \ --num-executors 1 --spark-version "3.2.1" \ --conf spark.rapids.sql.explain=ALL \ --conf spark.plugins=com.nvidia.spark.SQLPlugin \ --class com.oracle.oci.dataflow.samples.DataFlowJavaSample \ oci://dataflow_sample_apps@bigdatadatasciencelarge/dataflow-java-sample-1.0-SNAPSHOT.jar"
- Utilisation des options --packages et --conf
- Cette commande compatible avec spark-submit extrait le dernier accélérateur RAPIDS de NVIDIA pour Apache Spark du référentiel Maven :
oci --profile <cli-profile> --auth security_token data-flow run submit \ --compartment-id <compartment-id> \ --driver-shape "VM.GPU.A10.1" \ --executor-shape "VM.GPU.A10.1" \ --num-executors 1 \ --spark-version "3.2.1" \ --execute "--packages com.nvidia:rapids-4-spark_2.12-23.06.0 \ --conf spark.rapids.sql.explain=ALL --conf spark.plugins=com.nvidia.spark.SQLPlugin \ --class com.oracle.oci.dataflow.samples.DataFlowJavaSample oci://dataflow_sample_apps@bigdatadatasciencelarge/dataflow-java-sample-1.0-SNAPSHOT.jar"
Pour la dernière version de Spark RAPIDS, sélectionnez Version de téléchargement de NVIDIA Spark RAPIDS. Pour plus d'options de réglage, voir le guide de réglage RAPIDS Accelerator for Apache Spark.
L'accélérateur Spark RAPIDS de NVIDIA peut, de façon transparente, accélérer l'extraction, la transformation et le chargement dans le service de flux de données pour OCI et optimiser le rapport prix-performance. Vous pouvez exécuter des applications Spark de flux de données existantes sur des processeurs graphiques avec aucune modification de code pour tirer parti de l'accélération RAPIDS de NVIDIA.
Lors de l'utilisation de l'accélérateur RAPIDS Spark de NVIDIA pour les GPU exécutés sur le service de flux de données, l'interface utilisateur Spark affiche toutes les opérations d'UC remplacées par des opérations GPU avec un préfixe 'GPU'. Par exemple :