본문 바로가기

쿠다

쿠다(CUDA)의 미래는 밝지 않다 쿠다(CUDA)는 한때의 괜찮았던 기술로 끝날 것인가? 이 질문에 대한 답은 쉽지 않다. 그러나, 과감하게 생각해본다면 쿠다의 미래는 그다지 밝지 않다. 쿠다를 다루어보면 2가지 면에서 놀라게 되는데, 엄청난 처리 속도 때문에 첫번째로 놀라게 되며, 본격적으로 쿠다를 이용한 프로그래밍을 할 때 그 지옥같은 디버깅에 두번째로 놀라게 된다. 쿠다의 프로그래밍 모델 그 자체는 그렇게 난해하지는 않다. 그러나, GPU라는 태생적인 한계 때문에 CPU와 다른 메모리 공간을 사용한다. 커널(kernel, 쿠다에서 많은 수의 스레드를 동시에 동작시키는 함수를 뜻한다) 안의 어떤 변수 값을 살펴보려면, 그 값을 호스트 메모리에 복사해서 봐야 하며, 때로는 코드의 문맥상 이것이 불가능할 때도 있다. 즉, CPU와 GPU.. 더보기
32 / 64비트 CUDA 툴킷 같이 사용하기 CUDA 툴킷(toolkit)은 32비트, 64비트로 나뉘어서 배포되는데, 64비트 패키지에는 32비트 바이너리를 제공하지 않는다. 예를 들어, 64비트 툴킷을 설치했다면 32비트 프로그램을 빌드하고 싶어도 라이브러리 링크 문제 때문에 빌드가 불가능하다는 뜻이다. CUDA 툴킷이 설치된 폴더를 살펴보면 bin, bin64, lib, lib64 따위로 구분이 되어 있음에도 불구하고 이렇게 불편하게 만들어 놓은 것은 쉽게 이해가지 않는다. 그러나, 실제로는 32비트, 64비트 CUDA 툴킷을 한 폴더에 설치해도 문제는 없다. 직접적으로 설치 파일을 실행하여 두 패키지를 모두 설치하려고 하면 설치 프로그램이 이를 감지하여 하나를 제거하지만, 수동으로 필요한 파일들을 해당 폴더에 복사해도 상관없다. 복사해야 하.. 더보기