inflearn logo
강의

Course

Instructor

CUDA Programming (2) - C/C++/GPU Parallel Computing - Vector Addition

14-1 SAXPY, device version - single precision, AXPY, CUDA implementation (including full PDF file of section)

global 변수가 cuda memory에서 사용되는 이유

Resolved

369

superdy

3 asked

0

- 출장이 잦아서, 답변에 시간이 좀 걸릴 수도 있습니다. 양해 바랍니다.

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

안녕하세요, 선생님! 궁금한 게 있어서요. device memory와 host memory는 구분되어 있잖아요?? 그래서 각각 사용되는 데이터는 각각의 메모리에서 사용하는 것으로 알고 있었어요. 그런데

vecSize 나 saxpy_a는 global로 선언 되어 있는데, 이 변수들은 device메모리에서 어떻게 사용하는 거죠?? global 변수의 위치는 host memory에 위치 하지 않나요??

c c++ cuda gpu 병렬-처리

Answer 1

0

onemoresipofcoffee

안녕하세요.

CUDA 의 device memory와 host memory 개념을 잘 이해하고 계십니다.

말씀하신 내용이 모두 맞는 이야기 인데, 다만, CUDA 에서도 이런 문제 때문에, CUDA 에서만 사용하는 global variable 들을 모아 놓은 영역을 생각하게 됩니다.

그래서, 실제로는 변수의 크기나, CUDA global constant 등은 device memory 내에서도 별도의 영역에 보관하게 됩니다.

관련된 CUDA device memory 의 계층 구조는 다음 (3)번 강의에서 집중해서 다루게 됩니다.

특히, 질문하신 변수의 크기 등은 device memory 중에서도 constant memory 영역에 저장하는 것이 일반적입니다.

또, CUDA 를 위한 global 변수를 선언하면, cuda compiler 에서 자동으로 device memory 영역에 할당해 주도록 되어 있습니다. 이 경우는 별도의 cuda Malloc 이나, 복사가 필요없지만, 사실은 cuda compiler 가 같은 작업을 드러나지 않게 수행하고 있습니다.

감사합니다.

 

코딩살구클럽 관련 건의사항

0

2

0

코살에 19942 다이어트 문제에 N의 범위가 빠져있슴니다

0

4

0

Reticle이 안나옵니다.

0

10

1

진행 방법 질문드립니다!

0

31

2

Singleton 관련 질문입니다.

1

31

2

안녕하세요. 계속 프로젝트를 해야지 하다가 결제하고 환경 설정 중입니다.

0

15

1

Export template 안됨

1

28

2

2-I) 왜 이 문제가 그래프이론 카테고리에 있는지 잘 모르겠습니다.

0

55

2

AddGameFrameworkComponentReceiver vs AddExtensionHandler

0

24

0

scanf("%d\n") 의미

0

20

1

필기자료 사라졌나요?(실기 일주일만에 안돼서 재도전-_-)

0

37

2

2주차 개념#12 트리 순회

0

25

2

백준 사이트 서비스 종료

0

112

3

26년 1회 실기 해설 강의

0

51

2

ch .12 grid 설정 관련 질문 드립니다.

0

73

2

memcpy 시간 고려 시 gpu vs. cpu

0

82

2

common.cpp의 procArg 함수에 대해 질문이 있습니다.

0

133

2

Thread Block 개수에 제한이 있나요?

0

399

1

Warp를 동시에 돌린다는 말이 이해가 가지 않습니다.

0

312

1

매크로 함수를 쓴 이유

0

301

1

VS2022 컴파일 에러

0

365

2

Warp 갯수에 대한 고찰입니다....

0

540

2

15강 Block ID 예제 오류 질문입니다.

0

359

1

컴파일 시의 <typeinfo> 관련 에러

0

585

1