view presentation/cerium-gpu.ind @ 4:2b95648ce2b3 default tip

add first presentation
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 06 May 2012 22:01:37 +0900
parents
children
line wrap: on
line source

-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を構成する

--まとめ