理系のための就活アンテナ http://kumazaku.com/rikei/自分で就活で調べた情報とかをまとめていこうかと
研究のプログラムは特にパフォーマンスが必要なものでもない ので、rubyで実装しようかと思ってる。忘れがちなことをメモ
CUDAは初めてkernelコールを行ったときだけ特別に時間がかかる。 (初期化とかやってるの?)それがどのくらいか計測した。 t3 = gettimeofday_sec(); setMatrixOnGPU(*a); t4 = gettimeofday_sec(); printf("SET1 : time = %f\n", t4 - t3); sleep(3); t3 = g…
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ベンチマーク「NPB」 ダウンロードは「http://www.hpcs.cs.tsukuba.ac.jp/omni-openmp/download/download-benchmarks.html」よりできる。 権威のあるベンチマークらしいので、手法の評価のために使えるかも FFTとか色々入ってる 使い方。 config…
#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…
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と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…
タスク並列化は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で並列化。 #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法による可逆圧縮の並列化 論文レジュメ 論文
Coinsにおまけで付いてくる粗粒度自動並列コンパイラを研究のために読破することにした。わかったことから書いてく。 クラス:MacroFlowGraph クラス:ControlBranch
OR復習 線形計画法は色々使えるらしいので、一通り押さえたいところ
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のインストール 本家: http://www.coins-project.org/ よりダウンロード 解凍 jar xvf [ファイル名] cygwinの場合の注意点 gcc-3 => gcc cpp-3 => cpp のリネームが必要 …
以前紹介した「HTMLベースのスライドツール」を一部改良 致しました。 サンプル ダウンロード 変更点は 右クリック->開始で始まるようにした 黒枠を付けた cssを調整 です。あとは印刷機能を付ければそれらしくなるかと
SIMD化は簡単でない 中間語レベルでの操作が必須 ソースコードレベルでは コード変形などを行う研究もある
自分に言っておく 途中で投げない 3ヶ月で一区切りの成果を出す 復習する やりっぱなしにしない。 勉強・研究したことは書いて整理する まずやさしい場合を考える。一般の場合も易しい場合に変化する
8月 coinsを勉強しつつ、理論を検討 シミュレータ作る? 9月 coins上で何か実装して実験 10月 何らかの成果を出す
確率統計 OR 情報系の基礎と思われるが、自分はかなり疎かにしてきたのできちんと補いたい。 弱電 引き続き弱電のべんきょうも
とりあえず興味あるのは自動並列コンパイラかな まだ先生と話しあって変えるかもしれない理由はあまりないがフィーリング。 しかし、自動並列コンパイラの世界はもう結構進んでいてキャッシュやバス幅を意識する手法も確立されてる(?)っぽい。今更自分にでき…
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年だけ)しかし、これでもしかしたら来年Ⅰ種が狙えるのではという希望が出てきた。これまでⅠ種なんて雲の上の世界のように思ってたが、Ⅱ種にこんなにアッ…