Skip to content

emka.web.id

menulis pengetahuan – merekam peradaban

Menu
  • Home
  • Tutorial
  • Search
Menu

Cara Menjalankan Wadah Penulisan Docker Dengan Akses GPU

Posted on July 25, 2022

GPU di Docker memungkinkan Anda menampung beban kerja yang menuntut seperti aplikasi pembelajaran mesin. GPU tidak tersedia secara otomatis saat Anda memulai container baru tetapi dapat diaktifkan dengan flag –gpus untuk menjalankan docker atau dengan menambahkan bidang tambahan ke file docker-compose.yml.

Dalam artikel ini, kami akan menunjukkan cara aktifkan dukungan GPU di Docker Compose. Anda memerlukan Docker Compose versi v1.28 atau yang lebih baru untuk mengikuti panduan ini. GPU tidak didukung di Compose versi v1.18 dan yang lebih lama; rilis antara v1.19 dan v1.27 menggunakan struktur bidang lawas yang memberikan lebih sedikit kontrol.

Menyiapkan Sistem Anda

Host Docker Anda perlu disiapkan sebelum dapat mengekspos perangkat keras GPU Anda. Meskipun container berbagi kernel host Anda, mereka tidak dapat melihat paket sistem yang telah Anda instal. Wadah biasa akan kekurangan driver perangkat yang berinteraksi dengan GPU Anda.

Anda dapat mengaktifkan dukungan untuk GPU NVIDIA dengan menginstal Docker Container Toolkit NVIDIA:

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) 
   && curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - 
   && curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt update
sudo apt install -y nvidia-docker2
sudo systemctl restart docker

 

Paket ini membungkus runtime container Docker dengan antarmuka ke driver NVIDIA host Anda. Memeriksa file /etc/docker/daemon.json Anda akan mengonfirmasi bahwa runtime container yang dikonfigurasi telah diubah. Toolkit NVIDIA akan menangani injeksi koneksi perangkat GPU saat container baru dimulai. Kemudian akan diserahkan ke runtime.

$ cat /etc/docker/daemon.json
{
    "runtimes": {
        "nvidia": {
            "path": "nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}

 

Menyiapkan Image

GPU Anda akses di Docker juga bergantung pada image container Anda yang dikonfigurasi dengan benar. Biasanya paling sederhana untuk mendasarkan gambar Anda pada varian nvidia/cuda. Titik awal yang disediakan NVIDIA ini telah dikonfigurasi sebelumnya dengan dukungan CUDA. Instal bahasa pemrograman apa pun yang Anda butuhkan, lalu salin kode yang bergantung pada GPU:

FROM nvidia/cuda:11.4.0-base-ubuntu20.04
RUN apt update &&\ 
  apt-get install -y python3 python3-pip &&\
  pip install tensorflow-gpu

COPY tensor.py .
ENTRYPONT ["python3", "tensor.py"]

 

Anda harus menggunakan versi CUDA yang sama dengan yang Anda instal di host Anda. Anda dapat memeriksanya dengan menjalankan nvidia-smi:

$ nvidia-smi
Tue May 10 19:15:00 2022       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.103.01   Driver Version: 470.103.01   CUDA Version: 11.4     |
|-------------------------------+----------------------+----------------------+
...

 

Sekarang Anda dapat menulis file Docker Compose untuk memulai container Anda dengan lampiran GPU.

Akses GPU di Docker Compose

GPU direferensikan dalam file docker-compose.yml melalui bidang deploy.resources.reservations.devices dalam layanan Anda yang membutuhkannya. Mekanisme ini memungkinkan Anda mengidentifikasi GPU yang ingin Anda lampirkan. Setiap perangkat yang dipilih akan diberikan ke container Anda.

Berikut adalah contoh sederhana yang memulai container menggunakan image nvidia/cuda. Ini akan memancarkan informasi tentang GPU Anda ketika wadah dimulai.

services: app: image: nvidia/cuda:11.4.0-base-ubuntu20.04 perintah: nvidia-smi deploy: resources: reservation: devices: – driver: nvidia kapabilitas : [gpu]

Bidang deploy.resources.reservations.devices menentukan perangkat yang dapat digunakan container Anda. Menyetel driver ke nvidia dan menambahkan kemampuan gpu akan menentukan perangkat GPU.

Run docker-compose up (atau docker compose up untuk Compose v2) untuk memulai container Anda:

services:
  app:
    image: nvidia/cuda:11.4.0-base-ubuntu20.04
    command: nvidia-smi
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              capabilities: [gpu]

 

Wadah seharusnya berhasil mendapatkan akses ke GPU Anda. Versi driver dan CUDA akan cocok dengan yang diinstal pada host Anda.

Menggunakan Beberapa GPU

Kontainer Anda menerima akses ke semua GPU di sistem Anda kecuali jika konfigurasi lebih lanjut diberikan. Ada dua cara berbeda untuk mengakses subset perangkat GPU Anda.

Mengakses Perangkat dengan Jumlah Tetap

Bidang hitung mencadangkan sejumlah perangkat tertentu. Dalam contoh ini, sistem dengan dua GPU akan menyediakan salah satunya ke container. Itu sewenang-wenang mana yang akan dipilih.

$ docker compose up
Creating network "scratch_default" with the default driver
Creating scratch_app_1 ... done
Attaching to scratch_app_1
app_1  | Tue May 10 14:21:14 2022       
app_1  | +-----------------------------------------------------------------------------+
app_1  | | NVIDIA-SMI 470.103.01   Driver Version: 470.103.01   CUDA Version: 11.4     |
app_1  | |-------------------------------+----------------------+----------------------+

 

Mengakses Perangkat Tertentu

Anda dapat mengidentifikasi perangkat individual di sistem Anda menggunakan bidang device_ids. Ini menerima larik ID perangkat yang diindeks 0 untuk diberikan ke penampung. Anda dapat menemukan ID ini dengan mencantumkan GPU Anda dengan nvidia-smi:

services:
  app:
    image: nvidia/cuda:11.4.0-base-ubuntu20.04
    command: nvidia-smi
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 1
              capabilities: [gpu]

 

Untuk mengakses dua perangkat terakhir dalam daftar dengan andal, sertakan ID perangkat mereka dalam konfigurasi layanan Anda:

$ nvidia-smi --list-gpus
GPU 0: NVIDIA GeForce GTX 1080 Ti (UUID: GPU-5ba4538b-234f-2c18-6a7a-458d0a7fb348)
GPU 1: NVIDIA GeForce GTX 1080 Ti (UUID: GPU-d5ce9af3-710c-4222-95f8-271db933d438)
GPU 2: NVIDIA GeForce GTX 1080 Ti (UUID: GPU-50d4eb4f-7b08-4f8f-8d20-27d797fb7f19)
GPU 3: NVIDIA GeForce GTX 1080 Ti (UUID: GPU-bed2d40a-c6e7-4547-8d7d-a1576c5247b2)

 

Anda dapat menggunakan countordevice_ids di setiap definisi layanan Anda. Anda akan mendapatkan error saat menjalankan docker-compose up jika Anda mencoba menggabungkan keduanya, menentukan ID perangkat yang tidak valid, atau menggunakan nilai count yang lebih tinggi dari jumlah GPU di sistem Anda.

Rilis Docker Compose modern mendukung akses GPU melalui fitur reservasi perangkat deploy.resources. Anda tetap bertanggung jawab untuk menyiapkan lingkungan host dan menggunakan image container yang mendukung GPU. Setelah itu diurus, menjalankan docker-compose up -d lebih sederhana daripada mengingat untuk menyertakan –gpus all flag setiap kali Anda menggunakan docker run.

Anda dapat memasukkan file docker-compose.yml Anda ke dalam kontrol sumber sehingga semua orang mendapatkan GPU otomatis mengakses. Anda harus memastikan bahwa Anda melakukan standarisasi pada versi driver NVIDIA yang konsisten, karena rilis yang digunakan oleh gambar Anda harus cocok dengan yang diinstal pada host Anda. Di masa depan, dukungan GPU Docker dapat bekerja dengan perangkat Intel dan AMD juga, tetapi mencoba menggunakannya hari ini akan menghasilkan kesalahan. NVIDIA adalah satu-satunya vendor GPU yang saat ini didukung oleh project Moby.

Itulah berita seputar Cara Menjalankan Wadah Penulisan Docker Dengan Akses GPU, semoga bermanfaat. Disadur dari HowToGeek.com.

Terbaru

  • Jangan Tergiur Harga Murah! Inilah Deretan Risiko Fatal Membeli iPhone Lock iCloud
  • Mudik Gratis Pemprov Jateng 2026? Ini Pengertian dan Alur Lengkapnya
  • Inilah Cara Cek KIS Aktif Atau Tidak Lewat HP dan Solusi Praktis Jika Kepesertaan Nonaktif
  • Apa tiu Keberagaman? dan Kenapa Kita Butuh Perbedaan
  • Inilah Rekomendasi Tablet RAM 8 GB Paling Murah 2026 Buat Kerja dan Kuliah!
  • Ini Bocoran Honorable Mention TOTY FC Mobile OVR 117 dan 34 Kode Redeem Paling Baru!
  • Inilah Cara Memilih Smartband GPS Terbaik Biar Olahraga Kalian Makin Efektif!
  • Cara Cek Garansi iPhone dengan Benar, Penting Banget Buat yang Mau Beli HP Baru atau Bekas!
  • Inilah Infinix Note 60 Pro, HP Midrange yang Punya Desain Mirip iPhone dan Fitur Unik ala Nothing Phone!
  • Cara Mengatasi Digi Bank BJB Error dan Nggak Bisa Dibuka!
  • Inilah Kronologi & Kenapa Link Video Viral Andira McQueen di Dalam Mobil yang Bikin Geger Netizen Makassar
  • Cara Input Dapodik 2026 Biar Sekolah Masuk Prioritas Revitalisasi 2026
  • Apa Itu Kurikulum Berbasis Cinta (KBC)? Ini Penjelasan dan Cara Penerapannya
  • Inilah Cara Mengurus SKTM KIP Kuliah 2026 yang Benar Agar Lolos Seleksi!
  • Kapan Waktu Resmi Jam Maintenance Livin Mandiri?
  • WiFi Sudah Nyambung Tapi Internet Kok Nggak Jalan? Ini Cara Supaya Koneksi Kalian Lancar Lagi!
  • Inilah Kumpulan Cheat GTA San Andreas Terlengkap 2026!
  • Belum Kebagian Tiket Mudik? Inilah Bocoran Jadwal Tiket Kereta Tambahan Lebaran 2026!
  • Apa itu Pengertian Web Scraping?
  • Cara Isi Instrumen Pengelolaan Pengawas TKA Lancar Jaya Tanpa Masalah
  • Cara Isi Instrumen MBG di Healthy Madrasah/EMIS Tahun 2026
  • Inilah Cara Mengatasi Rekening Tidak Valid di Info GTK 2026 Biar Tunjangan Cair
  • Cara Isi Observasi Kinerja Kepala Sekolah di Ruang GTK 2026, Biar Nggak Bingung Lagi!
  • Inilah Cara Atasi SKTP Januari-Februari 2026 yang Belum Muncul di Info GTK
  • Pusing Rekening Info GTK Silang Merah? Tenang, Ini Cara Mengatasinya Biar Tunjangan Kalian Cepat Cair!
  • Cara Jadi Lebih Sehat Dengan Ponsel Pintar Kalian
  • WA Kini Coba Fitur Web App untuk Panggilan
  • Google Meluncurkan Pembaruan Sistem Besar Februari 2026
  • Discord Tambahkan Verifikasi Usia: Apa Artinya?
  • Telegram Rilis Desain Baru untuk Android dengan Efek Liquid Glass, Sudah Tersedia!
  • Crossover 26 Released: New Features for Linux Users
  • Cosmic Desktop 1.0.6 Released: What’s New for Linux Users?
  • MOS: A New Open-Source OS for Home Labs and Self-Hosting
  • Windows 11 Dock Test: Linux/MacOS Style via PowerToys
  • Microsoft Ends 3D Viewer in Windows 11, Creators Update Era Over
  • Prompt AI Merubah Postingan LinkedIn Jadi Ladang Diskusi dengan ChatGPT
  • Prompt AI: Paksa Algoritma LinkedIn Promosikan Konten Kalian
  • Inilah Cara Bikin Postingan Viral Menggunakan AI
  • Inilah Cara Buat Conversation Starter di Claude Project Agar Workflow Kalian Lebih Sat-Set
  • Cara Membuat Knowledge Base Audit untuk Claude Project Agar Dokumen Kalian Nggak Berantakan
  • Apa itu Spear-Phishing via npm? Ini Pengertian dan Cara Kerjanya yang Makin Licin
  • Apa Itu Predator Spyware? Ini Pengertian dan Kontroversi Penghapusan Sanksinya
  • Mengenal Apa itu TONESHELL: Backdoor Berbahaya dari Kelompok Mustang Panda
  • Siapa itu Kelompok Hacker Silver Fox?
  • Apa itu CVE-2025-52691 SmarterMail? Celah Keamanan Paling Berbahaya Tahun 2025
Beli Morning Star Kursi Gaming/Kantor disini: https://s.shopee.co.id/805iTUOPRV
Beli Pemotong Rumput dengan Baterai IRONHOOF 588V Mesin Potong Rumput 88V disini https://s.shopee.co.id/70DBGTHtuJ

©2026 emka.web.id | Design: Newspaperly WordPress Theme