Gunadi, Samuel Ivan (2018) Real-time gpu-based sph fluid simulation using vulkan and openGL compute shaders. Bachelor thesis, Universitas Pelita Harapan.
Text (Title)
Title.pdf Restricted to Registered users only Available under License Creative Commons Attribution Non-commercial Share Alike. Download (3MB) |
||
|
Text (Abstract)
Abstract.pdf Available under License Creative Commons Attribution Non-commercial Share Alike. Download (285kB) | Preview |
|
|
Text (ToC)
ToC.pdf Available under License Creative Commons Attribution Non-commercial Share Alike. Download (292kB) | Preview |
|
|
Text (Chapter1)
Chapter1.pdf Available under License Creative Commons Attribution Non-commercial Share Alike. Download (340kB) | Preview |
|
Text (Chapter2)
Chapter2.pdf Restricted to Registered users only Available under License Creative Commons Attribution Non-commercial Share Alike. Download (362kB) |
||
Text (Chapter3)
Chapter3.pdf Restricted to Registered users only Available under License Creative Commons Attribution Non-commercial Share Alike. Download (373kB) |
||
Text (Chapter4)
Chapter4.pdf Restricted to Registered users only Available under License Creative Commons Attribution Non-commercial Share Alike. Download (3MB) |
||
Text (Chapter5)
Chapter5.pdf Restricted to Registered users only Available under License Creative Commons Attribution Non-commercial Share Alike. Download (260kB) |
||
|
Text (Bibliography)
Bibliography.pdf Available under License Creative Commons Attribution Non-commercial Share Alike. Download (334kB) | Preview |
|
Text (Appendices)
Appendices.pdf Restricted to Repository staff only Available under License Creative Commons Attribution Non-commercial Share Alike. Download (916kB) |
Abstract
Unlike CPU that works at very high frequency to achieve high speed, graphics processing units (GPUs) have a parallel architecture composed of many streaming multiprocessors (SMs) that work at a lower frequency, allowing for lower power consumption and faster execution time if the algorithm is able to be made parallel. Because the smoothed particle hydrodynamics (SPH) method has good scalability and is inherently parallelizable, it can take advantage of the parallel computing power of the GPUs by utilizing Vulkan. Vulkan is a new graphics and compute application programming interface (API) by Khronos Group. This thesis investigates the potential of Vulkan for fluid animation using SPH method. A simple parallel SPH algorithm is devised and implemented in GLSL (OpenGL Shading Language) compute shader. This GLSL code is converted into SPIR-V (Standard Portable Intermediate Representation V) format and then implemented with Vulkan and OpenGL 4.6. These implementations are then verified using 2 test cases: dropping a cube of water into a box and a dam break in a closed channel at room temperature. If the number of particles is 30 000 or greater, our Vulkan implementation is faster compared to our OpenGL implementation (n = 60000;Vulkan = 28:4 fps; OpenGL 4:6 = 15:25 fps). However, our Vulkan implementation is slower compared to our OpenGL 4.6 implementation if the number of particles is 20 000 or fewer (n = 20000;Vulkan = 115:95 fps; OpenGL 4:6 = 120:8 fps; n = 10000;Vulkan = 271:8 fps; OpenGL 4:6 = 302:65 fps). / Tidak seperti CPU yang bekerja di frekuensi yang sangat tinggi untuk mencapai kecepatan yang tinggi, GPU punya arsitektur parallel yang terdiri dari banyak streaming multiprocessors (SMs) yang bekerja di frekuensi yang lebih rendah, yang memperbolehkan efisiensi energi dan kecepatan eksekusi yang lebih tinggi jika algorithma yang dipakai dapat dibuat paralel. Karena metode smoothed particle hydrodynamics (SPH) punya skalabilitas yang bagus dan secara dasarnya dapat dibuat paralel, metode tersebut dapat memanfaatkan kekuatan pemrosesan paralel dari GPU dengan menggunakan Vulkan. Vulkan adalah application programming interface (API) grafis dan komputasi yang baru dari Khronos Group. Tesis ini menginvestigasi potensi dari Vulkan untuk animasi fluida dengan metode SPH. Sebuah algoritma SPH paralel yang sederhana dibuat dan diimplementasikan dalam GLSL (OpenGL Shading Language) compute shader. Kode GLSL ini diubah menjadi format SPIR-V (Standard Portable Intermediate Representation V) lalu diimplementasikan denganVulkan dan OpenGL 4.6. Implementasi ini di verifikasi dengan dengan 2 tes kasus: menjatuhkan sebuah balok air ke dalam kotak dan bendungan pecah dalam saluran tertutup di temperatur ruang. Bila jumlah partikelnya 30 000 atau lebih, implementasi Vulkan kami berjalan lebih cepat dibandingkan dengan implementasi OpenGL 4.6 kami (n = 60000;Vulkan = 28:4 fps; OpenGL 4:6 = 15:25 fps). Namun implementasi Vulkan kami berjalan lebih lambat dibandingkan dengan implementasi OpenGL bila jumlah partikelnya 20 000 atau kurang (n = 20000;Vulkan = 115:95 fps; OpenGL 4:6 = 120:8 fps; n = 10000;Vulkan = 271:8 fps; OpenGL 4:6 = 302:65 fps).
Item Type: | Thesis (Bachelor) | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Creators: |
|
||||||||||||
Contributors: |
|
||||||||||||
Additional Information: | SK 35-13 GUN r | ||||||||||||
Subjects: | Q Science > QA Mathematics > QA75 Electronic computers. Computer science | ||||||||||||
Divisions: | University Subject > Current > Faculty/School - UPH Karawaci > School of Information Science and Technology > Informatics Current > Faculty/School - UPH Karawaci > School of Information Science and Technology > Informatics |
||||||||||||
Depositing User: | Mr Samuel Noya | ||||||||||||
Date Deposited: | 29 Jun 2020 07:41 | ||||||||||||
Last Modified: | 30 Aug 2021 07:48 | ||||||||||||
URI: | http://repository.uph.edu/id/eprint/8970 |
Actions (login required)
View Item |