15 BAB III
PERANCANGAN
Pada bab ini di jelaskan tentang bagaimana realisasi dari CPU computing, GPU computing, dan Cluster Computing serta sistem pengaturan dan struktur coding dari masing – masing metode computing.
3.1. Gambaran Sistem
Skema dari metode computing yang akan dirancang terdiri dari CPU computing, cluster computing, GPU computing adalah sebagai berikut :
Gambar 3.1 Skema CPU Computing [12].
16
Gambar 3.3 Skema GPU Computing [5]. Tabel 3.1. Spesifikasi Komputer yang digunakan untuk pengujian
Komputer 1 Komputer 2
Processor Intel Core i5-3230M @2,6 GHz Intel Core i3- 311M @2,4GHz
RAM DDR3 800MHz 4GB DDR3 800MHz 4GB
GPU NVIDIA Geforce GT635M Intel HD Graphics
3.2. Cara Kerja Sistem
3.2.1. Setting OpenMPI Pada Visual Studio
17
Klik kanan project pada Solution Manager, kemudian pilih properties. Pada Configuration Properties, expand C/C++ pilih general, kemudian pada kolom Additional Include Directories, berikan path dari folder include OpenMPI, supaya header OpneMPI dapat terbaca oleh sistem.
Gambar 3.5 Additional Library Directories.
Gambar 3.6 Additional Dependencies.
18
menjalankan aplikasi. Eksekusi program dengan mpirun pada OpenMPI yang dijalankan pada command prompt, harus memiliki koneksi internet untuk menjalankannya. Untuk menjalankan program MPI pada command prompt digunakan coommand:
Local : mpirun –np 2 file.exe
Angka 2 pada command tersebut digunakan untuk mensimulasikan jumlah proses yang secara virtual berjalan pada local host, bisa diganti dengan angka yang berjumlah 2n Cluster : mpirun –np 2 –host host1,host2 file.exe
Sama seperti dengan local, hanya ditambahkan dengan –host dan juga dengan nama komputer masing-masing host, jumlah host dan angka host harus sama dengan sejumlah 2n [9].
3.2.2. Setting Nvidia Nsight
Langkah awal dalam menggunakan Nvidia Nsight, adalah pada PC user sudah terinstall visual studio, supaya pada waktu instalasi Nvidia Toolkit, template dari Nsight dapat terintegrasi pada new project visual studio, sehingga dapat langsung digunakan oleh user. Setelah Instalasi berhasil dilakukan, cek kompatibilitas dari hardware GPU, support atau tidak untuk memprogram dan menjalankan CUDA.
19
Gambar 3.8 Pencarian Code Samples untuk uji coba GPU.
Untuk mengetahui apakah GPU yang terpasang di PC mendukungCUDA dapat dilakukan pada NVIDIA CUDA samples browser, search dengan kata kunci particles kemudian pada smoke particles klik run.
Gambar 3.9 Smoke screen code samples.
20
Gambar 3.10 Template dari CUDA yang terintegrasi dengan Visual Studio.
Setelah proses instalasi selesai maka installation summary akan menampilkan fitur-fitur dan komponen dari CUDA Nsight yang telah berhasil di integrasikan pada visual studio dan pada PC user. Dan pada visual studio sudah terintegrasi template project CUDA runtime.
21
Pada Environment Variabel yang terdapat di My Computer Properties lalu pilih Advanced system settings, pastikan terdapat CUDA path yang berisi letak dari folder bin , include, dan library dari CUDA, supaya program CUDA dapat dikompilasi dan dieksekusi oleh user. [1]
3.2.2.1. Cuda Template
CUDA template adalah kode minimum yang digunakan untuk mengeksekusi GPU. CUDA template terdiri dari kode host dan kode device. Potongan kode di bawah adalah kode template untuk aplikasi sederhana: [5, Hal 76 ]
#include <stdio.h>
1. #include <cuda.h>
2.__global__ void square_array(float * a, int N)
3.{
4. <Kode GPU>
5.}
<Kode CPU>
6.int main(void)
7. {
8. //Inisialisasi memory CPU
9. float *a_h, *a_d;
10. const int N = 10;
11. size_t size = N * sizeof(float);
12. a_h = (float *)malloc(size);
13. //Inisialisasi memory GPU
14. cudaMalloc((void **) &a_d, size);
15. //Penyalinan data dari CPU ke GPU
16. cudaMemcpy(a_d, a_h, size,cudaMemcpyHostToDevice);
17. //pemanggilan kernel
18. kernel<<< jumlah block, jumlah thread >>> (a_d,N);
19. //Penyalinan data dari GPU ke CPU
20. cudaMemcpy(a_h,a_d,sizeof(float)*NcudaMemcpyDeviceT
oHost);
21. }
3.2.3. Setting Koneksi Cluster
3.2.3.1.Konfigurasi Firewall
22
Gambar 3.12 Pencarian Firewall dengan searchbox.
Gambar 3.13 Advanced Security Firewall.
23
Gambar 3.14 Firewall Properties.
Kemudian status Firewall State pilih menjadi off. Sehingga inbound dan outbound connections tidak memblokir koneksi MPI pada saat mengirim data pada cluster atau pada saat menerima data.
3.2.3.2. Konfigurasi IP dan User Credential
Gambar 3.15 Search Network and Sharing Center.
24
Gambar 3.16 Network and Sharing Center.
Pilih pada Change adapter setting , kemudian pada Local Area Connection klik kanan dan pilih properties.
25
Gambar 3.18 IPV4 Properties.
26
PC 1 PC 2
Gambar 3.19 User Account host dan client.
Nama user pada PC 1 dan PC 2 dan juga password harus identik, supaya pada proses eksekusi OpenMPI PC 2 terdeteksi, dan MPI dapat melakukan transfer data antara PC 1 dan PC2.
3.2.3.3. Setting Component Service
Pada search box start menu, ketikkan dcomcnfg.exe , tekan enter, pilih Component service, kemudian masuk ke folder Computer, pada my Computer klik kanan pilih
properties.
27
Gambar 3.21 Limit COM Security pada My Computer Properties.
Klik COM Security pilih edit limits. Disini akan di konfigurasikan koneksi user ke komputer utama, supaya security PC memberikan status allow pada user yang terhubung pada komputer utama. Add terlebih dahulu user yang akan diberikan permission untuk mengakses komputer utama.
Gambar 3.22 Search Select User.
28
Gambar 3.23 Advanced Select User.
Klik Find now untuk mencari jenis user, kemudian pilih everyone, lalu klik OK.
Gambar 3.24 Edit Permission untuk user yang dipilih.