Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Jalankan kontainer yang dipercepat GPU (Windows pada G-Series EC2 )

Mode fokus
Jalankan kontainer yang dipercepat GPU (Windows pada G-Series EC2 ) - Amazon EKS

Bantu tingkatkan halaman ini

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Untuk berkontribusi pada panduan pengguna ini, pilih Edit halaman ini pada GitHub tautan yang terletak di panel kanan setiap halaman.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Bantu tingkatkan halaman ini

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Untuk berkontribusi pada panduan pengguna ini, pilih Edit halaman ini pada GitHub tautan yang terletak di panel kanan setiap halaman.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

penting

Plugin Perangkat Kubernetes untuk DirectX by TensorWorks adalah alat pihak ketiga yang tidak didukung, didukung, atau dikelola oleh. AWS AWS tidak bertanggung jawab atas keamanan, keandalan, atau kinerja plugin ini.

Pelajari cara menjalankan beban kerja container Windows yang dipercepat GPU di Amazon EKS (Elastic Kubernetes Service) menggunakan NVIDIA GPUs dengan Kubernetes Device Plugin for DirectX by. TensorWorks Untuk informasi selengkapnya, lihat Kubernetes Device Plugin for DirectX.

Ada dua pendekatan utama untuk menyiapkan akselerasi GPU untuk wadah Windows Anda:

  • Opsi 1: Buat AMI EKS Windows Dioptimalkan khusus dengan driver GPU yang diperlukan yang sudah diinstal sebelumnya.

    • Gunakan pendekatan ini ketika Anda membutuhkan lingkungan yang konsisten dan telah dikonfigurasi sebelumnya yang siap menjalankan kontainer Windows yang dipercepat GPU, dan Anda dapat menginvestasikan upaya tambahan untuk membangun dan memelihara AMI kustom.

  • Opsi 2: Instal driver GPU yang diperlukan pada node pekerja EKS Anda setelah meluncurkan instance Anda.

    • Gunakan pendekatan ini saat Anda menginginkan proses penyiapan yang lebih sederhana dan jangan keberatan menginstal driver GPU di setiap node pekerja baru. Lebih cocok untuk lingkungan pengembangan saat Anda mengevaluasi atau membuat prototipe beban kerja yang dipercepat GPU.

Kedua pendekatan dapat dimanfaatkan menggunakan langkah-langkah yang dirinci dalam panduan ini.

Pertimbangan

Panduan ini menyediakan langkah-langkah untuk menginstal dan mengatur akselerasi GPU untuk container Windows Anda menggunakan NVIDIA GPUs, driver NVIDIA GRID, dan Plugin Perangkat Kubernetes untuk DirectX by. TensorWorks Langkah-langkah telah diuji dan diverifikasi untuk memberikan akselerasi GPU untuk beban kerja penampung Windows Anda di Amazon EKS. Lihat Keterbatasan yang Sudah Diketahui untuk informasi selengkapnya tentang driver dan plugin perangkat yang kompatibel. Sebelum melanjutkan, perhatikan hal berikut:

  • Hanya tipe instans G-family dengan driver NVIDIA GRID yang telah diuji dan diverifikasi untuk bekerja dengan panduan ini. Sementara jenis instans lain dan kombinasi driver mungkin juga mampu menjalankan kontainer Windows yang dipercepat GPU, mereka mungkin memerlukan langkah-langkah konfigurasi tambahan yang tidak tercakup dalam panduan ini.

  • Hanya beban kerja berbasis DirectX yang telah diuji dan diverifikasi untuk bekerja dengan panduan ini. Sementara GPU lain APIs seperti OpenGL, Vulkan, dan OpenCL mungkin berpotensi kompatibel untuk menjalankan wadah Windows yang dipercepat GPU, mereka mungkin memerlukan langkah-langkah konfigurasi tambahan yang tidak tercakup dalam panduan ini.

  • Ada beberapa batasan yang diketahui harus diperhatikan sebelum menjalankan wadah Windows yang dipercepat GPU. Silakan lihat Keterbatasan yang Sudah Diketahui bagian untuk informasi lebih lanjut.

Prasyarat

Untuk mengaktifkan akselerasi GPU untuk container Windows Anda di Amazon EKS, Anda harus menyiapkan persyaratan berikut sebelum melanjutkan:

Instal driver GPU pada setiap node Windows Windows

Untuk menginstal driver NVIDIA GRID pada node pekerja EKS Anda, ikuti langkah-langkah yang diuraikan dalam driver NVIDIA untuk EC2 instans Amazon Anda. Arahkan ke opsi Instalasi - Opsi 3: Driver GRID dan ikuti langkah-langkah instalasi.

Instal untuk Windows Server Core

Untuk Windows Server Core, yang tidak memiliki pengalaman desktop, instal driver NVIDIA GRID secara diam-diam dengan menggunakan perintah berikut:

$nvidiaInstallerFilePath = nvidia-driver-installer.exe # Replace with path to installer $installerArguments = "-s -clean -noreboot -noeula" Start-Process -FilePath $nvidiaInstallerFilePath -ArgumentList $installerArguments -Wait -NoNewWindow -PassThru

Verifikasi instalasi Anda

Jalankan PowerShell perintah berikut untuk menampilkan informasi diagnostik tentang GPUs pada instance:

nvidia-smi

Perintah ini menampilkan versi driver NVIDIA, serta informasi tentang perangkat keras GPU. Pastikan bahwa output dari perintah ini cocok dengan versi driver NVIDIA GRID yang Anda harapkan akan diinstal.

Menyebarkan plugin perangkat GPU di setiap node

Untuk mengaktifkan penemuan dan eksposur sumber daya GPU ke wadah di node Windows Anda, Anda memerlukan plugin perangkat. Terapkan Plugin Perangkat DirectX oleh Tensorworks di setiap node pekerja dengan menjalankannya sebagai DaemonSet di cluster EKS Anda. Ikuti panduan instalasi yang ditentukan dalam README.md, yang akan memerlukan langkah-langkah berikut. Disarankan untuk:

  • Menyebarkan plugin perangkat di kube-system namespace.

  • Tetapkan batas sumber daya yang sesuai DaemonSet untuk memastikan tidak mengkonsumsi sumber daya yang berlebihan pada node Anda.

catatan

Plugin perangkat DaemonSet akan berjalan di setiap node sebagai wadah proses host dengan hak istimewa yang ditinggikan. Disarankan untuk menerapkan kontrol RBAC untuk membatasi akses ke ini DaemonSet sehingga hanya pengguna yang berwenang yang dapat menjalankan perintah istimewa.

Saat menjalankan kontainer yang dipercepat GPU, plugin perangkat mendukung dua mode:

  • Mode penyewaan tunggal: Mode ini mendedikasikan semua sumber daya GPU ke satu wadah pada instance. Instal plugin perangkat dengan dukungan penyewaan tunggal menggunakan perintah berikut. Lihat README.md untuk informasi lebih lanjut.

    kubectl apply -f "https://raw.githubusercontent.com/TensorWorks/directx-device-plugins/main/deployments/default-daemonsets.yml"
  • Mode multi-tenancy: Mode ini memungkinkan berbagi sumber daya GPU di antara beberapa kontainer pada instance. Instal plugin perangkat dengan dukungan multi-tenancy menggunakan perintah berikut. Lihat README.md untuk informasi lebih lanjut.

    kubectl apply -f "https://raw.githubusercontent.com/TensorWorks/directx-device-plugins/main/deployments/multitenancy-inline.yml"

    Atau, gunakan a ConfigMap untuk menentukan multi-tenancy.

    kubectl apply -f "https://raw.githubusercontent.com/TensorWorks/directx-device-plugins/main/deployments/multitenancy-configmap.yml"

Memverifikasi penyebaran plugin perangkat

Setelah Anda menerapkan plugin perangkat, ganti <namespace> dan jalankan perintah berikut untuk memverifikasi DirectX Device Plugin berjalan dengan benar di semua node Windows Anda.

kubectl get ds device-plugin-wddm -n <namespace>

Memverifikasi kontainer siap untuk digunakan

Setelah plugin DaemonSet perangkat berjalan pada node pekerja Windows yang didukung GPU, gunakan perintah berikut untuk memverifikasi bahwa setiap node telah dialokasikan. GPUs Nomor yang sesuai harus sesuai dengan jumlah perangkat DirectX pada setiap node.

kubectl get nodes "-o=custom-columns=NAME:.metadata.name,DirectX:.status.allocatable.directx\.microsoft\.com/display"

Menjalankan wadah Windows dengan akselerasi GPU

Sebelum meluncurkan pod Anda, tentukan nama resource directx.microsoft.com/display di.spec.containers[].resources. Ini akan menunjukkan bahwa kontainer Anda memerlukan kemampuan berkemampuan GPU, dan kube-scheduler akan mencoba menempatkan pod Anda pada node Windows yang telah dikonfigurasi sebelumnya dengan sumber daya GPU yang tersedia.

Sebagai contoh, lihat contoh perintah di bawah ini yang meluncurkan simulasi Job to run Monte Carlo untuk memperkirakan nilai pi. Contoh ini berasal dari Kubernetes Device Plugins for GitHub DirectX repository, yang memiliki beberapa contoh untuk dipilih yang dapat Anda jalankan untuk menguji kemampuan GPU node Windows Anda.

cat <<EOF | kubectl apply -f - apiVersion: batch/v1 kind: Job metadata: name: example-cuda-montecarlo-wddm spec: template: spec: containers: - name: example-cuda-montecarlo-wddm image: "index.docker.io/tensorworks/example-cuda-montecarlo:0.0.1" resources: limits: directx.microsoft.com/display: 1 nodeSelector: "kubernetes.io/os": windows restartPolicy: Never backoffLimit: 0 EOF

Keterbatasan yang Sudah Diketahui

Semua GPUs bisa digunakan

Semua GPUs pada instance akan dapat digunakan oleh setiap kontainer yang sedang berjalan di host, bahkan ketika Anda meminta jumlah tertentu GPUs untuk wadah tertentu. Selain itu, perilaku default adalah bahwa semua kontainer yang berjalan di host akan menggunakan GPU dengan indeks 0, bahkan jika ada beberapa yang GPUs tersedia di node. Jadi, agar tugas multi-GPU beroperasi dengan benar, Anda harus secara eksplisit menunjuk perangkat GPU tertentu yang akan digunakan dalam kode aplikasi Anda.

Implementasi yang tepat untuk mengalokasikan perangkat yang akan digunakan untuk aplikasi akan tergantung pada bahasa pemrograman atau kerangka kerja yang Anda gunakan. Misalnya, jika Anda menggunakan pemrograman CUDA, untuk memilih GPU tertentu, Anda dapat secara eksplisit menentukan perangkat yang akan digunakan dalam kode aplikasi Anda dengan menggunakan fungsi (). cudaSetDevice

Kebutuhan untuk menentukan perangkat secara eksplisit disebabkan oleh masalah yang diketahui memengaruhi wadah Windows. Anda dapat melacak kemajuan dalam menyelesaikan masalah ini di masalah Microsoft/Windows-Containers #333. Tabel berikut merupakan representasi visual dan contoh praktis dari perilaku alokasi GPU ini.

Pertimbangkan skenario di mana ada satu node Windows tipe EC2 instanceg4dn.12xlarge, yang dilengkapi dengan empat GPUs. Pertimbangkan skenario di mana tiga pod diluncurkan pada instance ini. Tabel menunjukkan bahwa terlepas dari jumlah yang GPUs diminta oleh setiap kontainer, ketiga pod memiliki akses ke keempatnya GPUs pada instance, dan secara default akan menggunakan GPU dengan indeks perangkat 0.

Pod Diminta GPUs Akses GPU Aktual Penggunaan GPU Default Indeks GPU yang Tersedia Jumlah Instance GPUs

Pod 1

1 GPU

Semua 4 GPUs

GPU dengan indeks 0

0, 1, 2, 3

4

Pod 2

2 GPUs

Semua 4 GPUs

GPU dengan indeks 0

0, 1, 2, 3

4

Pod 3

1 GPU

Semua 4 GPUs

GPU dengan indeks 0

0, 1, 2, 3

4

Dukungan plugin perangkat Kubernetes

Implementasi resmi NVIDIA dari plugin perangkat Kubernetes tidak mendukung Windows. Anda dapat melacak kemajuan dalam menambahkan dukungan Windows resmi di edisi s-device-plugin NVIDIA/K8 #419.

Keterbatasan instans komputasi GPU

Bergantung pada konfigurasi AWS akun, Anda mungkin memiliki batasan layanan pada jumlah dan jenis instans komputasi EC2 GPU Amazon yang dapat Anda luncurkan. Jika Anda membutuhkan kapasitas tambahan, Anda dapat Meminta kenaikan kuota.

Harus membangun AMI yang Dioptimalkan GPU Windows

Tidak ada komponen yang dikelola AKS Windows GPU Optimized AMI atau EC2 Image Builder yang disediakan oleh Amazon EKS. Anda harus mengikuti langkah-langkah dalam panduan ini untuk membangun AMI EKS Windows Optimized kustom dengan driver GPU yang diperlukan yang sudah diinstal sebelumnya, atau menginstal driver GPU yang diperlukan pada node pekerja EKS Anda setelah meluncurkan instance Anda.

Inferensia dan Trainium tidak didukung

AWS Beban kerja berbasis Inferentia dan AWS Trainium tidak didukung di Windows.

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.