# HG changeset patch # User Shinji KONO # Date 1336309297 -32400 # Node ID 2b95648ce2b399bc359b1ec81b47d70bbe6adfa0 # Parent a011ba777be39f47bd0bf6a64f33b36222c1c5f8 add first presentation diff -r a011ba777be3 -r 2b95648ce2b3 presentation/cerium-gpu.ind --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/presentation/cerium-gpu.ind Sun May 06 22:01:37 2012 +0900 @@ -0,0 +1,118 @@ +-title: Cerium Task Manager のマルチコア及び GPU への実装 + +--author: 當眞大千 河野真治 + +--Cerium on Cell / PS3 + +PS3 Linux 上で動く、SPU 用のPipeline Task Manager + +Open CL に近い + +Sort やら Game やら、Rendering Engine やら、それなりに動きました。 + + 並列度を維持し、マルチプロセッサの性能を維持できる + +--今回、発表できる部分 + +--PS3 Linux is no longer supported + +そろそろ PS3 が壊れつつある + +修理すると version が上がり、Linux は動かない + +Jail Break はあるが、それで研究するわけにもいかない + +   そろそろ、やめか? + +--Cerium for Many Core and GPU + +Open CL よりは、少しはましな構文 + +せっかく作った例題が動く方が良い + +Many Core と GPU と Cell と同じプログラムが動く (Cell は、もうやめだが) + +将来的には、DataSegment / CodeSegment というのをやるのだが、その準備として + +学生の例題として適切 + + なんだけど、動いてません + +--Cerium の Task + +--Cerium の Task 生成 + +--Many Core 版 + +SPU の代わりに Thread を作る + +POSIX Thread による Synchronized Queue + +Null DMA Manager (copy しない) + +--Many Core 版の性能 + +Cell 遅いんじゃね? + +--Copy Cost + +Copy しなくても良い。しても良い。どちらでも動く。 + +Copy Cost は 5% 程度。そんなに重くない。 + +Copy した方がバグは出にくい。 + +--Rendering Engine のバグ + +Many Core 版で動かすと Rendering Engine がバグる + +データを壊しているようだが… + +Mac OS X で、データのアドレスを固定するには? + +--Task Dependency Log + +Task Dependency をグラフにする + +十分なDependency がないことが一目瞭然 + +--Open CL API + +Cerium Task は、Open CL に近い + +ほとんど、自明な mapping がある + +--実装の難しさ + +なんで出来なかったのか? + +--Code Segment / Data Segment + + 分散版 Alice + Many Core / GPU 版 + Persisency + +--分散版 Alice + +Java による実装 + +Multi Thread (SEDA的な) + +--Alice の Code Segment + +--Alice の Data Segment + +--分散版 Alice の性能 + +Federated Linda の半分? + +--Many Core / GPU 版 + +Cerium の拡張の形で + +C++ ではなく、CbC で実装する + +Kernel として実装し、できればOSを構成する + +--まとめ +