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

  • Kelebihan dan Kekurangan Paypal Indonesia 2026
  • Inilah Fungsi Web Browser Terbaru yang Bikin Internetan Kalian Jauh Lebih Aman!
  • Ini Cara Pinjaman Online Bank Mandiri Langsung Cair via Livin Tanpa Ribet
  • Gagal Tukar Pengguna Dapodik? Jangan Panik, Ini Trik Ampuh Buat Jenjang PAUD dan SD!
  • Game Terasa Berat Padahal HP Bagus? Ini Trik Setting WebView yang Jarang Orang Tahu!
  • Cara Simpan Video FreeReels ke Galeri Tanpa Watermark, Dijamin Aman dan Resmi!
  • Capek Mancing Terus? Coba Trik AFK Fish It Roblox 2026 Ini, 100% Gratis Tanpa Langganan!
  • Profil Andy Dahananto, Pilot Pesawat ATR Indonesia Air Yang Jatuh di Maros, Sulawesi Selatan
  • Update Pencarian Pesawat IAT: Suara Ledakan di Maros Bikin Geger, Ini Fakta Terbarunya!
  • Sejarah Ganyang Malaysia: Saat Indonesia Hampir Perang Terbuka dengan Inggris
  • Kronologi Jatuhnya Pesawat ATR 400 Yogyakarta-Makassar di Maros
  • Bosen Nyupir Bus Terus? Ini 9 Mod Bussid Motor Honda Paling Keren Buat Kalian Coba!
  • Saldo DANA Gratis dari Kode Redeem Terbaru 2026, APK JadiDuit Penipu?
  • Ngefans Maxwell Clash of Champions? Begini Cara Masuk Saluran WA-nya Biar Update Terus!
  • Ini Cara Pakai greatonlinetools.com buat Nambah Likes dan Iseng ke Teman!
  • Cara Pakai Bug Token M7 Mobile Legends, Banjir Skin Prime Cuma Modal Browser!
  • Pusing Gagal Simpan Data Internet Dapodik 2026.b? Ini Trik Jitu Mengatasinya!
  • Mau Cuan Tambahan? Ini Cara Mudah Jadi Clipper di Ternak Klip Modal HP Doang!
  • Akun PTK Silang Merah di Dapodik 2026.b Bikin Panik? Jangan Dihapus, Coba Trik Ini Dulu!
  • Ini Trik Supaya Bisa Mancing Otomatis di Fish It Roblox Pakai GG Game Space
  • Sering Stuck Saat Registrasi Dapodik 2026.b? Coba Cara Offline Ini, Dijamin Lancar!
  • Belum Tahu? Ini Trik Isi Data Internet Dapodik 2026.B Biar Validasi Aman!
  • Belum Tahu? Inilah Cara Dapat Saldo E-Wallet Cuma Modal Tidur di Sleep Time Tracker
  • Padahal Negara Maju, Kenapa Selandia Baru Nggak Bangun Jembatan Antar Pulau? Ini Alasannya!
  • Nonton Drama Bisa Dapat 1 Juta? Cek Dulu Fakta dan Bukti Penarikan Aplikasi Gold Drama Ini!
  • Takut Saldo Habis? Gini Cara Stop Langganan CapCut Pro Sebelum Perpanjangan Otomatis
  • Gini Caranya Hilangkan Invalid Peserta Didik di Dapodik 2026 B Tanpa Ribet, Cuma Sekali Klik!
  • Rombel Hilang di Dapodik 2026 B? Tenang, Gini Cara Mudah Mengatasinya Tanpa Menu Aksi!
  • Pusing Lihat Ratusan Invalid Sarpras di Dapodik 2026 B? Tenang, Ini Cara Membereskan Datanya
  • Validasi Merah Terus? Ini Cara Tuntas Isi Data Listrik & Internet di Dapodik 2026 B
  • NVIDIA Rubin Explained: The 6-Chip Supercomputer That Changes Everything
  • What is OpenEverest? The Future of Database Management on Kubernetes
  • T3g: Code is Cheap Now, Software Isn’t
  • Is the New $130 Raspberry Pi AI Hat+ 2 Worth Your Allowance? A Detailed Review
  • Create AI Voices on Your CPU: Pocket TTS Explained for Beginners
  • Apa itu State Space Models (SSM) dalam AI?
  • Begini Cara Mencegah Output Agen AI Melenceng Menggunakan Task Guardrails di CrewAI
  • Tutorial AI Lengkap Strategi Indexing RAG
  • Cara Membuat AI Voice Agent Cerdas untuk Layanan Pelanggan Menggunakan Vapi
  • Inilah Cara Belajar Cepat Model Context Protocol (MCP) Lewat 7 Proyek Open Source Terbaik
  • Apa itu ToneShell? Backdoor atau Malware Biasa?
  • Apa itu Parrot OS 7? Ini Review dan Update Terbesarnya
  • Clipper Malware? Ini Pengertian dan Bahaya yang Mengintai Kalian
  • Kronologi Serangan Gentlemen Ransomware di Oltenia Energy
  • Apa itu CVE-2020-12812? Ini Penjelasan Celah Keamanan Fortinet FortiOS 2FA yang Masih Bahaya
Beli Pemotong Rumput dengan Baterai IRONHOOF 588V Mesin Potong Rumput 88V disini https://s.shopee.co.id/70DBGTHtuJ
Beli Morning Star Kursi Gaming/Kantor disini: https://s.shopee.co.id/805iTUOPRV

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