• 제목/요약/키워드: Compute Shader

검색결과 12건 처리시간 0.02초

Parallel Algorithm of Conjugate Gradient Solver using OpenGL Compute Shader

  • Va, Hongly;Lee, Do-keyong;Hong, Min
    • 한국컴퓨터정보학회논문지
    • /
    • 제26권1호
    • /
    • pp.1-9
    • /
    • 2021
  • OpenGL compute shader는 다른 shader 단계와 다르게 동작하며, 병렬로 모든 데이터를 계산하는데 사용할 수 있다. 본 논문은 OpenGL compute shader에서 반복 켤레 기울기 방법을 통해 희소선형 시스템을 계산하기 위한 GPU 기반의 병렬 알고리즘 제안하였다. 제안된 희소 선형 해결 방법은 대칭인 양의 정부호 행렬과 같은 대형 선형 시스템을 해결하기 위해 사용된다. 본 논문은 이 알고리즘을 사용하여 매트릭스 형식이 다른 8가지 예제들에 대해서 CPU와 GPU를 기반으로한 성능 비교 결과를 제공한다. 본 논문은 4가지 잘 알려져 있는 매트릭스 형식(Dense, COO, ELL and CSR)을 매트릭스 저장소를 사용하였다. 8개의 희소 매트릭스를 사용한 성능 비교 실험에서 GPU 기반 선형 해결 시스템이 CPU 기반 선형 해결 시스템보다 훨씬 빠르며, GPU 기반에서 0.64ms, CPU 기반에서 15.37ms의 평균 컴퓨팅 시간을 제공한다.

GLSL 4.3을 사용한 파티클 시스템 구현 (Implementation of Particle System Using GLSL 4.3)

  • 최영환;홍민;최유주
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2016년도 춘계학술발표대회
    • /
    • pp.189-191
    • /
    • 2016
  • 실시간 물리 기반 3D 시뮬레이션에서 연산속도는 매우 중요한 요소이다. 객체의 움직임이나 변형과 같은 현상들은 복잡한 연산을 통해서 계산되기 때문에 일반적으로 시뮬레이션의 정확도와 연산속도는 반비례 관계에 있다. 현재 출시되고 있는 대부분의 게임에서는 물체의 움직임을 정확하게 표현하기보다 연산량을 줄이기 위해 물체의 움직임이나 변형을 비슷하게 표현하는데 중점을 두고 있다. 본 논문에서는 이러한 문제를 해결하기 위하여 OpenGL 4.3의 Compute shader를 사용하여 다이내믹 시뮬레이션의 연산 작업을 GPU 병렬처리로 처리하였다. Compute shader에서 파티클의 움직임을 계산하고 Shader storage buffer object에 저장하고 파티클들의 작업량을 적절한 Workgroup의 크기로 나누어 할당하여 최적의 처리속도를 제공하도록 구현하였다. Compute shader에서 파티클의 움직임을 표현하기 위해서 수치해법 중의 하나인 Euler method를 사용하였으며 실험 결과 파티클의 수가 4,194,304개일 때 CPU 방법에 비해 약 182배 빠른 연산속도 결과를 보였다. 추후 Compute shader를 활용하여 연산량이 많은 분야에 적용 가능할 수 있을 것으로 기대한다.

OpenGL과 Unity간의 GPU를 이용한 Particle Simulation의 성능 비교 (Performance Comparison of Particle Simulation Using GPU Between OpenGL and Unity)

  • 김민상;성낙준;최유주;홍민
    • 정보처리학회논문지:소프트웨어 및 데이터공학
    • /
    • 제6권10호
    • /
    • pp.479-486
    • /
    • 2017
  • 최근 GPGPU를 이용하여 저하된 컴퓨터 성능 향상폭을 높일 수 있게 되었고, 이로 인하여 높은 연산을 요구로 하는 물리 기반의 실시간 시뮬레이션을 PC에서 구동할 수 있게 되었다. 물리 시뮬레이션에서 적용되는 물리 계산은 병렬 처리로 수행되어질 수 있으며, 최근 OpenGL 4.3 및 Unity4.0에서 지원되는 Compute shader를 통한 병렬 연산을 이용하면 효율적으로 구동할 수 있다. 본 논문에서는 다양한 플랫폼을 지원하는 디지털 콘텐츠 제작 툴인 Unity와 다양한 플랫폼에서 구동되어지는 OpenGL에서의 실시간 물리 시뮬레이션에서의 성능을 측정 및 비교한다. 본 논문에서 particle 시뮬레이션의 실험 결과 Unity를 이용한 particle 시뮬레이션이 OpenGL을 이용한 particle 시뮬레이션에 비해 최대 136.04% 빠른 성능을 보인다. 이를 통하여 추후 멀티 플랫폼을 지원하는 디지털 콘텐츠를 제작함에 있어 더 나은 개발 도구를 선정할 수 있을 것으로 기대된다.

Simulation of Deformable Objects using GLSL 4.3

  • Sung, Nak-Jun;Hong, Min;Lee, Seung-Hyun;Choi, Yoo-Joo
    • KSII Transactions on Internet and Information Systems (TIIS)
    • /
    • 제11권8호
    • /
    • pp.4120-4132
    • /
    • 2017
  • In this research, we implement a deformable object simulation system using OpenGL's shader language, GLSL4.3. Deformable object simulation is implemented by using volumetric mass-spring system suitable for real-time simulation among the methods of deformable object simulation. The compute shader in GLSL 4.3 which helps to access the GPU resources, is used to parallelize the operations of existing deformable object simulation systems. The proposed system is implemented using a compute shader for parallel processing and it includes a bounding box-based collision detection solution. In general, the collision detection is one of severe computing bottlenecks in simulation of multiple deformable objects. In order to validate an efficiency of the system, we performed the experiments using the 3D volumetric objects. We compared the performance of multiple deformable object simulations between CPU and GPU to analyze the effectiveness of parallel processing using GLSL. Moreover, we measured the computation time of bounding box-based collision detection to show that collision detection can be processed in real-time. The experiments using 3D volumetric models with 10K faces showed the GPU-based parallel simulation improves performance by 98% over the CPU-based simulation, and the overall steps including collision detection and rendering could be processed in real-time frame rate of 218.11 FPS.

GPU 기반 행렬 곱셈 병렬처리 알고리즘 (Parallel Algorithm for Matrix-Matrix Multiplication on the GPU)

  • 박상근
    • 융복합기술연구소 논문집
    • /
    • 제9권1호
    • /
    • pp.1-6
    • /
    • 2019
  • Matrix multiplication is a fundamental mathematical operation that has numerous applications across most scientific fields. In this paper, we presents a parallel GPU computation algorithm for dense matrix-matrix multiplication using OpenGL compute shader, which can play a very important role as a fundamental building block for many high-performance computing applications. Experimental results on NVIDIA Quad 4000 show that the proposed algorithm runs about 208 times faster than previous CPU algorithm and achieves performance of 75 GFLOPS in single precision for dense matrices with matrix size 4,096. Such performance proves that our algorithm is practical for real applications.

GPU 기반 행렬 덧셈 및 스칼라 곱셈 알고리즘 (Matrix Addition & Scalar Multiplication on the GPU)

  • 박상근
    • 융복합기술연구소 논문집
    • /
    • 제8권1호
    • /
    • pp.15-20
    • /
    • 2018
  • Recently a GPU has acquired programmability to perform general purpose computation fast by running thousands of threads concurrently. This paper presents a parallel GPU computation algorithm for dense matrix-matrix addition and scalar multiplication using OpenGL compute shader. It can play a very important role as a fundamental building block for many high-performance computing applications. Experimental results on NVIDIA Quad 4000 show that the proposed algorithm runs 21 times faster than CPU algorithm and achieves performance of 16 GFLOPS in single precision for dense matrices with size 4,096. Such performance proves that our algorithm is practical for real applications.

워크 그룹 구성 변화에 따른 GPU 기반 천 시뮬레이션의 성능 분석 (The Performance Analysis of GPU-based Cloth simulation according to the Change of Work Group Configuration)

  • 최영환;홍민;이승현;최유주
    • 인터넷정보학회논문지
    • /
    • 제18권3호
    • /
    • pp.29-36
    • /
    • 2017
  • 오늘날 3D 다이내믹 시뮬레이션은 많은 산업들과 밀접한 관계를 가지고 있다. 과거에는 자동차 충돌, 건축물 분야에서 주로 사용되었으나 최근에는 영화나 게임 분야에도 물리 시뮬레이션이 중요한 역할을 하고 있다. 일반적으로 3D 물체를 사실적으로 표현하기 위해서는 많은 수학적 연산이 필요하기 때문에 기존의 CPU 기반의 응용 프로그램들은 이러한 많은 연산량을 실시간으로 처리하는데 무리가 있다. 최근 그래픽 하드웨어의 발전과 아키텍쳐의 개선으로 GPU는 기존의 렌더링 연산뿐만 아니라 범용 목적의 연산 기능을 제공하고 있고 이러한 GPU를 활용하는 연구가 활발히 진행되고 있다. 본 논문에서는 GPU를 이용한 천 시뮬레이션 수행시 수행 성능을 최적화하기 위하여, GPU 셰이더의 실행 환경 변화에 따른 천 시뮬레이션 알고리즘의 수행 성능의 변화를 분석하였다. GPU를 이용한 천 시뮬레이션은 GLSL 4.3의 Compute shader를 사용하여 스프링 중심 알고리즘과 노드 중심 알고리즘을 PC기반으로 구현하였고, GLSL Compute shader의 다양한 워크 그룹 (Work Group) 크기와 차원 분배에 따른 연산 속도의 변화를 비교 분석하였다. 실험은 5,000 프레임까지 10회 반복 수행하여 FPS(Frame Per Second)의 평균을 구하여 진행하였다. 실행결과, 노드 중심의 알고리즘이 오히려 스프링 중심의 알고리즘 보다 빠른 수행속도를 보여 주었다.

GPU-Accelerated Single Image Depth Estimation with Color-Filtered Aperture

  • Hsu, Yueh-Teng;Chen, Chun-Chieh;Tseng, Shu-Ming
    • KSII Transactions on Internet and Information Systems (TIIS)
    • /
    • 제8권3호
    • /
    • pp.1058-1070
    • /
    • 2014
  • There are two major ways to implement depth estimation, multiple image depth estimation and single image depth estimation, respectively. The former has a high hardware cost because it uses multiple cameras but it has a simple software algorithm. Conversely, the latter has a low hardware cost but the software algorithm is complex. One of the recent trends in this field is to make a system compact, or even portable, and to simplify the optical elements to be attached to the conventional camera. In this paper, we present an implementation of depth estimation with a single image using a graphics processing unit (GPU) in a desktop PC, and achieve real-time application via our evolutional algorithm and parallel processing technique, employing a compute shader. The methods greatly accelerate the compute-intensive implementation of depth estimation with a single view image from 0.003 frames per second (fps) (implemented in MATLAB) to 53 fps, which is almost twice the real-time standard of 30 fps. In the previous literature, to the best of our knowledge, no paper discusses the optimization of depth estimation using a single image, and the frame rate of our final result is better than that of previous studies using multiple images, whose frame rate is about 20fps.

Surface Model and Scattering Analysis for Realistic Game Character

  • Kim, Seongdong;Lee, Myounjae
    • 한국게임학회 논문지
    • /
    • 제21권4호
    • /
    • pp.109-116
    • /
    • 2021
  • In this paper, we considered that recently 3D game characters have been almost alike realistic expression because of a great mathematical computation and efficient techniques on GPU hardware. We presented the rendering technique and analysis for 3D game characters to simulate and render mathematical approach model from recent researches to perform the game engine for the surface reflection of lighting model. We compare our approach with the existing variant rendering techniques here using Open GL shader language on game engine. The experimental result will be provided the view-dependent visual appearance of variant and effective modeling characters for realistic expression using existing methods on the GPU for effective simulations and rendering process. Since there are many operations that are used redundantly while performing mathematical operations, the necessary functions and requirements have been to compute in advance.

실시간 렌더링 환경에서의 3D 텍스처를 활용한 GPU 기반 동적 포인트 라이트 파티클 구현 (GPU-based dynamic point light particles rendering using 3D textures for real-time rendering)

  • 김병진;이택희
    • 한국컴퓨터그래픽스학회논문지
    • /
    • 제26권3호
    • /
    • pp.123-131
    • /
    • 2020
  • 본 연구는 10만 개 이상의 움직이는 파티클 각각이 발광원으로서 존재할 때 라이팅을 위한 실시간 렌더링 알고리즘을 제안한다. 각 라이트의 영향 범위를 동적으로 파악하기 위해 2개의 3D 텍스처를 사용하며 첫 번째 텍스처는 라이트 색상 두 번째 텍스처는 라이트 방향 정보를 가진다. 각 프레임마다 두 단계를 거친다. 첫 단계는 Compute shader 기반으로 3D 텍스처 초기화 및 렌더링에 필요한 파티클 정보를 갱신하는 단계이다. 이때 파티클 위치를 3D 텍스처의 샘플링 좌표로 변환 후 이 좌표를 기반으로 첫 번째 3D 텍스처엔 해당 복셀에 대해 영향을 미치는 파티클 라이트들의 색상 총합을, 그리고 두 번째 3D 텍스처에 해당 복셀에서 파티클 라이트들로 향하는 방향벡터들의 총합을 갱신한다. 두 번째 단계는 일반 렌더링 파이프라인을 기반으로 동작한다. 먼저 렌더링 될 폴리곤 위치를 기반으로 첫 번째 단계에서 갱신된 3D 텍스처의 정확한 샘플링 좌표를 계산한다. 샘플링 좌표는 3D 텍스쳐의 크기와 게임 월드의 크기가 1:1로 대응하므로 픽셀의 월드좌표를 그대로 샘플링 좌표로 사용한다. 샘플링한 픽셀의 색상과 라이트의 방향벡터를 기반으로 라이팅 처리를 수행한다. 3D 텍스처가 실제 게임 월드와 1:1로 대응하며 최소 단위를 1m로 가정하는데 1m보다 작은 영역의 경우 해상도 제한에 의한 계단 현상 등의 문제가 발생한다. 이러한 문제를 개선하기 위한 텍스처 샘플링 시 보간 및 슈퍼 샘플링을 수행한다. 한 프레임을 렌더링하는데 소요된 시간을 측정한 결과 파티클이 라이트의 개수가 262144개일 때 Forward Lighting 파이프라인에서 146ms, deferred Lighting 파이프라인에서 46ms 가 소요되었으며, 파티클 라이트의 개수가 1024576개일 때 Forward Lighting 파이프라인에서 214ms, Deferred Lighting 파이프라인에서 104ms 가 소요되었다.