2013-01-01から1年間の記事一覧

カーネルをなんとかして関数テンプレートにしたい

はてなブログに移行しました.そして最初の記事です.最近 Xeon Phi なるものを触ったりしていますが,かなりとても書きづらいというか pragma ベースで書くのは (OpenMP で楽に並列化できるレベルなら良いですが) 決して楽ではないと僕は感じています.なぜ…

ログインシェルが bash/sh 以外で MPI のプログラムを動かすときに環境変数が渡らないときは

MPI

最近,研究室の環境も zsh で動かしています.しかし,MPI のプログラムを走らせるときにどうしても環境変数に頼ってしまう部分があって,そのままプログラムを実行すると環境変数が他のノードに渡らなくてプログラムがクラッシュします.(もしかしたら実装…

MPI ことはじめ資料 (研究室向け)

MPI

この間の高速化,並列化みたいなスライドの MPI 版です.OpenMPI を使う必要があるとのことで,OpenMPI を対象として (といってもビルドと実行方法が OpenMPI 用になっているだけですが) 作りました.C++ と書いておきながらほぼ C です.# MPI は素で書くの…

for のループカウンタがいじれて辛い問題

C++

ぶんちょうさんが Twitter / yutopp: forループで for(int i=0; ...と おっしゃっていたので.boost::for_each(boost::irange(begin, end), [](int i) { ...; }); な書き方は良いんですが,個人的にめんどくさいので for みたいに書けた方が良い.ただループ…

並列化の入門的な資料 (研究室向け)

研究室の大先輩が某所の*1某プロジェクトに入るそうなので,これまで並列化とか高速計算とかあまりやっていないけど,これからやらないとまずいってことだったので,僕が勉強会で教えていました.昨日のうちに slideshare にアップロードしていましたけど言…

Boost.勉強会 #11 で発表してきた

Boost.勉強会 #11 東京 - boostjp茨城の山奥に行ったりとか,書類書いてたりとかして1週間も経ってしまいましたが書きます."CilkPlus, TBB, OpenMP 〜 並列プログラミングを支える技術" という大層なタイトルで発表してましたが,つまるところこの辺のライ…

CilkPlus について

C++

コード書くの疲れたので休憩も兼ねて書きます.知っている人も多いと思いますが,CilkPlus は並列処理を容易にするため,Intel が自社のコンパイラに用意している C/C++ 用の言語拡張です. 元々は MIT で作られていた C 言語用の拡張だったとかなんだとか.…

PLplot でコマンドライン引数にデータファイルを指定する方法

最近 TeX に載せるグラフを書くために Numbers とか使って EPS に変換したりとかしてたのですが, よくある2段組み用に使うと汚くてかなり見づらい.今日とうとう諦めて PLplot を使って描画プログラムを書くことにしました.PLplot Home Page - MainPLplot は …

FreeBSD サーバと Moodle による Web 学習環境

これをやるきっかけは, 大学の1年生が主に使っているシステム (がマウントしているファイルサーバだったかな) が今年度でサポート完全停止でいつ壊れても修理できないそうで, 今学内全体で使うためのクラウドシステムの準備中らしく, その期間安全に使えるシ…

Boost.MPI は実際 MPI_Allgatherv や MPI_Scatterv をサポートできてない

Tutorial - 1.53.0Boost.MPI ドキュメントの "Table 19.5. Collectives" を見てもらえると分かりますが, Boost.MPI では MPI_Allgatherv といった collectives はそれぞれ非 v な collectives でサポートされているかのように書かれています.ちなみに MPI_Al…

Boost.MPI, Serializationで動的確保した配列がメンバに含まれるクラスインスタンスをシリアライズして送る.

できるのかと思ってたんですが, Boost.Serialization のチュートリアルちゃんと読んだら書いてありました.Serialization配列のサイズが分かっていればできそうです.(2013/02/11 追記) 動的確保されたメモリの場合, serialize 関数でメモリ確保は行われないた…

Intel C++ Compiler で C++ 標準ライブラリを使うときに気をつけたいこと

C++

2ヶ月以上ぶりです.最近 Intel C++ Compiler (icpc) を使う機会が増えたのですが, GCC で書いたプログラムを他のコンピュータ (自分でシステム管理ができないタイプ) でコンパイル/実行しようとしたときに躓いたのでメモ.Intel C++ Compiler Linux 版は GCC …