CUDA 메모리 구조(3)

제가 CUDA관련한 글을 쓰는건 David박사가 했던 대학강의와 NVIDIA에서 나온 CUDA 문서를 참고로 하고 있습니다. 그래서 문서에 나온 내용도 정리 하겠습니다.
그나저나 NVIDIA 코리아에서는 CUDA 그렇게 밀면서 문서 한글화는 안해주네요.ㅡㅡ;
그것만 해줘도 CUDA하기 수월할텐데 말이죠.

CUDA 프로세서 구조는 SIMT(single-instruction, multiple-thread) 구조입니다. 기존에 있던 병렬프로그래밍으로 따지자면 OpenMP와 같은 성격인 것입니다. OpenMP는 CPU갯수만큼의 병렬화를 지원하지만 CUDA는 GPU안의 계산 유닛갯수만큼을 지원하는 것이 차이입니다.

SIMT 유닛은  32개의 병렬 스레드의 그룹을 만드는데 이것들을 warps 라고 부릅니다.
device에서 계산을 시작하게 되면 SIMT 유닛은 warps안에 각각의 스레드를 분해해서 넣습니다. 여기서 첫번째 warp는 Thread ID 0을 가지게 되는 겁니다.

그리고 각 Multiprocessor는 아래와 같은 구조를 가지면서 실행되게 됩니다.

사용자 삽입 이미지

위의 그림에 나와있는 각 Multiprocessor들은 다음의 4가지 형태의 메모리들을 가지게 됩니다.

1. Processor당 32비트 register들의 세트 하나.
2. Multiprocessor안의 모든 processor 코어들이 공유하는 Shared memory
3. 모든 Processor 코어들에 공유되고 constant memory space의 읽기속도를 향상시켜주는, 읽기전용인 constant cache
4. 모든 Processor 코어들에 공유되고 texture memory space의 읽기속도를 향상시켜주는, 읽기전용인 texture chche. 각각의 Multiprocessor들은 texture unit을 통해서 texture cache를 액세스합니다.

위에 내용들이 중요한 내용들입니다. 앞 포스팅에 있던 Grid, Block, Thread와 위에 있는 메모리들이 어떻게 매치되는지를 지정해주어야 에러없이 프로그램이 실행됩니다.
이게 제대로 관리안되면 에러가 나게 되는 겁니다. 여기서부터는 상세한 설명이 없어서 스스로의 많은 삽질이 필요하게 되는 부분입니다^^;

그리고 SLI를 이용해서 GPU를 여러개 꼽아서 사용할수도 있다고 나와있군요. 하나도 제대로 쓰기 어렵구만..;;

여기까지 했으니까 다음부터는 직접 코드를 작성하면서 삽질모드로 들어가야겠군요.^^;
크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by 아리수

2009/03/19 21:10 2009/03/19 21:10
Response
No Trackback , 1 Comment
RSS :
http://arisu.mireene.com/rss/response/143

Comments List

  1. garu 2009/04/30 14:44 # M/D Reply Permalink

    유용한 정보 감사합니다 ^^

Leave a comment

마지막강의

출판사 : 살림
저자 : 랜디포시, 제프리 재슬로
옮김 : 심은우

====================================================================
책을 사서 동봉된 동영상 시디만 보고 정작 책은 안보고 있다가 이제서야 봤습니다.
책이 동영상이랑 같은 내용일거라 지레 짐작하고 안 봤었는데 조금 다르군요.
책을 쓴 시점이 마지막강의 이후 시점이라서 마지막강의시의 심정이라던가 세세한 저자의 감정들이 책에는 나와있습니다. 물론 큰 내용은 대동소이합니다.
전반적인 내용은 책보다는 강의를 들었을때가 더 머리에 잘 들어오는것 같네요.
다만 책에는 좀 더 세세한 부분들이 나와있다는 정도네요.

책은 한번보고, 내용을 다시보고 싶다면 동영상을 보는게 나을거 같네요.
물론, 전체적인 내용자체는 좋습니다.
'당신의 어릴적 꿈을 이루기' 원래 좋아하는 주제라서요.
크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by 아리수

2009/03/04 21:58 2009/03/04 21:58
Response
No Trackback , No Comment
RSS :
http://arisu.mireene.com/rss/response/142

Leave a comment

닷넷 프로그래밍 정복

출판사 : 가메출판사
저자 : 김상형

==============================================================================

Window API 정복의 저자가 쓴 닷넷, C#에 관한 책입니다.

시중에 C#문법만 나와있는 책이 없어서 C#문법 참고용으로 샀는데 괜찮았습니다.

덤으로 윈폼, ADO.net등도 살펴볼수 있는 기회가 되었네요.

윈폼이야...MFC랑 비슷비슷하니 색다른건 없었고 지금은 WPF가 나와있으니 그리 큰 효용성이 있는지는 잘 모르겠습니다.

ADO.net은 그동안 이름만 들어왔었는데 어떻게 구성되어 있는지를 구체적으로 볼 수 있는 기회가 되었습니다.

이런류의 책들이 늘 그렇지만 레퍼런스 용도로 사용하기에 괜찮은거 같습니다.

예제도 많으니 곧바로 써먹을수 있을거 같구요.
크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by 아리수

2009/03/03 23:10 2009/03/03 23:10
Response
No Trackback , No Comment
RSS :
http://arisu.mireene.com/rss/response/141

Leave a comment