global 변수가 cuda memory에서 사용되는 이유
- 출장이 잦아서, 답변에 시간이 좀 걸릴 수도 있습니다. 양해 바랍니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
안녕하세요, 선생님! 궁금한 게 있어서요. device memory와 host memory는 구분되어 있잖아요?? 그래서 각각 사용되는 데이터는 각각의 메모리에서 사용하는 것으로 알고 있었어요. 그런데
vecSize 나 saxpy_a는 global로 선언 되어 있는데, 이 변수들은 device메모리에서 어떻게 사용하는 거죠?? global 변수의 위치는 host memory에 위치 하지 않나요??
답변 1
0
안녕하세요.
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 가 같은 작업을 드러나지 않게 수행하고 있습니다.
감사합니다.
최신 엔비디아 CUDA 아키텍처에서의 결정적 변경 사항
0
8
1
자문자답- 맞는지 틀린지 확인부탁드립니다.
0
9
0
멍슨상이라 이름 변경하시는 게 어떠신지요?
1
13
0
55강 파이썬에만있는 연산자들
0
10
1
55강의 파이썬에서만 있는 연산자들
0
9
1
[문의] 강의 코드 제공여부
0
22
2
코딩살구클럽 가입 문의
0
37
2
코딩 살구 클럽 컴파일 에러
0
21
1
추천 문제
0
21
1
코딩살구클럽 승인
0
29
1
이 강의를 다 들으면 어떤 강의를 들어야 하나요?
0
38
2
선생님 13.3을 써도 큰 차이가 없나요?
0
33
2
코살구 1주차 1940번 문제 조건과 프라이빗 테스트 불일치 문의
0
34
2
메모리 동적할당시 메모리창 빨간 글씨
0
27
2
ch .12 grid 설정 관련 질문 드립니다.
0
87
2
memcpy 시간 고려 시 gpu vs. cpu
0
98
2
common.cpp의 procArg 함수에 대해 질문이 있습니다.
0
147
2
Thread Block 개수에 제한이 있나요?
0
424
1
Warp를 동시에 돌린다는 말이 이해가 가지 않습니다.
0
324
1
매크로 함수를 쓴 이유
0
312
1
VS2022 컴파일 에러
0
383
2
Warp 갯수에 대한 고찰입니다....
0
553
2
15강 Block ID 예제 오류 질문입니다.
0
367
1
컴파일 시의 <typeinfo> 관련 에러
0
592
1





