[vc_empty_space][vc_empty_space]
Material point method based fluid simulation on GPU using compute shader
Dharma D.a, Jonathan C.a, Kistidjantoro A.I.a, Manaf A.a
a Informatics Research Groups, School of Electrical Engineering and Informatics, Institut Teknologi Bandung, Bandung, Indonesia
[vc_row][vc_column][vc_row_inner][vc_column_inner][vc_separator css=”.vc_custom_1624529070653{padding-top: 30px !important;padding-bottom: 30px !important;}”][/vc_column_inner][/vc_row_inner][vc_row_inner layout=”boxed”][vc_column_inner width=”3/4″ css=”.vc_custom_1624695412187{border-right-width: 1px !important;border-right-color: #dddddd !important;border-right-style: solid !important;border-radius: 1px !important;}”][vc_empty_space][megatron_heading title=”Abstract” size=”size-sm” text_align=”text-left”][vc_column_text]© 2017 IEEE.Fluid simulation, specifically the Material Point Method (MPM) based simulation, requires a large number of particles and a big grid size to create a realistic looking simulation. This paper explains what we can do to improve the performance of the simulation by using compute shader and the strategy behind it. Compute shader is a shader used for General Purpose Graphics Processing Unit (GPGPU) programming, running in a separate pipeline than the rendering pipeline. Since the MPM simulation requires serialized code to update the values of the grid nodes and particles, it becomes a challenge to implement it into a parallelized code that can be run on the GPU with compute shader. First, we have to plan which part of the code that can be parallelized. We also have to translate the code into a GLSL program that doesn’t have any C/C++ pointer and Object Oriented class. We then compare the simulation performance between the one running on CPU and the compute shader one, and see how much improvement is made by implementing it with compute shader.[/vc_column_text][vc_empty_space][vc_separator css=”.vc_custom_1624528584150{padding-top: 25px !important;padding-bottom: 25px !important;}”][vc_empty_space][megatron_heading title=”Author keywords” size=”size-sm” text_align=”text-left”][vc_column_text]compute shader,General purpose graphics processing unit (GPGPU),Material point methods,Object-oriented class,OpenGL,Rendering pipelines,simulation,Simulation performance[/vc_column_text][vc_empty_space][vc_separator css=”.vc_custom_1624528584150{padding-top: 25px !important;padding-bottom: 25px !important;}”][vc_empty_space][megatron_heading title=”Indexed keywords” size=”size-sm” text_align=”text-left”][vc_column_text]compute shader,fluid,GPU,MPM,OpenGL,simulation[/vc_column_text][vc_empty_space][vc_separator css=”.vc_custom_1624528584150{padding-top: 25px !important;padding-bottom: 25px !important;}”][vc_empty_space][megatron_heading title=”Funding details” size=”size-sm” text_align=”text-left”][vc_column_text][/vc_column_text][vc_empty_space][vc_separator css=”.vc_custom_1624528584150{padding-top: 25px !important;padding-bottom: 25px !important;}”][vc_empty_space][megatron_heading title=”DOI” size=”size-sm” text_align=”text-left”][vc_column_text]https://doi.org/10.1109/ICAICTA.2017.8090962[/vc_column_text][/vc_column_inner][vc_column_inner width=”1/4″][vc_column_text]Widget Plumx[/vc_column_text][/vc_column_inner][/vc_row_inner][/vc_column][/vc_row][vc_row][vc_column][vc_separator css=”.vc_custom_1624528584150{padding-top: 25px !important;padding-bottom: 25px !important;}”][/vc_column][/vc_row]