250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- pytorch
- 텐서플로우
- Computer Vision
- FLASK
- GUI
- Django
- Tkinter
- MariaDB
- vue.js
- numpy
- k8s
- 논문 리뷰
- Python
- paper review
- 그래픽 유저 인터페이스
- kubernetes
- 딥러닝
- OpenCV
- tensorflow
- 데이터베이스
- 웹 프로그래밍
- Deep Learning
- 파이썬
- 파이토치
- POD
- yaml
- Web Programming
- 컴퓨터 비전
- Docker
- 장고
Archives
- Today
- Total
Maxima's Lab
[Cuda Programming] Cuda, Blocks, Grids and CUDA Keywords 본문
C(C++)/Cuda Programming
[Cuda Programming] Cuda, Blocks, Grids and CUDA Keywords
Minima 2022. 10. 25. 00:33728x90
SMALL
안녕하세요, 오늘은 Cuda, Blocks 그리고 Grids 에 대해서 알아보겠습니다.
Cuda 란?
: GPU (그래픽 처리 장치)에서 수행하는 병렬 처리 알고리즘에 대하여 C 프로그래밍 언어등을 이용하여 사용할 수 있도록 해주는 GPGPU
입니다. 여기서, GPGPU(General Purpose computing on Graphics Processing Units을 의미합니다.
https://ko.wikipedia.org/wiki/CUDA
CUDA - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. CUDA 처리 흐름의 예 1. 메인 메모리를 GPU 메모리로 복사 2. CPU가 GPU에 프로세스를 지시함 3. GPU가 각 코어에 병렬 수행 4. GPU 메모리로부터의 결과물을 메인 메모
ko.wikipedia.org
다음은 Blocks과 Grids의 개념에 대해서 알아보겠습니다.
- Blocks : 같은 Streaming Multi-processor (SM)에서 작동되는 Threads의 그룹이며, Warp Size(32)의 배수가 되어야 합니다. 이는 1024를 최대값으로 가질 수 있습니다.
- Grids : Threads Blocks으로 구성되어 있으며, Grid Size는 Thread Blocks의 총 개수를 의미합니다.
위의 2가지 개념을 활용하여, Threads의 총 개수는 Threads x Blocks의 값으로 계산할 수 있습니다.
이어서, CUDA 사용을 위한 CUDA Keyword에 대해서 알아보겠습니다.
- __device__ : GPU에서 Kernels를 호출하고 함수들을 실행하기 위해 Compile 하는 Keyword
- __host__ : CPU에서 함수를 실행하기 위해 Compile 하는 Keyword
- __global__ : GPU에서 실행되는 함수이지만, 호출되지는 못하며 Host에서만 호출 가능한 Keyword
지금까지, CUDA, Blocks, Grids 그리고 CUDA Keywords에 대해 알아보았습니다.
728x90
LIST
'C(C++) > Cuda Programming' 카테고리의 다른 글
[Cuda Programming] Template Matching (템플릿 매칭, .cu 파일) 구현 (0) | 2023.02.21 |
---|