http://chineseinput.net/에서 pinyin(병음)방식으로 중국어를 변환할 수 있습니다.
변환된 중국어를 복사하여 사용하시면 됩니다.
슈퍼컴퓨터 SoC를 위한 소프트웨어 스택 개발 Lessons Learned
구기범(Gibeom Gu) 대한전자공학회 2023 대한전자공학회 학술대회 Vol.2023 No.6
In this paper, the author presents technical and non-technical issues that emerged during the development of the software stack for the new supercomputer SoC. These issues will serve as guidelines for planning the development of new supercomputer SoC and its associated software stack for the new processor.
과학적 가시화 어플리케이션을 위한 VR Juggler 기반 가상현실 인터페이스 개발
구기범(Gibeom Gu),황규현(Gyuhyun Hwang),허영주(YoungJu Hur) 한국정보과학회 2016 정보과학회 컴퓨팅의 실제 논문지 Vol.22 No.10
이 논문에서는 대용량 해석 데이터 가시화 시스템을 위한 가상현실(VR) 인터페이스의 세부적인 개발내용에 대해 설명한다. 여기서 소개하는 VR 인터페이스는 오픈소스 VR 프레임워크인 VR Juggler에 기반을 두고 있다. VR Juggler는 여러 장점에도 불구하고, 이벤트 드리븐 방식을 지원하지 않으며 클러스터 환경에서 실행될 때 노드 사이의 동기화가 제한적으로 지원되는 등 한계를 보여주기도 한다. 이 논문에서는 이벤트 처리, 애니메이션 재생이나 외부 서버와의 통신 시 클러스터 노드 간 동기화 및 데이터 공유와 같이 VR Juggler를 이용해서 어플리케이션을 개발할 때 발생하는 문제의 해결방안을 실제 개발사례와 함께 제시한다. 그리고 가상현실 입력장치의 단점을 보완한 스마트 디바이스 기반 인터페이스에 대해서도 소개하며, 외부 사용자를 대상으로 진행한 사용성 평가결과를 통해 VR 인터페이스와 스마트 디바이스 인터페이스의 유용성을 검증한다. In this paper, we introduce a virtual reality interface for scientific visualization applications. Our VR interface is based on an open-source framework called VR Juggler. Although VR Juggler has its own advantages, it lacks some of the important functionalities needed for practical applications - event handling, synchronization and data sharing among cluster nodes, to name a few. We explain how these issues are resolved while developing the VR interface. Also, a new interface with a smart device, which replaces the virtual reality input device, is introduced. Finally, system usability test results are provided to prove the effectiveness of the proposed interfaces.
매니코어 CPU 시스템의 병렬 쓰기 성능 향상을 위한 리눅스 커널의 LRU 관리 최적화 기법
변은규,구기범,오광진,방지우,Eun-Kyu Byun,Gibeom Gu,Kwang-Jin Oh,Jiwoo Bang 한국정보처리학회 2023 정보처리학회논문지. 컴퓨터 및 통신시스템 Vol.12 No.7
최신 HPC 시스템은 수십 개의 코어를 가진 매니코어 CPU를 탑재하고 있다. 이런 시스템에서 병렬 I/O를 수행할 경우 리눅스 시스템의 LRU락 관리 정책의 문제로 인해 확장성에 한계를 가지고 있음을 확인하였다. 본 연구에서는 이 문제를 해결하기 위한 개선된 FinerLRU를 제안한다. LRU락을 최대 코어 개수만큼 증가시키는 것을 골자로 한 세분화된 Lock 관리를 통해 페이지 기반 버퍼 캐시를 사용하는 파일 시스템의 병렬 쓰기 성능을 향상시키는 것을 목적으로 한다. 리눅스 5.18.11에 제안한 방법을 구현하였으며, 서로 다른 특성을 가진 2종류의 CPU인 Intel Icelake Xeon과 Intel Knights landing에서 성능을 측정하였고 두 종류의 시스템 모두에서 두 배 전후의 성능 향상이 발생함을 확인하였다. Modern HPC systems are equipped with many-core CPUs with dozens of cores. When performing parallel I/O in such a system, there is a limit to scalability due to the problem of the LRU lock management policy of the Linux system. The study proposes an improved FinerLRU to solve this problem. Our new FinerLRU improves the parallel write performance of file systems using the buffer cache through granular lock management by increasing the number of LRU locks upto the maximum number of cores. The proposed method was implemented in Linux 5.18.11, and the performance was measured on two types of CPUs, Intel Icelake Xeon and Intel Knights landing, with different characteristics, and it was found that a performance improvement of about two times can be obtained in both types of systems.
NVIDIA Tegra와 Tesla GPU에서의 CPU-GPU 데이터 전송성능 연구
권오경 ( Oh-kyoung Kwon ),구기범 ( Gibeom Gu ) 한국정보처리학회 2021 한국정보처리학회 학술대회논문집 Vol.28 No.2
최근 HPC, 인공지능에서 GPU 성능이 향상되면서 사용이 보편화되고 있지만 GPU 프로그래밍은 난이도 측면에서 여전히 큰 장애물이다. 특히 호스트(host) 메모리와 GPU 메모리를 따로 관리해야 하는 어려움 때문에 편의성과 성능 측면에서 연구가 활발히 진행되고 있으며, 다양한 CPU-GPU 메모리 전송 프로그래밍 방법들이 제시되고 있다. 본 연구는 NVIDIA Tegra 장치들과 NVIDIA SMX 기반 V100 GPU 카드에서 CPU-GPU 데이터 전송 기법별로 성능비교를 하고자 한다. 특히 NVIDIA Tegra 장치는 CPU와 GPU 통합메모리를 제공하고 있어서 CPU-GPU 메모리 전송방법의 관점에서 기존 GPU 장치와 다른 성능 특징을 보여준다. 성능비교를 위한 실험 워크로드는 HPC 응용프로그램에서 빈번하게 사용하는 2차원 행렬 전치 예제를 사용하였다. 실험을 통해 각 GPU 장치별로 CPU-GPU 메모리 전송 방법에 따른 GPU 커널 성능차이, 페이지 잠긴 메모리와 페이지 가능 메모리의 전송 성능차이, 마지막으로 전체 성능비교를 하였다.
SYCL에서 효율적인 멀티 GPU 프로그래밍을 위한 MPI-wrapper API 개발
명훈주 ( Hunjoo Myung ),구기범 ( Gibeom Gu ),오광진 ( Kwang Jin Oh ) 한국정보처리학회 2023 한국정보처리학회 학술대회논문집 Vol.30 No.2
SYCL은 C++을 기반으로 하는 언어로 가속기를 사용하는 복잡한 과정을 C++의 특징 중의 하나인 추상화를 사용해 개발자가 쉽게 접근할 수 있게 한다. 그러나, 가속기를 활용하는 측면에서는 성능을 최대한으로 끌어내기 위해 저수준 접근도 필요하다. 특히, NVLink와 같이 효율적인 멀티-GPU 통신을 해주는 인터커넥션 링크 활용을 위해서도 필요하다. 본 논문에서는 SYCL 구현물 중의 하나인 AdaptiveCpp을 가지고 NVLink로 연동된 멀티 GPU 환경에서 효율적으로 프로그래밍을 할 수 있는 방법을 제안하고, SYCL 개발자들이 SYCL의 설계 철학을 따라 프로그래밍을 할 수 있도록 이러한 기능을 추상화하여 담은 MPI wrapper API를 제안한다.
HSA 런타임 API를 이용한 hipSYCL 런타임 백엔드 개발
명훈주 ( Hunjoo Myung ),구기범 ( Gibeom Gu ) 한국정보처리학회 2022 한국정보처리학회 학술대회논문집 Vol.29 No.2
SYCL은 OpenCL 디바이스를 위해 추상화한 C++ 프로그래밍 모델이다. OpenCL에 비해 SYCL은 높은 생산성 등 C++이 가지고 있는 강점을 보유하며, 인텔이 이기종 컴퓨팅을 위한 개발 언어로 SYCL 기반의 DPC++을 출시함에 따라 많은 주목을 받고 있다. 우리는 여러 SYCL 구현물들 중에서 NVIDIA, AMD 등 다양한 GPU를 지원하고, 코드의 수정 및 추가가 용이한 hipSYCL를 채택하여 여러 연구를 진행하고 있다. 본 논문에서는 hipSYCL 구조 내에 AMD GPU를 위한 HIP 백엔드 플러그인을 대체할 수 있는 새로운 백엔드 플러그인을 제안한다. 이 플러그인은 HSA 런타임 API를 사용하여 기존의 플러그인보다 계층 구조를 줄이고 경량화하였다.