Jika menjalankan beberapa proses SDK pada Dataflow GPU bersama, Anda dapat meningkatkan efisiensi dan pemanfaatan GPU dengan mengaktifkan NVIDIA Multi-Process Service (MPS). MPS mendukung pemrosesan serentak di GPU dengan memungkinkan proses berbagi konteks CUDA dan menjadwalkan resource. MPS dapat mengurangi biaya peralihan konteks, meningkatkan paralelisme, dan mengurangi persyaratan penyimpanan.
Alur kerja target adalah pipeline Python yang berjalan pada pekerja yang memiliki lebih dari satu vCPU.
MPS adalah teknologi NVIDIA yang mengimplementasikan CUDA API, sebuah platform NVIDIA yang mendukung komputasi GPU untuk tujuan umum. Untuk mengetahui informasi selengkapnya, lihat panduan pengguna Layanan Multi-Proses NVIDIA.
Manfaat
- Meningkatkan pemrosesan paralel dan throughput keseluruhan untuk pipeline GPU, terutama untuk beban kerja dengan penggunaan resource GPU yang rendah.
- Meningkatkan penggunaan GPU, yang dapat mengurangi biaya Anda.
Dukungan dan batasan
- MPS hanya didukung pada pekerja Dataflow yang menggunakan satu GPU.
- Pipeline tidak dapat menggunakan opsi pipeline yang membatasi paralelisme.
- Hindari melampaui memori GPU yang tersedia, terutama untuk kasus penggunaan yang melibatkan pemuatan model machine learning besar. Seimbangkan jumlah vCPU dan proses SDK dengan memori GPU yang tersedia yang diperlukan proses ini.
- MPS tidak memengaruhi konkurensi operasi non-GPU.
- Dataflow Prime tidak mendukung MP.
Aktifkan MPS
Saat Anda menjalankan pipeline dengan GPU, aktifkan MPS dengan melakukan hal berikut:
- Pada opsi pipeline
--dataflow_service_options
, tambahkanuse_nvidia_mps
ke parameterworker_accelerator
. - Tetapkan
count
ke 1. - Jangan gunakan opsi pipeline
--experiments=no_use_multiple_sdk_containers
.
Opsi pipeline --dataflow_service_options
terlihat seperti berikut:
--dataflow_service_options="worker_accelerator=type:GPU_TYPE;count:1;install-nvidia-driver;use_nvidia_mps"
Jika Anda menggunakan TensorFlow dan mengaktifkan MPS, lakukan hal berikut:
- Aktifkan alokasi memori dinamis di GPU. Gunakan salah satu opsi TensorFlow berikut:
- Aktifkan pertumbuhan memori dengan memanggil
tf.config.experimental.set_memory_growth(gpu, True)
. - Tetapkan variabel lingkungan
TF_FORCE_GPU_ALLOW_GROWTH
ke benar (true).
- Aktifkan pertumbuhan memori dengan memanggil
- Gunakan perangkat logis dengan batas memori yang sesuai.
- Untuk performa yang optimal, terapkan penggunaan GPU jika memungkinkan dengan menggunakan penempatan perangkat lunak atau penempatan manual.
Langkah selanjutnya
- Untuk meninjau praktik terbaik lainnya, lihat GPU dan paralelisme pekerja.