소개
One more cup of drip coffee for the road
강의
전체30로드맵
전체2수강평
- .
김민재
2024.09.27
1
게시글
질문&답변
2024.09.03
외적 공식 문의
안녕하세요. 공식을 확인해 봤는데, 문제가 없습니다. 수학책을 찾아보시거나, 아래 나무위키 링크를 참고하셔도 좋을 겁니다. https://namu.wiki/w/%EC%99%B8%EC%A0%81 아랫첨자로 쓰인 x,y,z 의 위치 (나무위키 링크에서는 아랫첨자 1,2,3) 를 잘 보면, +로 할때는 일관되게 증가해 가는 순이고, 반대로, -로 할 때는 y 에 대해서는 순서가 뒤집어 집니다. (즉, determinant 가 - 로 계산됩니다.) determinant 를 어떻게 잡느냐의 문제일 뿐이고, 계산 결과는 동일합니다. 감사합니다.
- 0
- 1
- 25
질문&답변
2024.08.24
[30-4] hist-shared.cu 에서 질문있습니다.
안녕하세요. thread block 1개를 기준으로 보면, 말씀하신 내용이 맞습니다. 다만, 현재 예제에서는 thread block 을 여러 개 사용하고, 이것들이 동시에 실행되고 있습니다. 즉, thread block 여러 개에서, theadIdx.x 는 0 ~ 31인 thread 들이, 각 thread block 에서 동시에 메모리 영역에 write 하려고 하므로, 결국 atomicAdd 가 아니면 답이 틀리게 됩니다. 감사합니다.
- 0
- 2
- 23
질문&답변
2024.08.07
hello shader 프로그램 실행이 안됩니다.
안녕하세요. 괜찮으시면, 사용하신 컴퓨터 환경을 알려주실 수 있을지요. 말씀하신 상황이 발생했다면, 그래픽 카드 제조사에 리포트를 해야 할 것 같습니다. 그래픽 카드의 모델과, 디바이스 드라이버 버전, OpenGL 드라이버 버전 정도를 알려주시면, 해당 제조사에 버그 리포트 하고, 문제점을 파악해 보겠습니다. 감사합니다. P.S: 혹시 glFlush() 나, glFinish() 함수가 빠져있다면, glDraw() 함수 이후에 마지막 부분에 glFinish()를 추가해서 해결하는 경우도 있습니다만, 지금 말씀 하신 증상으로는 그 문제도 아닌 것 같긴 합니다..
- 0
- 1
- 63
질문&답변
2024.08.04
[Matrix Addition Problem] 1D를 사용하지 않는 이유가 뭔가요?
안녕하세요. 2D 행렬를 다룰 때는 되도록 2D layout 으로 접근하게 됩니다. CPU + RAM 위주로 설명하는 예제들에서는 2D 행렬도 어차피 1D로 주욱 나열되고, 한 row 와 다음 row 사이에 빈 공간이 없다고 보는 경우가 많을 겁니다. 실제로 memory alloc 을 하거나, 2D 행렬의 memory alloc 상황을 봐도, 1D 로 할당 할 때나 별 차이가 없습니다. CUDA 를 비롯해서, GPU 기반으로 가거나, 병렬 처리를 고려하면, 이제 2D memory 할당 시에, 1개의 row 가 되도록 128 / 256/ 512 / 1024 Byte boundary에 맞추거나 하는 식으로 할당하는 것이 일반적입니다. thread block 별로 memory 를 access 할 때, 서로 겹치지 않게 하는 것이 전체 performance 에서 훨씬 유리하기 때문에 이런 상황이 생깁니다. 현재는 addition 이라서, 1D layout 이 유리해 보이지만, 뒤에 multiplication 등의 더 복잡한 연산으로 가면, 2D layout 으로 구현하는 것이 훨씬 빨라집니다. 여러가지 이유로, 2D 행렬 이나, 2D image 를 다룰 거나 할 때는, cuda block 도 2D layout 으로 구성하는 것이 일반적입니다. 감사합니다.
- 0
- 1
- 70
질문&답변
2024.06.11
뷰포트 간의 z-index
안녕하세요. depth buffer 쪽도 color buffer 와 같이 정확하게 조정해야 할 겁니다. 2개의 창이 겹친다면, 2번 째 창을 그릴 때는 해당되는 depth buffer 부분도 완전히 clear 시키고 다시 그리는게 좋을 것이고, 필요하다면, 이전 depth buffer 내용을 그대로 사용하는 것도 가능합니다. 대부분 동영상 강의에서 이미 설명한 내용입니다만, 관련된 내용은 glEnable/Disable (GL_DEPTH_TEST) 와 glDepthMask( ) 함수를 참고하시면 좋을 겁니다. 그외, 2개 창이 서로 다른 depth range 를 사용해야 한다면, glDepthRange 함수도 참고하시면 좋을 겁니다. OpenGL 은 window system 이 아니기 때문에, viewport, scissor 이외의 기능은 제공하지 않습니다. 2개 이상의 윈도우를 따로 따로 열어서, 각각에 OpenGL 출력을 하는 방법도 있습니다만, 그 쪽은 OpenGL 문제가 아니고, window programming 문제이니까, 그쪽 분야를 참고하셔야 할 겁니다. 감사합니다.
- 0
- 1
- 103