아이폰 해커로 유명한 George Hotz군이 플레이스테이션 3 exploit을 공개한지도 어언 3개월이 흘렀다. 소니는 그들의 남은 자존심 PS3의 잠재적 해킹을 막기위하여 OtherOS를 완전히 봉쇄하는 3.21 펌웨어 업데이트를 강행했고, Hotz군은 소비자의 권익을 보호한다는 주장하에 7일자로 OtherOS를 작동하는 3.21 커펌을 선보였다.
블로그에 적어놓은 글을 인용해보면,
Note to the people who removed OtherOS, you are potentially turning 100000+ legit users into "hackers." There was a huge(20x) traffic spike to this blog after the announcement of 3.21. If I had ads on this site I guess I'd be thanking you.
사실 이말이 틀린 건 아닌것이, 나 마저도 해킹된걸 알아도 그다지 관심이 없다가 우리집의 플스에 들어있는 리눅스가 날라간다는 소식에 솔깃해서 서칭하다가 알게된 것이기 때문이다.
현재는 아직 비디오 샷만을 보여주고 있는것이, 기존 PSP 커펌에서처럼 PSN에 접속시에 버전체크에 문제가 있다고 한다. 아마 프록시등으로 우회하는 루틴을 넣고서 공개할 듯.
BLOG ARTICLE PS3 | 17 ARTICLE FOUND
- 2010.04.10 플레이스테이션3 3.21 해킹 :: OtherOS's working fine 1
- 2008.02.28 PS3 EYE를 이용한 해드트랙킹 데모 2
- 2008.02.27 PhyreEngine :: XNA에 대항하는 소니의 무료 크로스플렛폼 3D 엔진 3
- 2007.07.14 [E3 2007] Echochrome :: 차세대 4차원퍼즐게임 1
- 2007.06.08 PS3 개발툴 유출!! 6
- 2007.04.20 플스3 리눅스 실시간 Ray-tracing 시연영상 by iRT(IBM Interactive Ray-tracer) 2
- 2007.04.16 플스3 클러스터링 제품 등장 5
- 2007.03.27 Folding@Home :: 플스3와 PC버전의 성능 비교 12
- 2007.03.07 [파이스토리] SuperPI에 대한 회의론과 대안 2
- 2006.12.16 플스3 컨트롤러 PC에서 구동가능
Engadget에서 실린 이 동영상은 일전에 소개되었던 위모트를 이용한 해드트랙킹 데모와 매우 유사하다. 다만, 별도의 IR Emitter를 머리에 부착할 필요없이 카메라를 이용한 Vision방식의 해드트랙킹이라 보다 발전된 형태라고 볼 수 있다. 코와 눈썹 부위를 인식하여 3차원적인 움직임을 감지할 수 있으며, 여러명도 인식이 가능하다는 점이 특징이다.
이전부터 PC게임으로 PS3로 쉽게 이식할 수 있는 라이브러리가 있다는 소문이 있었는데 비로소 내용이 공개되었다. GDC08에서 발표된 PhyreEngine가 바로 그 소문의 크로스플렛폼 3D엔진으로서, 아래와 같은 특징을 갖는다.
SCE's new free to use graphics engine
- Run time
- Art pipeline & tools
- 70+ samples and full documentation
Cross Platform (PS3 & PC), optimized for multi-core
- OpenGL & Direct3D
- Simple recompile for PS3
Works with standard tools
- Maya & Max exporters
- COLLADA compatible
- Bullet, Havok, Ageia Physics
Runs on PS3 debug systems
- PS3 development for less than $1200!
Ongoing development & support from SCE
재밋는 사실들을 요약해보면,
- XNA와 마찬가지로 무료를 원칙으로 하지만, 더 나아가 소스코드까지 완전 공개하겠다고 밝히고 있다. 다만 완전 공개 배포인지 여부는 밝혀지지 않았다. (소규모 개발사이상에게만 공개할지도)
- 따라서, PS3와 PC뿐만이 아니라 XBOX360용으로도 컴파일이 가능하다고 전해진다.
현재까지 PhyreEngine를 이용하여 개발된 게임들은 다음과 같다고 한다.
왜 크로스플렛폼일까를 생각해볼만한데, 소니의 전략은 "일단 PS3로 만들어라, 그리고 XBOX360이나 PC로 배포하여 채산성을 높여라"라고 한다. 현실적으로 PS3전용게임을 만들어서 이득을 보기란 어렵다. 특히나 소규모 제작사의 경우 더더욱 꺼리게 되는데, 이러한 고민을 해소하기 위해 내부에서 사용하던 크로스플렛폼 엔진을 전격 공개한 것이 아닐까 생각된다.
개인적으로 PS3의 전략들은 SCE가 PS1, PS2때 겪었던 모든 경험을 총동원한다는 생각이 든다. PS1시절에 FROM같은 소규모 개발사들을 육성하여 큰 효과를 냈던 경험을 살려, HOME Development Kit (HDK)나 PhyreEngine로 PS3 컨텐츠를 다양하게 만들고 있으며, PS2시절에 DVD 조기도입으로 가졌던 장점들을 살려, 블루레이도입과 경쟁에 큰 투자를 하고 있다. (많은 전문가들이 워너 브러더스 영입에 큰 검은 돈이 오갔을 것이라고 예상한다.)
블루레이가 이기고, Home 플렛폼과 PhyreEngine가 공개되는 순간부터 차세대 콘솔전쟁의 2회전이 시작되고 있다.
Playstaion Blog GDC 관련글 바로가기
Joystiq 기사 바로가기
SCE's new free to use graphics engine
- Run time
- Art pipeline & tools
- 70+ samples and full documentation
Cross Platform (PS3 & PC), optimized for multi-core
- OpenGL & Direct3D
- Simple recompile for PS3
Works with standard tools
- Maya & Max exporters
- COLLADA compatible
- Bullet, Havok, Ageia Physics
Runs on PS3 debug systems
- PS3 development for less than $1200!
Ongoing development & support from SCE
재밋는 사실들을 요약해보면,
- XNA와 마찬가지로 무료를 원칙으로 하지만, 더 나아가 소스코드까지 완전 공개하겠다고 밝히고 있다. 다만 완전 공개 배포인지 여부는 밝혀지지 않았다. (소규모 개발사이상에게만 공개할지도)
- 따라서, PS3와 PC뿐만이 아니라 XBOX360용으로도 컴파일이 가능하다고 전해진다.
현재까지 PhyreEngine를 이용하여 개발된 게임들은 다음과 같다고 한다.
flOw |
GripShift |
DiRT |
왜 크로스플렛폼일까를 생각해볼만한데, 소니의 전략은 "일단 PS3로 만들어라, 그리고 XBOX360이나 PC로 배포하여 채산성을 높여라"라고 한다. 현실적으로 PS3전용게임을 만들어서 이득을 보기란 어렵다. 특히나 소규모 제작사의 경우 더더욱 꺼리게 되는데, 이러한 고민을 해소하기 위해 내부에서 사용하던 크로스플렛폼 엔진을 전격 공개한 것이 아닐까 생각된다.
개인적으로 PS3의 전략들은 SCE가 PS1, PS2때 겪었던 모든 경험을 총동원한다는 생각이 든다. PS1시절에 FROM같은 소규모 개발사들을 육성하여 큰 효과를 냈던 경험을 살려, HOME Development Kit (HDK)나 PhyreEngine로 PS3 컨텐츠를 다양하게 만들고 있으며, PS2시절에 DVD 조기도입으로 가졌던 장점들을 살려, 블루레이도입과 경쟁에 큰 투자를 하고 있다. (많은 전문가들이 워너 브러더스 영입에 큰 검은 돈이 오갔을 것이라고 예상한다.)
블루레이가 이기고, Home 플렛폼과 PhyreEngine가 공개되는 순간부터 차세대 콘솔전쟁의 2회전이 시작되고 있다.
Playstaion Blog GDC 관련글 바로가기
Joystiq 기사 바로가기
간만의 포스팅입니다. PS3의 개발툴(SDK)가 유출됐다는 슬픈(기쁜?)소식입니다.
PS3Hax에 익명으로 포스팅된 스레드에는 개발툴 파일로 추정되는 스샷과 함께 디테일한 파일 목록이 첨부되어 있습니다.
유출됐다는 파일 리스트입니다.
PS3_CP_Update-150_004.zip Reference Tool CP update file
PS3_SDK_SampleData-160_008.zip Sample Data
PS3_Toolchain-Win_160_008.zip gcc/gdb Windows
PS3_Toolchain-Linux_160_008.zip gcc/gdb Linux
PS3_SDKDoc-160_01-Latest-x.zip Documents
PS3_Generator-115.zip Disc Image Generator
PS3_Eclipse_Plugins-150_004.zip Eclipse Plugins
PS3_PA_150_004.zip Performance Analyzer Tools
PS3_at3tool-2000.zip at3tool
PAMF_Tools-100.zip PAMF Tools
MultiStream_Tools-135.zip MultiStream Tools
SEdit-1200.zip SEdit
VAGconverter-1.0.zip VAG Converter
세부 파일 목록 다운로드
진위 여부를 가리기는 힘들지만 만일 사실일 경우라도 아직은 PS3용 홈브루의 탄생을 속단하긴 어렵습니다. 왜냐하면 개발툴은 다양한 개발사에 이미 배포되어 있고, 그들이 원한 경우 백업이 가능하기 때문에 유출이 가지는 의미가 획기적이라고 보기 어렵고, 더불어 이러한 유출 시 악용되는 것을 방지하는 여러가지 장치를 SCE에서 마련했을 것이기 때문입니다. 하지만, 유출이 사실이고 해당 파일 내부에서 PS3의 약점을 조금이라도 알아낸다면 PS3의 보안장벽이 허물어질 가능성 역시 높습니다. (리눅스에서 RSX 엑세스 권한만이라도 얻는다면 큰 소득이겠죠.)
인원감축 소식과 더불어 악재가 겹치는 암울한 소니군요..
PS3Hax에 익명으로 포스팅된 스레드에는 개발툴 파일로 추정되는 스샷과 함께 디테일한 파일 목록이 첨부되어 있습니다.
유출됐다는 파일 리스트입니다.
PS3_CP_Update-150_004.zip Reference Tool CP update file
PS3_SDK_SampleData-160_008.zip Sample Data
PS3_Toolchain-Win_160_008.zip gcc/gdb Windows
PS3_Toolchain-Linux_160_008.zip gcc/gdb Linux
PS3_SDKDoc-160_01-Latest-x.zip Documents
PS3_Generator-115.zip Disc Image Generator
PS3_Eclipse_Plugins-150_004.zip Eclipse Plugins
PS3_PA_150_004.zip Performance Analyzer Tools
PS3_at3tool-2000.zip at3tool
PAMF_Tools-100.zip PAMF Tools
MultiStream_Tools-135.zip MultiStream Tools
SEdit-1200.zip SEdit
VAGconverter-1.0.zip VAG Converter
세부 파일 목록 다운로드
진위 여부를 가리기는 힘들지만 만일 사실일 경우라도 아직은 PS3용 홈브루의 탄생을 속단하긴 어렵습니다. 왜냐하면 개발툴은 다양한 개발사에 이미 배포되어 있고, 그들이 원한 경우 백업이 가능하기 때문에 유출이 가지는 의미가 획기적이라고 보기 어렵고, 더불어 이러한 유출 시 악용되는 것을 방지하는 여러가지 장치를 SCE에서 마련했을 것이기 때문입니다. 하지만, 유출이 사실이고 해당 파일 내부에서 PS3의 약점을 조금이라도 알아낸다면 PS3의 보안장벽이 허물어질 가능성 역시 높습니다. (리눅스에서 RSX 엑세스 권한만이라도 얻는다면 큰 소득이겠죠.)
인원감축 소식과 더불어 악재가 겹치는 암울한 소니군요..
Youtube에 올라온 이 영상은 IBM에서 발표한 iRT를 이용하여 3대의 PS3를 이용하여 실시간 Ray-tracing랜더링을 보여주고 있다. 이 영상을 보기 전에 알아야할 부분은 영상의 퀄리티나 해상도가 그리 좋지 않은데 왜 이것이 대단하냐고 반문하실 수 있는데, Ray-tracing은 자연에서 발생하는 빛의 움직임을 재현하는 랜더링 기법으로 마야나 MAX같은 3D 이미지 랜더링에서나 쓰이며(물론 요즘은 GI를 쓰겠지만), 실시간으로 구현되는 것은 거의 불가능하다. 그란투리스모나 기타 자동차 게임의 차체에 비치는 매끈한 광원효과는 환경맵핑이라는 기법을 이용한 것이며, 자세히 살펴보면 반사되는 이미지는 미리 만들어진 것이거나 디테일이 떨어지고, 자신이 반사되는 경우도 없다.
동영상 내용
- Ray-tracing은 720p이며 4x super sampling이 적용되어 있음.
- 3대의 PS3를 리눅스 환경에서 기가빗이더넷으로 연결하였다.
- 각 PS3는 7개의 SPE중 6개를 iRT에 할당하고 있다. (나머지 1개는 OS용이거나 I/O 용도인듯)
- 3대중 한대는 최종 이미지를 만드는 역할을 수행하며 1개의 SPE를 최종 이미지 압축용으로 사용한다.
- 각각은 1개의 SPE를 이미지 전송 압축용으로 사용한다.
- 따라서, 이미지 전송용 1대는 4개의 SPE를 나머지 2대는 5개의 SPE를 랜더링에 활용한다.
- 랜더링 영상은 100% Ray-casting이며 유리와 차 표면에 Reflection과 Refraction이 구현되어 있다.
- 실시간이기에 다양한 Light source를 부여할 수 있다.
- 뒷부분에 보이는 네모들은 각각 어떤 하드에서 랜더링되고 있는지를 보여주며, 맨 아래쪽은 4개의 블럭이 있는데 이유는 클라이언트라서 4개의 SPE만을 사용하기 때문이다. 나머지는 5개의 블럭이 보인다.
영상을 보면서 느끼는건, 대단하긴한데 이거 PS3용 게임을 만들 수도 없고, 그렇다고 Real-time Global Illumination처럼 Wow Factor가 있는것도 아닌 게 일반 유저들이 봐서는 그닥 관심이 대상이 되긴 어렵겠다는 생각이었다. 하지만, 대단한건 인정!!
사이트 바로가기
플스3 펌웨어가 1.6으로 업데이트 되면서 Folding@Home이라는 메뉴가 생겼다. SETI@Home의 아류격으로 느껴질만하지만,(SETI@Home은 1999에 Folding@Home은 2000년에 시작했으니 아류가 맞다고 볼수도 있다.) Folding@Home은 난치병 치료제 개발에 도움이 되는 단백질의 접힘(Folding) 연구를 위한 것이기 때문에 보다 공익(?)적인 작업인 셈이다. 처음 뉴스를 접하고 '소니가 PS3의 실추된 이미지를 사회공익적인 이미지로서 개선해보고자 하는군'이라는 선입견이 생겼지만, 실제로 사용을 해보니 몇가지 실익(?)적인 부분-말로만이 아니라 실제 도움이 된다는-이 있었다.
PS3에서의 구동
Folding@Home의 구조를 간단히 보자면,
- 처음 시뮬레이션할 작업량을 네트워크를 통하여 받아온다.
- 내부 컴퓨팅파워(CPU+GPU)를 이용하여 시뮬레이션을 수행한다.
- 시뮬레이션이 끝나면 자료를 전송한다.
- 이를 반복한다.
보고있자면 단백질 구조가 무섭도록(!) 덜덜 떨면서 각 상황의 접힘을 시뮬레이션하는데, 자꾸 보고 있으노라면 세뇌가 되는지 오랫동안 쳐다보게 된다. 배경에는 지구상에서 Folding@Home 프로그램이 가동중인 지역이 밝게 표시되어 나타난다. (클라이언트 수가 많을수록 밝은 곳으로 표시된다.)
PC버전과 PS3버전과의 비교
혹시나 해서 필자의 PC에서 Folding@Home PC버전을 돌려보았는데, 결과가 의외여서 놀랐다. 본인의 PC사양은,
AMD X2 3800+ / 1.5GB RAM / GeForce 6100 통합칩셋 / 500GB HDD
정도인데, 아래 실행화면을 보면,
내부에서 수행되는 작업의 내용을 정확히 알지 못하기 때문에 단정짓기 어렵지만, Folding@Home에서 작업의 최소단위는 frame으로 정의하고, 여러개의 프레임이 모여서 하나의 시뮬레이션을 이룬다. 참고로 PC버전과 PS3버전의 시뮬레이션 분량이 다른데, PC버전은 20000개의 프레임이 하나의 시뮬레이션이고, PS3버전은 40000프레임이 하나의 시뮬레이션을 이룬다.(왜인지는 나중에 나온다.) 결국 한 프레임을 계산하는 작업시간은 해당 머신의 성능과 거의 직결된다고 볼 수 있다. 위 사진에서 보면 16s/frame으로 나타나 있는데 이것은 한프레임을 계산하는데 드는 시간이 16초라는 것이다. 그럼, PS3버전의 한 프레임당 작업시간은 얼마인지 살펴보자. 16초 대 0.07초...이거이거 같은 작업분량으로 보기가 어려운 값인데, 일단 PC버전은 다중코어지원이 안되기 때문에(Linux나 Mac버전에서만 가능) 싱글코어 100%사용량으로 설정했을때의 성능이다. 그렇다고 하더라도 너무 차이가 난다. PS3 버전의 구동원리도 묘연하다. 셀만을 이용하는 것인지 RSX(GPU)도 연산에 이용하는 것인지를 알 수 없다. 하지만, Wikipedia에 따르면 PS3용 Folding@Home이 배포된 이후, 최고의 연산 피크를 기록했다고 한다. (990 teraFLOPS in 3/25/2007) PS3의 참여로 인하여 가시적인 퍼포먼스 향상이 있다는 것이다. 곧 있으면 petaFLOPS(페다플롭스)에 도달할 예정이라니, 소니의 Folding@Home 홍보가 단지 Eyecandy만은 아니라는 것은 인정해줘야 하겠다.
Folding@Home 사이트 바로가기
PS3에서의 구동
Folding@Home의 구조를 간단히 보자면,
- 처음 시뮬레이션할 작업량을 네트워크를 통하여 받아온다.
- 내부 컴퓨팅파워(CPU+GPU)를 이용하여 시뮬레이션을 수행한다.
- 시뮬레이션이 끝나면 자료를 전송한다.
- 이를 반복한다.
보고있자면 단백질 구조가 무섭도록(!) 덜덜 떨면서 각 상황의 접힘을 시뮬레이션하는데, 자꾸 보고 있으노라면 세뇌가 되는지 오랫동안 쳐다보게 된다. 배경에는 지구상에서 Folding@Home 프로그램이 가동중인 지역이 밝게 표시되어 나타난다. (클라이언트 수가 많을수록 밝은 곳으로 표시된다.)
PC버전과 PS3버전과의 비교
혹시나 해서 필자의 PC에서 Folding@Home PC버전을 돌려보았는데, 결과가 의외여서 놀랐다. 본인의 PC사양은,
AMD X2 3800+ / 1.5GB RAM / GeForce 6100 통합칩셋 / 500GB HDD
정도인데, 아래 실행화면을 보면,
내부에서 수행되는 작업의 내용을 정확히 알지 못하기 때문에 단정짓기 어렵지만, Folding@Home에서 작업의 최소단위는 frame으로 정의하고, 여러개의 프레임이 모여서 하나의 시뮬레이션을 이룬다. 참고로 PC버전과 PS3버전의 시뮬레이션 분량이 다른데, PC버전은 20000개의 프레임이 하나의 시뮬레이션이고, PS3버전은 40000프레임이 하나의 시뮬레이션을 이룬다.(왜인지는 나중에 나온다.) 결국 한 프레임을 계산하는 작업시간은 해당 머신의 성능과 거의 직결된다고 볼 수 있다. 위 사진에서 보면 16s/frame으로 나타나 있는데 이것은 한프레임을 계산하는데 드는 시간이 16초라는 것이다. 그럼, PS3버전의 한 프레임당 작업시간은 얼마인지 살펴보자. 16초 대 0.07초...이거이거 같은 작업분량으로 보기가 어려운 값인데, 일단 PC버전은 다중코어지원이 안되기 때문에(Linux나 Mac버전에서만 가능) 싱글코어 100%사용량으로 설정했을때의 성능이다. 그렇다고 하더라도 너무 차이가 난다. PS3 버전의 구동원리도 묘연하다. 셀만을 이용하는 것인지 RSX(GPU)도 연산에 이용하는 것인지를 알 수 없다. 하지만, Wikipedia에 따르면 PS3용 Folding@Home이 배포된 이후, 최고의 연산 피크를 기록했다고 한다. (990 teraFLOPS in 3/25/2007) PS3의 참여로 인하여 가시적인 퍼포먼스 향상이 있다는 것이다. 곧 있으면 petaFLOPS(페다플롭스)에 도달할 예정이라니, 소니의 Folding@Home 홍보가 단지 Eyecandy만은 아니라는 것은 인정해줘야 하겠다.
Folding@Home 사이트 바로가기
유수 벤치마크 사이트들에서 SuperPI는 PC의 성능을 가늠하기 위한 벤치마크 도구로서 사용되고 있다. 특히 1M 자리수의 PI계산 속도는 CPU의 FPU 성능의 가늠자처럼 인식되고 있는데, 필자는 SuperPI는 이같은 역할을 수행하기엔 시대에 뒤떨어진것이 아닌가 생각한다.
그 이유로는,
- SuperPI(mod버전포함)는 Single-threaded Application으로서 대세인 다중코어 CPU의 성능을 100% 사용하지 못한다.
- 오픈소스가 아니라서 변화하는 환경에 따른 적용이 불가능하다.
일례로 필자가 새로 장만한 AMD64 4000+와 AMD64 X2 3800+로 SuperPI 1M 처리 속도를 비교해보면,4000+가 10초가까이 빠른 속도를 나타냈다. 이 같은 문제는 멀티코어나 비대칭벡터프로세서의 정확한 성능을 가늠할 수 없을뿐만아니라, 유저들이 잘못된 성능 비교를 보고 혼동하게 만들 수 있다.
필자가 생각하는 새로운 SuperPI는,
- 오픈소스
- 병렬/직렬처리를 병행할 수 있는 알고리즘
- 메모리 용량에 최대한 독립적
- 확장명령어셋지원(SSE,SSE2,SSE3,3D NOW!, ...) 및 옵션으로 on/off가능
- GPGPU(General Purpose GPU) 혹은 CUDA 지원으로 CPU와 GPU의 비대칭 병렬처리 옵션
- 플랫폼 독립적으로 Windows, Linux등에서 구동가능
- Cell Broadband Engine(PS3)의 PPE/SPE 비대칭 프로세싱 지원
정도로 SuperPI처럼 PI 값의 정확성보다는 시스템의 활용 측면을 더 바라봐야한다는 생각이다.
병렬처리로 PI를 구하는 대표적인 알고리즘은 Monte Carlo Method지만 기타 다른 알고리즘도 고려해볼 만하다. 특히 다중코어의 Multi-threading이나 비대칭코어의 Multi-passing이나GPU의 고속 행렬연산 pipe를 잘 응용한다면 서로 다른 아키텍쳐의 성능을 비교해 볼 수 있는 벤치마크 프로그램이자 참고용소스로서 가치가 있지 않을까 싶다.
Project PI (오픈소스 PI 프로젝트) 사이트 바로가기
Monte Carlo Methods in Parallel Computing 사이트 바로가기
PI 생성 알고리즘의 Single-threaded Multi-threaded 비교 예제
FFT와 AGM(Monte Carlo) 이용한 PI 계산 사이트 바로가기
그 이유로는,
- SuperPI(mod버전포함)는 Single-threaded Application으로서 대세인 다중코어 CPU의 성능을 100% 사용하지 못한다.
- 오픈소스가 아니라서 변화하는 환경에 따른 적용이 불가능하다.
일례로 필자가 새로 장만한 AMD64 4000+와 AMD64 X2 3800+로 SuperPI 1M 처리 속도를 비교해보면,4000+가 10초가까이 빠른 속도를 나타냈다. 이 같은 문제는 멀티코어나 비대칭벡터프로세서의 정확한 성능을 가늠할 수 없을뿐만아니라, 유저들이 잘못된 성능 비교를 보고 혼동하게 만들 수 있다.
MacResearch에 올라온 플스3와 맥과 인텔을 비교해놓은 PI 벤치마크. 저자는 Cell의 SPE를 사용하지 않았다는 것을 명시하고 있지만, 이러한 벤치마크는 낚시제목과 함께 여러 사이트들를 돌면서 유저들을 혼동시킨다. (제발 퍼가지 마세요.)
- 오픈소스
- 병렬/직렬처리를 병행할 수 있는 알고리즘
- 메모리 용량에 최대한 독립적
- 확장명령어셋지원(SSE,SSE2,SSE3,3D NOW!, ...) 및 옵션으로 on/off가능
- GPGPU(General Purpose GPU) 혹은 CUDA 지원으로 CPU와 GPU의 비대칭 병렬처리 옵션
- 플랫폼 독립적으로 Windows, Linux등에서 구동가능
- Cell Broadband Engine(PS3)의 PPE/SPE 비대칭 프로세싱 지원
정도로 SuperPI처럼 PI 값의 정확성보다는 시스템의 활용 측면을 더 바라봐야한다는 생각이다.
병렬처리로 PI를 구하는 대표적인 알고리즘은 Monte Carlo Method지만 기타 다른 알고리즘도 고려해볼 만하다. 특히 다중코어의 Multi-threading이나 비대칭코어의 Multi-passing이나GPU의 고속 행렬연산 pipe를 잘 응용한다면 서로 다른 아키텍쳐의 성능을 비교해 볼 수 있는 벤치마크 프로그램이자 참고용소스로서 가치가 있지 않을까 싶다.
Project PI (오픈소스 PI 프로젝트) 사이트 바로가기
Monte Carlo Methods in Parallel Computing 사이트 바로가기
PI 생성 알고리즘의 Single-threaded Multi-threaded 비교 예제
FFT와 AGM(Monte Carlo) 이용한 PI 계산 사이트 바로가기
좀 지난 얘긴데, 막간을 이용해 올려본다. Tsukuba 대학 CS의 한 학생이 SIXAXIS(Playstation3의 컨트롤러)를 PC에서 구동가능하게 하는 프로그램을 만들었다. 원래 SIXAXIS는 USB HID기기로 등록이 되지만(블루투스에선 아직 등록이 안된다), 실제 작동은 하지 않고 있었다.(RAW Data조차 뿌려주지 않았었다.) 이 학생은 SCE에서 "it requires special USB request to enable sending HID data"(HID로 작동을 위해선 특별한 USB신호를 보내야한다)라는 발표를 보고 그 신호를 찾아서 SIXAXIS의 PS버튼을 누를 경우를 캐치해 응답신호를 보내주는 프로그램을 만들었다. 이로서 컨트롤러의 십자패드, ○X□△버튼, L1-3, R1-3, 2개의 아날로그 스틱을 읽을 수 있다. 다만, 현재까지 모션센싱데이터(6축 모두)를 읽을 수 없다.
사이트바로가기
사이트바로가기