こんなサイト始めた

理系のための就活アンテナ http://kumazaku.com/rikei/自分で就活で調べた情報とかをまとめていこうかと

Rubyのメモ

研究のプログラムは特にパフォーマンスが必要なものでもない ので、rubyで実装しようかと思ってる。忘れがちなことをメモ

CUDAの初回呼び出しオーバーヘッド

CUDAは初めてkernelコールを行ったときだけ特別に時間がかかる。 (初期化とかやってるの?)それがどのくらいか計測した。 t3 = gettimeofday_sec(); setMatrixOnGPU(*a); t4 = gettimeofday_sec(); printf("SET1 : time = %f\n", t4 - t3); sleep(3); t3 = g…

Beamerでプレゼン

Latexでプレゼンをやりたい! そこでbeamerといういいツールがある。 ダウンロードはここ「http://sourceforge.net/projects/latex-beamer/」 ちなみにxcolorとpgf2.0「http://sourceforge.net/projects/pgf/」 size14.clo「http://www.ctan.org/tex-archive/…

NASAのOpenMPベンチマークで遊ぶ

NASAのOpenMPベンチマーク「NPB」 ダウンロードは「http://www.hpcs.cs.tsukuba.ac.jp/omni-openmp/download/download-benchmarks.html」よりできる。 権威のあるベンチマークらしいので、手法の評価のために使えるかも FFTとか色々入ってる 使い方。 config…

GPGPU 行列乗算

#include #include #include // Matrices are stored in row-major order: // M(row, col) = *(M.elements + row * M.width + col) typedef struct { int width; int height; float* elements; } Matrix; // Thread block size #define BLOCK_SIZE 8 #define…

GPGPU ヤコビ法

CUDAにより、Ax=bの解をヤコビ法で求めてみる。 CPU版 #include #include #define N 3000 #define HN 100int getRandom(int min,int max) { return min + (int)(rand()*(max-min+1.0)/(1.0+RAND_MAX)); } int main(int argc, char *argv[]) { int i,j,k; flo…

タスク並列化 OpenMP vs pthread

OpenMPとpthreadでそれぞれタスク並列化を実装して比較した。 OpenMPのコード #include #define N 90000000 int a[N]; int b[N]; int c[N]; int d[N]; int main() { int i=0; int k=0; int l=0; int j=0; //#pragma pomp inst begin(foo) #pragma omp parall…

OpenMPによるタスク並列化

タスク並列化はsections,sectionで行う。ただし、オーバーヘッドが大きいので注意。 #define N 90000000 int a[N]; int b[N]; int c[N]; int d[N]; int main() { int i=0; int k=0; int l=0; int j=0; #pragma omp parallel #pragma omp sections { #pragma …

OpenMPの実験

OpenMPによる並列化の効果を確認する実験。単純なコードをOpenMPで並列化。 #define N 10000 int a[N][N]; int main() { int i=0; int j=0; #pragma omp parallel { #pragma omp for private(i) for(j=0;j OpenMPを使う場合:Core2Duo Quad(4core) real 0m1.5…

ちょっとした実験

ちょっとした実験。配列へのアクセスパターンで実行時間が どのくらい変わるか。 #define N 10000 int a[N][N]; int main() { int i=0; int j=0;for(j=0;j real 0m1.360s user 0m1.045s sys 0m0.308s #define N 10000 int a[N][N]; int main() { int i=0; in…

ちょっとした実験

ちょっとした実験。配列へのアクセスパターンで実行時間がどのくらい変わるか。 #define N 10000 int a[N][N]; int main() { int i=0; int j=0;for(j=0;j real 0m1.360s user 0m1.045s sys 0m0.308s #define N 10000 int a[N][N]; int main() { int i=0; int…

ちょっとした実験

メモリアクセスパターンによって実行速度がどのくらい変わるかを調査してみた。各所で散々やられている実験だけど、自分でやったことはなかったので・・・ 1.配列に行=>列のようにアクセスする場合 #define N 10000 int a[N][N]; int main() { int i=0; int …

高度区分試験

高度区分も卒業までには一つくらい押さえたいところ情報処理教科書 [春期]高度試験午前対策 2010年度版作者: 松原敬二出版社/メーカー: 翔泳社発売日: 2009/09/18メディア: 単行本(ソフトカバー)購入: 2人 クリック: 12回この商品を含むブログ (3件) を見る

自分の卒論

結局どこにも外部発表しなかったので、せっかくだからwebにアップしておこうかと。GPGPUで可逆圧縮をやるのはどうも非効率だということがわかったというしょうもない論文。 GPUを用いたLZSS法による可逆圧縮の並列化 論文レジュメ 論文

粗粒度自動並列コンパイラCoCoを読む

Coinsにおまけで付いてくる粗粒度自動並列コンパイラを研究のために読破することにした。わかったことから書いてく。 クラス:MacroFlowGraph クラス:ControlBranch

ORの復習

OR復習 線形計画法は色々使えるらしいので、一通り押さえたいところ

coinsのメモ

C++

COINSで新しいコンパイラを作りたい or 新しい最適化を実装したい場合 COINSではコンパイラドライバと呼ばれるcoins.driver.Driverクラスを継承してコンパイラを駆動するクラスを作ります。

リンク集

Parallel Processing Group http://paragroup.cs.uoi.gr/showpage.php?name=main 並列処理の文献集が役に立つ

ゼミ予定

9/2 開始 変則 午前中から 9/6 9/13

Coinsの使い方メモ

COINSとは? コンパイラ開発のための基盤コンパイラみたいなもの。 使い方のメモ coinsのインストール 本家: http://www.coins-project.org/ よりダウンロード 解凍 jar xvf [ファイル名] cygwinの場合の注意点 gcc-3 => gcc cpp-3 => cpp のリネームが必要 …

HTMLベースのスライドツール改良

web

以前紹介した「HTMLベースのスライドツール」を一部改良 致しました。 サンプル ダウンロード 変更点は 右クリック->開始で始まるようにした 黒枠を付けた cssを調整 です。あとは印刷機能を付ければそれらしくなるかと

研究これまでこれまでわかったこと

SIMD化は簡単でない 中間語レベルでの操作が必須 ソースコードレベルでは コード変形などを行う研究もある

鉄則

自分に言っておく 途中で投げない 3ヶ月で一区切りの成果を出す 復習する やりっぱなしにしない。 勉強・研究したことは書いて整理する まずやさしい場合を考える。一般の場合も易しい場合に変化する

研究計画

8月 coinsを勉強しつつ、理論を検討 シミュレータ作る? 9月 coins上で何か実装して実験 10月 何らかの成果を出す

当面の間勉強したい事

確率統計 OR 情報系の基礎と思われるが、自分はかなり疎かにしてきたのできちんと補いたい。 弱電 引き続き弱電のべんきょうも

修論検討

とりあえず興味あるのは自動並列コンパイラかな まだ先生と話しあって変えるかもしれない理由はあまりないがフィーリング。 しかし、自動並列コンパイラの世界はもう結構進んでいてキャッシュやバス幅を意識する手法も確立されてる(?)っぽい。今更自分にでき…

SIMD 最適化向けソースコードレベルでのコード変形

http://www.is.titech.ac.jp/~sassa/papers-written/kabano-sassa-simd-PPL09.pdf中々面白い論文と思う。SIMD化可能なところをパターンマッチングで探すんだけど、それだけでは逃しがあり得るからソースコートを変形する。これもよさそう 共有メモリマルチプ…

省電力ページング方式を実装した 次世代メモリアーキテクチャ上での並列プログラムの評価

http://matsu-www.is.titech.ac.jp/paper/hosogaya/hosogaya_acs2008_paper.pdfこれは中々参考になる論文 概要を説明すると、DRAMが消費電力の多くを占める。そこで、MRAMを使ったアーキテクチャを提案している。 省電力ページング方式 DRAMの代わりにMRAMを…

防衛省職員採用Ⅱ種試験合格しました。

防衛省職員採用Ⅱ種試験(電気電子)合格しました。といってもM1なので意味はないです。(Ⅱ種の有効期限は1年だけ)しかし、これでもしかしたら来年Ⅰ種が狙えるのではという希望が出てきた。これまでⅠ種なんて雲の上の世界のように思ってたが、Ⅱ種にこんなにアッ…