본문 바로가기

cuda3

[세미나 발표] Programming Massively Parallel Processors Ch.10 Reduction and Minimizing Divergence [CUDA] Reduction — 제어 발산, 메모리 발산 최소화 정리Programming Massively Parallel Processors (저자: Kirk & Hwu) Chapter 10. Reduction and Minimizing Divergence 내용을 정리한 글이다.10.1 Reduction이란?Reduction은 배열의 값들로부터 단일 값(sum, max, min 등)을 도출하는 연산이다.import numpy as nparr = np.array([3, 1, 4, 1, 5, 9, 2, 6])# 순차적 Reduction (CPU)result = 0for x in arr: result += x # result = 31CPU에서는 순차적으로 처리하지만, GPU에서는 병렬화가 가능하다... 2026. 3. 22.
[세미나 발표] Programming Massively Parallel Processors Ch.6 Performance Considerations [CUDA] 메모리 병합, 지연 숨기기, 스레드 조대화 정리Programming Massively Parallel Processors (저자: Kirk & Hwu) Chapter 6. Performance Considerations 내용을 정리한 글이다.6.1 메모리 병합 (Memory Coalescing)DRAM의 구조적 한계병렬 프로그램의 실행 속도는 프로그램의 리소스 요구와 하드웨어의 리소스 제약 사이의 상호작용으로 결정된다. 그 중 핵심 병목은 DRAM이다.DRAM의 읽기 속도는 프로세서 연산 속도에 비해 수십 배 느리다. 이유는 물리적 구조에 있다. 데이터 비트가 커패시터(Small Capacitor)에 저장되는데, 데이터를 읽으려면 커패시터가 아주 작은 전하를 센서 라인으로 구동하고, 그 전하.. 2026. 3. 21.
[세미나 발표] Programming Massively Parallel Processors Ch.2 Heterogeneous Data Parallel Computing [CUDA] 데이터 병렬성, 벡터 덧셈 커널, Thread 계층 구조 정리Programming Massively Parallel Processors (저자: Kirk & Hwu) Chapter 2. Heterogeneous Data Parallel Computing 내용을 정리한 글이다.새 책을 시작하며HOML로 머신러닝과 딥러닝의 기초를 다졌다면, 이제는 그 연산들이 내부에서 어떻게 빠르게 돌아가는지를 살펴볼 차례다. GPU가 딥러닝 연산을 빠르게 처리하는 원리는 결국 대규모 병렬 처리에 있다. Programming Massively Parallel Processors는 GPU 아키텍처와 CUDA 프로그래밍을 통해 그 원리를 깊이 파고드는 책이다. 세미나 발표를 이 책으로 이어가게 되었다.데이터 병렬성.. 2026. 3. 21.