GPUの使用
データ・フローは、完全管理型のGPUベースのSparkをサポートし、データおよびAI MLパイプラインを高速化および統合します。
NVIDIAのSpark RAPIDSアクセラレータにより、データ・フローのETLが目に見えて高速化され、コストパフォーマンスが最適化されます。GPUでは、既存のData Flow Sparkアプリケーションをコードを変更せずに実行でき、NVIDIA RAPIDSアクセラレーションの利点を享受できます。
前提条件
データ・フローでGPUシェイプを実行するためのSparkの最小バージョンはSpark 3.2.1です。データ・フローでのGPUシェイプの使用に関心がある場合は、Oracle Cloud Infrastructureデータ・フローのサービス・リクエストを申請してください。目的のGPUシェイプを指定し、ユース・ケースをお知らせください。この情報は、テナンシに必要な制限と割当てを引き上げるために使用されます。
サポートされるシェイプ
- VM.GPU.A10: X9ベースのGPUコンピュート。
-
- GPU: NVIDIA A10 24GB
- CPU: Intel Xeon Platinum 8358。ベース周波数2.6GHz、最大ターボ周波数3.4GHz。
シェイプ | OCPUの数 | GPUメモリー(GB) | CPUメモリー(GB) | ブロック・ストレージ(GB) | 最大Network Bandwidth (Gbps) | VNICの最大数(Linux) |
---|---|---|---|---|---|---|
VM.GPU.A10.1 (GPU: 1xA10) | 15 | 24 | 240 | 1575 | 24 | 15 |
VM.GPU.A10.2 (GPU: 2xA10) | 30 | 48 | 480 | 3075 | 48 | 24 |
詳細は、コンピュート・ドキュメントを参照してください。
データ・フロー上のSparkのGPUシェイプの開始
ドライバやエグゼキュータ用の様々なアーキテクチャのCPUシェイプとGPUシェイプを混在させて一致させる場合は、アプリケーションとすべての依存関係がアーキテクチャに依存しないことを確認してください。
- Using --jars and --conf options
- このSpark-submit互換コマンドでは、含まれているApache Spark用のNVIDIA RAPIDSアクセラレータが使用されます:
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"
- Using --packages and --conf options
- このSpark-submitの互換コマンドでは、Mavenリポジトリから、最新のApache Spark用のNVIDIA RAPIDSアクセラレータが取得されます:
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"
最新のSpark RAPIDSバージョンについては、NVIDIA Spark RAPIDSダウンロード・バージョンを確認してください。チューニング・オプションの詳細は、RAPIDS Accelerator for Apache Sparkチューニング・ガイドを参照してください。
NVIDIAのSpark RAPIDSアクセラレータは、OCI Data FlowのスピードアップETLを透過的に実現し、コストパフォーマンスを最適化できます。GPUでは、既存のData Flow Sparkアプリケーションをコードを変更せずに実行でき、NVIDIA RAPIDSアクセラレーションの利点を享受できます。
NVIDIAのSpark RAPIDSアクセラレータをデータ・フローで実行する場合、Spark UIには、GPU操作に置き換えられたCPU操作が「GPU」接頭辞で表示されます。次に例を示します: