C/JAVA: 2007年12月アーカイブ

配列の二乗和を計算する関数のサイクルカウントとCPE値を測定する課題が出た。

    • sum = a[0]2 + a[1]2 + … + a[N-1]2

配列の長さを変化させ、所要時間(サイクルカウント)と要素数(N)で割ったCPE値の測定をした。

あまり気合入れてないのに、すばらしく時間がかかってしまった…w

 

測定した配列の要素数はN = 100, 500, 1000, 5000, 10000, 50000,100000,500000であり、

初回実行の結果を除く、10回の平均値(もしくは最小値)を使用した。

時間測定にはstart_counter()及びget_counter()を用い、

volatile double型とvolatile int型への代入も考慮した。 

 

パラレルでの分割数が異なる4つの二乗和の関数を準備し、比較を行った。

分割:1, 2, 4, 8

  1. sum += a[i]*a[i]
  2. sum += a[i]*a[i] + a[i+1]*a[i+1]
  3. sum += a[i]*a[i] + a[i+1]*a[i+1] + a[i+2]*a[i+2] + a[i+3]*a[i+3]
  4. sum += a[i]*a[i] + a[i+1]*a[i+1] + a[i+2]*a[i+2] + a[i+3]*a[i+3] + a[i+4]*a[i+4] + a[i+5]*a[i+5] + a[i+6]*a[i+6] + a[i+7]*a[i+7]

 

要素数におけるサイクルカウントを両対数グラフにすると以下のようになる。

余談ながら、エクセルの対数グラフって散布図のときしかできないんだね、やられた><;

コンピュータアーキテクチャの講義の際に、IEEE754の換算をスッカリ忘れてしまっていた。

だから忘れぬようにメモしておく、、、

 

補数表現による負数は減算への利用でよくシスアドとかに出てくるよね。

ビット反転させて、(1)2を足すだけ。8bitの整数表現で-102を表現したければ、

(102)10(66)16⇒(01100110)2

(-102)10⇒(10011010)2となる

 

IEEE754として標準化されているの浮動小数点数演算について、

単精度浮動小数点数は 符号1bit 指数部8bit 仮数部23bit の計32bit

符号をhidden bitとすれば…

-3.5=-(11.1)2=-(1.11×21)2  

⇒ "1 | 1000 0000 | 1100 0000 0000 0000 0000 0000"

15.75=-(1111.11)2=-(1.11111×23)2  

⇒ "0 | 1000 0010 | 1111 1000 0000 0000 0000 0000"

指数部の例:

1000 0010   23    0111 1111    20
1000 0001   22    0111 1110    2-1   
1000 0000   21    0111 1101    2-2 

 

10進数への換算は逆の考え

例:”1 | 1000 0100 | 1101 0000 0000 0000 0000”

- |  25 | 1.1101 ⇒ -(111010) ⇒ - (32+16+8+2) ⇒-58

 

ソースの表示用JavaScriptの"dp.SyntaxHighlighter"を導入したので試して見る。

>java FloatingPoint -3.5
-3.5 = 11000000011000000000000000000000

>java FloatingPoint 15.75
15.75 = 1000001011111000000000000000000

>java FloatingPoint -58
-58 = 11000010011010000000000000000000 

このアーカイブについて

このページには、2007年12月以降に書かれたブログ記事のうちC/JAVAカテゴリに属しているものが含まれています。

次のアーカイブはC/JAVA: 2008年6月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

友人ブログへのリンク


  • うえちょこ@ぼろぐ ―uechoco氏

  • うえちょこ@ぼろぐ

  • いそっちノート ―isocchi氏

  • いそっちノート

  • 情報科学を学ぶ大学生のブログ ―TBVector氏

  • 情報科学を学ぶ大学生のブログ

  • リココのLieと述べるブログ! ―Likoko氏

  • リココのLieと述べるブログ!

  • 何だっけ、多分何か。 ―ふらっぐ氏

  • 何だっけ、多分何か。

  • ゆーやのゆったりブログ ―ゆーや氏

  • ゆーやのゆったりブログ

  • あやなんの日記だぎゃ~ ―愛染綾那氏

  • あやなんの日記だぎゃ~

  • 黒須ぶろぐ ―黒須氏

  • 黒須ぶろぐ


    関連Webサイト

  • 準備中
  • ミク時計

    あわせて読みたい

    あわせて読みたい