RANCANGAN SISTEM
4.1 Evaluasi Kinerja Pembuatan Struktur Uniform Grid
Evalusi kinerja pembuatan struktur uniform grid dilakukan dengan menggu-nakan beberapa model yang banyak digumenggu-nakan pada penelitian-penelitian yang se-jenis seperti model-model pada repositori stanford, model conference room, fairy forestdan sponza atrium. Kinerja yang diperhatikan dalam evaluasi ini adalah wak-tu pembuatan/konstruksi strukwak-tur uniform grid dan memori GPU yang digunakan untuk struktur uniform grid.
4.1.1 Spesifikasi Pengujian
Pada pengujian dan evaluasi kinerja pembuatan struktur uniform grid yang akan dilakukan, digunakan spesifikasi perangkat keras dan perangkat lunak dengan rin-cian sebagai berikut
• Kartu grafik NVIDIA GeForce GTX 260 896 MB DDR3
• NVIDIA CUDA Toolkit 2.3 dan NVIDIA CUDA SDK 2.3
Data yang diambil dalam pengujian ini adalah waktu pembuatan atau konstruksi struktur uniform grid (tidak termasuk pengiriman data ke memori GPU) dan mem-ori GPU yang dibutuhkan untuk menyimpan seluruh struktur scene dan struktur uniform grid. Waktu pembuatan atau konstruksi struktur uniform grid merupakan indikasi awal apakah suatu sistem mempunyai algoritma paralel yang bagus atau tidak. Indikasi ini akan dipertanyakan kembali pada saat pengujian ray tracing traversalkarena struktur data uniform grid yang dibangun akan mempengaruhi kin-erja dari ray tracing traversal.
4.1.2 Hasil Pengujian
Gambar 4.1 merupakan visualisasi dari struktur uniform grid model sedangkan tabel data hasil pengujian untuk pembuatan struktur uniform grid dapat dilihat pada tabel 4.1 dan 4.2. Pengambilan waktu konstruksi yang dibutuhkan dilakukan setelah semua data scene (polygon-polygon) selesai di muat ke dalam memori GPU.
Data hasil pengujian pada tabel 4.1 memuat informasi tentang waktu pemben-tukan struktur uniform grid dan kebutuhan total memori GPU untuk struktur uni-form grid dan polygon-polygon pada scene. Tabel 4.2 memuat informasi tentang besar struktur triangle offset yang digunakan pada masing-masing model.
4.1.3 Diskusi dan Evaluasi
Data hasil pengujian pada tabel 4.1 memperlihatkan bahwa seiring dengan meningkatnya jumlah polygon yang ada pada model atau scene yang akan digambar, maka waktu pembuatan struktur uniform grid yang dibutuhkan semakin meningkat pula. Tetapi hal tersebut tidak terjadi pada model sponza dengan model horse. Mod-el horse mempunyai jumlah polygon lebih banyak sekitar dua puluh ribu daripada jumlah polygon pada model sponza tetapi waktu pembuatan struktur uniform grid lebih singkat. Fenomena tersebut terjadi karena resolusi dan besar struktur trian-gle offset dari horse lebih kecil daripada model sponza sehingga banyaknya data yang harus diproses menjadi lebih sedikit. Data paralel yang harus diproses un-tuk setiap tahapan dapat dilihat pada tabel 4.3. Dari kedua hal tersebut maka dapat disimpulkan bahwa pada sistem yang dirancang waktu pembuatan struktur uniform grid dipengaruhi oleh jumlah polygon dan besar struktur triangle offset. Struktur triangle offsetdigunakan untuk mengatasi permasalahan overlapped polygon yang terjadi pada cell pada struktur uniform grid.
(a) Model bunny (b) Model sponza atrium
(c) happy budha
Gambar 4.1: Visualisasi hasil konstruksi struktur uniform grid
Tabel 4.1: Hasil Pengujian Pembuatan Struktur Uniform Grid
Model / Scene Polygon Resolusi Grid
Waktu Konstruksi (ms) Kebutuhan Memori (MB) Wood Doll 6018 20x48x34 2,45 0,41 Bunny 69451 77x77x60 6,14 6 Sponza 76148 122x55x58 10,80 7,6 Horse 96966 50x109x91 6,81 8,2 Fairy Forest 174117 151x39x151 18,77 13,22 Conference 282755 211x51x134 24,42 18,73 Hand 654666 239x168x82 24,26 53,2 Dragon 871414 240x170x108 34,82 72,62 Happy Budha 1087716 131x319x131 44,08 90,92 Blade 1765388 189x320x147 71,30 148,94 xyzrgb_dragon 7219045 461x256x307 193,51 571,33
Tabel 4.2: Struktur Triangle Offset
Model / Scene Polygon Resolusi Grid Besar Struktur Triangle Offset Wood Doll 6018 20x48x34 24436 Bunny 69451 77x77x60 239955 Sponza 76148 122x55x58 517016 Horse 96966 50x109x91 273430 Fairy Forest 174117 151x39x151 1164048 Conference 282755 211x51x134 1176884 Hand 654666 239x168x82 1467798 Dragon 871414 240x170x108 2379395 Happy Budha 1087716 131x319x131 3094383 Blade 1765388 189x320x147 5372964 xyzrgb_dragon 7219045 461x256x307 12335855
Tabel 4.3: Besar data paralel yang ditangani setiap tahapan
Tahapan Jumlah data paralel yang ditangani
Inisialisai Serial Code
Overlapped Polygon Jumlah Polygon
Paralel Prefix Sum Jumlah Polygon
Perhitungan Perpotongan Cell Jumlah Polygon
Paralel Sorting Besar Triangle Offset
Scanning Data Besar Triangle Offset
Tabel 4.4: Perbandingan waktu konstruksi dengan sistem lain
Model / Scene Sistem yang dirancang Sistem pada makalah [KS09] Sistem pada makalah [LD08] Bunny 6,14 ms n/a 10 ms Sponza 10,80 ms 13 ms n/a Conference 24,42 ms 27 ms 120 ms Fairy Forest 18,77 ms 24 ms n/a
Dragon 34,82 ms n/a 110 ms
Happy Budha 44,08 ms n/a 140 ms
Gambar 4.2: Perbandingan jumlah polygon dengan besar triangle offset
Fenomena lain yang muncul adalah perbandingan jumlah polygon dengan be-sar struktur triangle offset. Pada gambar 4.2 dapat dilihat bahwa pada model-model yang digunakan perbandingan sangatlah kecil (sekitar 0.1-0.5) yang artinya semakin kecil perbandingan maka semakin banyak polygon yang overlapped dan semakin besar struktur triangle offset yang harus digunakan. Hal yang sangat mempengaruhi adalah besar resolusi dari uniform grid yang digunakan. Pada makalah [KS09] menjabarkan bahwa resolusi yang paling optimal adalah resolusi yang mendekati bentuk bujur sangkar dan pada makalah tersebut digunakan metode heuristik un-tuk menenun-tukan resolusi uniform grid yang digunakan. Sistem menggunakan pen-dekatan yang dijabarkan pada makalah [Ize09] yang menggunakan volume scene, banyaknya polygon, diagonal scene, dan user konstanta. Pendekatan tersebut cukup efisien tetapi bukan pendekatan yang paling baik karena tidak memasukkan unsur besar AABB pada masing-masing polygon sehingga jika terdapat perbedaan besar polygon yang sangat tinggi, struktur menjadi tidak efisien.
Tabel 4.4 merupakan perbandingan antara sistem yang dirancang dengan sistem yang dijabarkan pada makalah [KS09] dan sistem yang dijabarkan pada makalah [LD08]. Pada makalah [KS09] digunakan pendekatan yang kurang lebih sama hanya saja pada penentuan resolusi grid-nya digunakan metode heuristik sehing-ga sansehing-gat mendapatkan resolusi grid yang berbeda untuk setiap model. Makalah [LD08] menggunakan struktur hashed grid serta menggunakan CPU sebagai daya komputasinya. Hasil pada tabel 4.4 memperlihatkan bahwa terjadi peningkatan
performa untuk pembuatan struktur uniform grid antara CPU sebagai daya kom-putasinya dengan GPU sebagai daya komkom-putasinya. Peningkatan performa me-mang terlihat tidak terlalu tinggi (sekitar 2 sampai 3 kali lebih cepat) dibandingkan dengan perbedaan daya komputasi antara CPU dan GPU. Hal tersebut dikarenakan metode ray tracing tidak terlalu cocok diparalelkan pada arsitektur SIMD (Single Instruction Multiple Data) / SIMT (Single Instruction Multiple Thread), dan ji-ka CPU mempunyai jumlah prosessor yang sama maji-ka dapat dipastiji-kan performa pada CPU akan jauh lebih bagus karena mempunyai arsitektur MIMD (Multiple In-struction Multiple Data). Sedangkan perbandingan antara sistem yang dirancang dengan sistem yang kurang lebih sama yang dipaparkan pada makalah [KS09], di-dapatkan peningkatan yang tidak terlalu signifikan karena kedua sistem tersebut menggunakan analogi dan algoritma pembentukan struktur uniform grid yang ku-rang lebih sama serta kedua sistem tersebut sama-sama berjalan pada GPU dengan menggunakan standar CUDA.