반응형
 

CUDA (Compute Unified Device Architecture)


general purposed gpu programming에 대해 알고 있는가?

알고 있다면, 이게 뭐하는 건지 전혀 설명할 필요가 없을 거다.


그렇다. gpgpu를 쉽게 하기 위해 만든 거니까.. 어디서? nvidia에서..

적절한 라이브러리들도 지원되고 에뮬레이션 모드도 동작하고.. 음..


뭐 그래도 단점이 있다면... 그래픽 카드도 8800 정도는 되야.. 예제가 다 돌아간다는 점 정도.. ㅡㅡ;

내껀 7950인데.. 예제 중에 20% 정도만 돌아간다. ㅡㅡ;


그래.. 그럼 이제 모르는 사람들을 위해서..

컴퓨터 뜯어보면 그래픽 카드가 다 보일것이다. 거기보면 gpu라는 프로세서가 달려있다.

이건 누구나 알겠지? 모른다면... 아마 프로그래밍이랑 관련없는 분이실테니.. 조밑에 수영관련 글이나 읽으시길..


그 gpu는 막강한 프로세서다. 일부 계산에 특화된... 그 계산에선 cpu를 능가할 정도의...

그래.. 그거다. 그 성능 좋은 녀석은 매일 풀로 일하는게 아니다. 적당히 놀고 있다.

3d 게임 같은거하면 거의 풀로 일하겠지만.. 익스플로어나 띄워놓고 지금처럼 블로그나 돌아다니는 수준에선 거의 논다.


그래서 사람들이 일 시키기로 결심을 했다. 노는 꼴을 어떻게 보냐..  나도 뼈빠지게 일하는데..

그래서 얘를 그래픽 작업 말고 다른 일을 시키기로 한거다.

그래서 얘가 잘하는 수학연산등을 시키는거다.

이게 gpgpu다..


그럼 cuda는?

gpgpu 프로그램을 작성하려면 귀찮은 준비 작업들이 필요하다.

계산할 input 데이터를 넣어줄 texture도 만들어야 하고.. output시에 pixel도 읽어야 하고..

거기에 좀 더 낫게 하려고 pingpong buffer니 뭐니.. 아.. 짜증난다.


그래서 이런거 할 필요없이 cuda로 짜라고 해서 nvidia가 던져 준거다.

이런 귀찮은 작업들이 라이브러리에 함수로 정리되어 있고 간단한 코드들은 다 함수로 제공된다.

그냥 짜면 된다.


아.. 세상은 날로 발전하고 있다... 올 여름엔 cuda랑 놀아볼까나..




반응형

+ Recent posts