# HG changeset patch # User Masataka Kohagura # Date 1390900659 -32400 # Node ID 0e7c972b5ca131525caff8084e039070aada3db4 # Parent ff5c2b4ca18a56b36e97cde9ddf911e5d746ef9c write slide diff -r ff5c2b4ca18a -r 0e7c972b5ca1 slide/index.html --- a/slide/index.html Tue Jan 28 00:48:21 2014 +0900 +++ b/slide/index.html Tue Jan 28 18:17:39 2014 +0900 @@ -23,62 +23,25 @@ slides below. -->
-

Cerium TaskManagerのGPGPUのサポート

-

Yuhi TOMARI  21 Feb 2013

+

Cerium による並列処理向け I/O の設計と実装

+

Masataka Kohagura 12th, February

担当教官 : 河野 真治
-

研究概要

+

研究背景と目的

- 当研究室ではCellおよびLinux、 - Mac OSX上で動く並列プログラミングフレームワーク、 - Ceriumの開発・改良を行っている -

- -

- 本研究では新たにGPU上での並列実行に対応 + 近年のCPUのほとんどはマルチコアであり、それらの性能を引き出すためには並列プログラミングが必須となっている。そこで当研究室では Cerium Library の開発を行い、提供することによって並列プログラミングを容易にしている。

- これによりヘテロジニアス(異種混合)環境下
でのプログラミングをサポートする + 先行研究では Task の並列化によって、プログラム全体の処理速度は向上しているが、ファイル読み込み等の I/O に対して並列に Task が動作するようにはされていない。

- - - -
-
-

OpenCLによるGPGPUへの対応

- OpenCLは - ヘテロジニアス環境での並列計算を支援するフレームワーク -

- - - - - - - -
-

- OpenCLのtaskはkernelと呼ばれ、OpenCL Cという - Cに似た独自の言語で記述される -

-
-

-

CPU/Cell上で実行する場合とGPU上で実行する場合、
- それぞれほぼ同じ形式でkernelを記述できる

+ 本研究では I/O と Task の並列化の設計、実装によってプログラム全体の処理速度、処理効率を上げていく。

+
-

Cerium Task Manager

+

Cerium とは

@@ -98,24 +61,8 @@ CpuThreads、Schedulerに対応させる形でGpuThreadsとGpuSchedulerを作成した

-
-

GPUのアーキテクチャ

-
- - - - - - -
-

- GPU上のローカルメモリはCPUとメモリ空間が異なるのでメモリの共有ができない。 -

-
-

- メモリのコピー処理やTaskを順にCommand Queueに - enqueueする。enqueueされた処理は並列実行される -

+ +

GPU Task実行の流れ


@@ -129,6 +76,7 @@ }
+

GPU Task 実行の流れ


@@ -155,6 +103,7 @@
+

GPU Task 実行の流れ


GPU Task生成

@@ -168,11 +117,11 @@
-

Cerium OpenCL API比較

+

ベンチマーク