Anda di halaman 1dari 63

Pertemuan 1

Praktikum MataKuliah Unggulan


Universitas Gunadarma
2021
Bagian 1

CPU dan GPU

2
CPU dan GPU

GPU
CPU
(Graphics Processing Unit)
(Central Processing Unit)
Pusat pemprosesan matematis
Tempat pemprosesan matematis
untuk kebutuhan grafis.
secara terpusat

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


CPU dan GPU

CPU + GPU
Artinya setiap CPU pasti memiliki
GPU yang disebut Integrated GPU

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


CPU dan GPU

Kekurangan:
• Harus berbagi memori antara
GPU dengan CPU
CPU + GPU • Performanya kurang jika untuk
Artinya setiap CPU pasti memiliki pemprosesan grafis yang tinggi
GPU yang disebut Integrated GPU seperti bemain game, memutar
video resolusi tinggi, dll.

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


CPU dan GPU

GPU Diskrit
GPU yang terpisah dari CPU secara
fisik.
Memiliki memori sendiri dengan
istilah VRAM

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


CPU dan GPU

Control
Core Core Core Core
Core Core Cache

Control
Control
Core Core Core Core
Core Core Cache

Control
Cache Core Core Core Core
Cache

RAM VRAM

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


CPU dan GPU

GPU
CPU Graphics Processing Unit
Central Processing Unit • Melakukan perhitungan
• Melakukan penghitungan yang sederhana yang masiv
rumit • Throughput Tinggi
• Lantency Rendah • Pemprosesan Paralel
• Perprosesan Serial

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


CPU dan GPU

PENGGUNAAN GPU
Virtual Desktop Infrastructure (VDI)

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


CPU dan GPU

PENGGUNAAN GPU
• Artificial Intelligence (AI)
• Machine Learning
• Deep Learning

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


CPU dan GPU

PENGGUNAAN GPU
High Performance Computing

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


CPU dan GPU

GPU pada CLOUD


• Performa Tinggi
• Bisa digunakan untuk virtual
• Bayar sesuai dengan kebutuhan

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


Bagian 2

DGX A100 dan DGX-1

13
DGX A100 dan DGX-11

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


Overview
• DGX A-100 dan DGX-1
• MIG
• Docker
• DGX A-100 Docker

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


DGX A-100
• GPUs: 8x NVIDIA A100 Tensor Core GPUs
• GPU Memory: 320 GB total
• Performance: 5 petaFLOPS AI 10 petaOPS Int8
• NVIDIA NVSwitches: 6
• System Power Usage: 6.5 W max
• CPU: Dual AMD Rome 7742, 128 Cores total, 2.25
GHz (base), 3.4 GHz (max boost)
• System Memory: 1 TB
• Networking: 8x Single-Port Mellanox ConnectX-6
VPI, 200Gb/s HDR InfiniBand, 1x Dual-Port
Mellanox, ConnectX-6 VPI, 10/ 25/ 50/ 100/ 200
Gb/s Ethernet

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


DGX A-100
• Storage: OS 2x 1.92 TB M.2 NVME Drives, Internal
Storage: 15TB (4x 3.84 TB) U.2 NVME Drives
• Software: Ubuntu Linux OS
• System Weight: 271 lbs (123kgs)
• Packaged System Weight: 315 lbs (143 kgs)
• System Dimensions: Height 10.4 in (264.0 mm),
width 19.0 in (482.3 mm) MAX, length 35.3 in (897.1
mm) MAX
• Operating Temperature Range: 5 derajat C to 30
derajat C (41 derajat F to 86 derajat F)

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


DGX-1
• GPUs: 8x Tesla GP100
• TFLOPS (GPU FP16/CPU FP32): 170/3
• GPU Memory: 16 GB per GPU
• CPU: Dual 20-core Intel Xeon E5-2698 v4 2.2 Ghz
• NVIDIA CUDA Cores: 28672
• System Memory: 512 GB 2133 MHz DDR4
LRDIMM
• Storage: 4x 1.92 TB SSD Raid 0
• Network: Dual 10 GbE, 4 IB EDR
• Software: Ubuntu Server Linux OS DGX-1
Recommended GPU Driver

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


DGX-1
• System Weight: 134 lbs
• System Dimension: 866 D x 444 W x 131 H (mm)
• Packing Dimensions: 1180 D x 730 W x 284 H
(mm)
• Maximum Power Requirements: 3200W
• Operating Temperature Range: 10 - 35 derajat C

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


Usage: DGX A-100 dan DGX-1

• Artificial Intelligence (AI)


• HPC
• Visualization

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


Performance: DGX-1

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


Performance: DGX A100

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


Performance: DGX A100

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


Performance: DGX A100

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


Performance: DGX A100

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


GPU Problems
• Satu Proses Melibatkan GPU Hanya bisa Optimal jika dijalkan oleh satu core satu
proses
• Ada beberapa pendekatan yang dapat dilakukan namun tetap menurunkan
performa
• Pada DGX-1 Hanya Terdapat 8 Core, berarti secara optimal hanya bisa ada 8
Prosess Yang memenfaatkan GPU dalam Satu waktu.
• Sehingga Penggunaan Multi user tidak dapat Optimal dilakukan pada mesin DGX-1
ataupun single GPU CPU

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


Multi Instance GPU (MIG)
• Tujuan utama MIG adalah meningkatkan utilitas GPU
• MIG A100:
• Dipisah secara fisik bukan logical, ataupun software
• Cuda Programming

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


Kapan Menggunakan MIG di A100
• Tugas yang tidak menggunakan A100 secara menyeluruh:
• HPC
• Prototyping
• Inference
• Light Training

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


Bagaimana MIG di A100
• 7GPU dalam Satu Core A100
• Ukuran Yang sudah disediakan oleh sistem DGX
• Mendukung banyak Environment:
• Docker
• Kubernetes
• UNIVA
• Virtualization

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


MIG Configuration Options

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


Profil GPU Instance
MiG Instance/GP SMs Memory Engine Target
Instance U (GB) (NVDECs)
Training Inference

1g.5Gb 7 14 5 0 BERT fine Multiple


Tuning, inference
Multiple (e.g. Triton);
chatbot, ResNet-50,
Jupyter BERT, W&D
Notebook networks
2g.10Gb 3 28 10 1

3g.20Gb 2 42 20 2 Training on
ResNet-50,
4g.20Gb 1 56 20 2
BERT, WnD
7g.40Gb 1 98 40 5 networks

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


MIG Utilization

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


Bagian 3

Jupiter Notebook

33
Apakah jupyter notebook itu?
• Jupyter (https://jupyter.org/) adalah organisasi non-profit untuk
mengembangkan software interaktif dalam berbagai bahasa
pemrograman.
• Notebook merupakan satu software buatan Jupyter, adalah aplikasi web
open-source yang memungkinkan untuk membuat dan berbagi
dokumen interaktif yang berisi kode live, persamaan, visualisasi, dan teks
naratif yang kaya.
• Jupyter Notebook menyatukan teks/narasi, kode hidup, persamaan,
tampilan hasil, gambar statis, dan visualisasi grafis, dalam satu file
interaktif. Kelebihan lainnya, Jupiter notebook dapat dijalankan ulang
oleh siapapun yang membukanya, untuk mereproduksi eksekusi kode di
dalamnya.

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


Jupyter Notebook
• Contoh dibawah ini adalah sebuah dokumen yang dituliskan dengan menggunakan
Jupiter notebook. Keistimewaan dari dokumen ini adalah kemampuannya membawa
kode hidup (live code). Tampak pada contoh di bawah ini.

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


Jupyter Notebook
• Kode pada contoh ini bukan hanya cuplikan tulisan kode di dokumentasi, tapi adalah
kode hidup. Tampilannya tidak akan berubah, tetapi jika menjalankan file notebook ini
di instalasi Jupyter, maka siapapun dapat menjalankan kode pada contoh dan nanti
akan keluar tampilan waktu yang berbeda tentunya.

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


Jupyter Notebook
• Jenis keluaran kode yang didukung juga tidak sebatas teks sederhana. Keluaran dari
Jupyter notebook dapat berupa grafik seperti contoh gambar di bawah ini.

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


Jupyter Notebook
• Jupyter Notebook juga dapat menampilkan table atau yang disebut sebagai Data
Frame dengan menggunakan library pada Python yaitu Pandas. Tampak pada contoh
di bawah ini.

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


Jupyter Notebook
• Banyak jenis-jenis media lain yang bisa ditampilkan secara hidup, misalnya
Markdown, HTML, audio, video, Javascript, dan sebagainya.
• Dengan begitu kayanya interativitas yang disediakan Jupyter notebook, maka
dapat dilihat potensi penggunaannya, terutama untuk riset dan kolaborasi. Salah
satu contoh penggunaan Jupyter notebook, misalnya di kursus-kursus online
(MOOC) sebagai platform bagi siswa untuk melakukan pemrograman, di Kaggle,
dan banyak riset yang membagikan karyanya dalam bentuk notebook.

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


Apakah jupyter notebook hanya untuk python?

• Jupiter notebook tidak hanya digunakan untuk menuliskan kode program dalam
Bahasa Pemrograman Python. Walaupun Jupyter notebook ditulis dalam bahasa
Python, namun kemampuan untuk mendukung suatu bahasa pemrograman di dalam
notebook diimplementasikan secara modular dalam bentuk kernel. Saat ini ada lebih
dari 130 kernel yang mendukung hampir 100 bahasa pemrograman misalnya:
- Bash
-C
- C++
- C#
- Clojure
- Common LISP
- Erlang
- dan lain-lain

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


Petunjuk Instalasi jupyter notebook

• Sebelumnya instalasi jupyter notebook, hal yang pertama harus dipastikan adalah sudah
terinstall Bahasa pemrograman Python. Cara instalasi Python dapat melalui link berikut ini:
https://www.python.org/downloads/. Pilih Python versi terakhir (Python 3).
• Ada beberapa cara untuk menginstall Jupyter, Cara yang paling praktis adalah
menggunakan pip. Cukup jalankan perintah ini di Terminal (Mac/Linux) atau Command
Prompt (Windows): pip3 install jupyter
• Alternatif lainnya, dapat dilakukan dengan cara berikut cara ini:
• python3 -m pip install --upgrade pip
• python3 -m pip install jupyter
• Setelah terinstall, maka siap dijalankan.

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


Menjalankan jupyter notebook
• Untuk menjalankan Jupyter Notebook, jalankan perintah di bawah ini di Terminal
(Mac/Linux) atau Command Prompt (Windows) dari direktori yang menaungi semua
direktori proyek-proyek (misalkan ada dua proyek yaitu
di C:\project\project1 dan C:\project\project2, maka jalankan dari
direktori C:\project agar dapat mengakses kedua proyek tersebut dari Jupyter).
• Setelah beberapa saat, jupyter akan membuka laman http://localhost:8888/yang
merupakan laman depan dari instalasi Jupyter notebook (disebut laman Notebook
Dashboard).

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


Notebook dashboard
Laman ini menampilkan semua direktori dan file yang ada di direktori, tempat Jupyter
dijalankan. Tampak pada contoh di bawah ini adalah dashboard dari Jupyter Notebook.

File kerja (proyek) yang dikerjakan pada


jupyter notebook

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


Membuat notebook baru
• Klik tombol New, lalu pilih Python 3 seperti pada gambar di bawah ini:

• Sebuah tab (atau window) baru akan muncul di browser, berisi notebook baru yang kosong.
Setelah beberapa saat (tunggu sampai tulisan “Starting” di judul tab hilang), maka notebook
sudah siap untuk disunting/ di edit/ atau ditulis.

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


Menyunting Notebook
Bagian-bagian utama dari tampilan notebook:
• Judul, judul merupakan nama file dari notebook. Masukkan judul dengan mengklik tulisan
Untitled.
• Sel , Sel adalah tempat menuliskan isi notebook, dapat berupa narasi ataupun code. Untuk sel
pertama, sebaiknya diisi dengan narasi awal tentang pekerjaan/proyek, misal: judul,
pendahuluan, dsb. Nantinya notebook akan berisi banyak sel.
• Jenis sel, jenis sel adalah pilihan dropdown jenis sel. Pada awalnya, jenis sel adalah code.

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


Menulis Narasi dengan Markdown
• Untuk menulis narasi, gantilah jenis sel menjadi Markdown dari pilihan dropdown jenis cell di
atas. Lalu tulislah judul dan narasi awal untuk notebook.
• Ketika menyunting sel seperti ini, maka sel disebut sedang dalam mode edit, ditandai dengan
garis kotak hijau yang mengelilingi sel. Pada mode ini, untuk sel Markdown kode sumber
Markdown akan ditampilkan.
• Untuk menampilkan hasil tulisan Markdown tersebut, sel harus dijalankan.

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


Menjalankan Sel
• Untuk melihat hasil tampilan sebuah sel, maka sel itu harus dijalankan (run), dengan
salah satu cara berikut (jika selnya masih belum mendapatkan fokus, maka kliklah sekali
agar fokus).

Cara Menjalankan dari Menu Kunci Pintas Keterangan


Ctrl+Enter
Menu Cell –> Run Cells Menjalankan sel
(atau Cmd+Enter untuk Mac)
Menu Cell –> Run Cells and Menjalankan sel lalu memindahkan
Shift+Enter
Select Below fokus ke sel berikutnya
Menu Cell –> Run Cells and Alt+Enter Menjalankan sel lalu membuat sel
Insert Below (atau Option+Enter untuk Mac) baru di bawahnya

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


Menjalankan Sel
• Untuk melihat hasil tampilan sebuah sel, maka sel itu harus dijalankan (run)

Tombol untuk RUN

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


Menjalankan Sel
• Menjalankan sel mempunyai makna yang berbeda tergantung jenis selnya. Untuk jenis
sel Markdown, maka ini akan mengubah kode Markdown menjadi tampilan yang
diharapkan (dirender). Untuk jenis sel kode, maka kodenya akan dijalankan oleh kernel,
perubahan state akan disimpan oleh kernel, dan hasilnya ditampilkan di notebook.
• Sebagai tambahan informasi, ada cara untuk menjalankan semua sel yang dapat dilihat
di menu Cell:
➢ Run All
➢ Run All Above
➢ Run All Below

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


Menjalankan Sel Markdown
• Jika di eksekusi Markdown yang telah ditulikan, dan hasilnya akan tampak pada gambar di
bawah ini.
• Setelah sel dieksekusi, maka sel disebut ada dalam mode command. Perhatikan garis kotak
biru yang mengelilingi sel.

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


Menyunting Kembali
• Jika akan sunting sel kode seperti tampak pada gambar di bawah ini:
• Perhatikan jenis sel adalah code, ada braket “In [ ] :” . Braket kotak ini nanti akan diisi angka
urutan eksekusi setelah selnya dieksekusi.

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


Menyunting Kembali
• Jika di run hasilnya tampak pada gambar di bawah ini
• Perhatikan breket kotaknya terisi nomor urutan eksekusi (“In [1]”). Nomor ini berguna karena
urutan eksekusi tidak harus sama dengan urutan sel dalam notebook.

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


Lingkup (Scope) Variabel

Variabel-variabel dan fungsi-fungsi yang dideklarasikan di sel akan mempunyai lingkup global,
dan bisa diakses dari sel lainnya. Misalnya, dibuat sel baru yang mengakses variabel msg yang
dideklarasikan di sel kedua tadi (sel pertama yang dibuat adalah Markdown):

Dapat diakses variabel global yang


didefinisikan di sel lain, asalkan sel
tempat variabel tersebut yang
didefinisikan telah dieksekusi
sebelumnya, karena nomor
eksekusinya lebih kecil dari nomor
sekarang (nomor eksekusi sel itu 1, dan
nomor sekarang 2), dan kernelnya
sama, maka berarti sel tersebut telah
tereksekusi sebelumnya.

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


Membuat Narasi yang Lebih Kaya dengan Markdown
Dengan Markdown dapat dibuat teks narasi yang cukup kaya. Semua fitur-fitur dasar
yang dibutuhkan dalam penyuntingan teks didukung oleh Markdown, misalnya
heading/judul, mulai heading 1 sampai heading 6, tipografi (huruf tebal, miring, huruf
tetap, tebal miring, tercoret, dsb.), contoh list:
• item 2
• item 2a
• item 2b
• item 3
• List bernomor:
• item 1
• item 2
• item 2a
• item 2b
• item 3

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


Membuat Narasi yang Lebih Kaya
dengan Markdown
• Jika dibutuhkan fitur yang belum ada, dapat tuliskan dengan markup HTML. Bedakan kode
yang merupakan bagian dari narasi (di dalam sel Markdown), dengan kode hidup yang ada di
dalam sel kode.
• Cuplikan kode dalam sel Markdown juga diwarnai sesuai sintaks (syntax coloring), sehingga
terlihat bagus seperti tampak pada gambar di bawah ini.
• Pada contoh di gambar, Kode hanyalah berupa teks Markdown dan tidak dapat dieksekusi,
karena bukan dalam sel kode.

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


Membuat Narasi yang Lebih Kaya
dengan Markdown
kode di atas ditulis dengan membungkus kodenya dengan tiga backtick (```), lalu
tuliskan bahasa pemrograman yang diinginkan untuk mengaktifkan pewarnaan sintaks,
seperti ini:

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


Menyimpan dan Membuka Notebook

Untuk menyimpan notebook, dapat melakukan salah satu di bawah ini:


• tekan kunci Ctrl+S (atau Cmd+S di Mac)
• pilih dari menu File –> Save and Checkpoint
• tekan tombol disket dari toolbar

• Untuk menutup notebook, pilih dari menu File –> Close and Halt.
• Kadang-kadang window/tab browser tidak tertutup dilakukan.
• Dapat juga menutup tab/window browser secara manual.

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


Membuka Kembali Notebook

Untuk membuka notebook dari Notebook Dashboard dengan mengklik notebooknya :

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


Bagian 4

Contoh dengan
Jupyter Notebook

59
Contoh 1
Bilangan Prima
Output

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


Contoh 2
Bilangan Fibonacci
Output

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


Contoh 3
Bilangan Fibonacci
Output

Praktikum MK Unggulan-DGX | Tim Pengembangan DGX | Universitas Gunadarma


Terimakasih
Universitas Gunadarma
AI Center of Execellent

Anda mungkin juga menyukai