bab iii perancangan -...
Embed Size (px)
TRANSCRIPT
![Page 1: BAB III PERANCANGAN - repository.uksw.edurepository.uksw.edu/bitstream/123456789/6945/3/T1_622009010_BAB III... · Gambar 3.1 Skema CPU Computing [12]. Gambar 3.2 Skema Cluster Computing](https://reader031.vdocuments.net/reader031/viewer/2022022117/5c9e23ea88c9939d358c0e69/html5/thumbnails/1.jpg)
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].
Gambar 3.2 Skema Cluster Computing [11].
![Page 2: BAB III PERANCANGAN - repository.uksw.edurepository.uksw.edu/bitstream/123456789/6945/3/T1_622009010_BAB III... · Gambar 3.1 Skema CPU Computing [12]. Gambar 3.2 Skema Cluster Computing](https://reader031.vdocuments.net/reader031/viewer/2022022117/5c9e23ea88c9939d358c0e69/html5/thumbnails/2.jpg)
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
Gambar 3.4 Additional Include Directories.
![Page 3: BAB III PERANCANGAN - repository.uksw.edurepository.uksw.edu/bitstream/123456789/6945/3/T1_622009010_BAB III... · Gambar 3.1 Skema CPU Computing [12]. Gambar 3.2 Skema Cluster Computing](https://reader031.vdocuments.net/reader031/viewer/2022022117/5c9e23ea88c9939d358c0e69/html5/thumbnails/3.jpg)
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.
Expand menu linker, kemudian pilih general, pada Additional Library Directories
berikan path folder lib OpenMPI supaya file mpi.lib yang dideklarasikan di Additional
Dependencies pada sub menu linker input, dapat berjalan pada saat compile dan
![Page 4: BAB III PERANCANGAN - repository.uksw.edurepository.uksw.edu/bitstream/123456789/6945/3/T1_622009010_BAB III... · Gambar 3.1 Skema CPU Computing [12]. Gambar 3.2 Skema Cluster Computing](https://reader031.vdocuments.net/reader031/viewer/2022022117/5c9e23ea88c9939d358c0e69/html5/thumbnails/4.jpg)
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.
Gambar 3.7 Summary NVIDIA Installer setelah installing Toolkit.
![Page 5: BAB III PERANCANGAN - repository.uksw.edurepository.uksw.edu/bitstream/123456789/6945/3/T1_622009010_BAB III... · Gambar 3.1 Skema CPU Computing [12]. Gambar 3.2 Skema Cluster Computing](https://reader031.vdocuments.net/reader031/viewer/2022022117/5c9e23ea88c9939d358c0e69/html5/thumbnails/5.jpg)
19
Gambar 3.8 Pencarian Code Samples untuk uji coba GPU.
Untuk mengetahui apakah GPU yang terpasang di PC mendukung CUDA 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.
Apabila muncul render smoke screen , maka GPU mendukung CUDA
![Page 6: BAB III PERANCANGAN - repository.uksw.edurepository.uksw.edu/bitstream/123456789/6945/3/T1_622009010_BAB III... · Gambar 3.1 Skema CPU Computing [12]. Gambar 3.2 Skema Cluster Computing](https://reader031.vdocuments.net/reader031/viewer/2022022117/5c9e23ea88c9939d358c0e69/html5/thumbnails/6.jpg)
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.
Gambar 3.11 Path CUDA pada environment variables.
![Page 7: BAB III PERANCANGAN - repository.uksw.edurepository.uksw.edu/bitstream/123456789/6945/3/T1_622009010_BAB III... · Gambar 3.1 Skema CPU Computing [12]. Gambar 3.2 Skema Cluster Computing](https://reader031.vdocuments.net/reader031/viewer/2022022117/5c9e23ea88c9939d358c0e69/html5/thumbnails/7.jpg)
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
Firewall pada masing-masing komputer user harus terbuka, supaya koneksi dari
MPI yang dikirimkan dari komputer cluster tidak di block oleh komputer lainnya.
![Page 8: BAB III PERANCANGAN - repository.uksw.edurepository.uksw.edu/bitstream/123456789/6945/3/T1_622009010_BAB III... · Gambar 3.1 Skema CPU Computing [12]. Gambar 3.2 Skema Cluster Computing](https://reader031.vdocuments.net/reader031/viewer/2022022117/5c9e23ea88c9939d358c0e69/html5/thumbnails/8.jpg)
22
Gambar 3.12 Pencarian Firewall dengan searchbox.
Gambar 3.13 Advanced Security Firewall.
Pada search box di start menu, masukkan dengan kata pencarian firewall, kemudian
pilih Windows Firewall with Advanced Security. Pilih Windows Firewall with Advanced
Security on local Computer, klik Windows Firewall Properties.
![Page 9: BAB III PERANCANGAN - repository.uksw.edurepository.uksw.edu/bitstream/123456789/6945/3/T1_622009010_BAB III... · Gambar 3.1 Skema CPU Computing [12]. Gambar 3.2 Skema Cluster Computing](https://reader031.vdocuments.net/reader031/viewer/2022022117/5c9e23ea88c9939d358c0e69/html5/thumbnails/9.jpg)
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.
Pada search box cari network and sharing center. Untuk membuka setting adapter
LAN
![Page 10: BAB III PERANCANGAN - repository.uksw.edurepository.uksw.edu/bitstream/123456789/6945/3/T1_622009010_BAB III... · Gambar 3.1 Skema CPU Computing [12]. Gambar 3.2 Skema Cluster Computing](https://reader031.vdocuments.net/reader031/viewer/2022022117/5c9e23ea88c9939d358c0e69/html5/thumbnails/10.jpg)
24
Gambar 3.16 Network and Sharing Center.
Pilih pada Change adapter setting , kemudian pada Local Area Connection klik
kanan dan pilih properties.
Gambar 3.17 Local Area Connection Properties.
Pilih pada Internet Protocol Version 4, lalu klik properties.
![Page 11: BAB III PERANCANGAN - repository.uksw.edurepository.uksw.edu/bitstream/123456789/6945/3/T1_622009010_BAB III... · Gambar 3.1 Skema CPU Computing [12]. Gambar 3.2 Skema Cluster Computing](https://reader031.vdocuments.net/reader031/viewer/2022022117/5c9e23ea88c9939d358c0e69/html5/thumbnails/11.jpg)
25
Gambar 3.18 IPV4 Properties.
Setting masing-masing PC user dengan menggunakan cara yang sama, dan set
masing-masing IP PC. Dalam project ini PC pertama menggunakan IP 192.168.62.10 dan
PC kedua menggunakan IP 192.168.62.11
![Page 12: BAB III PERANCANGAN - repository.uksw.edurepository.uksw.edu/bitstream/123456789/6945/3/T1_622009010_BAB III... · Gambar 3.1 Skema CPU Computing [12]. Gambar 3.2 Skema Cluster Computing](https://reader031.vdocuments.net/reader031/viewer/2022022117/5c9e23ea88c9939d358c0e69/html5/thumbnails/12.jpg)
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.
Gambar 3.20 Component Service.
![Page 13: BAB III PERANCANGAN - repository.uksw.edurepository.uksw.edu/bitstream/123456789/6945/3/T1_622009010_BAB III... · Gambar 3.1 Skema CPU Computing [12]. Gambar 3.2 Skema Cluster Computing](https://reader031.vdocuments.net/reader031/viewer/2022022117/5c9e23ea88c9939d358c0e69/html5/thumbnails/13.jpg)
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.
Klik advanced sehingga muncul menu untuk menambahkan jenis user yang akan di
tambahkan ke permission.
![Page 14: BAB III PERANCANGAN - repository.uksw.edurepository.uksw.edu/bitstream/123456789/6945/3/T1_622009010_BAB III... · Gambar 3.1 Skema CPU Computing [12]. Gambar 3.2 Skema Cluster Computing](https://reader031.vdocuments.net/reader031/viewer/2022022117/5c9e23ea88c9939d358c0e69/html5/thumbnails/14.jpg)
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.
Check box yang terdapat pada Access Permission dan launch and activation permision
pada user Everyone. Beri check pada allow untuk semua opsi nya. Lalu OK dan tutup
Component Service.