Books2014. 2. 19. 02:04


OpenCL에 대한 이슈가 있어서 책을 몇권 사서 보는 중입니다.

그중에서 이 책은 Kindle로도 책을 보고 싶어서 산 책입니다.


눈으로만 읽을 때는 잘 몰랐는지만, 책의 예제 코드를 인터넷에서 다운 받아서 컴파일을 하게 되면서 알게 된것이,

저자가 이 책을 쓸때 코드를 (어쩌면 한번도) 컴파일을 해보지 않았구나 하는 생각이 들었습니다.


기본적으로 컴파일이 안되는 코드들이 많았고,

그리고 코드가 컴파일이 되어도 NULL 포인터에 값을 마구 대입하는 등 코드에 이런 저런 버그가 꽤 많이 있습니다.


그래도 오기로라도 돌려볼 요령으로 버그 잡으면서 책을 따라가면서 진행하였습니다.

나중에 가만히 생각하다보니, 저자의 의도가 그러면서 배우라고 하는게 아닌가 싶을 정도로 코드에 대해서 무성의한 부분이 많이 있습니다. 


그리고,

설명의 순서를 먼저 데이터 구조/메모리 구조를 설명해주고 Host Program을  설명해주고 그 이후에 OpenCL을 설명해주면 이해가  쉬울텐데 설명 순서를 완전히 반대로 하고 있어서 앞에서 설명이 없이 무작정 OpenCL 코드만을 보면 도대체 왜 이렇게 하는지 한참 시간을 투자해야 이해할 수 있는 순서로 책이 설명이 되어 있습니다.  한참 코드를 보면서 데이터 구조를 손으로 그리면서 따라갔더니 챕터의 뒤에서 그림이 나오는 것을 보고 헐... 하면서.. 당황하였습니다.


그래서 이 책은 그닥 비추입니다


반대 이 책의 좋은 점은 이런 저런 깊은 이해나 코드를 돌려보지 않겠다는 마음을 가지고 눈팅으로만 책을 빨리 읽어 가면서 개념을 잡겠다면 의외로 설명만으로 보면 좋은 부분도 있습니다. 그리고 (당연히) 책도 빨리 읽을 수 있습니다. 책에서는 코드를 다 설명하는 것이 아니라 코드에서 설명해야될 포인트 부분만 설명하고 있고 그 외의 나머지 코드  부분은 굳이 그 설명을 이해하기 위해서 알 필요가 있는것이 아니기 때문입니다. 물론 코드를 돌려본다면 다른 문제가 되곘지만요.


책은 앞단에서는 OpenCL의 기본적인 설명을 하여주고

뒷단에서는 OpenCL을 이용한 프로그램 작성에 대해서 Histogram이나 Sobel Filter등을 OpenCL을 이용해서 만들어가는 것을 설명해주고 있습니다.


간단하게 개념만 잡겠다는 컨셉으로 빠르게 읽어간다면 그나마 볼 수 있는 책이고

반대로 이것 저것 생각해보면서 읽어가겠다면 비추입니다.


끝으로 책을 살 때에는 처음 나왔기 때문에 아마존에서 별다른 코멘트가 없었는데 

최근에 다시 들어가니 그닥 좋은 코멘트가 없더군요


Posted by GUNDAM_IM