Instalasi Intel oneAPI di Linux Debian/Ubuntu

Intel pada Desember 2020 telah mengeluarkan paket pengembangan perangkat lunak terintegrasi yang mereka namakan Intel oneAPI. Intel menyebutkan bahwa oneAPI adalah model pemrograman terbuka dan terpadu yang dibangun di atas standar untuk menyederhanakan pengembangan dan penerapan beban kerja yang berpusat pada data di seluruh CPU, GPU, FPGA, dan akselerator lainnya.

Perangkat keras keluaran Intel akan sangat optimal jika menjalankan perangkat lunak yang dikembangkan menggunakan Intel oneAPI. Menurut beberapa hasil benchmarks, perangkat keras non-Intel (misalnya produk AMD) pun tampaknya lebih optimal bekerja dengan Intel oneAPI dibandingkan dengan paket distribusi pengembangan lainnya.

Rangkaian produk Intel oneAPI di antaranya mencakup compiler terdepan yang digunakan di industri (contohnya Intel C/C++ Compiler dan Intel Fortran Compiler), pustaka berkinerja tinggi, berbagai perangkat debugger, hingga distribusi tersendiri untuk pengembangan perangkat lunak dengan Python (Intel Distribution for Python). Pada tutorial ringkas ini, kita akan menunjukkan instalasi salah satu Intel oneAPI toolkit GRATIS yang ditujukan untuk high-performance computer (HPC), yakni Intel oneAPI HPC Toolkit.

Intel oneAPI HPC Toolkit terutama bermanfaat bagi para ilmuwan komputasi yang membutuhkan compiler terbaik untuk bahasa C/C++ dan Fortran, pustaka Intel Math Kernel Library (LAPACK, BLAS, dll.), serta distribusi yang efisien untuk Python. Tutorial ini mencontohkan instalasi pada komputer yang menggunakan sistem operasi berbasis Linux Debian/Ubuntu dengan alat repositori advanced package tool (APT) melalui koneksi internet.

Pengaturan APT untuk repositori Intel

Pertama-tama, dapatkan dulu kunci publik dari repositori Intel. Kita bisa melakukannya dalam direktori bebas di Terminal, yakni antarmuka baris perintah yang tersedia di Linux untuk memasukkan berbagai perintah atau ekseksui program tertentu. Kita akan gunakan peran administrator di Debian/Ubuntu dengan perintah sudo. Perintah wget berikut ini digunakan untuk mengambil kunci publiknya Intel.

sudo wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB

Pembaca dapat menyalin perintah di atas ke Terminal dan tekan tombol “Enter” pada papan tik. Contoh hasilnya ditunjukkan di bawah.

--2021-01-22 01:48:52--  https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
Resolving apt.repos.intel.com (apt.repos.intel.com)... 104.111.12.245, 2600:1407:b800:181::4b23, 2600:1407:b800:18d::4b23
Connecting to apt.repos.intel.com (apt.repos.intel.com)|104.111.12.245|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3796 (3.7K) [binary/octet-stream]
Saving to: ‘GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB’

GPG-PUB-KEY-INTEL-SW-PR 100%[=============================>]   3.71K  --.-KB/s    in 0.001s

2021-01-22 01:48:54 (5.37 MB/s) - ‘GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB’ saved [3796/3796]

Lalu, pasangkan kunci publik tersebut ke daftar sumber APT di dalam Linux Debian/Ubuntu dengan perintah apt-key add.

sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB

Hapus kunci publik yang sudah terpasang.

sudo rm GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB

Berikutnya adalah konfigurasi klien APT komputer kita untuk menggunakan repositori Intel.

echo "deb https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list

Setelah mengeksekusi perintah di atas pada Terminal, lanjutkan dengan perbaruan daftar repositori menggunakan perintah berikut ini.

sudo apt update

Jika ada pertanyaan yang muncul dan membutuhkan jawaban Yes/No, pastikan kita tulis huruf Y dan tekan Enter. Contoh hasil eksekusi perintah di atas dapat kita lihat berikut ini.

Hit:1 http://security.debian.org/debian-security buster/updates InRelease
Hit:2 http://deb.debian.org/debian buster InRelease
Hit:3 http://deb.debian.org/debian buster-updates InRelease
Get:4 https://apt.repos.intel.com/oneapi all InRelease [4,378 B]
Get:5 https://apt.repos.intel.com/oneapi all/main all Packages [6,331 B]
Get:6 https://apt.repos.intel.com/oneapi all/main amd64 Packages [26.0 kB]
Fetched 36.7 kB in 1s (31.4 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
All packages are up to date.   

Instalasi toolkit

Dengan repositori Intel yang telah dimasukkan ke dalam daftar repositori kita, proses instalasi Intel oneAPI dapat dilakukan secara mudah menggunakan satu baris perintah sudo apt install toolkit-meta-package-name. Di sini kita hanya mencontohkan intel-hpckit sebagai toolkit-meta-package-name sesuai kebutuhan penulis.

sudo apt install intel-hpckit

Salin perintah di atas seperti biasa ke Terminal dan tekan Enter. Linux Debian/Ubuntu akan memeriksa daftar perangkat lunak yang tercakup dalam Intel HPC Toolkit dan otomatis menyertakan seluruh perangkat yang perlu diinstalasi. Per 22 Januari 2021 saat tulisan ini dibuat, sekitar 3.5 GB file perlu diunduh dan 16.0 GB ruang harddisk dibutuhkan untuk memasang Intel HPC Toolkit secara lengkap. Eksekusi perintah di atas akan menanyakan kesediaan kita untuk melanjutkan instalasi. Contoh hasil eksekusinya seperti berikut ini.

[... kutipan dipotong]
0 upgraded, 92 newly installed, 0 to remove and 0 not upgraded.
Need to get 3,370 MB of archives.
After this operation, 16.0 GB of additional disk space will be used.
Do you want to continue? [Y/n] 

Pertanyaan pada baris terakhir dapat dijawab dengan menuliskan huruf Y dan tekan Enter. Setelah itu, kita tinggal menunggu proses pengunduhan paket dan seluruh instalasi diselesaikan otomatis oleh sistem Linux. Jika kita membutuhkan instalasi toolkit yang lain, ulangi perintah sudo apt install toolkit-meta-package-name dengan nama meta package sesuai daftar lengkap toolkits dari Intel oneAPI yang dapat dilihat di laman Intel oneAPI.

Pengaturan lingkungan pengguna

Setelah Intel oneAPI terpasang pada sistem, berkas biner (binary file) dari toolkit yang kita butuhkan perlu diatur agar masuk ke dalam lingkungan pengguna sehingga dapat diakses dengan baris perintah pada Terminal seperti normalnya perintah-perintah Linux yang lain. Untuk Terminal yang menggunakan “Bash shell”, pengaturan lingkungan pengguna dapat dilakukan dengan mengedit berkas ~/.bashrc atau ~/.bashrc_profile atau ~/.profile tergantung distribusi Linux yang digunakan (catatan: simbol ~/ adalah jalan pintas menuju direktori utama atau home dari pengguna yang sedang aktif).

Pada Debian/Ubuntu biasanya kita perlu mengedit ~/.bashrc untuk mengatur lingkungan pengguna. Kita dapat mengeditnya dengan menggunakan editor teks favorit kita dan menambahkan satu baris source /opt/intel/oneapi/setvars.sh pada akhir berkas ~/.bashrc. Namun, kita bisa juga edit langsung melalui Terminal dengan mengeksekusi baris perintah berikut ini.

echo "source /opt/intel/oneapi/setvars.sh" >> ~/.bashrc

Untuk merasakan perubahan akibat perintah di atas, kita perlu menutup Terminal terlebih dahulu dan membukanya lagi. Saat masuk kembali ke Terminal, sistem akan menginisiasi lingkungan oneAPI untuk pengguna. Contoh penampakannya ditunjukkan di bawah.

:: initializing oneAPI environment ...
   BASH version = 5.0.3(1)-release
:: vtune -- latest
:: dpl -- latest
:: inspector -- latest
:: dpcpp-ct -- latest
:: tbb -- latest
:: ipp -- latest
:: ccl -- latest
:: itac -- latest
:: ippcp -- latest
:: clck -- latest
:: mkl -- latest
:: intelpython -- latest
:: mpi -- latest
:: debugger -- latest
:: dev-utilities -- latest
:: advisor -- latest
:: dal -- latest
:: vpl -- latest
:: compiler -- latest
:: dnnl -- latest
:: oneAPI environment initialized ::

Bagi yang sehari-hari bekerja dengan bahasa C/C++, Fortran, dan Python, kita bisa menjamin Intel C/C++, Intel Fortran Compiler, dan Intel Distribution for Python sudah terpasang sempurna menggunakan perintah pengecekan versi.

icc --version
icpc --version
ifort --version
python --version

Per 22 Januari 2021, keluaran dari empat perintah di atas untuk versi terbaru Intel C/C++ Compiler, Intel Fortran Compiler, dan Intel Distribution for Python ditunjukkan berikut ini.

icc (ICC) 2021.1.2 20201208
Copyright (C) 1985-2020 Intel Corporation.  All rights reserved.
icpc (ICC) 2021.1.2 20201208
Copyright (C) 1985-2020 Intel Corporation.  All rights reserved.
ifort (IFORT) 2021.1.2 20201208
Copyright (C) 1985-2020 Intel Corporation.  All rights reserved.
Python 3.7.9 :: Intel Corporation

Selamat mencoba dan menikmati Intel oneAPI.

Leave a Reply

Your email address will not be published. Required fields are marked *