년 - 년
GPU 코어에 할당된 CTA 수에 따른 GPGPU 구조의 성능 및 전력 효율성 분석 KCI 등재
한국차세대컴퓨팅학회 한국차세대컴퓨팅학회 논문지 Vol.10 No.6 2014.12 pp.46-58
최근에는 컴퓨터 시스템의 성능을 향상시키기 위하여 많은 연구자들이 그래픽스 관련 작업을 위해 개발된 프로세서 인 GPU를 활용하는 GPGPU에 관심을 가지고 있다. GPGPU 구조에서 성능을 향상시키기 위해서는 병렬성 증가를 통하여 연산자원을 가능한 많이 활용해야 한다. 이를 위해서, GPGPU는 수천개의 스레드들을 포함한 스레드 블록, 즉 CTA를 GPU 코어인 스트리밍 멀티프로세서에 할당한다. CTA를 스트리밍 멀티프로세서에 할당하는 CTA 스케 쥴링 기법은 GPGPU 컴퓨팅 시스템의 성능에 상당한 영향을 준다. 이상적인 CTA 스케쥴링 기법은 수행되는 벤치 마크 프로그램의 특성을 반영하여 CTA들을 적절하게 각 스트리밍 멀티프로세에 할당시킴으로써 GPGPU 성능을 향 상시킬 것이다. 하지만, 현재의 CTA 스케쥴링 기법은 GPGPU의 병렬성과 자원활용률을 증가시키기 위하여 가능한 많은 CTA를 스트리밍 멀티프로세서에 할당하고 있다. 그러므로 본 논문에서는 스트리밍 멀티프로세서에 할당되는 CTA의 숫자에 따른 GPGPU 컴퓨팅 시스템의 성능을 평가해보고자 한다. GPGPU 컴퓨팅 시스템에서 소모되는 전 력의 상당 부분을 GPGPU가 차지하고 있기 때문에 우수한 CTA 스케쥴링 기법 개발을 위해서는 GPGPU의 성능과 더불어 전력 소모량 또한 고려해야 한다. 이와 같은 이유로 본 논문에서는 GPUWattch 시뮬레이터를 사용하여 소모 전력 또한 정량적으로 분석한다. 실험결과는 스트리밍 멀티프로세에 가능한 많은 CTA를 할당하는 현재의 CTA 스케 쥴링 기법이 항상 우수한 GPGPU의 성능을 보장하지 않는다는 것을 보여준다. 우리는 실험 결과를 활용하여 향후에 응용프로그램의 특성을 고려한 고성능, 저전력의 CTA 스케쥴링 기법을 개발하고자 한다. 본 연구의 분석결과는 GPGPU 구조에 효과적인 CTA 스케쥴링 기법을 개발하는 방향 설정에 필요한 정보로 활용될 것으로 기대된다.
Recently, many research groups have focus on GPGPU by exploiting GPU, which is developed to execute graphics-related operations, has been focused in order to improve performance of computing systems. GPGPU architecture fully utilizes computational resources by increasing parallelism to improve performance. To achieve this, in GPGPU, the thousands of threads are grouped into thread blocks, called CTA (Cooperative Thread Arrarys) and the CTA is assigned to one GPU core, called SM (Streaming Multiprocessors). The CTA scheduling scheme to assign CTAs to SMs has influence on overall GPGPU performance, significantly. Ideal CTA scheduling scheme, which consider the characteristics of benchmarks, can assign CTAs to each SM properly, leading to performance improvement. However, current CTA scheduling scheme assigns the maximum number of CTAs to each SM, so as to improve parallelism and resource utilization. Therefore, this paper analyzes the GPGPU performance according to various number of CTAs assigned to SMs. Since GPGPU accounts for a considerable portion of total power consumption on computing system, power efficiency as well as performance should be considered to enhance the competitiveness of computing systems when designing CTA scheduling scheme. For this reason, this paper also analyzes the power consumption on GPGPU by using GPUWattch simulator. Simulation results show that current CTA scheduling scheme, which assigns the maximum number of CTAs to each SM, does not guarantee better performance. At future work, we will investigate high performance and low power CTA scheduling scheme considering the characteristics of workload. This results can provide the guideline to research the efficient CTA scheduling scheme for GPGPU.
암호화된 빅데이터 상에서 효율적인 질의 처리를 지원하는 Prefix 트리를 사용한 GPU 기반 병렬 질의처리 기법 KCI 등재
한국차세대컴퓨팅학회 한국차세대컴퓨팅학회 논문지 Vol.10 No.2 2014.04 pp.19-30
최근 페이스북, 트위터 등의 SNS(Social Networking Service)가 발전함에 따라, 사용자가 생성하는 데이터가 급격히 증가하고 있다. 사용자 데이터는 민감한 개인정보를 포함하기 때문에, 원본 데이터를 공격자로부터 보호하기 위해서는 데이터를 암호화하는 것이 필요하다. 따라서 암호화된 데이터의 복호화 없이 질의를 처리하는 암호화 질의 처리 기법이 제안되었다. 그러나 기존의 질의처리 기법은 암호화 데이터에 대한 색인 구조를 구축하고 이를 순차적 으로 탐색하기 때문에, 데이터의 크기가 증가함에 따라 질의탐색 비용이 증가하는 문제점이 존재한다. 이를 위해, P.B.Volk, et al.은 prefix 트리 기반 병렬 질의처리 알고리즘을 제안하였다. 제안하는 알고리즘은 암호화된 데이 터를 위해 prefix 트리 구조를 구축하고, 트리를 부분 트리로 분할하여 생성된 모든 부분 트리를 병렬적으로 탐색한 다. 그러나 이 알고리즘은 모든 부분 트리를 탐색하기 때문에, 트리 깊이에 따라 연산 비용이 급격히 증가하는 문제 점이 존재한다. 아울러, 이 알고리즘은 범위 질의나 부분 매칭 등의 다양한 질의를 지원하지 못하는 문제점이 존재 한다. 이러한 문제를 해결하기 위해, 본 논문에서는 prefix 트리 및 해시 테이블을 사용하는 GPU 기반 병렬 질의처 리 알고리즘을 제안한다. 제안하는 알고리즘은 prefix 트리 loop-up 테이블을 사용하여 범위 질의 및 부분매칭 질 의를 지원한다. 아울러 제안하는 알고리즘이 기존 P.B.Volk, et al. 의 알고리즘보다 검색 시간 측면에서 약 30% 우수한 성능을 나타냄을 보인다.
Recently, social networking services, such as Facebook and Twitter, have been widely used, so the amount of the data created by users has been dramatically increased. Because the user-created data can contain privacy information, it is required to encrypt the data for protecting the original data from adversaries. Thus, an encrypted query processing scheme has been proposed to process the query without the decryption of the encrypted data. The existing schemes construct an index for the encrypted data, so they can process the query by sequentially accessing the index. As a result, the query processing cost increases as the amount of the data is increased. For this, P.B.Volk, et al. proposed a prefix-tree based parallel query processing algorithm. The algorithm constructs a prefix-tree structure for the encrypted data and searches all sub-trees on GPU in parallel by dividing the tree into sub-trees. However, the algorithm has a problem that its computational cost is highly increased according to the depth of the tree because it searches all sub-trees. In addition, the algorithm does not support the various types of queries, such as a range query and a partial matching query. To solve these problems, we, in this paper, propose a GPU-based parallel query processing algorithm using both a prefix-tree and a hash table. By using the prefix-tree look-up table, the proposed algorithm can support both a range query and a partial matching query. In addition, we show that the proposed algorithm is about 30% better on retrieval performance than the existing algorithm by P.B.Volk, et al.
GPU 기반 kd-tree를 이용한 병렬 충돌 처리 기법 KCI 등재
한국컴퓨터게임학회 컴퓨터게임및콘텐츠논문지(구 한국컴퓨터게임학회논문지) 제25권 제2호 2012.06 pp.195-203
※ 기관로그인 시 무료 이용이 가능합니다.
4,000원
GPU는 메모리 대역폭이 연산 속도를 결정하는 병목 지점이 된다. 즉, GPU 프로그래밍 시에는 불규칙적인 메모리 액세스나 다중 스레드들 사이에서의 서로 다른 명령 실행 분기가 발생하면 속도가 크게 저하되는 문제가 발생한다. 따라서 게임 엔진 충돌 처리용으로 사용되는 kd-tree와 같은 적응형 탐색(adaptive traverse) 기법은, 불규칙적인 메모리 액세스 및 서로 다른 명령 분기로 인해 지금까지 GPU 구조에 적합하지 않은 것으로 인식되어 왔다. 그러나 최근 NVIDIA의 Fermi 아키텍처의 등장과 함께 CPU에서처럼 GPU 다중 프로세서에도 캐시 메모리가 적용되고 있다. 본 논문에서는 이러한 새로운 GPU 아키텍처의 장점을 활용해서 충돌 처리 시간을 크게 줄일 수 있는 GPU 기반 kd-tree를 제안한다. 제안하는 GPU 기반 병렬 kd-tree는 체크 지점 65536 개에서 최근접 삼각형까지의 거리를 찾는 작업이 Fermi 아키텍처(캐시 적용) 기반에서 단일 코어 CPU 기반 kd-tree에 비해 평균 백 만 배 이상(1.0x106) 빨라졌으며, 이전 세대 Tesla 아키텍처(캐시 미적용) 기반 병렬 kd-tree에 비해서도 약 50 배 가까이 빠른 속도를 보였다.
GPU has a performance bottleneck in memory bandwidth; GPU performance becomes degenerated when irregular memory access patterns and different branching occur. In this regard, it had been known that adaptive traverse methods including kd-tree, which inevitably cause irregular memory access and branching patterns were not suitable for GPU programming. However, with recent advance in GPU hardware architecture, NVIDIA’s Fermi architecture in particular, it is possible to embed cache memories for multi-cores in GPU. In this paper, we present a parallel kd-tree based on GPU for fast collision detection. Our method reduces time in detecting collisions for around one million fold for test meshes than kd-tree implemented in a single CPU core. Besides, the kd-tree implemented in newer Fermi architecture is around 50 times faster than the previous generation Tesla architecture thanks to multiprocessor memory caches.
GPU는 높은 연산 성능에 비해 그래픽 처리를 하지 않을 경우에는 유휴상태에 놓여있다. 최근 유휴상태인 GPU를 이용하여 그래프 문제, 대용량 탐색 및 정렬, 행렬 연산 등 다양한 문제들을 병렬처리 하는 GPGPU가 각광받고 있고 NVIDIA사의 CUDA플랫폼의 등장으로 이러한 흐름은 더욱 가속화 되고 있다. GPGPU의 발전에 맞추어 GPU상에서 몇몇의 암호 알고리즘들이 구현되었지만, 스트림 암호의 경우에는 최근에서야 ECRYPT에 의해 표준이 제정되었기 때문에 아직 연구 결과가 미비하다. 이에 본 논문에서는 ECRYPT의 소프트웨어 기반 암호인 Salsa20을 GPU상에서 구현하고 이를 최적화하였으며, 파이프라이닝 기법을 사용하여 성능을 극대화하였다. 본 논문의 실험 결과에 따르면 CUDA를 사용한 Salsa20은 6.2Gbps의 암호화 속도를 보여주어 138.7Mbps의 성능을 보인 CPU상에서의 구현에 비해 무려 45배 이상의 성능 향상을 보여주었다.
Recent performance improvements in GPU enabled optimized parallel implementation of various algorithmsincluding graph algorithms, searching and sorting of massive data, matrix operations, and so on. After theadvent of CUDA platform of NVIDIA, more algorithms including several cryptographic algorithms are beingimplemented over GPUs. However, little work has been done on the parallel implementation of stream ciphersbecause it hasn’t been long since the first standard for stream cipher were published by ECRYPT. In thispaper, we provide a parallel implementation of Salsa20 stream cipher, one of the four software-based streamciphers in the ECRYPT standard, over a GPU, and optimize its performance using a pipelining technique.According to our experimental results, the throughput of Salsa20 on the CUDA platform is up to 6.2Gbps,which is approximately 45 times faster than the implementation over a CPU with 138.7Mbps.
GPU에서 실제 연산을 담당하는 세이더코어는 다수의 워프를 동시에 할당받아 수행함으로써 연산자원 활용률을 극 대화한다. 세이더코어가 할당받은 다수의 워프들 중에서 어떠한 워프를 선택하여 수행하는지에 따라 GPU의 성능 은 달라질 것으로 예상된다. 효율적인 워프 스케쥴링 기법을 개발하기 위해서는 워프 스케쥴링 기법의 특성 분석이 선행되어야 한다. 본 논문에서는 워프 스케쥴링 기법에 따른 GPU의 성능을 분석하고자 한다. 무작위 스케쥴링, 라 운드로빈 스케쥴링, 그리고 선입선처리 스케쥴링 기법을 분석 대상으로 사용한다. 실험 결과에 따르면, 분기 명령어 를 포함하지 않는 응용프로그램을 수행하는 경우에는 스케쥴링 기법에 따른 성능 차이가 거의 없는 반면에, 분기 명 령어를 다수 포함하는 응용프로그램을 수행하는 경우에는 스케쥴링 기법에 따른 성능 차이가 상당히 발생함을 알 수 있다. 그 이유는 분기 명령어는 워프 스케쥴링 기법에 따라 무작위적인 메모리 접근으로 유발되는 병목현상을 완화 또는 악화시키기기 때문으로 분석된다. 본 논문의 분석 결과는 범용 응용프로그램을 수행하는 GPU를 위한 워프 스 케쥴링 기법을 개발하고자 하는 경우 가이드라인을 제시할 수 있을 것으로 기대된다.
Shader core can process multiple warps simultaneously, enabling the GPU to improve the utilization of computational resources. The performance of the shader core depends on the warp scheduling schemes which select the warp to execute among assigned multiple warps. Therefore, we analyze the GPU performance according to three warp scheduling schemes in this work: random scheduling, round robin scheduling, and first ready first come first service scheduling schemes. Experimental results show that the performance gap between simulated warp scheduling schemes is negligible when the applications without branch instructions are executed, while the performance gap increases when the applications including lots of branch instructions are executed. The performance gap is caused by branch instructions which have strong relation to memory bottleneck depending on the warp scheduling schemes.
광원 효과와 GPU/HLSL을 이용한 수묵화 셰이더의 3D 게임 적용 KCI 등재후보
한국컴퓨터게임학회 컴퓨터게임및콘텐츠논문지(구 한국컴퓨터게임학회논문지) 제7호 2005.12 pp.43-50
※ 기관로그인 시 무료 이용이 가능합니다.
4,000원
Cache Conscious Parallel Pattern Matching for Aho-Corasick Algorithm on a GPU KCI 등재
한국차세대컴퓨팅학회 한국차세대컴퓨팅학회 논문지 Vol.8 No.1 2012.02 pp.64-75
패턴매칭 연산은 네트워크 보안, 바이오 인포매틱스와 같은 분야에서 광범위하게 사용되는 중요한 연산이다. 많은 패턴 매칭 알고리즘 들 중에서 Aho-Corasick (AC) 알고리즘이 위와 같은 분야에서 집중적으로 활용되고 있어, AC 알고리즘의 실행을 가속화하고 실시간 실행을 위한 성능 상의 요구사항을 만족시키기 위하여 효율적인 병렬화 기법을 개발하는 것이 필수적이다. 본 논문에서는 AC 알고리즘의 실행에 활용되는 입력 텍스트 데이터와 비교의 대상이 되는 2-차원 배열로 구성된 레퍼런스 데이터를 모두 GPU 상의 on-chip 메모리 (또는 캐시)에 적재하여 병렬 패턴 매칭을 실행하는 기법을 개발한다. 이러한 새로운 접근법의 개발에 있어 데이터를 on-chip의 shared memory에 적재할 때 필요한 메모리 접근들을 효율적으로 스케쥴링 함으로써 데이터 적재에 드는 오버헤드를 크게 감소시킨다. 따라서 새 접근법은 데이터 적재에 드는 메모리 대기시간을 크게 줄이고, 이에 따라 큰 폭의 성능 향상을 얻게 된다. NVidia 9500 GT GPU를 활용한 실험결과, 본 논문의 접근법을 활용한 병렬실행 결과 순차실행 결과(Intel Core2Duo 범용 마이크로프로세서를 활용한)와 비교하여15배까지 성능을 향상시킬 수 있었다.
Pattern matching is a common and important operation in many applications including network security, bioinformatics, etc. Among many pattern matching algorithms, Aho-Corasick (AC) algorithm is intensively used in these applications. In order to speed up and meet the real-time performance requirement for AC algorithm, developing an efficient parallelization technique is essential. In this paper, we develop a new parallelization approach to cache both the input text data and the reference data organized as a 2-dimensional table in the on-chip memories (or caches) on the Graphic Processing Unit (GPU). The new approach also schedules memory accesses carefully to minimize the overhead in loading data to the on-chip shared memory. The approach significantly cuts down the memory latency to load the data and leads to impressive performance improvement. Experimental results on NVidia GT9500 GPU shows up to 15x speedup compared with a serial version on 2.2Ghz Core2Duo Intel processor.
GPU는 다수의 워프를 병렬적으로 수행함으로써 레이턴시를 숨기면서 높은 처리량을 제공할 수 있다. 만약 GPU에서 캐 쉬에 대한 요청이 미스를 발생시킨다면 하위 메모리로부터 요청한 데이터를 받을 때까지 MSHR(Miss Status Holding Register)을 통해 미스 정보를 추적하고 다른 워프를 수행한다. 최신 GPU에서는 캐쉬 자원에 대한 과도한 요청이 발생 한 경우 자원점유 실패가 발생하여 GPU 자원을 충분히 활용할 수 없는 경우가 자주 발생한다. 본 논문에서는 MSHR 자원 부족으로 인해 발생하는 성능 감소를 줄이고자 새로운 워프 스케줄링 기법을 제안한다. L1 데이터 캐쉬에서 각 워프 별 캐쉬 미스율은 긴 사이클 동안 비슷하게 유지되는 특성을 이용하여 각 워프들의 캐쉬 미스율을 예측하고, 이를 바탕으 로 MSHR의 자원을 더 이상 사용할 수 없는 상태에서는 낮은 캐쉬 미스율을 보일 것으로 예측되는 워프들과 연산 위주 워프들을 우선적으로 이슈 한다. 제안하는 기법은 예측된 캐쉬 미스율과 MSHR 상태를 기반으로 캐쉬 자원을 더 효율적 으로 사용함으로써 GPU 성능을 향상시킨다. 실험 결과, 제안된 기법은 LRR(Loose Round Robin) 정책에 비해 자원 점유실패 사이클이 25.7% 감소하고 IPC(Instruction Per Cycle)가 6.2% 증가한다.
GPUs can provide high throughput with latency hiding by executing many warps in parallel. MSHR(Miss Status Holding Registers) for L1 data cache tracks cache miss requests until required data is serviced from lower level memory. In recent GPUs, excessive requests for cache resources cause underutilization problem of GPU resources due to cache resource reservation fails. In this paper, we propose a new warp scheduling technique to reduce stall cycles under MSHR resource shortage. Cache miss rates for each warp is predicted based on the observation that each warp shows similar cache miss rates for long period. The warps showing low miss rates or computation-intensive warps are given high priority to be issued when MSHR is full status. Our proposal improves GPU performance by utilizing cache resource more efficiently based on cache miss rate prediction and monitoring the MSHR entries. According to our experimental results, reservation fail cycles can be reduced by 25.7% and IPC is increased by 6.2% with the proposed scheduling technique compared to loose round robin scheduler.
이종 멀티코어 프로세서에서 분할된 공유 LLC가 성능에 미치는 영향 분석 KCI 등재
한국차세대컴퓨팅학회 한국차세대컴퓨팅학회 논문지 Vol.15 No.2 2019.04 pp.39-49
컴퓨팅 성능을 향상시키기 위해 다양한 구조적 설계 기법들이 제안되고 있는데 그중에서도 CPU-GPU 융합형 이종 멀티코어 프로세서가 많은 관심을 받고 있다. CPU-GPU 융합형 이종 멀티코어 프로세서는 단일 칩에 CPU와 GPU를 집적하기 때문에 일반적으로 CPU와 GPU가 Last Level Cache(LLC)를 공유하게 된다. LLC 공유는 CPU와 GPU 코어 사이에 심각한 캐쉬 경합이 발생하는 경우 각각의 코어 활용도가 저하되는 문제를 가지고 있다. 본 논문에서는 CPU와 GPU 사이의 캐쉬 경합 문제를 해결하기 위해 단일 LLC를 CPU와 GPU 각각의 공간으로 분할하고, 분할된 공간의 크기 변화가 전체 시스템 성능에 미치는 영향을 분석하고자 한다. 모의실험 결과에 따르 면, CPU는 사용하는 LLC 크기가 커질수록 성능이 최대 21%까지 향상되지만 GPU는 사용하는 LLC 크기가 커져 도 큰 성능변화를 보이지 않는다. 즉, GPU는 LLC 크기가 감소하더라도 CPU에 비하여 성능이 적게 하락함을 알 수 있다. GPU에서의 LLC 크기 감소에 의한 성능하락이 CPU에서의 LLC 크기 증가에 따른 성능향상보다 훨씬 작기 때문에 실험결과를 기반으로 각각의 코어에 LLC를 분할하여 할당한다면 전체적인 이종 멀티코어 프로세서의 성능을 향상시킬 수 있을 것으로 기대된다. 또한, 이러한 분석을 통해 향후 각 코어의 성능을 최대한 높일 수 있는 메모리 관리기법을 개발한다면 이종 멀티코어 프로세서의 성능을 크게 향상시킬 수 있을 것이다.
Recently, CPU-GPU integrated heterogeneous multicore processors have been widely used for improving the performance of computing systems. Heterogeneous multicore processors integrate CPUs and GPUs on a single chip where CPUs and GPUs share the LLC(Last Level Cache). This causes a serious cache contention problem inside the processor, resulting in significant performance degradation. In this paper, we propose the partitioned LLC architecture to solve the cache contention problem in heterogeneous multicore processors. We analyze the performance impact varying the LLC size of CPUs and GPUs, respectively. According to our simulation results, the bigger the LLC size of the CPU, the CPU performance improves by up to 21%. However, the GPU shows negligible performance difference when the assigned LLC size increases. In other words, the GPU is less likely to lose the performance when the LLC size decreases. Because the performance degradation due to the LLC size reduction in GPU is much smaller than the performance improvement due to the increase of the LLC size of the CPU, the overall performance of heterogeneous multicore processors is expected to be improved by applying partitioned LLC to CPUs and GPUs. In addition, if we develop a memory management technique that can maximize the performance of each core in the future, we can greatly improve the performance of heterogeneous multicore processors.
GPGPU를 이용한 Grabcut의 수행 속도 개선 방법에 관한 연구 KCI 등재
한국디지털정책학회 디지털융복합연구 제12권 제11호 2014.11 pp.379-386
※ 기관로그인 시 무료 이용이 가능합니다.
4,000원
본 논문에서는 Grabcut 알고리즘의 수행 속도를 효율적으로 개선시키기 위하여 GPU(Graphics Processing Unit)에서 데이터를 처리하는 방법을 제안한다. Grabcut 알고리즘은 뛰어난 성능의 객체 추출 알고리즘으로 기존의 Grabcut 알고리즘은 전경 영역과 배경 영역을 분할한 후 배경 K-클러스터와 전경 K-클러스터로 할당한다. 그리고 할 당 된 결과를 점진적으로 개선될 때까지의 과정을 반복한다. 하지만 Grabcut 알고리즘은 반복된 클러스터링 작업으 로 인하여 수행 시간이 오래 걸리는 단점이 존재한다. 따라서 GPGPU(General-Purpose computing on Graphics Processing Unit)를 이용해 반복되는 작업을 병렬적으로 처리하여 Grabcut 알고리즘의 수행 속도를 효율적으로 개선 시키는 방법을 제안한다. 제안하는 방법으로 Grabcut 알고리즘의 수행시간을 평균 약 90.668% 감소시켰다.
In this paper, the processing speed of Grabcut algorithm in order to efficiently improve the GPU (Graphics Processing Unit) for processing the data from the method. Grabcut algorithm has excellent performance object detection algorithm. Grabcut existing algorithms to split the foreground area and the background area, and then background and foreground K-cluster is assigned a cluster. And assigned to gradually improve the results, until the process is repeated. But Drawback of Grabcut algorithm is the time consumption caused by the repetition of clustering. Thus GPGPU (General-Purpose computing on Graphics Processing Unit) using the repeated operations in parallel by processing Grabcut algorithm to effectively improve the processing speed of the method. We proposed method of execution time of the algorithm reduced the average of about 95.58%.
게임 충돌 처리 및 실시간 레이트레이싱을 위한 OptiX 실시간 광선추적 프레임워크 상의 Binary Radix Tree 기반 병렬 kd Tree 구현 및 분석 KCI 등재
한국컴퓨터게임학회 컴퓨터게임및콘텐츠논문지(구 한국컴퓨터게임학회논문지) 제27권 제3호 2014.09 pp.53-60
※ 기관로그인 시 무료 이용이 가능합니다.
4,000원
This paper presents a parallel kd-tree traversal algorithm based on the parallel binary radix tree construction scheme proposed by Tero Karras in 2012. In his paper, Tero Karras proposed parallel tree construction algorithm which can maximize the utilization of GPU threads, but implementation and analysis of kd-tree are not fully discussed. This paper aims to fill the gap for the specific kd-tree cases. As an application for the kd-tree traversal method proposed in this paper, the proposed method has been implemented with NVIDIA’s CUDA framework and tested on NVIDIA’s realtime raytracing library, OptiX. As a result, the proposed method can construct tree structures within the requirement for realtime process, but still needs specialized spatial caching data structure like the “primitive tree” for highly detailed meshes to handle spatial queries as fast as to visualize implicit surfaces under OptiX framework. However, the proposed method can be applied to dynamic collision detection and manage scene and object information for game applications thanks to its fast tree construction process. Also, realtime raytracing can be applied to game applications based on this study.
처리 속도 향상을 위해 OpenCV CUDA를 활용한 도로 영역 검출 KCI 등재
한국디지털정책학회 디지털융복합연구 제12권 제6호 2014.06 pp.231-236
※ 기관로그인 시 무료 이용이 가능합니다.
4,000원
본 논문은 호스트(PC) 기반의 직렬처리 방식으로 도로영역 추출 방식에 디바이스(Graphic Card) 기반의 병렬 처리 방식을 추가함으로써 보다 향상된 처리 속도를 가지는 도로영역검출을 제안하였다. OpenCV CUDA는 기존의 OpenCV와 CUDA를 연동하여 병렬 처리 방식의 많은 함수들을 지원한다. 또한 OpenCV와 CUDA 연동 시 환경 설정이 완료된 OpenCV CUDA 함수들은 사용자의 디바이스(Graphic Card) 사양에 최적화된다. 따라서 OpenCV CUDA 사용은 알고리즘 검증 및 시뮬레이션 결과 도출의 용이성을 제공한다. 제안된 방법은 OpenCV CUDA 와 NVIDIA GeForce GTX 560 Ti 모델의 그래픽 카드를 사용하여 기존 방식보다 3.09배 빠른 처리 속도를 가짐을 실험을 통해 검증한다.
In this paper, we propose a processing speed improvement by adding a parallel processing based on device(graphic card) into a road region extraction by host(PC) based serial processing. The OpenCV CUDA supports the many functions of parallel processing method by interworking a conventional OpenCV with CUDA. Also, when interworking the OpenCV and CUDA, OpenCV functions completed a configuration are optimized the User’s device(Graphic Card) specifications. Thus, OpenCV CUDA usage provides an algorithm verification and easiness of simulation result deduction. The proposed method is verified that the proposed method has a about 3.09 times faster processing speed than a conventional method by using OpenCV CUDA and graphic card of NVIDIA GeForce GTX 560 Ti model through experimentation.
Estimation of 3D Changes in Texture Image Sequence using Cloud Computing KCI 등재
한국차세대컴퓨팅학회 한국차세대컴퓨팅학회 논문지 Vol.8 No.3 2012.06 pp.57-65
로봇 네비게이션은 외부 환경요소의 지각변화를 감지하는 데 있어서 복잡하고 어려운 작업을 요구한다. 로봇 네비게이션 개발의 방법 중 하나로 로봇의 위치 변화를 검출하고 로봇에서 촬영된 이미지를 분석하는 이미지 프로세싱 기술이 있다. 촬영된 이미지는 로봇의 이동 경로에 따라 변화되는 텍스처 이미지의 변화량과 순서, 조명등의 조건 데이터를 포함하게 되고, 기존의 컴퓨팅 자원을 활용하여 이를 분석하는 경우 텍스처 이미지 시퀀스의 변화량 검출 및 인식 작업에 많은 자원의 할애와 처리 시간 증대라는 문제점이 있다. 본 논문에서는 시퀀스 이미지의 효율적인 3D 변화량 측정을 위한 클라우드 컴퓨팅 인프라 응용 방안에 대해 설명한다.
The robot navigation in outdoor environments is a daunting task as it requires the robots to sense the perceptual changes in their environment. One of the possible methods for robot navigation is to use the image processing techniques to analyze the images captured by the robot for detecting the changes in position of the robot. The images captured by the robot camera thus results in a sequence of texture image whereby the appearance of the texture changes with the motion of the robot and with changes in lighting conditions. The detection of these perceptual changes from the texture image sequence is an expensive task if conventional computing resources are utilized. This paper presents the application of a cost effective cloud computing infrastructure for the task of 3D change estimation in texture sequence images. The utilization of cloud computing infrastructure helped in providing a time efficient and real time robot navigation system.
3차원 지형에서 멀티 유닛을 위한 지능형 경로 탐색 기법 KCI 등재후보
한국컴퓨터게임학회 컴퓨터게임및콘텐츠논문지(구 한국컴퓨터게임학회논문지) 제9호 2006.12 pp.5-15
※ 기관로그인 시 무료 이용이 가능합니다.
4,200원
[NRF 연계] 한국통신학회 ICT Express Vol.1 No.1 2015.06 pp.14-21
※ 협약을 통해 무료로 제공되는 자료로, 원문이용 방식은 연계기관의 정책을 따르고 있습니다.
An accelerated spatial redundancy-based novel-look-up-table (A-SR-NLUT) method based on a new concept of the N-point one-dimensional sub-principal fringe pattern (N-point1-D sub-PFP) is implemented on a graphics processing unit (GPU) for fast calculation of computer-generated holograms (CGHs) of three-dimensional (3-D)objects. Since the proposed method can generate the N-point two-dimensional (2-D) PFPs for CGH calculation from the pre-stored N-point 1-D PFPs, the loading time of the N-point PFPs on the GPU can be dramatically reduced, which results in a great increase of the computational speed of the proposed method. Experimental results confirm that the average calculation time for one-object point has been reduced by 49.6% and 55.4% compared to those of the conventional 2-D SR-NLUT methods for each case of the 2-point and 3-point SR maps, respectively.
GPU Instancing과 DXF 데이터 캐싱을 통한 디지털 트윈 소프트웨어 성능 개선 KCI 등재후보
중소기업융합학회 산업과 과학 제4권 제3호 2025.05 pp.43-48
※ 기관로그인 시 무료 이용이 가능합니다.
4,000원
최근 스마트팩토리 관련 자동화 제어 교육 중 전기 회로 교과에서 실습의 편의를 위해 바나나 소켓을 사용하고 있다. 바나나 소켓은 정적 모델로 탐지가 비교적 간단하게 이루어지지만, 소켓 위치 데이터의 반복적 입력 및 계산과 소프 트웨어 최적화 여부에 따라 PC 리소스 소모가 증가하여 FPS 저하와 연산 부담이 발생한다. 이러한 문제를 해결하기 위해 본 연구에서는 바나나 소켓의 좌표 데이터를 DXF 파일 파싱을 통해 모듈별 소켓 좌표, 색상, 태그 등 데이터를 추출한 뒤 캐시 테이블로 메모리에 저장하고, Raycast 시 해당 테이블을 직접 참조하여 파일 재입력 없이 실시간으로 소켓을 탐지하며 색상 정보를 기준으로 소켓을 그룹화해 재질을 자동 생성한 후 각 그룹의 위치, 회전, 스케일 정보를 행렬 배열로 구성하여 단일 드로우콜 GPU Instancing으로 렌더링한다. 이러한 통합 절차를 통해 드로우콜 수를 대폭 감소시키고, 기존 Collider 기반 방식 대비 FPS와 PC 리소스 사용 효율이 현저히 향상됨을 보이고자 한다.
In recent automation control education related to smart factories, banana sockets are utilized in electrical circuit courses to enhance practical learning. Although these sockets, as static models, are relatively easy to detect, repeated input and computation of their position data combined with the degree of software optimization can increase PC resource usage, causing FPS drops and computational overhead. To address this issue, this study parses DXF files to extract module based socket coordinates, colors, and tags, then stores the parsed data in memory as a cached table. During runtime, the system directly references this table for Raycasting, enabling real time socket detection without repeated file loading. Based on color classification, sockets are grouped and materials are automatically generated. Each group’s position, rotation, and scale are used to build transformation matrix arrays, which are rendered using a single draw call GPU instancing technique. This integrated approach significantly reduces draw calls and demonstrates notable improvements in FPS and resource efficiency compared to conventional collider based methods.
의료영상 데이터를 이용한 의료 시뮬레이션 시스템은 피부조직과 같은 장기의 실제 거동을 모방하기 위해 물리 연산 이 필요하다. 의료 시뮬레이션 프로그램은 크기가 큰 데이터를 사용하므로 연산 속도에 대한 제약을 받는다. 본 논 문에서는 정밀성과 속도를 적절히 고려하여 위치 기반 역학(Position Based Dynamics, PBD) 기반의 시뮬레이 션을 실행한다. 그리고 GPU 병렬 처리를 통해 PBD를 고속으로 움직임을 계산할 수 있도록, Nvidia의 CUDA C/C++를 기반으로 프로그램을 구현하였다. 병렬화 과정에서 발생하는 반복되는 커널 실행의 비효율성 문제를 스 레드 독립성을 이용하여 해결하였고, 변형체 해상도에 따른 성능 변화를 CPU와 GPU별로 비교하였다. 또한, CPU 및 GPU를 사용한 병렬 처리에서 병렬성의 한계를 검토하였다. GPU 병렬 처리를 통해 CPU 병렬 처리에서는 불가 능한 큰 변형체에 대한 시뮬레이션의 대화적 시간의 확보에 성공하였다.
A simulation system using medical image data requires calculation to imitate the actual behavior of an organ such as skin tissue. Medical simulation programs have a problem in that they take a long calculation time because they use large amounts of data. In this paper, we conducted a simulation based on Position Based Dynamics(PBD) with consideration of precision and speed. In addition, we programmed a simulation system based on Nvidia's CUDA C/C++ so that PBD can be calculated at high speed through GPU parallel processing. Using thread independence property, we addressed efficiency of iterative kernel launch in the parallelization process and we compared the performance of CPU and GPU according to the resolution of the deformable object. In addition we examined the efficiency limitations of parallel processing in CPU and GPU. With GPU parallel processing, we succeeded in securing interactive time for simulations on medical deformable object that are not possible in CPU parallel processing.
키넥트로부터 획득된 깊이 영상의 확장을 위한 GPU 기반 채움 기법 KCI 등재
한국컴퓨터게임학회 컴퓨터게임및콘텐츠논문지(구 한국컴퓨터게임학회논문지) 제29권 제1호 2016.03 pp.47-54
※ 기관로그인 시 무료 이용이 가능합니다.
4,000원
Three-dimensional(3D) display technique is widely used in our daily life. Especially, to product augmented game contents which can interact with users, it is necessary to get high quality resolution image data to reconstruct 3D model more exquisitely. In this paper, we tried to expand depth image captured by Kinect using various interpolation methods(nearest neighbor, bilinear, bicubic) to adapt it to the size of original Kinect color image. To measure the quality of expanded depth image compared to original depth image, we used PSNR(Peak Signal-to-noise ratio) index. Besides, we implemented GPU parallel processing algorithm with OpenCL to interpolate a large amount of image data rapidly. As a result of the experiment, a bicubic interpolation method made an accurate depth image although it had a long time.
GPU 클러스터 내부 코어 개수에 따른 범용 계산 효율성 분석
한국공학안전보건예술학회 한국공학안전보건예술학회 논문지 제7권 1호 2015.08 pp.5-12
※ 기관로그인 시 무료 이용이 가능합니다.
4,000원
컴퓨터 성능이 점차 향상됨에 따라 사용자의 요구사항 또한 점차적으로 높아지고 있다. 최근에는 GPU의 여유로운 자원 이나 강력한 계산능력을 그래픽 작업뿐만 아니라 다양한 분야에 활용하기 위한 GPGPU (General-Purpose computing on Graphics Processing Units) 개발이 많은 관심을 받고 있다. 본 논문에서는 GPU 클러스터에 할당된 코어 개수를 다양하게 변경하여 GPU 코어 개수에 따른 GPGPU 성능을 분석하였다. 실험결과, 대부분의 벤치마크 프로그램에서는 GPU 코어 증 가에 따라 연산 자원의 증가로 인한 성능이 증가하지만, 특정 벤치마크 프로그램에서는 GPU 코어 증가에 따라 성능 감소 가 발생한다. 분석결과, GPU 코어 증가에 따라 성능이 감소하는 벤치마크 프로그램은 GPU 코어 개수가 증가에 따른 연산 자원 증가 이점을 잘 활용하지 못하며, 오히려 메모리 충돌에 따른 성능 감소가 큰 것으로 분석된다. 본 연구의 결과를 활 용한다면 GPGPU구조의 병렬성 향상을 위한 기초 연구에 활용 될 것으로 예상된다.
Recently, GPGPU (General-Purpose computing on Graphics Processing Units) draws quite attention, since it can provide powerful computing capability of the GPU in executing general-purpose applications as well as graphics applications. Many studies utilizing parallel processing power of the GPU have been proposed in order to improve the performance of recent microprocessors. The GPGPU structure to take advantage of highly parallel processing capability can satisfy the performance requirements to the GPU. In this paper, we analyze the efficiency of the GPGPU varying the number of cores assigned to the GPU cluster. Simulation results show that the performance improves as the number of cores on the GPU cluster increases. However, in some benchmarks, the performance decreases as the number of cores on the GPU cluster increases, due to memory conflicts.
대용량 지형을 실시간에 렌더링하기 위해서 많은 GPU기반의 상세단계 기법들이 연구되었다. 기존의 연속상세단계 기법들은 지형을 오차 없이 단순화 하기 위해서 전처리 과정을 통해 트리구조나 이미지 피라미드를 생성하고 그것들을 활용하여 메쉬를 재구성 하였다. 본 논문에서는 이러한 전처리 과정 없이 최근에 소개된 GPU에 추가된 테셀레이션 단계를 이용한 가속화 기법으로 오차없이 지형을 효과적으로 렌더링 할 수 있는 연속 상세단계 기법을 제안한다. 이 방법은 효과적으로 GPU에서 시각 절두체 선별과 메쉬의 세분화를 수행하며, GPU로 재구성된 메쉬를 업로드 해야하는 기존 방법에 비하여 폴리곤 갯수가 현저하게 적은 기저 메쉬만 업로드 한 후 GPU에서 세분화하므로 전송되는 데이터량을 기존의 방법들에 비해 줄여 처리 시간을 단축시켰다. 또한 지형을 이루는 각 격자들의 길이를 이용하여 테셀레이션 인자를 정하기 때문에 기존 방법들에서 나타나는 크랙이 발생하지 않는다. 따라서 크랙제거를 따로 수행할 필요가 없으므로 처리 시간을 단축시킬 수 있다.
A variety of GPU-based level-of-detail methods have been introduced for rendering massive terrain data in realtime. Previous CLOD (Continuous Level-of-Detail) methods generate tree structures or image pyramids in order to simplify the input data with very little errors in preprocessing step. Then they reconstruct terrain meshes using those data structures. We propose an accelerated CLOD method that efficiently generates terrain images without geometric errors using tessellation stage equipped in modern GPUs without any preprocessing. It performs view frustum culling and mesh tessellation in GPU. Unlike the previous methods which upload reconstructed meshes into GPU in every frame, it can reduce rendering time since it only transfers basis mesh of which the number of polygons is very smaller than entire mesh. Also it does not produce cracks that are commonly observed in the previous methods since it uses tessellation factor as the length of grids which comprise target terrain. It reduces rendering time additionally since there is no crack removal stages.
0개의 논문이 장바구니에 담겼습니다.
선택하신 파일을 압축중입니다.
잠시만 기다려 주십시오.