com
Afif A. Iskandar
(Insinyur Riset AI)
Bio saya
Afif A. Iskandar
Insinyur & Pendidik Riset Kecerdasan Buatan
Afif A. Iskandar
Penggemar AI
S1 Matematika @ Universitas Indonesia S2 Ilmu Komputer @
Universitas Indonesia
Ringkasan
● Mengapa Python?
● Numba : Python JIT Compiler untuk CPU dan GPU
● PySpark : Pemrograman Terdistribusi dengan Python
● Tutorial Langsung
● Kesimpulan
Mengapa Python?
Python Cepat
untuk menulis, menguji, dan mengembangkan kode
Python Cepat
karena itu ditafsirkan, diketik secara dinamis dan tingkat tinggi
Python Lambat
Untuk Eksekusi berulang dari tugas tingkat rendah
Python Lambat, Karena
● API dan mesin eksekusi untuk komputasi terdistribusi pada sebuah cluster
● Berdasarkan konsep Kumpulan Data Terdistribusi Tangguh (RDD)
○. Himpunan data: Kumpulan elemen independen (file, objek, dll) dalam memori dari
perhitungan sebelumnya, atau berasal dari beberapa penyimpanan data
○. Didistribusikan: Elemen dalam RDD dikelompokkan ke dalam partisi dan dapat disimpan
pada node yang berbeda
○. Ulet: RDD ingat bagaimana mereka dibuat, jadi jika sebuah node turun,
Spark dapat menghitung ulang elemen yang hilang di node lain
DAG Komputasi
Gambar dari:
https://databricks.com/blog/2015/06/22/understanding-your-spark-application-through-visualization.html
Bagaimana Skala Spark?
● Semua skala cluster adalah tentang meminimalkan I/O. Spark melakukan ini dalam beberapa
cara:
● Numba memungkinkan Anda membuat fungsi CPU dan CUDA yang dikompilasi
tepat di dalam aplikasi Python Anda.
● Numba dapat digunakan dengan Spark untuk mendistribusikan dan menjalankan kode Anda dengan
● Ada ruang untuk peningkatan dalam cara Spark berinteraksi dengan GPU, tetapi
semuanya berhasil.
● Waspadalah terhadap penggandaan biaya inisialisasi dan kompilasi tetap secara tidak
sengaja.
Terima kasih