Monthly Archives: October 2018

[OpenGL ES] “Getting Started” Section Example Code

OpenGL ES에 공부를 하면서 글을 작성하려고 했는데 제대로 이해를 하지 못해서 바로 작성이 어려울 것 같다. 그래서 계속 공부하면서 예제 파일을 정리해서 올릴 계획이다.  아래 파일은 모두 출처 1의 “Getting Started Section”의 코드를 GLES 버전으로 변경한 코드이다. 삼성 갤럭시 9 제품에서 정상적으로 동작하는 것을 확인한 코드이다. 예제 코드 사이트 정리 Getting Started Section 예제 코드: https://mkblog.co.kr/2018/10/14/opengl-es-getting-started-section-example-code/… Read More »

[GPGPU Series 5] Scheduling Thread Blocks

GPGPU Series 4에서 Application, Kernel (Grid), Thread Block (TB or CTA), Thread에 대한 설명을 작성하였다. GPGPU Series 3에서는 대략적인 GPU 구조에 대한 설명을 하였다. 이번 글에서는 Kernel의 TB가 Streaming Multiprocessor (SM)에 Scheduling되는 방법에 대한 설명을 진행할 예정이다. 이전에 작성한 글에서 각 Application은 1개 이상의 Kernel로 구성되어 있고, 각 Kernel은 다시 1개 이상의 TB로 구성되어 있다고 설명하였다.… Read More »

[GPGPU Series 4] GPGPU Application Thread Hierarchy

이번 글은 CUDA로 작성된 GPGPU Application의 Thread Hierarchy에 대한 설명을 정리하였다. GPGPU Application에서 Thread Hierarchy와 GPU Warp (Wavefront)의 개념을 이해하면 GPGPU의 개념의 절반 이상을 이해했다고 할 수 있다. 다시 말해서 Thread Hierarchy와 Warp 개념은 GPU에서 가장 중요한 부분이다. 보통 CUDA로 작성된 코드는 GPU에서 실행되는 함수와 CPU에서 실행되는 코드로 구분된다. CUDA로 작성된 코드 중 GPU에서 실행되는… Read More »

[Bash] While Loop 무한 사용 예제

목적: Bash에서 While Loop을 사용하여 같은 코드를 반복해서 수행하기 위한 예제 환경: Window 10 + Cygwin

설명 파일의 변경 내용을 1초 간격으로 확인하기 위한 코드 (한 줄로 사용하기 위한 예제) while true; do {코드}; done 사이에 {코드}에 원하는 코드를 추가하면 계속 같은 작업을 반복해서 수행 sleep 1을 추가하면 1초 Delay가 발생

[GPGPU Series 3] GPU Architecture Overview

조금 고민을 하다가 GPGPU (CUDA) Application의 Thread Hierarchy에 대해서 작성하기 이전에 GPU Architecture에 대해 간단하게 설명을 먼저 작성하려 한다. 아주 간략한 용어들만 설명하는 단계이다. 부족한 부분은 뒤에 추가로 상세히 설명을 진행할 예정이다. 글에서 사용하는 GPU Architecture 용어는 NVIDIA White Paper에서 사용하는 것이다. 그림 1: GPU Architecture 앞글에서 짧게 설명했듯이 요즘 구매하는 GPU는 Fixed Function Unit과 Programmable… Read More »