2014-10-01から1ヶ月間の記事一覧

__attribute__ ((aligned(16))) float data[1024]; int main() { int i = 0; for (i=0; i<(1024*1024*1024)/8; i++) { asm volatile ("vld1.32 {d0,d1}, [%0]\n\t" "vld1.32 {d2,d3}, [%0]\n\t" "vld1.32 {d0,d1}, [%0]\n\t" "vld1.32 {d2,d3}, [%0]\n\t" "v…

ひとり ARM tech なんとか

http://www.event-info.com/arm-seminar2014/明日だった。あとintel なんとか も 明日ですね。まあ別にこういうイベントって真面目系だから興味無いのだけど、せっかくなので Cortex A15も詰め詰めしよう。 A15 は今 37.2% で、これはA9より低い。なんで? …

http://www.7-cpu.com/cpu/Cortex-A15.htmlTLBミスかも?L1 32entry で L1ミスが12cycleだとつらい気がする。そうすると最内はもっと横に伸ばして6x2とかのほうがいいのか?かつK方向ループは16がいいの?というのは今はRが縦方向に128個ロードしていて、次…

結局

そこから改善しなかった

良くなった(肝心の良くなった時になにをやったか書かないやつ) まあでもこれは真理だと思う。口頭では何回か言ってるが、結局一番大事なのは気合と試行回数だから、文章書きながらとかそもそも無理だったのだ。 でもまだまだだな。なんかL2律速してる印象が…

そういやルーターちゃん再起動したときにipv6設定面倒で放置してるから俺のことは裏切り者リストに追加しておいてもらっていいよ。

matmul-bench 使いかた

基本的にはexeを実行するだけでよい。 出たFLOPSを見てニヤニヤする。 "-o a.csv" とすると、csvが出るので、これをexcelに貼ると、https://onedrive.live.com/view.aspx?resid=ECB59E566C2D71F1!4318&app=Excel&authkey=!AKCmyGT1nO0VfGIこういうグラフが描…

あと

そろそろ飽きてきたしWin用とAndroid用にUI作って終わりかな。

libmatmul-bench

ほい作った。http://int.main.jp/files/matmul-bench-w64.exe http://int.main.jp/files/matmul-bench-w32.exew32版はなんかomp入れるとsse版が動かなくてよくわからなかったのでw32版は1threadになっているので、w64版を使った方が良い。 あとインターフェ…

99.7msec

充実した週末だった。 しかしARMやりすぎたせいでCortexA15とSilvermontの差が開きすぎている。SSEも詰め詰めしたくなってくるな… あとFMA向けにチューンしすぎたせいでAVX版でレジスタスピルしている。

結局まだやってる

103.5msec…まあでもそろそろ限界感ある。

x86 fmaもTurbo Boost運がよければ300(75%)超えるようになってきた。

https://twitter.com/takehiro_t/status/525672008869085184 この情報もらってZynq Cortex A9 667MHz 2コアで123[msec]までいった。Epiphany16コアはサンプルのだと170[msec]なのでEpihanyとはなんだったのか。まああのサンプルもまだまだ良くできる気がする…

https://github.com/tanakamura/matmul-benchいちおうHaswellで(Turbo Boostありだけど)50%いった。まあx64版はとりあえずいいだろ。あとは 512x512 200msecの A9 版を 150msec にしたい(Epiphanyに勝てるまで) A9かなりよくわからないのでちゃんと理解する …

vs Parallella

なんか会社でParallellaを使ってみようみたいな流れになって使っていたのだが、(別に業務とは関係なく) https://github.com/adapteva/epiphany-examples/tree/master/apps/matmul-16 を動かして、Host 1700msec、Epiphany 170msecとかになって、さすが、16co…

beignet

あ、これ出力asm見れるのか。 Kernel BuilderはGPUだとasm見れないから諦めていた。 $ export OCL_OUTPUT_ASM=1 $ ./a.out <.. snip ..> hello's disassemble begin: L0: ( 0) mov(16) g2<1>:UW 0xffffUW { align1 WE_all 1H }; ( 2) mov(16) g2<1>:UW 0x0UW…

16.7msecでできる仕事

時間と金は絶対値を見るべきだと思う。 プログラムの高速化は、真面目にやると計測の問題になる。 高速化の作業は、実際にはプログラムの処理に対して、実際にかかっている時間が妥当なのかどうかを調べて、妥当でない場合は原因を調べるという、一種のデバ…

訂正

一ヶ月のフレーム数をまちがえていた

プログラミング難しい

比較と状態遷移が難しい。 年をとるごとに、自分がプログラマとして能力が高まりつつあるのを感じる。 何故、年を取ると能力が高まっていくのかというと、将来への明るい希望が減ってくると、「自分は優秀だ」という勘違いぐらいしかすがるものが無くなるか…

子供ブラック

子供の頃「これが仕事だ」と感じていたような仕事は、ブラックな仕事ばっかだったな、とか思う。 飲食店、教師、警官、公務員、建設現場、消防士、医者…などなど。 まあ、今になってわかるけど、基本的に個人客と触れあうBtoCはブラックだから子供に見える仕…

http://sourceforge.jp/projects/drdeamon64/wiki/DWARF%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88 有益情報だ…