Real-time gpu-based sph fluid simulation using vulkan and openGL compute shaders

Gunadi, Samuel Ivan (2018) Real-time gpu-based sph fluid simulation using vulkan and openGL compute shaders. Bachelor thesis, Universitas Pelita Harapan.

[img] Text (Title)
Title.pdf
Restricted to Registered users only
Available under License Creative Commons Attribution Non-commercial Share Alike.

Download (3MB)
[img]
Preview
Text (Abstract)
Abstract.pdf
Available under License Creative Commons Attribution Non-commercial Share Alike.

Download (285kB) | Preview
[img]
Preview
Text (ToC)
ToC.pdf
Available under License Creative Commons Attribution Non-commercial Share Alike.

Download (292kB) | Preview
[img]
Preview
Text (Chapter1)
Chapter1.pdf
Available under License Creative Commons Attribution Non-commercial Share Alike.

Download (340kB) | Preview
[img] Text (Chapter2)
Chapter2.pdf
Restricted to Registered users only
Available under License Creative Commons Attribution Non-commercial Share Alike.

Download (362kB)
[img] Text (Chapter3)
Chapter3.pdf
Restricted to Registered users only
Available under License Creative Commons Attribution Non-commercial Share Alike.

Download (373kB)
[img] Text (Chapter4)
Chapter4.pdf
Restricted to Registered users only
Available under License Creative Commons Attribution Non-commercial Share Alike.

Download (3MB)
[img] Text (Chapter5)
Chapter5.pdf
Restricted to Registered users only
Available under License Creative Commons Attribution Non-commercial Share Alike.

Download (260kB)
[img]
Preview
Text (Bibliography)
Bibliography.pdf
Available under License Creative Commons Attribution Non-commercial Share Alike.

Download (334kB) | Preview
[img] 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:
CreatorsNIMEmail
Gunadi, Samuel IvanNIM11220120018multipresicion@aol.com
Contributors:
ContributionContributorsNIDN/NIDKEmail
Thesis advisorYugopuspito, PujiantoNIDN0324086701UNSPECIFIED
Thesis advisorHareva, David HabsaraNIDN0316037206UNSPECIFIED
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: 29 Jun 2020 07:41
URI: http://repository.uph.edu/id/eprint/8970

Actions (login required)

View Item View Item