NVIDIA Device Plugin adalah plugin perangkat GPU untuk kluster Kubernetes yang mengelola GPU pada setiap node sehingga Kubernetes dapat memanfaatkan sumber daya GPU secara lebih efisien. Topik ini menjelaskan cara meningkatkan dan merestart NVIDIA Device Plugin, mengisolasi perangkat GPU, serta memeriksa versinya pada node Alibaba Cloud Container Service for Kubernetes (ACK) dalam skenario penjadwalan GPU eksklusif.
Catatan penggunaan
Saat menerapkan NVIDIA Device Plugin sebagai DaemonSet, perhatikan hal-hal berikut:
-
Add-on ini dipasang secara otomatis saat Anda membuat kluster.
-
Jika Anda menguninstall add-on ini, node berakselerasi GPU yang diskalakan tidak dapat melaporkan sumber daya GPU-nya dengan benar.
-
Proses peningkatan kluster dari versi sebelumnya ke 1.32 juga akan meningkatkan NVIDIA Device Plugin dari static pod menjadi add-on ACK.
-
DaemonSet menggunakan NodeSelector (
ack.node.gpu.schedule=default). Saat node berakselerasi GPU ditambahkan ke kluster, skrip ACK yang menambahkan node tersebut secara otomatis melampirkan label ini ke node berakselerasi GPU tersebut. DaemonSet kemudian menerapkan pod-nya pada node berakselerasi GPU tersebut.
-
Jika sebuah node menjalankan Ubuntu 22.04 atau Red Hat Enterprise Linux (RHEL) 9.3 64-bit, NVIDIA Device Plugin mungkin tidak berfungsi dengan benar setelah Anda menjalankan perintah
systemctl daemon-reloadatausystemctl daemon-reexec. Masalah ini terjadi karena komponenack-nvidia-device-pluginsecara default menetapkan variabel lingkunganNVIDIA_VISIBLE_DEVICES=alluntuk pod, yang dapat menyebabkan perangkat GPU tidak dapat diakses. Untuk informasi lebih lanjut, lihat Apa yang harus saya lakukan jika muncul error "Failed to initialize NVML: Unknown Error" saat menjalankan kontainer GPU?. -
Jika Anda meningkatkan kluster dari versi sebelum 1.32 ke versi 1.32 sebelum 1 Mei 2025, kluster tersebut mungkin berisi NVIDIA Device Plugin yang diterapkan baik sebagai static pod maupun DaemonSet. Anda dapat menjalankan skrip berikut untuk menemukan node tempat NVIDIA Device Plugin diterapkan sebagai static pod.
#!/bin/bash # Loop through all pods with the component=nvidia-device-plugin label in the kube-system namespace. for i in $(kubectl get po -n kube-system -l component=nvidia-device-plugin | grep -v NAME | awk '{print $1}');do # Check if the pod's configuration source is 'file', which indicates a static pod. if kubectl get po $i -o yaml -n kube-system | grep 'kubernetes.io/config.source: file' &> /dev/null;then # Print the node name if it is a static pod. kubectl get pod $i -n kube-system -o jsonpath='{.spec.nodeName}{"\n"}' fi doneOutput yang diharapkan:
cn-beijing.10.12.XXX.XX cn-beijing.10.13.XXX.XXOutput tersebut menunjukkan bahwa beberapa node masih memiliki NVIDIA Device Plugin yang diterapkan sebagai static pod. Anda dapat menggunakan perintah berikut untuk memigrasikan NVIDIA Device Plugin dari static pod ke DaemonSet.
kubectl label nodes <NODE_NAME> ack.node.gpu.schedule=default -
Saat Anda meningkatkan node pool pada kluster versi 1.31 atau lebih lama, proses tersebut juga akan meningkatkan NVIDIA Device Plugin dan mengatur ulang konfigurasi non-standarnya.
Perbedaan versi
Penerapan dan strategi manajemen komponen ack-nvidia-device-plugin bervariasi tergantung pada versi kluster, seperti yang dijelaskan dalam tabel berikut.
|
Fitur |
Versi 1.32 dan lebih baru |
Versi 1.20 hingga 1.31 |
|
Metode penerapan |
DaemonSet |
static pod |
|
Metode manajemen |
Halaman Add-ons di Konsol ACK |
Manual |
|
Persyaratan label node |
ack.node.gpu.schedule=default |
Tidak ada |
|
Strategi peningkatan node pool |
Peningkatan manual |
Peningkatan otomatis |
Jika versi kluster Anda lebih lama dari 1.20, kami menyarankan agar Anda meningkatkan kluster secara manual.
Prasyarat
Login ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
-
Gunakan kubectl untuk terhubung ke kluster di Workbench atau CloudShell.
Periksa versi NVIDIA device plugin
Versi 1.32 dan lebih baru
Untuk add-on yang diterapkan sebagai DaemonSet, buka halaman Add-ons di Konsol ACK, temukan add-on ack-nvidia-device-plugin, lalu lihat versinya pada kartu add-on tersebut.
Versi 1.20 hingga 1.31
Untuk add-on yang diterapkan sebagai static pod, jalankan perintah berikut untuk memeriksa versi add-on.
kubectl get pods -n kube-system -l component=nvidia-device-plugin \
-o jsonpath='{range .items[*]}{.spec.containers[0].image}{"\t"}{.spec.nodeName}{"\n"}{end}' \
| awk -F'[:/]' '{split($NF, a, "-"); print a[1] "\t" $0}' \
| sort -k1,1V \
| cut -f2- \
| awk -F'\t' '{split($1, img, ":"); print img[NF] "\t" $2}'
Lakukan peningkatan NVIDIA device plugin
-
Lakukan peningkatan add-on ack-nvidia-device-plugin.
Versi 1.32 dan lebih baru
Login ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
Pada halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Add-ons.
-
Pada halaman Add-ons, temukan kartu ack-nvidia-device-plugin dan klik Upgrade.
-
Pada kotak dialog yang muncul, klik OK.
Versi 1.20 hingga 1.31
Pada halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik .
-
Pilih node berakselerasi GPU yang ingin Anda kelola, klik Batch Operations di bagian bawah daftar node, pilih Run Shell Scripts pada kotak dialog Batch Operations, lalu klik OK.
PentingKami menyarankan agar Anda terlebih dahulu melakukan peningkatan plugin perangkat GPU pada sejumlah kecil node berakselerasi GPU. Setelah memverifikasi bahwa plugin berfungsi sesuai harapan, lakukan peningkatan pada node yang tersisa.
-
Anda akan dialihkan ke Konsol CloudOps Orchestration Service (OOS). Atur Execution Mode menjadi Paused Upon Failure dan klik Next: Parameter Settings.
-
Pada halaman pengaturan parameter, pilih Run Shell Script dan tempel skrip contoh berikut.
Catatan-
Atur parameter
RUN_PKG_VERSIONdalam skrip ke nomor versi utama kluster (misalnya, 1.30). Jangan masukkan nomor versi minor (misalnya, 1.30.1). Jika tidak, skrip akan menghasilkan error. -
Dalam skrip, ubah parameter
REGION_IDmenjadi ID wilayah kluster saat ini, misalnya cn-beijing.
#!/bin/bash set -xe # Set the Kubernetes major version. RUN_PKG_VERSION=1.30 # Set the region ID. REGION_ID=cn-beijing function update_device_plugin() { base_dir=/tmp/update_device_plugin rm -rf $base_dir mkdir -p $base_dir cd $base_dir region_id=$REGION_ID PKG_URL=https://aliacs-k8s-${region_id}.oss-${region_id}-internal.aliyuncs.com/public/pkg/run/run-${RUN_PKG_VERSION}.tar.gz curl -sSL --retry 3 --retry-delay 2 -o run.tar.gz $PKG_URL tar -xf run.tar.gz local dir=pkg/run/$RUN_PKG_VERSION/module # Replace the image registry address. sed -i "s@registry.cn-hangzhou.aliyuncs.com/acs@registry-${region_id}-vpc.ack.aliyuncs.com/acs@g" $dir/nvidia-device-plugin.yml mkdir -p /etc/kubernetes/device-plugin-backup mkdir -p /etc/kubernetes/manifests # Back up the old configuration file. mv /etc/kubernetes/manifests/nvidia-device-plugin.yml /etc/kubernetes/device-plugin-backup/nvidia-device-plugin.yml.$(date +%s) sleep 5 # Copy the new configuration file. cp -a $dir/nvidia-device-plugin.yml /etc/kubernetes/manifests echo "succeeded to update device plugin" } # Check if the nvidia-device-plugin.yml file exists. if [ -f /etc/kubernetes/manifests/nvidia-device-plugin.yml ]; then update_device_plugin else echo "skip to update device plugin" fi -
-
Klik Next: Confirm. Setelah mengonfirmasi informasi, klik Create.
Setelah tugas dibuat, Anda akan secara otomatis dialihkan ke halaman Task Execution Management, tempat Anda dapat melihat status eksekusi tugas. Pembaruan berhasil jika Output bernilai
succeeded to update device plugin.
-
Periksa apakah add-on berjalan sesuai harapan.
Jalankan perintah berikut untuk memeriksa apakah plugin perangkat GPU berfungsi dengan benar pada node berakselerasi GPU.
-
Gunakan kubectl untuk terhubung ke kluster di Workbench atau CloudShell.
-
Jalankan perintah berikut untuk memeriksa apakah NVIDIA Device Plugin telah direstart:
kubectl get po -n kube-system -l component=nvidia-device-pluginKolom AGE pada output contoh menunjukkan apakah pod telah direstart.
NAME READY STATUS RESTARTS AGE nvidia-device-plugin-xxxx 1/1 Running 1 1m -
Setelah semua pod direstart, jalankan skrip berikut untuk memeriksa apakah node melaporkan sumber daya GPU:
#!/bin/bash # Get all NVIDIA Device Plugin pods and their corresponding nodes. PODS=$(kubectl get po -n kube-system -l component=nvidia-device-plugin -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.spec.nodeName}{"\n"}{end}') # Iterate through each pod's node. echo "$PODS" | while IFS=$'\t' read -r pod_name node_name; do # Get the allocatable nvidia.com/gpu resource value for the node. gpu_allocatable=$(kubectl get node "$node_name" -o jsonpath='{.status.allocatable.nvidia\.com/gpu}' 2>/dev/null) # Check if the resource value is 0. if [ "$gpu_allocatable" == "0" ]; then echo "Error: node=$node_name, pod=$pod_name, resource(nvidia.com/gpu) is 0" fi doneJika sebuah node melaporkan nol sumber daya, lihat Restart NVIDIA Device Plugin.
-
Restart NVIDIA device plugin
Dalam skenario penjadwalan GPU eksklusif di ACK, plugin perangkat yang melaporkan perangkat GPU pada sebuah node diterapkan sebagai pod secara default. Oleh karena itu, Anda harus melakukan restart pada node target.
Versi 1.32 dan lebih baru
-
Jalankan perintah berikut untuk menemukan pod plugin perangkat pada node yang sesuai.
kubectl get pod -n kube-system -l component=nvidia-device-plugin -o wide | grep <NODE> -
Jalankan perintah berikut untuk merestart pod plugin perangkat yang sesuai.
kubectl delete po <DEVICE_PLUGIN_POD> -n kube-system
Versi 1.20 hingga 1.31
Pada halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik .
-
Pada halaman Node Pools, klik nama node pool untuk membuka halaman manajemen node, lalu login ke node berakselerasi GPU target.
Jika sistem operasinya adalah ContainerOS, login pengguna langsung dinonaktifkan secara default untuk mengurangi potensi risiko keamanan, dan login SSH tidak disediakan. Jika Anda tetap perlu login ke instans untuk O&M, lihat O&M untuk node ContainerOS.
-
Pilih node berakselerasi GPU yang ingin Anda kelola, klik Batch Operations di bagian bawah daftar node, pilih Execute Shell Command pada kotak dialog Batch Operations, lalu klik OK.
PentingKami menyarankan agar Anda terlebih dahulu merestart plugin perangkat pada sejumlah kecil node berakselerasi GPU. Setelah memverifikasi bahwa plugin berfungsi sesuai harapan, lakukan restart pada node yang tersisa.
-
Anda akan dialihkan ke Konsol OOS. Atur Execution Mode menjadi Paused Upon Failure dan klik Next: Parameter Settings.
-
Pada halaman pengaturan parameter, pilih Run Shell Script dan tempel skrip contoh berikut.
#!/bin/bash set -e # Check if the nvidia-device-plugin.yml file exists. if [ -f /etc/kubernetes/manifests/nvidia-device-plugin.yml ]; then # Move the file to restart the static pod. cp -a /etc/kubernetes/manifests/nvidia-device-plugin.yml /etc/kubernetes rm -rf /etc/kubernetes/manifests/nvidia-device-plugin.yml sleep 5 mv /etc/kubernetes/nvidia-device-plugin.yml /etc/kubernetes/manifests echo "the nvidia device is restarted" else echo "no need to restart nvidia device plugin" fi -
Klik Next: Confirm. Setelah mengonfirmasi informasi, klik Create. Anda akan dialihkan ke halaman Task Execution Management tempat Anda dapat melihat status tugas.
-
Jalankan perintah berikut untuk memeriksa apakah plugin perangkat GPU berfungsi dengan benar pada node berakselerasi GPU.
kubectl get nodes <NODE_NAME> -o jsonpath='{.metadata.name} ==> nvidia.com/gpu: {.status.allocatable.nvidia\.com/gpu}'Output yang diharapkan:
cn-hangzhou.172.16.XXX.XX ==> nvidia.com/gpu: 1Nilai bukan nol untuk sumber daya ekstensi
nvidia.com/gpupada node berakselerasi GPU menunjukkan bahwa Device Plugin berfungsi dengan baik.
Ubah kunci checkpoint plugin perangkat
Saat mengalokasikan perangkat ke pod, plugin perangkat membuat file titik pemeriksaan (checkpoint) pada node yang mencatat perangkat mana yang dialokasikan ke pod mana. Secara default, NVIDIA Device Plugin menggunakan UUID GPU sebagai kunci unik untuk setiap perangkat GPU dalam file titik pemeriksaan. Anda dapat mengubah kunci ini menjadi indeks perangkat untuk mengatasi masalah seperti kehilangan UUID setelah migrasi dingin VM.
Versi 1.32 dan lebih baru
-
Jalankan perintah berikut untuk mengedit DaemonSet NVIDIA Device Plugin.
kubectl edit ds -n kube-system ack-nvidia-device-plugin -
Tambahkan variabel lingkungan
CHECKPOINT_DEVICE_ID_STRATEGY.env: - name: CHECKPOINT_DEVICE_ID_STRATEGY value: index -
Restart NVIDIA Device Plugin untuk menerapkan perubahan.
Versi 1.20 hingga 1.31
-
Periksa tag image dalam file
/etc/kubernetes/manifests/nvidia-device-plugin.ymlpada node target. Tag tersebut menunjukkan versi Device-Plugin. Jika versinya 0.9.3 atau lebih baru, tidak perlu tindakan apa pun. Jika tidak, perbarui versinya kev0.9.3-0dd4d5f5-aliyun. -
Ubah variabel lingkungan static pod dalam file
/etc/kubernetes/manifests/nvidia-device-plugin.yml. Lihat kode berikut untuk menambahkan variabel lingkunganCHECKPOINT_DEVICE_ID_STRATEGY.env: - name: CHECKPOINT_DEVICE_ID_STRATEGY value: index -
Restart NVIDIA Device Plugin untuk menerapkan perubahan.
Aktifkan isolasi perangkat GPU
Isolasi perangkat GPU hanya didukung pada nvidia-device-plugin v0.9.1 atau lebih baru. Untuk informasi lebih lanjut, lihat Periksa Versi NVIDIA Device Plugin.
Dalam skenario penjadwalan GPU eksklusif di ACK, Anda mungkin perlu mengisolasi perangkat GPU pada sebuah node karena kerusakan atau alasan lain. ACK menyediakan mekanisme untuk mengisolasi perangkat secara manual guna mencegah penjadwal menetapkan pod aplikasi GPU baru ke perangkat tersebut. Ikuti langkah-langkah berikut:
Pada node target, kelola file unhealthyDevices.json dalam direktori /etc/nvidia-device-plugin/. Jika file ini tidak ada, buatlah. File unhealthyDevices.json harus dalam format JSON berikut. Array tersebut dapat berisi beberapa kunci titik pemeriksaan perangkat. Tambahkan kunci sesuai kebutuhan.
{
"index": ["x", "x"],
"uuid": ["xxx", "xxx"]
}
Anda dapat memasukkan index atau uuid perangkat target untuk isolasi dalam file JSON tersebut. Anda hanya perlu memasukkan salah satu untuk setiap perangkat. Perubahan akan berlaku secara otomatis setelah Anda menyimpan file tersebut.
Setelah konfigurasi selesai, Anda dapat memeriksa jumlah sumber daya nvidia.com/gpu yang dilaporkan oleh node Kubernetes untuk memverifikasi efek isolasi.
Pasang perangkat GDR dan aktifkan akselerasi penyalinan memori GPU
Persyaratan
Mulai dari v0.5.0, ack-nvidia-device-plugin mendukung pemasangan perangkat GDR ke dalam kontainer GPU. Fitur ini memerlukan hal-hal berikut:
-
Versi kluster adalah 1.32 atau lebih baru.
-
Node adalah Node Lingjun.
-
Perangkat lunak GDR telah dipasang pada node.
Anda dapat login ke node dan menjalankan perintah
lsmod | grep gdrdrvuntuk memeriksa apakah modul kernel GDR telah dimuat. Output contohnya sebagai berikut:gdrdrv 196608 0 nvidia 14680064 88 nvidia_uvm,nvidia_peermem,gdrdrv,nvidia_modeset -
NVIDIA Container Toolkit 1.15.0 atau lebih baru telah dipasang pada node.
Anda dapat memeriksa versinya dengan login ke node dan menjalankan
nvidia-container-cli --version. Berikut contoh outputnya:cli-version: 1.17.8 lib-version: 1.17.8
Aktifkan akselerasi GDR
Login ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
-
Pada halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Add-ons.
-
Pada halaman Add-ons, temukan kartu ack-nvidia-device-plugin dan klik Configuration.
-
Pada kotak dialog yang muncul, pilih Enable GDRCopy to accelerate GPU memory copy (effective on Lingjun nodes with GDR software installed and nvidia-container-toolkit version >= 1.15.0).
Verifikasi hasil
Pada halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik .
-
Pada halaman Deployments, klik Create from YAML. Gunakan kode contoh berikut untuk membuat aplikasi.
apiVersion: v1 kind: Pod metadata: name: tensorflow-mnist namespace: default spec: containers: - image: registry.cn-beijing.aliyuncs.com/acs/tensorflow-mnist-sample:v1.5 name: tensorflow-mnist command: - python - tensorflow-sample-code/tfjob/docker/mnist/main.py - --max_steps=100000 - --data_dir=tensorflow-sample-code/data resources: limits: nvidia.com/gpu: 1 # Request one GPU card for this container. workingDir: /root restartPolicy: Always -
Jalankan perintah berikut untuk masuk ke pod:
kubectl exec -ti tensorflow-mnist -- ls /dev/gdrdrvOutput yang diharapkan:
/dev/gdrdrvOutput tersebut menunjukkan bahwa perangkat gdrdrv berhasil dipasang.
FAQ
Nonaktifkan fitur isolasi GPU native
Latar belakang
Saat GPU pada sebuah node mengalami kerusakan, ACK secara otomatis mengisolasi GPU yang rusak tersebut menggunakan NVIDIA Device Plugin untuk mencegah penjadwal menetapkan tugas ke GPU tersebut. Namun, isolasi otomatis ini tidak melakukan perbaikan otomatis. Anda tetap perlu merestart atau memperbaiki node secara manual. Kami menyarankan agar Anda mengonfigurasi alert untuk pengecualian GPU agar dapat menanganinya secara cepat. Untuk informasi lebih lanjut tentang fitur isolasi GPU native NVIDIA Device Plugin, lihat k8s-device-plugin.
-
Setelah isolasi, jika node tidak memiliki cukup GPU untuk memenuhi kebutuhan tugas (misalnya, tugas membutuhkan delapan kartu tetapi hanya tujuh yang tersedia), penjadwal tidak dapat menempatkan tugas pada node tersebut, sehingga sumber daya GPU menganggur.
-
Saat status GPU kembali normal, sistem secara otomatis menghapus isolasi dari perangkat tersebut.
-
Jika Anda perlu menonaktifkan isolasi otomatis agar node tetap melaporkan sumber daya untuk GPU yang rusak, rujuk solusi berikut.
Solusi
-
Konfirmasi apakah fitur isolasi GPU native diaktifkan untuk add-on tersebut.
Jika tidak diaktifkan, Anda tidak perlu melakukan langkah-langkah berikutnya untuk menonaktifkannya.
Versi 1.32 dan lebih baru
Login ke Konsol ACK dan periksa versi ack-nvidia-device-plugin pada halaman Add-ons kluster target. Jika versinya v0.1.0, fitur isolasi GPU diaktifkan.
Versi 1.20 hingga 1.31
-
Gunakan kubectl untuk terhubung ke kluster di Workbench atau CloudShell.
-
Periksa apakah NVIDIA Device Plugin memiliki isolasi GPU yang diaktifkan.
check_gpu_isolation_enabled() { echo "Checking nodes with NVIDIA Device Plugin deployed as static pods that have GPU isolation enabled (i.e., DP_DISABLE_HEALTHCHECKS is not set to 'all')..." # Get pod names with the expected label. pods=$(kubectl get pods -n kube-system -l component=nvidia-device-plugin --no-headers -o custom-columns=":metadata.name" 2>/dev/null) if [ -z "$pods" ]; then echo "No pods found with label 'component=nvidia-device-plugin'." return 0 fi found=0 while IFS= read -r pod; do [ -z "$pod" ] && continue # Check if it's a static pod: annotation kubernetes.io/config.source must be "file". config_source=$(kubectl get pod "$pod" -n kube-system -o jsonpath='{.metadata.annotations.kubernetes\.io/config\.source}' 2>/dev/null) if [ "$config_source" != "file" ]; then # Not a static pod (e.g., managed by a DaemonSet), skip. continue fi # Get node name. node=$(kubectl get pod "$pod" -n kube-system -o jsonpath='{.spec.nodeName}' 2>/dev/null) [ -z "$node" ] && continue # Check if DP_DISABLE_HEALTHCHECKS is set to "all". disabled_value=$(kubectl get pod "$pod" -n kube-system -o jsonpath='{range .spec.containers[*]}{range .env[?(@.name=="DP_DISABLE_HEALTHCHECKS")]}{.value}{"\n"}{end}{end}' 2>/dev/null | head -n1) # If not set or not equal to "all", health checks are active, which means isolation is enabled. if [ -z "$disabled_value" ] || [ "$disabled_value" != "all" ]; then echo "Node: $node, Static Pod: $pod" found=1 fi done <<< "$pods" if [ "$found" -eq 0 ]; then echo "No static pods found with GPU isolation enabled." else echo "Note: The above nodes will automatically isolate faulty GPUs via the NVIDIA Device Plugin." fi } check_gpu_isolation_enabledOutput yang diharapkan:
Checking nodes with NVIDIA Device Plugin deployed as static pods that have GPU isolation enabled (i.e., DP_DISABLE_HEALTHCHECKS is not set to 'all')... Node: cn-beijing.192.168.XXX.XXX, Static Pod: nvidia-device-plugin-cn-beijing.192.168.XXX.XXX Note: The above nodes will automatically isolate faulty GPUs via NVIDIA Device Plugin.Jika output berisi
Note: The above nodes will automatically isolate faulty GPUs via NVIDIA Device Plugin., fitur isolasi GPU diaktifkan.
-
-
Nonaktifkan fitur isolasi GPU dengan meningkatkan add-on.
Fitur isolasi GPU native dinonaktifkan secara default pada versi terbaru add-on NVIDIA Device Plugin. Tingkatkan NVIDIA Device Plugin ke versi terbaru untuk menerapkan perubahan ini.
Topik terkait
-
Untuk riwayat perubahan add-on, lihat ack-nvidia-device-plugin.
-
Jika Anda mengalami masalah dengan node berakselerasi GPU, lihat Diagnosa masalah node berakselerasi GPU dan FAQ GPU.
-
Untuk informasi tentang penjadwalan GPU bersama, lihat Penjadwalan GPU bersama.