Mercurial > hg > Members > yuuhi > slide
view s6/blank.html @ 4:f23d647ae3fa
hoge
author | Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 12 Aug 2014 17:11:48 +0900 |
parents | 3d5fd010131d |
children | 220243d8ef68 |
line wrap: on
line source
<!DOCTYPE html> <html> <head> <meta charset='utf-8'> <title>Seminar</title> <!-- Notes on CSS media types used: 1) projection -> slideshow mode (display one slide at-a-time; hide all others) 2) screen -> outline mode (display all slides-at-once on screen) 3) print -> print (and print preview) Note: toggle between projection/screen (that is, slideshow/outline) mode using t-key Questions, comments? - send them along to the mailinglist/forum online @ http://groups.google.com/group/webslideshow --> <!-- style sheet links --> <link rel="stylesheet/less" href="themes/blank/projection.css.less" media="screen,projection"> <link rel="stylesheet/less" href="themes/blank/screen.css.less" media="screen"> <link rel="stylesheet/less" href="themes/blank/print.css.less" media="print"> <link rel="stylesheet/less" href="blank.css.less" media="screen,projection"> <!-- Notes about less css support - all less stylesheets (*.css.less) need to get listed/loaded first (before the less.js script) - find more info about less.js online @ http://lesscss.org ***** NOTE: less.js browser script currently won’t work if you’re using Google Chrome and the path to your page starts with "file:///" due to a known Chrome issue. (In the developer/js console you will see: XMLHttpRequest cannot load file:///../s6/shared/projection.css.less. Cross origin requests are only supported for HTTP.) --> <!-- add js libs (less, jquery) --> <script src="js/less-1.1.4.min.js"></script> <script src="js/jquery-1.7.min.js"></script> <!-- S6 JS --> <script src="js/jquery.slideshow.js"></script> <script src="js/jquery.slideshow.counter.js"></script> <script src="js/jquery.slideshow.controls.js"></script> <script src="js/jquery.slideshow.footer.js"></script> <script src="js/jquery.slideshow.autoplay.js"></script> <script> $(document).ready( function() { Slideshow.init(); // Example 2: Start Off in Outline Mode // Slideshow.init( { mode: 'outline' } ); // Example 3: Use Custom Transition // Slideshow.transition = transitionScrollUp; // Slideshow.init(); // Example 4: Start Off in Autoplay Mode with Custom Transition // Slideshow.transition = transitionScrollUp; // Slideshow.init( { mode: 'autoplay' } ); } ); </script> <!-- Better Browser Banner for Microsoft Internet Explorer (IE) --> <!--[if IE]> <script src="js/jquery.microsoft.js"></script> <![endif]--> </head> <body> <div class="layout"> <div id="header"></div> <div id="footer"> <div align="right"> <img src="images/concurrency.png" width="200"> </div> </div> </div> <div class="presentation"> <!-- add slides here; example --> <div class='slide cover'> <table width="90%" height="90%" border="0" align="center"> <tr> <td><div align="center"> <h1><font color="#808db5">CeriumにおけるGPGPUの最適化</font></h1> </div></td> </tr> <tr> <td><div align="left"> Yuhi TOMARI <script> var date = new Date(); var year = date.getFullYear(); var month = date.getMonth(); var day = date.getDate(); var monthList = new Array("January","February","March","April","May","June", "July","August","September","October","November","December"); document.write(monthList[month]+" "+day+", "+year); </script> <hr style="color:#ffcc00;background-color:#ffcc00;text-align:left;border:none;width:300%;height:0.2em;"> </div></td> </tr> </table> </div> <div class='slide'> <h2>研究目的</h2> <p> 当研究室ではCellおよびLinux、 Mac OSX上で動く並列プログラミングフレームワーク、 Ceriumの開発・改良を行っている。 </p> <p>本研究では新たにGPU上での並列実行に対応し、 ヘテロジニアス(異種混合)環境下でのプログラミングをサポートする </p> <p> GPGPUでは通常のマルチコア<font color="red">CPUとは異なる並列プログラミング</font> と<font color="red">特別なチューニング</font>が必要となる。 そこでCeriumを用いてその差を吸収し、自動的なチューニングを可能にする。 </p> </div> <div class='slide'> <h2>進捗</h2> <ul> <li><dt>CPU固定でthreadを生成するAPI</dt></li> <li><dt>glibcの環境構築</dt> <dd>実はまだgcc...</dd></li> </ul> </div> <div class='slide'> <h2>CPU固定でthreadを生成するAPI(Linux)</h2> <pre class="code"> int sched_setaffinity(pid_t pid, size_t cpusetsize, const cpu_set_t *mask); </pre> <ul> <li><dt>affinity(親和度、cpu_set_t)は、そのスレッドが実行を許可されているCPUの集合を決定する <dd>maskにCPUをsetするときは、CPU_SETを使用する(例:CPU_SET(cpu_id,&mask)</dd></dt></li> <li><dt>スレッドのaffinityマスクを一つのCPUに設定し、スレッドをCPUに括りつけることができる(Man page)</dt></li> </ul> </div> <div class='slide'> <h2>sched_setaffinity Sample</h2> <pre class="code"> void bind_cpu() { cpu_set_t mask; __CPU_ZERO(&mask); char *p = getenv("BIND_CPU_ID"); int cpu_id = atoi(p); __CPU_SET(cpu_id, &mask); sched_setaffinity(0, sizeof(mask), &mask) }</pre> <p>sarコマンドで確認できるらしい……</p> こんな感じ <pre> % sar -P ALL 1 1000 17:51:28 CPU %user %nice %system %iowait %steal %idle 17:51:29 all 50.00 0.00 0.00 0.00 0.00 50.00 17:51:29 0 0.00 0.00 0.00 0.00 0.00 100.00 17:51:29 1 100.00 0.00 0.00 0.00 0.00 0.00 17:51:29 CPU %user %nice %system %iowait %steal %idle 17:51:30 all 50.25 0.00 0.00 0.00 0.00 49.75 17:51:30 0 0.00 0.00 0.00 0.00 0.00 100.00 17:51:30 1 100.00 0.00 0.00 0.00 0.00 0.00 </pre> </div> <div class='slide'> <h2>CPU固定でthreadを生成するAPI(OSX)</h2> <p>apple developerのKernel Programming Guide</p> </div> <div class='slide'> <h2>glibc 環境構築</h2> <p>install</p> <pre class="code"> $ mkdir build;cd build $ ../configure --prefix=/home/hiyoko/glibc-2.19/build/bin $ make <font color="red">--debug</font> -j $ make install</pre> <p>compile</p> <pre class="code"> $ g++ -Wall -g -O0 -c malloc_sample.cc -o malloc_sample.o $ g++ -o malloc_sample malloc_sample.o -g <font color="red">-static</font> -I../glibc-2.19/build/bin/include -L../glibc-2.19/build/bin/lib</pre> </div> <div class='slide'> <h2>Todo</h2> <ul> <li><dt>調べたAPIの例題の作成</dt></li> <li><dt>malloc読み終わる</dt></li> <li><dt>Cyber Agentインターンシップの告知</dt> <dd>2016年度新卒、インターンシップ面接(?)免除</dd></li> </ul> </div> </div> </div> <!-- presentation --> </body> </html>