Compiler Optimization for Deep Learning and Big Data Processing Applications on CPU/GPU/NPU/PIM-based Systems
영상처리와 패턴인식 계산 분야에서 활용되는 Deep Learning 기술과 계산 과학 분야에서 활용되는 희소행렬 곱셈 (Sparse Matrix Multiplication) 으로 대표되는 Big Data Processing 기술은 고성능 GPU를 활용하여 복잡한 연산을 빠르게 수행하는 방식으로 발전되고 있다. 하지만 최근의 Deep learning 및 Big Data Processing은 Inference와 Training에서 요구되는 메모리 사용량이 점차 증가하고 있으며, CPU/GPU/NPUs/PIM 와 같은 다양한 특성의 하드웨어 자원을 탑재한 환경에서의 효율적인 연산 수행이 요구되고 있는 상황이다.
본 연구실에서는 이러한 CPU/GPU/NPU/PIM 이종 컴퓨팅 환경에서, 메모리 사용률을 최적화하고, 명령어 스케줄링을 효율적으로 수행하는 컴파일러 레벨 기술을 연구하고 있다.
Deep learning and Big Data Processing, which are widely used in Image processing and Pattern recognition, and SNS analysis, are currently processed using high-performance GPUs. However, recent Deep learning and Big Data Processing applications require increasing memory requirement in both Inference and Training processes and also require high resource utilization on heterogeneous systems with CPU/GPU/NPUs.
We develop various compiler-level techniques that optimize memory utilization and perform efficient instruction scheduling on the heterogeneous environments.
Efficient Multitasking Support for Multiple Deep Learning Applications on Heterogeneous Architectures
다양한 머신 러닝 응용 프로그램의 동시 실행 시 효율적인 자원 활용을 위한 최적의 컴퓨팅 자원 할당 연구
(A research on optimal PE allocation considering total resource utilization of multiple DL applications)
연구 목표: 런타임 및 컴파일러 레벨 최적화를 통한 성능 및 전력의 최대 효율 달성
Research goal: achieving maximum performance and power efficiency using runtime and compilation level optimization.
Neural Accelerator Design and Compiler/OS support
FPGA 기반 뉴럴 가속기 설계 연구
(FPGA-based custom neural accelerator design)
다양한 뉴럴 네트워크 알고리즘을 효율적으로 수행할 수 있는 RTL-level 커스텀 뉴럴 가속기 설계
RTL-level custom neural accelerator design that can support various neural network algorithms efficiently
해당 뉴럴 가속기를 이용한 다양한 시스템 설계 연구
Various emerging application support using custom neural accelerators
1. 자동차 번호판 인식 시스템 (License plate recognition system)
문자 인식을 수행할 수 있는 커스텀 가속기를 이용한 번호판 인식 시스템 설계
(Design of license plate recognition system using custom accelerators for character recognition)
2. 객체 인식 시스템(Object detection system)
Faster RCNN, Yolo 등 다양한 객체 인식 알고리즘을 효율적으로 수행할 수 있는 커스텀 뉴럴 가속기 연구 및 설계
(Custom neural accelerator design that can support various object recognition algorithms such as Faster RCNN and Yolo)
3. Super Resolution
SRCNN, DRCN, MDSR 등 다양한 Super resolution 알고리즘을 효율적으로 수행할 수 있는 커스텀 뉴럴 가속기 연구 및 설계
(Custom neural accelerator design that can support super resolution algorithms such as SRCNN, DRCN, and MDSR)
In-Storage Processing (ISP)
In-Storage Processing (ISP) is a method on near data processing (NDP), which does not load data in storage into DRAM memory but perform the workloads on the storage-side such as SSD. Since ISP reduces I/O time substantially, significant overall performance improvement can be achieved.
While the technique looks promising, to apply the ISP into real applications is not an easy problem.
Our research focuses on the following aspects:
1) How to determine the workload that are performed on ISP
2) How to distribute those workloads at runtime.
Flexible Vector Support for Supercomputing CPUs
본 연구실에서는 다수의 고성능 CPU가 연결된 슈퍼컴퓨터의 Vector Unit 단위 성능향상 및 전력관리를 위한 연구개발을 수행하고 있다.
Development of ISA and Hardware for flexible vector units on supercomputing CPUs
Development of DVFS governor considering vector units
Research on efficient compiler support for flexible vector units