354 0

GPU 병렬 처리를 이용한 NC-CODE 시뮬레이션 시스템 설계 및 구현

Title
GPU 병렬 처리를 이용한 NC-CODE 시뮬레이션 시스템 설계 및 구현
Other Titles
Design and Implementation of NC-CODE Simulation System Using GPU Parallel Processing
Author
김기철
Alternative Author(s)
Kim, Ki Chul
Advisor(s)
조인휘
Issue Date
2019. 8
Publisher
한양대학교
Degree
Master
Abstract
금형 가공은 NC-CODE를 통해서 진행된다. NC-CODE는 G-CODE라는 언어로 구성이 되어있다. 이러한 G-CODE상에서 오류가 존재하면 금형 가공 시 미 절삭과 과 절삭에 문제가 생길 수 있다. 이러한 문제를 사전에 방지하기 위해선 별도의 시뮬레이션 시스템이 필요하다. 이러한 시뮬레이션 시스템은 G-CODE로 이루어진 언어를 컴퓨터 디스플레이상에서 좌표로 표현을 해주어야 한다. 이렇게 표현된 좌표의 연결은 곧 공구의 이동 경로가 된다. 하지만 이동경로 만으로는 시뮬레이션 시스템의 한계가 있다. 결국 가공이 완료된 소재의 모습을 표현해야 한다. 따라서 본 논문에서는 Z맵을 이용하여 시뮬레이션 시스템을 구현해 보고자 한다. 이러한 시뮬레이션 시스템은 3D 그래픽 라이브러리를 이용하기 때문에 그래픽 연산 시 CPU의 부하가 걸린다. 따라서 이 부분을 GPU 병렬 처리를 통해 해결한다 실시간 시뮬레이션 시스템을 구현하기 위해 기존에 연구가 진행되던 직선 운동을 통한 Z맵 갱신 기법을 적용하여 원호 이송에 대해서도 구현한다. 시스템을 구현하고 프로파일러를 통해 확인 결과 법선 벡터를 계산하는 부분에서 CPU의 계산 시간이 가장 많은 부분을 차지함을 알 수 있었다. 따라서 NVIDIA의 CUDA를 사용하여 해당 부분을 병렬로 처리하였다. CUDA의 연산 시 DEVICE 내부의 메모리를 효율적으로 사용하기 위해 Shared memory를 사용하였다. 또한 Grid stride loop 방식으로 함수를 구성하여 연산을 최적화 하였다. CUDA를 사용하였을 때 일반 CPU를 사용했을 때 보다 벡터 계산의 연산 량이 증가할수록 높은 효율을 나타내는 것을 확인할 수 있었다. 실제 시뮬레이션 시스템에 적용하였을 때 약 15%의 성능개선이 이루어 진다는 것을 확인할 수 있었다; The molding process is carried out through NC-CODE. NC-CODE consists of a language called G-CODE. The presence of errors in these G-CODEs can cause uncut and overcut problems during machining of molds. To prevent these problems in advance, separate simulation systems are required. These simulation systems should coordinate language with G-CODE on computer displays. The connection of these expressed coordinates soon becomes the tool's path of travel. However, the path alone has limitations in the simulation system. Eventually, the finished material must be represented. Therefore, in this paper, we would like to implement a simulation system using the Z-map. Because these simulation systems use a 3D graphics library, the CPU is under load when computing graphics. This is therefore resolved through GPU parallelization. In order to implement a real-time simulation system, the Zmap renewal technique through straight-line motion, which was previously studied, is also implemented for arc transfer. The implementation of the system and the profilers show that the CPU's calculation time is the largest part of the calculation of the rule-line vector. Therefore, the parts were treated in parallel using NVIDIA's CUDA. Shared memory was used for efficient use of memory inside DEVICE when calculating CUDA. Also, the function was configured with the Grid slide loop method to optimize the operation. With CUDA, we could see that the higher the computational quantity of vector calculations increases than with normal CPUs, the higher the efficiency. When applied to actual simulation systems, we could see a performance improvement of about 15%.
URI
https://repository.hanyang.ac.kr/handle/20.500.11754/109496http://hanyang.dcollection.net/common/orgView/200000435764
Appears in Collections:
GRADUATE SCHOOL OF ENGINEERING[S](공학대학원) > ELECTRICAL ENGINEERING AND COMPUTER SCIENCE(전기ㆍ전자ㆍ컴퓨터공학과) > Theses (Master)
Files in This Item:
There are no files associated with this item.
Export
RIS (EndNote)
XLS (Excel)
XML


qrcode

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

BROWSE