'wwdc'에 해당되는 글 4건

  1. 2009.06.12 WWDC2009: OpenCL 세션을 듣다가...
  2. 2009.06.11 학창시절의 꿈 하나 (2)
  3. 2009.06.09 극성스런 호들갑 (10)
  4. 2009.04.12 world2009: 여행중 컨퍼런스와 축제참석 (4)
WWDC에 성능 관련한 주제가 여러개 있는데, GCD(Grand Central Dispatch)와 OpenCL가 주요하게 소개되고 있다. MacOS X Leopard의 다음 버전인 Snow Leopard에 적극 활용되는 기술들인 듯. GCD의 경우 멀티코어CPU에서의 병렬처리를 돕는 기술인것 같고, OpenCL은 CPU와 GPU를 모두 활용할 수 있는 병렬 컴퓨팅 기술인것 같다. 

내가 쓰고 있는 MacBook Pro 15"만 하더라도, 듀얼코어 CPU한장에다가 GPU는 두장이 들어있다. 화면 디스플레이에는 전력소모가 적은 Integrated GPU만을 쓰고 있기때문에 나머지 한장은 완전히 놀고 있는 상황인거지. (Integrated GPU의 경우역시 거의 놀고있는걸테고 말이다)


OpenCL사이트의 소개문서에서 발췌한 그림이다. OpenCL용 C소스코드를 런타임에 원하는 타겟 프로세서용 코드로 컴파일해서 활용할 수 있다. 상황에 따라 CPU가 될 수도 있고, 아마도 일반적으로는 GPU를 대상으로 할테다. 컴파일된 바이너리는 특정 GPU에 최적화된 코드가 실행될 테고, CPU와는 별도로 병렬 실행되는 구조이다. GPU가 잘하는 일들을 하드웨어 수준에서 빠르게 병렬처리하는 코드를 만들어 활용할 수 있다는 아이디어겠다. (예전의 MMX나 SSE등의 SIMD기술들을 연상시킨다)

OpenCL소스코드는 C소스 비슷하게 생겼는데, 특화된 데이터타입이나 연산자들 함수들이 들어있다. 이 소스를 메인프로그램의 C코드에서 읽어들여, CL함수에 컴파일을 요청하고, 결과로 나온 커널을 실행하는 구조. 

(참고로, 아이폰 3G S에서 지원하는 OpenGL ES 2.0의 Programmable Shader의 경우에도 같은 형태의 컴파일/실행구조다)

한참 하이레벨인 루비쪽에서 놀다가, 이런 C코드 수준으로 내려와서 하드웨어 종속적인 사고를 보고 있으니 참 흥미롭기도 하고, 어떻게 보면 참 구차하다 싶기도 하지만, 분명 이런 성능 관련한 주제가 크게 관심있었던 매력적인 분야임은 부정할 수 없다. 

아마도 내가 직접 병렬처리를 활용하게 된다면 이와는 전혀 상관없이 Erlang을 쓰게 되겠지만, OpenCL같은 하드웨어와 밀접한 환경과 아이디어 자체는 흥미롭게 공부해볼 수도 있겠다. 혹시 또 알아? 내가 직접 쓰게되는 일이 생길지, 그 누구도 모르는 거지.

TAG wwdc
Posted by hatemogi 트랙백 0 : 댓글 0

학창시절의 꿈 하나

2009.06.11 09:10 from programming
Creating iPhone Apps that Communicate with Accessories

이번 WWDC의 전체적 관심주제는 당연히 아이폰 개발. 그중에서도 OpenGL ES에 관심이 많았다. 오늘 OpenGL에 관련한 세션이 많았는데, Intro수준의 세션에는 들어가지 않았다. 줄이 너무 길기도 했고, 나중에 동영상으로 봐도 다 따라서 이해할 수 있을 것 같다는 판단 때문이었지. 

같은 시간에 다른 홀하는 세션 중에 위의 제목의 세션이 있었는데, 아이폰과 외부장치와의 통신을 담당하는 API 프레임웍을 소개하고 데모를 보여주는 세션이었다. 

아이폰이 외부 하드웨어와 통신 할 수 있는 방법은 크게 3가지, 블루투스, UART, USB. (WiFi는 논외로 하겠다). 이중에 UART/USB에 관심이 많이 갔지. 그중에도 UART를 이용한 예제는 오래전 학창시절의 꿈을 상기시켜주었다. 


학창시절의 꿈 하나

학창시절에 컴퓨터로 외부 하드웨어를 제어하는 데에 관심이 있었다. 당시 만들었던것이 장난감 탱크를 컴퓨터 키보드로 제어하는 프로그램과 인터페이스였다. 하드웨어 인터페이스 관련 지식은 전혀 없었기 때문에, 당시 통신망에 떠돌던 패러럴 포트 연결한 LED제어 인터페이스 회로도를 구해다가 병렬로 연결해서 쿵짝쿵짝 만들었던 기억이 있다. 

기계적 릴레이 스위칭 회로를 병렬로 이어붙어 별도 공급하는 직류 전원의 +/-를 교체하기 위해 이래 저래 회로를 구성하느라 밤을 샜던 기억도 있다. (당시에 donny형도 함께였고). 프라모델 탱크를 전후좌우로 움직일 수 있는 프로그램을 만들어 PC의 패러럴포트의 4개핀을 이어 4비트로 제어했었고, 추후에 조금 확장해서, RC자동차를 제어하는 모델로 발전시켰었지. 당시 학과 동아리 전시회에도 출품했었는데, 아주 인기 만점이었다. :)

추후에 더 확장하고 싶었던 내용은, PC수준에서 RC자동차의 예상 움직임을 시뮬레이션해서, 원하는 신호를 적절한 타이밍에 내보내서, 실제 움직임이 그와 같은지 확인하는 프로그램이었다. 자동차의 움직임 시뮬레이션이라는 분야가 "Vehicle Dynamics"라는 동역학 분야의 하나라는 사실을 알기위해서만도 학교 도서관을 한참 돌아다녔던 기억이 난다. (찾고 나서 그 방대한 자료와 수식들에 나가떨어졌지만 말이다) 

대학 생활이라는 것이 공부말고 재밌는 것들이 너무도 많았던 나머지, 얼마 지나지 않아 흐지부지되고 노느라 바빴던 것 같은데, 그 먼 기억속의 꿈이 오늘에야 다시 회상되다니, 거 참 신기하다. 

다시 해볼 수 있을까

오늘의 세션도 소프트웨어 개발자 측면의 이야기만 있어서, 어떻게 UART통신을 처리할 수 있는 하드웨어 인터페이스를 만들 수 있을 지는 깜깜하지만, 그래도 시간좀 들이다 보면 만들어 볼 수도 있지 않을까 싶다. 

꿈이라는게 다른 사람들에게도 의미가 있어야한다는 (내지는 경제적 가치로 이어져야한다는) 누구도 정의하지 않은 압박으로 인해 시들어져버린 나만의 소중한 꿈들이 되살아나며, 작은 생기가 감도는 기분이다. 

또다시 어느새 시들해질지 모르지만 말이다. 
TAG wwdc
Posted by hatemogi 트랙백 0 : 댓글 2

극성스런 호들갑

2009.06.09 12:59 from programming
WWDC 키노트

Apple Worldwide Developers Conference의 첫째날. 첫날 아침의 키노트를 듣겠다고 아침 일찍부터 숙소를 나섰다. 일부 극성스러운 사람들은 전날 저녁부터 가서 밤새 기다리는 열성을 보였지만, 난 그보다 잠을 더 사랑하기에 그럴 수는 없었다. 그래도 나름 실제 진행하는 컨퍼런스 룸에서 (참가자가 너무 많아서, 일찍 간 사람이 아니면 다른 홀에서 생중계로 보아야했다) 보고자, 두시간이나 일찍 가서 줄을 섰지만, 결국 생중계로 보게되고 말았다. 생중계도 꽤 볼만하더군, 장비들이 너무 좋아서, 화면도 아주 깨끗하고, 발표자 모습도 클로즈 업해주어서 오히려 보기 좋다고 생각했다. 생중계 홀은 자리 경쟁도 치열하지 않아서 앞자리에서 볼 수 있었고 말이다. 기대했던, 한국 아이폰 출시소식은 전혀 언급되지 않았다. 이제, 한국의 아이폰 출시 관련한 그 어떤 루머도 믿지 않겠다. 춥고 졸린 아침에 밥도 굶고 2시간이나 기다리는 호들갑도 떨지 않겠다.

개발자들, 내지는 geek들

얼마전에 조나단이랑 얘기하다가, 이런 얘기를 한적이 있다. "난 컴퓨터를 다루는 데에는 아주 능숙하지만, 사람들과 어울리는 데는 아주 미숙하다"고. 아마도 이런 특성이 개발자들의 공통된 특성이자 문제점이 아닐까 싶어. 고작 세 번의 해외 컨퍼런스에 참석하지만, 미국의 개발자들도 비슷한 특성이 있어보인다. 

컴퓨터를 상대로 일을 하지만, 결국은 사람을 위한 일을 하는 것 임을 잊지 말아야 할텐데 말이다. 이상하다, 예전 같으면 열광했을 법한 기술들에 대한 얘기들을 들어도 별 감흥이 없다. '음, 그래 좋은거네, 잘했네' 정도? 

그 극성스런 호들갑들이 다 자잘한 행복거리이자 열광의 대상이었던것 같은데 말이다. 그래도 아직 몇가지 내용들은 내 가슴을 뛰게 하더군. 뼈속 깊이 개발자임에는 아직 변함 없겠지. 

이제 무엇이 나의 가슴을 뛰게하는가.


TAG wwdc
Posted by hatemogi 트랙백 0 : 댓글 10

An IT conference


제작년에 회사에서 RailsConf 2007을 보내줬었다. 덕분에 많이 배웠고, 재밌었다. 지적유희는 큰 행복의 하나라는걸 새삼스럽게 느꼈었지. 그때 마음먹기를 또 그런 해외 컨퍼런스에 참석하겠다고 마음먹었고, 내 개인비용을 들여서라도 참석할만한 가치가 충분하다고 여겼었다.


A dance camp

작년에 2주짜리 안식휴가를 받아, 스웨덴의 허랭캠프에 갔었다.  26년째인 이 행사에서는 4주간 약2천여명이 작은 마을에 모여 재즈댄스 축제를 벌인다. 나는 그 첫째주에만 참석했고, 국제적 소셜댄스의 즐거움, 챔피언급 강사들과의 첫 대면, 그리고 몸속 깊이 유전자에 담겨있는 춤을 끄집어내는 원로 댄서가 보여준 감동이 준 행복은 잊을 수 없다. 기회가 될지 모르지만, 언젠가 된다면 꼭 다시 참석하고 싶다고 마음 먹었었다.



A round-the-world route

세계일주 여행을 할 때에는 동쪽에서 서쪽으로 이동하는 경로를 선택하는 것이 좋다고 한다. 그렇게 해야 시차적응이 쉽다고 하는군. 그래서 한국에서 출발하는 여행자들은 유럽방면으로 이동하면서 아메리카 대륙으로 건너가는 경로를 많이 선택하는듯. 내 경우에는 참석하고 싶은 행사가 몇개 있었는데, 이 행사들의 시간과 공간이 여행 이동 경로를 정하는데 많은 영향을 끼쳤고, 그러다 보니, 아메리카 대륙 먼저 진입하고 유럽대륙을 나중에 진입하는 경로로 정했다. 시차적응 제대로 힘들겠지만 말이다.

위에 언급한 두개의 행사가, 이번 여행의 갖가지 행사참석에 영향을 끼친것 같다. 현재까지 참석하기로 한 행사는 다음과 같다.


Lindy'Bout III @ Vancouver, Canada
http://www.lindybout.ca/

밴쿠버에서 열리는 지역 린디합 경진대회인듯. 이런 행사가 있는지도 몰랐다. 국제적인 축제는 아닌거 같지만, 우연히 여기있는 타이밍이 딱 맞아서 참석하기로. 패턴 두어개 새로 익힐것을 기대하는 중.



RailsConf 2009 @ Las Vegas
http://en.oreilly.com/rails2009

최근 Rails쪽에 관심을 많이 두지 못해서, 이번에 가면 못알아듣는 내용이 많겠지만, 분명 큰 자극과 영감을 줄거라고 믿는다.  키노트 발표자중에 4-Hour-Week의 저자가 있다는 점도 특이사항.




Frankie's Birthday Festival @ New York
http://www.frankie95.com/

린디합의 살아있는 전설, 프랭키매닝의 95세 생일파티 축제. 전세계의 천여명의 댄서가 그의 95세 생일을 축하하기 위해 뉴욕에 모인다. 이 전설의 할아버지를 작년 허랭캠프에서 뵙게 될거라고 기대했었으나, 할아버지가 급히 다리쪽 수술을 받으시는 바람에 못오시게 되어 못뵜던 아쉬움이 남았었다. 당시 의사의 권유는 다시는 춤을 추지 말라고 했다는데, 결국 회복에 성공하신듯.

이 행사 기간의 앞뒤로 라스베가스의 RailsConf와 샌프란시스코에서의 행사가 있어서, 미국 동서부를 왕복해야하는 부담이 있어서 망설였었다. 망설이다보니, 등록이 늦어졌고, 한 타이밍 놓치고 나니 천여석이 모두 차서, 등록을 못하는 상황이 되어버렸다. 설마 그렇게 빨리 마감될 줄은 몰랐다.

포기하려던 찰나, 이 블로그를 통해 우연히 알게된 다른 댄서분의 소개로, 자원봉사자로 참여하기로 결정. 영어도 짧고, 행사운영 같은 경험이 전무한 내가 자원봉사를 잘 할 수 있을지 걱정이 앞선다. 자신있게 도전해보는거지 뭐. 말로 안되면 몸으로 떼우자고.



Camp Jitterbug @ Seattle
http://www.campjitterbug.com/

프랭키 생일축제의 바로 다음주에 열리는 캠프지터벅. 역시 챔피언급 강사들이 대거 참석하는 행사로, 아마도 허랭캠프와 비슷한 느낌이 아닐까 기대한다. 한레벨 업그레이드될 수 있는 행사일거라 기대해. 이쯤되면 스카이험프리랑 안면트게되는거 아닌가 몰라.




WWDC 2009 @ San Francisco
http://developer.apple.com/WWDC/

일정이 발표되지 않아, 내 여행스케쥴의 발목을 잡고 있던 애플 개발자 컨퍼런스. 다행이라면, 예상했던 장소와 시간이 맞았다는 것. 하지만 예상보다 참가비용이 훨씬 비싸서 또 다시 망설이게했다. 돈은 나중에 다시 벌면 되지만, 시간은 한번가면 안온다는 랜디포쉬교수의 말씀을 떠올리며 과감히 결제버튼을 눌렀다.

아이폰 개발에 큰 관심을 결실로 이어낼 계기가 될 수 있을거 같아.



그외에도...

그외에도, Erlang관련 컨퍼런스에 참석하고 싶었으나, 매우 값비싼 교육행사인거 같아서 생각을 접었다. 아직도 째려보고 있는 행사로는 ACM PLDI학회. 프로그래밍 언어 개발 관련 학술발표. 나같은 일반인(?)이 참석해서 과연 알아들을 수 있을지 심히 고민되지만, 아직 고려대상에는 남겨두고 있다. 그리고, 어쩌면 Herrang 2009에도 참석하게될지도...

무작정 떠난 세계여행에 뚜렷한 목적성이 없는거라 생각했었는데, 이제보니 나름 어딘가 가보고 해보고 싶었던 것(?)이 많았던 거군. 많이 경험하고 배울 수 있기를 기대해.


Posted by hatemogi 트랙백 0 : 댓글 4

티스토리 툴바