'visual studio 2010'에 해당되는 글 4

  1. 2009/07/21 두가지 C++ 차세대 병렬 플랫폼 간단 비교 (1)
  2. 2009/07/09 VSTS 2010 팀 3분기 맴버 모집
  3. 2009/06/25 My Recent Tweets 20090624
  4. 2008/11/18 Visual C++ 10: 10 is the new 6 (2)

두가지 C++ 차세대 병렬 플랫폼 간단 비교

C++0x의 기본적인 병렬 지원 강화와 함께 여러 병렬 플랫폼이 대두되고 있습니다. OpenMP(얼마 전 3.0 스펙이 나왔죠), 인텔의 TBB(Threading Building Blocks), VS 2010과 함께 등장할 PPL(Parallel Patterns Library) 및 AAL(Asynchronous Agents Library), MIT 스핀오프인 Cilk++(상용) 등이 그것입니다.


제가 일원으로 참여하고 있는 Visual Studio Team System 2010 공식 팀 블로그에 며칠 전 PPL을 이용한 피보나치 수 병렬 계산에 대한 글을 올렸습니다. 근데 그 후 Cilk++ 1.1.0 베타 버전이 출시되었다는 소식을 들었습니다. 그래서 한 번 받아서 테스트 해보았습니다.



코드의 전반적인 구성에 대한 설명은 팀블로그 글을 참고해주세요. 기본적으로 거기의 예제 코드에서 메모리 관련 테스트를 빼고 병렬 버전의 함수를 PPL이 아닌 Cilk++을 사용토록 수정한 것입니다. cilk_spawn이 PPL 코드의 tasks.run() 함수에 해당하고, cilk_sync가 tasks.wait() 함수에 해당한다고 보면 됩니다.

일단 순차 버전과의 실제 코드 차이가 PPL 버전 보다 더욱 좁혀졌습니다. 몇가지 키워드가 추가된 것 말고는 완전히 동일하죠. 라이브러리 형태로 태스크 개념을 지원하는 PPL과 달리, Cilk++는 언어 확장 키워드(31과 33줄의 cilk_spawn, cilk_sync가 그 예)로 병렬 개념을 지원합니다. 또한 OpenMP처럼 수많은 디렉티브를 공부해야할 필요도 없습니다. 서너 개의 키워드만이 제공되기 때문이죠.

그리고 Cilk++ 키워드의 장점은 그것이 강제 사항이 아니라 권고 사항이라는 겁니다. 따라서 위에서 cilk_spawn 했다고 해서 반드시 별도 스레드로 병렬 수행되는 것이 아니라 실제 하드웨어 병렬성을 조사하여 그냥 순차 실행하는 것이 낫다고 판단할 경우 순차실행할 수도 있다는거죠.

어쨌든 2 코어의 제 컴에서 릴리즈 빌드를 돌린 결과를 보면 다음과 같습니다.

PPL 버전:


Cilk++ 버전:


Cilk++ 버전이 병렬화를 더 잘하고 있음(1.82X > 1.51X)을 확인할 수 있습니다. 약간의 차이지만 여러번 돌려보아도 계속 비슷한 결과가 나왔습니다. PPL 버전은 VS 2010 기반이고 Cilk++ 버전은 VS 2080 기반이며, 그 밖에도 여러가지 면에서 엄정한 테스트와는 거리가 멉니다만... 그래도 어느 정도 Cilk++의 성능상 장점을 보여준다고 생각합니다(물론, PPL은 아직 정식 버전이 나온게 아니죠).

단, PPL은 VS 2010을 사면 공짜가 되겠지만, Cilk++은 상업적 용도로는 분명 유료라는 점!을 간과해서는 안되겠죠. ^^

* 이 포스트는 blogkorea [블코채널 : 웹, 컴퓨터, it에 관련된 유용한 정보 및 소식] 에 링크 되어있습니다.  


크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 Comment 1

VSTS 2010 팀 3분기 맴버 모집

제가 멤버로 활동하고 있는 Visual Studio Team System 공식 팀 블로그에서 아래와 같이 3분기 멤버를 모집하고 있습니다.

안녕하세요. 저희 VSTS 2010 팀 블로그는 .NET Framework 4.0 과 VSTS 2010 에 대한 정보를 제공하는 공식 팀 블로그 입니다.

   

현재 저희 팀은 학생을 비롯하여, 개발자, 아키텍처, 컨설턴트 등 다양한 분야의 전문가와 Microsoft MVP 분들이 현재까지도 활동을 하고 계십니다.

VSTS 2010 팀의 지난 2분기 활동을 모두 마치고, 올해 3분기를 이끌어가실 새로운 팀 맴버를 모집합니다. 저희 팀에서는 아래와 같은 활동을 하게 됩니다.

   

VSTS 2010 팀 활동 분야   

스터디

매월 2 오프라인 스터디를 운영하여, 기술적인 부분을 공유하고 토론하는 시간을 갖습니다.

블로그

팀 블로그를 통해 자신만의 분야 또는 배우고 싶은 분야를 공부하여 블로그에 게시할 수 있는 공간을 제공합니다. 다양한 분야의 전문가들도 함께 참여하여 VSTS 2010 에 대한  중요한 피드를 제공합니다.

세미나 기타 활동

세미나 강사 또는 다양한 외부 활동의 기회를 제공해 줍니다.

Microsoft MVP 추천

Microsoft Korea MVP Lead, Microsoft D&PE, Microsoft MVP 추천을 드리며 적극 지원해 드립니다.


모집 대상

대상

무관

지원 자격

1.     .NET Framework 3.5 와 Visual Studio 2008 의 신 기능에 대해 알고 있는 분
2.     자신의 블로그를 운영하고 계신 분
3.     무언가에 도전하고 싶은 열정을 갖은 분

모집 분야

  • Cloud Development
  • Parallel Development
  • Web Development
  • Windows 7 Development
  • RIA Development
  • Architect Development
  • Office Business Application Development
  • .NET Framework 4.0
  • Visual Studio 2010
  • Visual Studio Team System 2010
  • ETC…

   

   

지원 방법

아래의 자신의 프로필을 umc골뱅이dotnetxpert.com 으로 보내주십시오. 반드시 아래의 양식을 지켜주십시오.

이름

홍길동

블로그

자신의 블로그 주소

소개

회사 및 소속, 자신의 소개

지원 분야

Web Development (중복 가능)

   

마감

2009년 7월 16일까지 지원 메일을 받습니다. 많은 지원 바랍니다. ^^

   

참고로 배우고자 지원하시는 분들은 정중히 사과드립니다. 저희 팀의 스터디에서는 여러분들에게 아무것도 가르쳐주지 않습니다.

저 희 팀에서는 실력을 보고 맴버를 선발하지 않습니다. 물론 실력이 출중하면 좋겠지만 새로운 VSTS 2010 분야는 어느 누구도 밟아보지 않은 새로운 황야와 같습니다. 새로운 길을 함께 가실 활동력이 충분하신 분들은 꼭 지원해 주시기 바랍니다. ^^



현재, 상대적으로 C++ 전문가의 참여가 미약한 편인데, 역량 있는 게임 프로그래머분들의 많은 참여 부탁드립니다. ^^
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 Comment 0

My Recent Tweets 20090624

크리에이티브 커먼즈 라이선스
Creative Commons License

'Tweets' 카테고리의 다른 글

My Recent Tweets 20090715  (0) 2009/07/15
My Recent Tweets 20090705  (0) 2009/07/06
My Recent Tweets 20090624  (0) 2009/06/25
My Recent Tweets 20090608  (0) 2009/06/08
My Recent Tweets 20090507  (0) 2009/05/08
My Recent Tweets 20090428  (0) 2009/04/28
Trackback 0 Comment 0

Visual C++ 10: 10 is the new 6

Visual C++ 10에 관한 channel9 동영상입니다. 인도 출신인 듯한 개발자의 영어 발음에 듣기가 좀 껄끄럽지만... 그래도 들을만합니다. 아직 2008도 못써봤는데 벌써 다음 버전에 관한 소식이군요;



http://channel9.msdn.com/posts/VisualStudio/Visual-CPP-10-10-is-the-new-6/


대충 내용을 요약해보자면,
  • Visual C++ 6의 영광(?)을 재현하겠다.
  • 리본 UI, 리스타트 매니저(restart manager) 등 MFC 보강
  • 다중 타겟 지원으로 이전 버전 컴파일 환경(가령 2008 툴셋으로 빌드한다거나 같은) 지원
  • 차기 C++ 표준 사항 지원(람다lambda, auto, static_assert 등)
  • 이제 Native C++도 MSBuild 시스템으로 빌드됨
  • 인텔리센스의 대폭적 성능 향상
  • 기타 코드 zooming고 같은 IDE 향상, GDI를 대체할 Direct2D 등

p.s. 요즘 노트북 고장으로 블로깅을 예전보다 더 잘 못하고 있습니다. ㅠㅠ 일이 주 후면 문제가 해결될듯하네요.


Technorati Tags: , ,
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 Comment 2

top