1. 그래픽 프로세서 (GPU : Graphic Processor Unit), 그래픽 가속기
  ㅇ 그래픽 연산을 전문적으로 담당하는 보조 프로세서로,
     - 복잡한 그래픽 렌더링(Rendering) 작업을 CPU 대신 빠르게 수행하도록 설계됨
     - 원래는, 비디오 카드에 장착되어,  2D/3D 그래픽, 이미지 처리, 비디오 재생 등을 담당했으나,
     - 현재는, 범용 병렬 계산용 가속기(GPGPU: General-Purpose GPU)로 활용 범위가 크게 확장됨
2. 주요 목적
  ㅇ CPU의 연산 부담을 줄이고 그래픽 처리 속도 향상
     - 복잡한 수학적 계산(행렬, 벡터 연산 등)을 병렬로 처리
     - 디스플레이에 표시할 픽셀 데이터(프레임)를 고속으로 연산,출력
  ㅇ 프레임 버퍼 (Frame Buffer) 메모리와 밀접한 관계
     - 프레임 버퍼란, 디스플레이의 각 화소(pixel)와 1:1로 대응되는 비디오 메모리 영역
     - 이 영역의 데이터를 실시간으로 연산,갱신해야 하므로, 막대한 메모리 접근량과 연산량이 발생 
     - 따라서, GPU가 이 작업을 전담하여 처리 효율을 극대화함 
3. 기술적 특징
  ㅇ 대량 병렬 구조 (Massively Parallel Architecture)
     - 수천 개의 작은 병렬 연산 코어(Streaming Processor, Shader Core) 로 구성되어,
     - 동일한 명령을 다수의 데이터에 동시에 적용(SIMD 구조) 가능
     - 이러한 병렬성 덕분에 영상 처리뿐 아니라 대규모 수치 계산에도 적합
  ㅇ 병렬 프로그래밍 지원  
     - GPU 활용키 위해, 병렬 실행 가능한 코드 작성 필요
     - 대표적 프로그래밍 언어/프레임워크
        . CUDA (Compute Unified Device Architecture)
           .. NVIDIA에서 개발한 GPU 전용 C언어 확장
           .. NVIDIA GPU에서만 사용 가능.
        . OpenCL (Open Computing Language)
           .. 다양한 제조사의 GPU, CPU, FPGA 등에서 호환되는 플랫폼 독립적 표준
  ㅇ 구조적 특징
     - SIMT 구조, 고 대역폭 메모리, 파이프라인 처리이며,
       CPU의 제어 중심 구조와 상호 보완적으로 작동함
4. 응용 분야 확장
  ㅇ 그래픽을 넘어선 고성능 연산용 가속기
  ㅇ 물리,화학 시뮬레이션, 기후 모델링, 분자 동역학 등 과학기술 계산
  ㅇ 머신러닝,딥러닝 연산 가속 (例: 신경망의 행렬 곱셈 계산의 가속화)
  ㅇ 슈퍼컴퓨터,데이터센터에서도 GPU가 주요 연산 자원으로 활용됨
     - 例) NVIDIA A100, H100 등의 GPU는, 대규모 행렬/텐서 연산에 특화되어 있음