レポート課題

レポート締切日: 2019年1月25日18:00

提出先: レポートボックス

並列計算の効率を計測しなさい。

手順

  1. 任意の計算を一つ選ぶ
  2. 逐次計算のプログラムを作る
  3. 並列計算のプログラムを作る
  4. プログラムを起動して、ランダムでどちらかのプログラムを選び、速度 を計測するプログラムを作る
  5. それぞれを10回以上実行し、平均実行時間を求める

Prog.java


public interface Prog {
    public void perform();
}

Test.java


import java.util.Date;
import java.util.Arrays;
class Test {
    final static int n = 10;
    public static void main(String[] arg){
    Prog[] prog = {new PSeq(), new PPara()};
    int select = (int)(Math.random()*2);
    double[] time = new double[n]; 
    int j;
    Date start;
    Date end;
    for(j=0;j<n;j++){
	start = new Date();
	prog[select].perform();
	end = new Date();
	time[j]=(double)(end.getTime()-start.getTime())/1000;
    }
    System.out.println(prog[select].getClass());
    System.out.println(Arrays.toString(time));
  }
}
    

レポート内容の指定

レポートでは、逐次、並列の双方のアルゴリズムを説明してください。 また、実行効率の見積もりを行い、計測結果と比較し、考察を行ってくださ い。

レポート作成上の注意点

  1. プログラミングのレポートでは必ずプログラムの説明をすること。 その時に、一行一行を日本語に直訳するのではなく、データの読み込みとか、 出力とかの部分に分割し、機能毎に使用した手法を説明すること。 プログラム中にコメントを入れてもプログラムの説明とはみなさないので注意 する事。
  2. 「問題を解きなさい」という問に対して「解きました。合ってました」で は正解ではないことはわかるはず。 「テストしなさい」という問に対しては、テストの方法の説明、実際のテスト の実施方法、テスト結果、検証などを説明して下さい。
  3. レポートは手書きでもワープロでも構いません。但し、実行結果はコン ピュータの出力を添付すること。 実行結果が無いレポートは不合格です。
  4. 考察は必ず書いて下さい。
  5. 不必要なことはなるべく書かない事。 長過ぎるレポートは減点します。またなるべく両面印刷にしてください。 但し、文字は必要以上に小さくしない事。レポート本文の文字は 10 ポイント 以上のものを使う事。

なお、写したと思われるほど酷似したレポートが複数提出された場合、原著が どれかの調査を行わず、抽選で一通のレポートのみを評価 の対象とし、他は提出済みの不合格レポートとして再提出は課しません。 自分で意図せずに他人にコピーされてしまった場合も同様ですので、レポート の取り扱いについては十分に注意して下さい。


坂本直志 <sakamoto@c.dendai.ac.jp>
東京電機大学工学部情報通信工学科