view 2013/Aug-2013/6th.html @ 9:e4748bca1eb3

mkdir 2013
author Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
date Tue, 14 Jan 2014 04:18:59 +0900
parents Aug-2013/6th.html@c9b2998eb516
children
line wrap: on
line source

<!DOCTYPE html>

<!--
  Google HTML5 slide template

  Authors: Luke Mahé (code)
           Marcin Wichary (code and design)
           
           Dominic Mazzoni (browser compatibility)
           Charles Chen (ChromeVox support)

  URL: http://code.google.com/p/html5slides/
-->

<html>
  <head>
    <title>2013-08-06</title>

    <meta charset='utf-8'>
    <script
      src='http://html5slides.googlecode.com/svn/trunk/slides.js'></script>
  </head>
  
  <style>
    /* Your individual styles here, or just use inline styles if that’s
       what you want. */
  .slides article { background-image: none !important; background-color: white; }
    
    
  </style>

  <body style='display: none'>

    <section class='slides layout-regular template-default'>
      
      <!-- Your slides (<article>s) go here. Delete or comment out the
           slides below.-->

      <article>
        <h1>
          Ceriumによる
          <br>
          正規表現マッチャの実装
        </h1>
        <p>
          Masataka Kohagura
          <br>
          6th July , 2013
        </p>
      </article>
      
      <article>
        <h3>
        研究目的
        </h3>
        <p>
        本研究室では、Cell用に作られたCeriumにて並列プログラミングを行なっている。様々な例題を実装することにより、どのような問題でも並列処理ができることを証明する。
        </p>
        <p>
        現在は文字列サーチを実装している段階で、ボイヤームーア法を実装している。
        セミグループという、分割したファイルに対して並列処理をさせるような手法によって、既存の文字列サーチと処理速度を比較し、どれだけ速く、どれだけ効率よくなるのかを測定する。
        </p>
        <p>
        様々な並列処理のプログラムを実装することでプログラムに慣れ、
        </p>
      </article>

      <article>
      <h3>
      今週のしたこと
      </h3>
      <p>
      ・regex_masのバグ取り
      ("doing"という単語が本来は27856個存在するはずだが、このプログラムだと27854個と2個不足した状態で出力された。)
      </p>
      <p>
      ・時間測定
      </p>
      </article>

      <article class='smaller'>
      <h3>main.ccの修正</h3>
      <p>修正前</p>
      <section><pre>
t_exec[k]->set_param(0,(memaddr)offset);
<font color=red>t_exec[k]->set_param(1,(memaddr)set_one_task_length);</font>
if(size != w->size){
    t_exec[k]->set_inData(0,w->file_mmap + a*w->division_size, size+EXTRA_LENGTH);
}else{
    t_exec[k]->set_inData(0,w->file_mmap + a*w->division_size, size);
}   
t_exec[k]->set_outData(0,w->o_data + a*w->out_size, w->division_out_size);
      </pre><section>
      <p>修正後</p>
      <section><pre>
t_exec[k]->set_param(0,(memaddr)offset);
if(size != w->size){
<font color=red>    t_exec[k]->set_param(1,(memaddr)set_one_task_length+EXTRA_LENGTH);</font>
    t_exec[k]->set_inData(0,w->file_mmap + a*w->division_size, size+EXTRA_LENGTH);
}else{
<font color=red>    t_exec[k]->set_param(1,(memaddr)set_one_task_length);</font>
    t_exec[k]->set_inData(0,w->file_mmap + a*w->division_size, size);
}   
t_exec[k]->set_outData(0,w->o_data + a*w->out_size, w->division_out_size);
      </pre><section>
      </article>

      <article class='smaller'>
      <h3>時間測定(参考程度に)</h3>

      <table>
        <p>mac pro上での測定</p>
        <p>Cerium APIでの計測</p>
        <tr>
            <td>
            <table>
            <tr><td>cpu_num</td><td>time(ms)</td></tr>
            <tr><td>1</td><td>38.752</td></tr>
            <tr><td>2</td><td>19.347</td></tr>
            <tr><td>4</td><td>10.028</td></tr>
            <tr><td>8</td><td>5.393</td></tr>
            <tr><td>10</td><td>4.502</td></tr>
            <tr><td>11</td><td>4.198-5.977</td></tr>
            <tr><td>12</td><td>5.585</td></tr>
            </table>
            </td>
       <tr>
     </table>
      
      <p>
      ・10回ほど手動で実行して、それの中央値をとっているだけ。
      </p>
      <p>
      ・現在集計スクリプトを作成中。
      </p>
      <p>
      ・cpu_num = 11のとき実行するたんびにバラバラになる。
      </p>

      </article>
  </body>
</html>