안녕하세요. AI 인턴이 답한 내용이 거의 완벽한 것 같습니다. core 가 보통은 SP를 의미하는데, 경우에 따라서는 SM의 의미로 쓰이기도 합니다. 어느 경우든, thread block 1개에서는 1024개의 thread만 실행 가능하다는 제약 때문에 1개의 SP 또는 1개의 SM 에 1만 개의 therad를 돌리기는 힘들다는 의미로 설명했습니다. 즉, 정확히 이해하신 것으로 보입니다. 감사합니다. ~
안녕하세요. 문제에 따라서 다를 수 있습니다. 실제 CUDA 로 풀었을 때의 시간을 memcpy + CUDA kernel + memcpy 시간으로 본다면, 문제가 어려워질수록, 사용하는 data 의 양이 많아질수록 CUDA 쪽이 유리해 집니다. CUDA를 사용하는 목적이, CPU 로는 시간이 너무 오래 걸리는 경우에 병렬 처리를 하자는 것이라는 점에 유의 하시면 되겠습니다. CPU와 GPU는 서로 다루는 문제의 종류나 사이즈가 다르다는 게 핵심이 될 겁니다. 감사합니다.
안녕하세요. 해당 에러는 CUDA 컴파일에 실패했다는, generic error code 라서, CUDA 설치나, 하드웨어 충돌 등을 검토해 봐야할 것 같습니다. 이미 인터넷에서 검색해 보셨겠지만, 비교적 최근에 비슷한 에러 상황을 당했던 사례로, 다음 링크를 참고해 보시면 도움이 될 것 같습니다. https://ccssbb.tistory.com/682 감사합니다.
안녕하세요. AI 인턴의 대답이 정확하고, 아마도 컴파일러 세팅의 문제일 가능성이 큽니다. 컴파일이 되어서 실행까지 된다면, 아마도 nvcc 와의 연결 문제가 아닐까 싶습니다. 소스 코드에서 >> 은 꼭 연결해서, 3개가 연속되게 하시고, 컴파일러 쪽을 체크해 보시면 될 것 같습니다.
안녕하세요. 출장 관계로, 답변이 늦었습니다. 동영상 강의에는 추가 설명으로 들어가 있습니다만, CUDA 버전에 따라, samples 폴더가 같이 배포되는 경우도 있고, github 에서 별도 배포하는 경우도 있습니다. github 에 올려져 있는 samples 프로그램들을 사용하시면 됩니다. 검색해 보니, 다음 링크가 나오는 군요. https://github.com/NVIDIA/cuda-samples 감사합니다.
안녕하세요. 해당 프로그램에서의 문제는 상당히 떨어진 memory를 요구하기 때문에 발생합니다. 원하는 메모리 address를 실제로 계산해 보면, 상당히 떨어진 memory 주소를 요구하니까, 완전히 새로 전체를 읽어오거나, 써야 하기 때문에 생기는 문제입니다. 어느 경우든, 캐쉬 메모리 관리가 전체 프로그램의 성능에는 예상보다 훨씬 큰 영향을 끼칩니다. 감사합니다.