> ## Content Index
> Fetch the complete content index at: https://sudormrf.run/llms.txt
> Use this file to discover other available public pages before exploring further.

# GPGPU Simulation - 1부
- URL: https://sudormrf.run/2016/01/10/gpgpu-simyulreisyeon-2/
- Published: 2016-01-10T14:41:02.000Z
- Updated: 2016-01-17T13:27:05.000Z
- Author: park jong hyun
- Tags: GPGPU, Architecture, #Import 2026-10-24 03:36

##### Simulation

Simulation을 이용하면 GPU없이 CPU만으로도 CUDA (OpenCL) 코드를 돌려볼 수 있다. (물론 emulation 만으로도 가능하다.)  
CPU 에서 GPU의 동작을 소프트웨어로 구현 simulator 들이 있다.  
대표적으로 [gpgpu-sim](http://www.gpgpu-sim.org/?ref=sudormrf.run) 과 [multi2sim ](http://www.multi2sim.org/?ref=sudormrf.run)이 있다.  
Verilog로 구현되어 CPU가 아닌 FPGA에서 GPU를 직접 구워볼수 있는 [miaowgpu](http://http//miaowgpu.org/?ref=sudormrf.run) 도 있다.

##### Simulation의 용도

이러한 simulation은 사실 GPU가 없는 사람을 위한 것은 아니다.  
실제 GPU에서 돌리면 1초 짜리가 simulation하면 너무 오래걸린다. (하루 이상 걸리는 경우도 있다.)  
보통 2가지 정도 용도로 쓰인다.

- CUDA (OpenCL) 프로그램의 최적화를 위하여 실제 GPU 중 bottleneck 이 어디인지 조사
- GPU architecture 개선을 위한 실험

첫번째 항목의 경우 NVIDIA 에서 제공하는 profiler를 통해 cache miss 같은 간단한 정보들을 알 수 있는데, Simulator에서는 더 자세한 정보들을 알 수 있다. (Cycle by Cycle 로 모든 정보가 추적 가능하다.)  
물론 실제 GPU와는 차이가 있기 때문에 정보가 정확하지는 않다. 최신 CUDA버전은 지원 되지도 않고....

두번째 항목이 사실 가장 많이 쓰이는 용도라고 볼 수 있는데, 실제 GPU를 개선하기 위하여 매번 하드웨어 칩을 찍어볼 수는 없는 노릇이다. 그래서 소프트웨어를 통해 하드웨어를 변환해보고 실험한다.  
이는 CPU, DRAM 도 마찬가지이다. 위에 소개한 Multi2sim의 경우는 CPU와 GPU 모두 가능한 시뮬레이터 이다.

다음번에는 GPGPU 시뮬레이션의 실제 사용 예를 소개하도록 하겠다.