3
DIGITAL INFORMATION & SYSTEM CONFERENCE 2O1O Analisis Performansi Pengolahan Paralel Menggunakan Compute Unified Device Architecture (CUDA) 'program Studireknik,^::',"Yilirv"'ilffii"1ir""',ffi&:[ffi:':"i""1%,kutra No. 2044 Bandung 40 125, sriyan i.violina@widyatama. ac.id ' Program StudiTeknik lnformatika STIIS Bandung, Jalan Clsangkuy No. Bandung, l_ovyawan_h @yahoo. com ABSTRAK Saat ini banyak aplikasi yang membutuhkan pengolahan sejumlah besar data dalam waktu yang cepat. Disisi lain para pengembang software juga diuntungkan oleh perkembangan hardware yang pesat dimana kecepatan prosesor semakin cepat sementara harga semakin turun. Tantangannya adalah bagaimana 'memanfaatkan momen tersebut dengan mengembangkan aplikasi pengolahan parallel yang jalan di prosesor multi-core, dengan harapan pengolahan data menjadi jauh lebih cepat. CUDA merupakan salah satu platform software yang memanfaatkan Graphics Processing Units (GPU) yang ada di setiap workstation untuk melakukan perhitungan numerik.Paper ini bertujuan untuk mengimplementasikan algoritma standar menggunakan CUDA dan menganalisis perfomansi pemrograman paralel dibandingkan dengan pemrograman secara serial. Metode yang digunakan untuk menganalisis adalah uji beda statistika untuk melihat apakah perbedaan dari keduanya signifikan. Parameter performansi yang dibandingkan adalah kec,epatan proses dalam satuan nanodetik. Hasil pengamatan menunjukkan bahwa perbedaan kecepatan antara pemrograman parallel menggunakan CUDA dan pernrograman serial untuk algoritma yang diujikan adalah signifikan. Kata kunci : pengolahan parallel, CUDA 1. Pendahuluan Saat ini banyak aplikasi yang membutuhkan pengolahan sejumlah besar data dalam waktu yang cepat. Disisi lain para pengembang software juga diuntungkan oleh perkembangan hardware yang pesat,dimana kecepatan prosesor semakin cepat sementara harga semakin turun. Tantangannya adalah bagaimana memanfaatkan mornen tersebut dengan mengembangkan aplikasi pengolahan parailel yang jalan di prosesor multi-core, dengan harapan pengolahan data menjadijaqh lebih cepat. CUDA merupakan salah satu platform software yang memanfaatkan Graphics Processing Units (GPU) yang ada di setiap workstation untuk melakukan perhitungan numerik Paper ini bertujuan irntufi mengimplgmentasikan algoritma standar menggunakan CUDA dan menganalisis perfomansi pemrograman paralel dibandingkan dengan pemrograrnan secara serial. 2. Pembahasan 2.1 Deskripsi Permasalahan Eksperimen ini mengimplementasikan versi parallel CUDA dari fungsi perkalian matrix general dari Basic Linear Subroutine Eksperimen dilakukan untuk nilai N yang bervariasi yaitu : 16, 32,64, 100, 200, 400, 800, '1600, dan dilakukan analisis hasil perbandingan eksekusi serial pada host. Untuk eksperimen ini ditentukan parameter ukur waktu meggunakan clockQ dan clock3eftimeQ. Perbedaan keduanya adalah pada satuan yang digunakan, clock$ menggunakan kilo detik, sedangkan timeO menggunakan detik. Dengan demikian untuk clock agar mendapat nilainya harus dibagi dengan konstanta CLOCKS PERiSEG.-rUntuk' menentukan apakah hasil percobaan membefikan fts5ll berupa perbedadn antara kedua program cukup signifikan, digunakan analisis t-test. r- I int n, float alpha, const ffoat *A, const float *8, float beta, float *C 81

KIN.HC 056 - Sr ... & Ovyawan Herlistiono.pdf

Embed Size (px)

Citation preview

DIGITAL INFORMATION & SYSTEM CONFERENCE 2O1O

Analisis Performansi Pengolahan Paralel MenggunakanCompute Unified Device Architecture (CUDA)

'program Studireknik,^::',"Yilirv"'ilffii"1ir""',ffi&:[ffi:':"i""1%,kutra No. 2044 Bandung40 125, sriyan i.violina@widyatama. ac.id

' Program StudiTeknik lnformatika STIIS Bandung, Jalan Clsangkuy No. Bandung,l_ovyawan_h @yahoo. com

ABSTRAKSaat ini banyak aplikasi yang membutuhkan pengolahan sejumlah besar data dalam waktuyang cepat. Disisi lain para pengembang software juga diuntungkan oleh perkembanganhardware yang pesat dimana kecepatan prosesor semakin cepat sementara harga semakinturun. Tantangannya adalah bagaimana 'memanfaatkan momen tersebut denganmengembangkan aplikasi pengolahan parallel yang jalan di prosesor multi-core, denganharapan pengolahan data menjadi jauh lebih cepat. CUDA merupakan salah satu platformsoftware yang memanfaatkan Graphics Processing Units (GPU) yang ada di setiap workstationuntuk melakukan perhitungan numerik.Paper ini bertujuan untuk mengimplementasikanalgoritma standar menggunakan CUDA dan menganalisis perfomansi pemrograman paraleldibandingkan dengan pemrograman secara serial. Metode yang digunakan untuk menganalisisadalah uji beda statistika untuk melihat apakah perbedaan dari keduanya signifikan. Parameterperformansi yang dibandingkan adalah kec,epatan proses dalam satuan nanodetik.Hasil pengamatan menunjukkan bahwa perbedaan kecepatan antara pemrograman parallelmenggunakan CUDA dan pernrograman serial untuk algoritma yang diujikan adalah signifikan.

Kata kunci : pengolahan parallel, CUDA

1. PendahuluanSaat ini banyak aplikasi yang membutuhkan pengolahan sejumlah besar data dalam

waktu yang cepat. Disisi lain para pengembang software juga diuntungkan oleh perkembanganhardware yang pesat,dimana kecepatan prosesor semakin cepat sementara harga semakinturun.

Tantangannya adalah bagaimana memanfaatkan mornen tersebut denganmengembangkan aplikasi pengolahan parailel yang jalan di prosesor multi-core, denganharapan pengolahan data menjadijaqh lebih cepat.

CUDA merupakan salah satu platform software yang memanfaatkan Graphics ProcessingUnits (GPU) yang ada di setiap workstation untuk melakukan perhitungan numerik Paper inibertujuan irntufi mengimplgmentasikan algoritma standar menggunakan CUDA danmenganalisis perfomansi pemrograman paralel dibandingkan dengan pemrograrnan secaraserial.

2. Pembahasan2.1 Deskripsi PermasalahanEksperimen ini mengimplementasikan versi parallel CUDA dari fungsi perkalian matrix general

dari Basic Linear Subroutine

Eksperimen dilakukan untuk nilai N yang bervariasi yaitu : 16, 32,64, 100, 200, 400, 800,'1600, dan dilakukan analisis hasil perbandingan eksekusi serial pada host.Untuk eksperimen ini ditentukan parameter ukur waktu meggunakan clockQ danclock3eftimeQ. Perbedaan keduanya adalah pada satuan yang digunakan, clock$menggunakan kilo detik, sedangkan timeO menggunakan detik. Dengan demikian untuk clockagar mendapat nilainya harus dibagi dengan konstanta CLOCKS PERiSEG.-rUntuk'menentukan apakah hasil percobaan membefikan fts5ll berupa perbedadn antara keduaprogram cukup signifikan, digunakan analisis t-test.

r-I

int n, float alpha, const ffoat *A, const float *8, float beta, float *C

81

zs

slsllBuv ?.2

anap u,erep (ueau) BleFBlBr ,';yff3,ffi:)",i3#Y:#fffi;:3:f,l:,X'l"ff jir-=l?3|ff"flrqep aurll qep erBur 'uosueduoc.rrel 6ueA [serf uerpaq*reu >lnpn 'uip'otiL,

"irfa*"" t-6un1rq.red geleun6rp eleurpdec feOues -breias

isei rterurntjs' ueii"iep,t**'nore*vonc 'epe 6ued lsuereJor lrunuaw 'elep qqun[ qetepe 11'.p;.ras ur,iroo.,l u"Jo L.rg

:lnlpaq !redepp enp^-I'nr elep loduopr enpe)r rnlu^ pi'ilffiffif#;;HlJi'ffi:,f5

99EIEE0EEOt)- {PuoJpshfepH

Efit60s5to'{r

ilSt)8801.9tsz:oti'110880a9tuixtgltE8S9 t 98Zt)'O19'[It!9r98E{m8tftr6t 6€{xl'0r9'Eg?6 r 6r00t'stftz9gtlt,O'0t'Illzgs002il6g l6f It)00'oiB'65t 6[ r{x}l5r,t85i{f,}ft01)s'H 8ErF996tl.lg$ffn'o9'{tl LLsgg

099Sgflnrm'o59E9F9I

galp:ed u:er6o.rd Inlun ueupads>p;1seg Z 1aqel

- 'z leqel epedleuryel uadas elBp-elep ue4edeprp 'ue1ueleftp vonc ura6o.rd qela]es

t-16uepag 'leues urer6o.rd lnpn rsenop repu'ts qegepe.res-pls ubi'6uirpis .rgap uBtep'rselEls uEllesaplueut Inlun leuas urer6o.rd qalo ueleun6gp 6uei( nqerur qelepe ipuoiai)jud rpo 'BlBp qelurn[ qelepe N .betat tun]eq 6ueI epp qelr.unfes.i"qttp idaei' taqel ueo

;epes tuel6ord >lnlun uaurpadsle [seH ] ;aqBI

:lnlueq elep uelpdeplp 'p[es uerEord eped ueeqoc.red qeplnlas ueln)e[p qep]asuBeqocrad[sBH tZ

8L6?9ZLLL'Z=9Z98erO6'0 I t9Wtzlttiz = '3S/OO = enlBn-l

9298C?00'0 =:tS ((ercoeooge0'0) + (slgoo0eezgr'9))rbs:((1egercd-e1ep-3) t(c$r,aplg) +(0epas-qepl) 7(tX)nepp)) pbs = (rouJ pieptieisy 39

Wtgtzil l9'Z= OO'9t9egZ09t0'0 - 00000929?9'Z = OO

((7y) ueau - (lX) ueeur) - 96

fiOfxxlElgts'A - {Puo-ras1uer6

s600trlsi'g

0 l0z 3cNf USJNOC rr=rISAS I NOlrVUllUOJNt lvJelo

DIGITAL INFORMATION & SYSTEM CONFERENCE 2O1O

o = 0.05 atau9io/oK (degree of freedom) = (I-data-seriai + I_data3aralel) - 2.=16

Setelah didapat data-data tersebut, maka t-value dibandingkan dengan data pada'tabel t (t-table). Dari t-table didapat T dengan k = 16 dan s = 0.05 adalah 2.12.

3. KesimpulanHasil perhitungan rnenunjukkan bahwa t-value lebih besar dari t-table. Maka dapatdisimpulkan bahwa perbedaan kecepatan antala pemrograman parallel menggunakan CUDAdan pemrograman serial untuk algoritnlp yang diujikan adalah signifikan-

Daftar Pustaka :'

t1]

-,

tanggal akses 15, desember, 2009, "lndependent Measure test',http://changingminds.org/explanationVr6search/analysis/independent_measures_t-test.htm

hnggal alces 15,. dessrber, 2009, t+d bble",

f@//dangingnhds. .ffrn.

A

:'.'83