오늘 끝나면
GPU: 많은 일을 한꺼번에
- ✓CPU는 똑똑한 코어 소수, GPU는 단순한 코어 대군이라는 설계 차이를 설명할 수 있음
- ✓병렬 처리가 왜 그래픽(픽셀 동시 칠하기)에서 출발해 행렬·AI 연산에 맞는지 말할 수 있음
- ✓병렬이 통하는 조건(작업이 많고 서로 독립)을 들어 GPU가 유리한 경우와 아닌 경우를 구분할 수 있음
실습 미션
오른쪽 실험에서 작업 수를 키우고 GPU 코어 수를 올린 뒤 처리 시작을 눌러, GPU가 CPU보다 몇 배 빨리 끝나는지 직접 확인해 보셈.
성공 조건
- □작업 수를 늘릴수록 GPU와 CPU의 라운드 차이가 벌어지는 걸 봄
- □GPU 코어 수를 올리면 GPU 라운드가 줄어 더 빨리 끝남을 확인함
- □끝난 뒤 'GPU가 약 N배 빠름' 결과를 읽고 그 이유(라운드=올림(작업÷코어))를 설명할 수 있음
병렬 처리 · 그래픽 · 행렬 연산
GPU: 많은 일을 한꺼번에
CPU는 똑똑한 코어 몇 개로 어려운 일을 빨리 풂. GPU는 단순한 코어 수천 개로 같은 일을 한꺼번에 풂. 이 '한꺼번에'가 병렬이고, 오늘 AI를 떠받치는 힘임.
소수 정예 vs 단순한 대군
CPU와 GPU는 같은 '코어'를 가졌지만 설계 철학이 정반대임.
CPU는 코어가 몇 개뿐임. 대신 하나하나가 똑똑해서, 갈래 많고 순서 꼬인 복잡한 일을 깊게 빨리 풂.
GPU는 반대로 감. 단순한 코어를 수백~수천 개 박음. 코어 하나는 굼떠도 떼로 덤비면 무서움.
그래서 어려운 일 하나는 CPU가, 쉬운 일 수천 개는 GPU가 이김. 도구가 다른 게 아니라 전략이 다른 거임.
큰 코어 4개 — 면적을 똑똑함에 씀
CPU는 소수 정예. 갈래 많고 순서 꼬인 일을 코어 하나가 깊게 빨리 풂.
픽셀을 한꺼번에 칠하다
GPU의 'G'는 Graphics임. 원래 화면 그리려고 태어난 칩임.
화면은 픽셀 수백만 개의 격자임. 각 픽셀 색은 거의 같은 공식으로 계산되고, 서로 남의 답을 기다릴 필요가 없음.
그래서 한 픽셀씩 줄 세우는 대신, 수천 개를 동시에 칠하면 화면이 단번에 뜸. 직렬은 한 칸씩, 병렬은 한 줄을 통째로.
1999년 NVIDIA가 지포스 256을 'GPU'라는 이름으로 내놓으며 이 동시-칠하기 구조를 대중화함.
직렬은 픽셀 1칸씩 — 다 칠하는 데 80스텝. GPU는 이 '한 줄 통째' 방식을 수천 칸으로 키운 칩임.
행렬 곱은 픽셀 칠하기와 똑같다
알고 보니 픽셀 칠하기 모양을 한 계산이 하나 더 있었음 — 행렬 곱셈임.
딥러닝 속은 거의 다 행렬 곱임. 결과 칸 하나하나가 '곱하고 더하기'의 반복이고, 칸끼리는 서로 독립임.
독립이라는 게 핵심임. 픽셀처럼 서로 안 기다리니, 수천 칸을 GPU 코어에 한 칸씩 맡겨 한꺼번에 굴림.
그래서 CPU로 며칠 걸릴 학습이 몇 시간으로 줄어듦. 2007년 NVIDIA가 CUDA로 이 힘을 일반 계산에 열어줌 — 지금 AI 붐의 하드웨어 바탕임.
A의 한 행 × B의 한 열 → C의 한 칸. 곱해서 더하면 끝.
딥러닝 속은 거의 다 이 곱-더하기의 반복임. 결과 칸이 수백만 개라도 서로 독립이라, GPU 코어들이 한꺼번에 채움. 픽셀 칠하기와 똑같은 구조임.
병렬이 통하려면 — 독립이어야 한다
코어를 아무리 많이 깔아도 항상 빨라지는 건 아님. 일이 서로 '독립'일 때만 병렬이 통함.
독립이면 코어들이 동시에 출발해 동시에 끝남. 픽셀·행렬 칸이 그래서 GPU에 딱 맞았던 거임.
반대로 앞 결과를 받아야 다음을 푸는 '의존' 사슬이면, 코어 천 개가 있어도 999개는 줄 서서 놂.
그래서 GPU는 만능이 아님. 똑같은 일을 잔뜩, 서로 안 엮인 채 던질 때 진가가 나옴. 엮인 일은 여전히 CPU 몫임.
독립이면 코어 8개가 동시에 출발 → 1라운드에 끝. 이게 픽셀·행렬이 GPU에 맞는 이유임.
직접 CPU vs GPU 처리 시간 재보기
이제 직접 만져볼 차례임. 작업 수와 GPU 코어 수를 정하고, CPU(코어 4)와 GPU에 같은 일을 동시에 던져보셈.
한 라운드마다 코어 수만큼 작업이 끝남. 그래서 완료 라운드 = 올림(작업÷코어)임. 코어 많은 GPU가 라운드가 적어 먼저 끝남.
작업 수를 키우고 GPU 코어를 올릴수록, 'GPU가 약 몇 배 빠름' 숫자가 점점 벌어짐.
단순한 일이 많을수록 GPU가 압승함 — 1강에서 본 모든 이야기가 이 한 칸에서 숫자로 확인됨.
한 라운드마다 코어 수만큼 작업이 동시에 끝남. 코어가 많을수록 라운드 수가 줄어 빨리 끝남. 라운드 = 올림(작업÷코어).