Mercurial > hg > Papers > 2013 > yuhi-prosym
changeset 22:8b3c7d36eb71
minor fix
author | Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 09 Jan 2014 02:13:56 +0900 |
parents | 4239aed1b65a |
children | e2c3d93bb3de |
files | presen/index.html |
diffstat | 1 files changed, 19 insertions(+), 32 deletions(-) [+] |
line wrap: on
line diff
--- a/presen/index.html Wed Jan 08 21:43:29 2014 +0900 +++ b/presen/index.html Thu Jan 09 02:13:56 2014 +0900 @@ -64,15 +64,10 @@ と<font color="red">特別なチューニング</font>が必要となる。 そこでCeriumを用いてその差を吸収し、自動的なチューニングを可能にする。 </p> - チューニングの一環として、 + チューニングの一環として、以下を可能にした <ul> - <li> - Taskのデータ並列実行 - </li> - <li> - CPUとGPU両方でTaskを実行 - </li> - を可能にした + <li>Taskのデータ並列実行</li> + <li>CPUとGPU両方でTaskを実行</li> </ul> <img src='images/exe_cpu_gpu.png' style="height:300px"> </article> @@ -101,29 +96,15 @@ </tbody> </table> <p> - <h3 class='yellow'>Ceriumにおいて、CPU/Cell上で実行する場合とGPU上で実行する場合、<br> - それぞれほぼ同じ形式でkernelを記述できる</h3> + <h3 class='yellow'>Ceriumにおいて、CPU/Cell上で実行する場合とGPU上で実行する場合、 + それぞれほぼ同じ形式でkernelを記述できる + </h3> </p> </article> </slide> - <!-- <slide> <hgroup> - <h3>Cerium OpenCL API比較</h3> - </hgroup> - <article> - <img src='images/api.png' style="height:400px"> - <p> - OpenCLでGPU実行する場合、contextの取得やcommand queueの生成等を行わなければならない。 - Ceriumならinput dataのsetや実行するデバイスの指定といった処理だけで済み、 - 並列化するプログラムに集中できる。 - </p> - </article> - </slide> - --> - <slide> - <hgroup> - <h3>Cerium Task Manager</h3> + <h3>Cerium Task ManagerによるTaskの実行</h3> </hgroup> <article> <table border="0" cellpadding="0" cellspacing="0"> @@ -174,7 +155,7 @@ <slide> <hgroup> - <h3>データ並列</h3> + <h3>データ転送</h3> </hgroup> <article> <table border="0" cellpadding="0" cellspacing="0"> @@ -183,9 +164,6 @@ <td><img src='images/gpu_data_parallel.png' style="height:400px"></td> <td style="font-size:18pt;color:black"> <p> - データを2、3次元に分割し、分割した部分に対して処理を行う並列化手法 - </p> - <p> タスク並列だと、タスクごとにinput data と output data を転送しなければならない </p> <p> @@ -208,12 +186,16 @@ <h3>OpenCLにおけるデータ並列</h3> </hgroup> <article> - <table border="0" cellpadding="0" cellspacing="0"> + <table border="0" cellpadding="0" cellspacing="0"> <tbody> <tr> <td><img src='images/ndrange_arch.png' style="height:450px"></td> <td style="font-size:18pt;color:black"> <p> + データを2、3次元に分割し、分割した部分に対して + 同一のTaskを割り当て、並列に処理を行う並列化手法 + </p> + <p> CPUからinput/output data をGPUのglobal memoryにコピーし、データを分割 </p> <p>分割したデータをWork Itemと呼ぶ</p> @@ -248,6 +230,11 @@ <p> 生成した各TaskにIDとinput/output dataを割り当てる「iterate」というAPIを実装する </p> + <p>iterate</p> + <ul> + <li>1つの記述から複数のTaskを生成する</li> + <li>生成した複数のTaskにIDとInput/Output Dataを割り当てる</li> + </ul> </font> </td> </tr></tbody></table> @@ -301,7 +288,7 @@ 自分に割り振られたid(index)を取得する。その後、そのindexに対して処理を行う。 </p> <p> - interateにおいても、CeriumとOpenCLはほぼ同じ形式でTaskの記述が可能である。 + iterateにおいても、CeriumとOpenCLはほぼ同じ形式でTaskの記述が可能である。 </p> </article> </slide>