One more cup of drip coffee for the road
강의
로드맵
전체 2수강평
- CUDA 프로그래밍 (0) - C/C++/GPU 병렬 컴퓨팅 - 공개 샘플 강의
- CUDA 프로그래밍 (1) - C/C++/GPU 병렬 컴퓨팅 - CUDA 커널 kernel
- 게임 개발자를 위한 3D 그래픽스, 쉐이더, OpenGL (0B) - 공개 샘플 강의2
게시글
질문&답변
cudaGetLastError() 에러 처리
네 맞습니다.에러를 report 했다는 것을 처리했다고 표현했습니다.감사합니다.
- 0
- 1
- 14
질문&답변
CUDA Samples 없음
안녕하세요.출장 관계로, 답변이 늦었습니다. 동영상 강의에는 추가 설명으로 들어가 있습니다만,CUDA 버전에 따라, samples 폴더가 같이 배포되는 경우도 있고, github 에서 별도 배포하는 경우도 있습니다.github 에 올려져 있는 samples 프로그램들을 사용하시면 됩니다.검색해 보니, 다음 링크가 나오는 군요.https://github.com/NVIDIA/cuda-samples감사합니다.
- 0
- 2
- 33
질문&답변
24-2 3중 for loop 개선책 이해가 가지 않습니다.
안녕하세요.24번 강의의 어느 부분을 말씀하시는 것인지 파악이 되지 않습니다.좀더 자세하게, 몇번 슬라이드 설명인지를 알려주시면 도움이 될 것 같습니다.감사합니다.
- 0
- 2
- 45
질문&답변
transpose-shared.cu 가 느린 이유에 대해서 질문 있습니다.
안녕하세요.해당 프로그램에서의 문제는 상당히 떨어진 memory를 요구하기 때문에 발생합니다.원하는 메모리 address를 실제로 계산해 보면, 상당히 떨어진 memory 주소를 요구하니까, 완전히 새로 전체를 읽어오거나, 써야 하기 때문에 생기는 문제입니다.어느 경우든, 캐쉬 메모리 관리가 전체 프로그램의 성능에는 예상보다 훨씬 큰 영향을 끼칩니다.감사합니다.
- 0
- 2
- 37
질문&답변
비주얼 스튜디오 파일
안녕하세요. Visual Studio 가 설치된 폴더에 include 나 lib 폴더를 찾으면 됩니다.VS 2022 기준으로는 표준 설치 시에, C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.42.34433\include 폴더를 찾을 수 있고,여기가 include 폴더 입니다. C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.42.34433\lib\x64 lib 폴더도 위에 나와 있습니다. 동영상에서도 설명했습니다만, 버전에 따라서, 14.42.34433 라는 숫자는 설치한 VS 컴파일러 버전마다 다르고, update 상황에 따라 다를 수 있습니다. 감사합니다.
- 0
- 2
- 43
질문&답변
RGB 값 관련 질문드립니다.
안녕하세요.색상 값이나, reflection coefficient 는 말씀하신 대로, 0.0 ~ 1.0 사이의 값으로 설정하는게 맞고, 실제로 그렇게 설정하고 있습니다. 문제는 light source 의 경우에는 빛의 색상도 중요하지만, 빛의 강도(intensity) 도 표현하고 있다는 점 입니다. Phong 의 수식을 보면, 특히 point light source 의 경우, 거리(distance)에 따른 attenuation term을 적용하고 있는데, 이 때문에, 거리에 따라서 intensity가 급감할 수 있습니다. 이 때문에, attenuation coefficient 들을 잘 조정하거나, 또는 light intensity를 높여서, 거리가 떨어져 있어도 Phong 수식에서 적당한 밝기가 나오게 하는 방식을 쓰고 있습니다.이 부분은 최종 밝기가 적절히 나오면 되는 셈이라서, 빛의 강도를 적절히 조정해도 큰 문제는 없습니다. 감사합니다.
- 0
- 2
- 56
질문&답변
vert_phong.vert negate 질문
안녕하세요.강의를 진행해 나가면서, 앞부분에서는 z 좌표를 negate 하는 방식으로 좌표계를 전환했습니다.뒤에, projection 부분을 설명하면서, projection matrix를 설정할 때, z 좌표 부분을 matrix 내에서 한번 뒤집도록 했습니다. 그래서, 그 이후는 z negate 부분이 vertex shader 에서 삭제되었습니다. 정확히는 projection matrix 에서 이미 z-negate 를 하는 경우라면, vertex shader 에서 z-negate를 하지 않습니다. 위의 코드가 바로 여기 해당될 겁니다. projection matrix를 계산하는 부분의 코드를 검토해 보면, 거기서 이미 z-negate를 하고 있을 겁니다. 감사합니다. ~
- 0
- 2
- 60
질문&답변
glm-tri.cpp 의 glVertexAttribPointer 질문입니다.
안녕하세요.현재 사용하시는 컴퓨터와 OS 를 알 수 있을까요.그리고, 이 프로그램 이전의 프로그램들에서는 정상 작동했었는지도 체크가 필요합니다.현재 배포되는 예제들은 Win10/Win11 또는 Linux 에서 pre-compiled header 를 배제한 환경을 대상으로 합니다. 아래 AI 인턴에서도 설명이 나옵니다만, glVertexAtttribPointer 의 마지막 인수는 memory address 또는 offset 모두 가능한데, offset으로 쓰기 위해서는 vertex buffer 를 만들었어야 합니다.이 강의 내에서도 vertex buffer object를 만드는 방법을 설명합니다만, 아직은 적용하지 않았기 때문에, memory address 를 써야 맞고, 여기 (void*)0을 넣었는데, 작동했다면, 더 이상한 상황입니다.glGenBuffers() 와 같은 함수가 혹시 어디선가 사용되었나요?배포된 예제에서는 vertex buffer 사용이 없었기 때문에, 작동하지 않아야 정상입니다.stride 도 vertex buffer object 를 사용하는 부분에서 추가 설명되는데, 0 으로 설정하면 자동 계산이 되어서, compact packing 된 상태로 보기 때문에, 현재 설정에서는 0으로 하나, 4 * sizeof(float) 또는 sizeof(glm::vec4)로 하나 동일하게 작동해야 합니다. 감사합니다.
- 0
- 2
- 58
질문&답변
pitch값에 따른 alignement boundary(size) 질문
안녕하세요.해당 부분은 다시 체크해 보니, 말씀하신 논리 대로, 512 바이트로 보는 것이 더 합당해 보입니다.아랫쪽의 AI 답변에도 나와 있듯이, CUDA 에서는 경우에 따라서는 alignment 를 가변적으로 적용하기도 해서, 256 바이트, 512 바이트가 유동적으로 적용되기도 합니다만, 이번 경우는 512로 보는 것이 더 적합해 보입니다.강의를 재녹화할 때, 수정하도록 하겠습니다.감사합니다. ~
- 0
- 2
- 96
질문&답변
vulkan 강의 일정
안녕하세요.계속해서 vulkan 에 대한 준비를 하고 있습니다만, 여러가지 사정 (해외 출장 등) 으로 늦어져서 죄송합니다.일부 촬영도 했습니다만, 계속해서 준비를 서두르도록 하겠습니다.감사합니다.
- 0
- 2
- 91