メモ

各種メモ。 結構見てくれる方がいるみたいなのでありがたいです。 ちょっとずつ整理していきます。 言葉づかいも直さないとなぁ。

OpenMX

OpenMXは密度汎関数理論に基づいて基底関数として数値的な原子基底関数を用いた原子分子の電子状態計算を行うソフトウェアパッケージです。私もそろそろOpenMXを利用しよう、と思い立ち、環境を整備をメモ。自前のプログラムしか使ってこなかったものにはLAPACKの設定とかいろいろよくわからないですね。Cent OS環境を念頭に置いています。
OpenMX開発者の尾崎先生とは以前にお酒をご一緒させていただいたことがあります。尾崎先生の科学的な知識もコンピューターの知識も、両面から見て、OpenMXは非常に信頼に足るソフトウェアになっていると思います。
とここまで書いたのが2年前?それから縁あって、OpenMX(ver.3.7)の開発に少しだけ携わることができました。大変光栄であると同時に大変勉強させていただきました。これもあってこれからは、少なくともOpenMXに関しては、私的な怪しい発言は控えます。また、"OpenMX"で検索するとこのページも上位に表示される様ですので、今後は公式マニュアル(英語)の補佐的なページを目指そうかと思います。
それから、「うちの研究室でもOpenMXを使ってみたい」という方、理論・実験問わず、ご協力しますのでご連絡あれ。 ただし、わからんことは私もたくさんあります!
2012/04/10, 2013/06/04更新
OpenMX (ver.3.6以前) のインストール
2012/04/10
準備とテスト計算
2012/04/10
カットオフエネルギー(実空間グリッド数)の設定と構造最適化の収束のコツ
2013/06/04, 2013/06/18更新
OpenMX (ver.3.7) のインストール
外部リンク(所内ルールにより直リンク停止中):
OpenMX公式サイト
http://www.openmx-square.org/

Visual Studio関連

ここではC++を題材にVisual Studio 2008~2012の使い方を書き綴って行きます。 MS-MPIの使い方の日本語資料としては有用かな?
Visual Studio 2008でのプロジェクト作成 ()
MS-MPI(Microsoft製のWindows環境用のMPI)のインストール (Visual Studio 2008)
MS-MPIのデバッグ実行 (Visual Studio 2008)
Visual Studio 2012におけるMS-MPIの利用
Windows 8 移行におけるD3DX11の代替法その1
Windows 8 移行におけるD3DX11の代替法その2
Visual Studio 2013におけるMS-MPI v6の利用
Visual Studio 2015におけるMS-MPIのデバッグ実行

シミュレーション技術関連

Linuxワークステーションの設定から、OpenMP、MPIといった並列環境、またIntel MIC(Xeon Phi)等、シミュレーション研究を行う上で遭遇した話題を書いていきます。
OpenMPI:プロセスとコアのバインド
Intel MIC (Xeon Phi) ドライバー(MPSS3.X)のインストール
Intel MIC (Xeon Phi) TIPS
SLURMのインストール

OpenAL

CAVE(バーチャルリアリティ装置)の開発にあたり、3次元音響効果を扱うにあたり OpenALの採用を検討予定。 それに関連して、OpenALを使った各種開発ネタを提供予定。
チュートリアルDevMaster.net OpenAL Tutorialsなどを参照。
このメモを書いている現在、OpenAL1.0の情報はあるものの、OpenAL1.1+alutの情報が少ないように思う。とくに日本語資料は殆どないので、これから開発の取り組む人の(私もですが)参考になればいいと思います。
  1. OpenALの導入と音源ファイルの単純再生
  2. wavファイルの読み込みと音源バッファの作成
  3. ストリーミング再生
  4. 音源の移動
  5. スピーカー位置の設定:OpenALの独自拡張に挑む

Directshow

ビットマップファイルからAVI,WMV,MP4といったムービーファイルを作るソフト作成を計画。 既存のソフトはVideo for Windoes (VFW) を使ったものばかりであるが、VFWはXP以降は廃止とか。 それに成り代わる物としてDirectshowが登場しているが、欲しいツールはあまり無い。 じゃあ、作ろう。
  1. サンプルフィルタBaseClassesのコンパイル
  2. サンプルフィルタPushSourceのコンパイル
外部リンク(所内ルールにより直リンク停止中):
参考サイトその1
http://www.firefly-vj.net/imagery/index.php?itemid=149
参考サイトその2
http://www22.ocn.ne.jp/~telmot/programing/directshow/HowToCreateDirectShowFilter.htm

PHASE

PHASEも密度汎関数理論に基づいて原子分子の電子状態計算を行うソフトウェアパッケージです。OpenMXと異なり、こちらは平面波基底によって波動関数を構成します。「革新的シミュレーションソフトウェアの研究開発」プロジェクトと「イノベーション基盤シミュレーションソフトウェアの研究開発」の産物ですので、ありがたく使わせていただけます。プロジェクトのwebサイトによってはダウンロードできるソフトウェアのバージョンが古かったりするので、新しいものを探しましょう。最初のインストール記事執筆時点では下記の参考サイトのダウンロードから最新版(ver.10.01, 2012/01/17時点)が手に入るようです。
  1. PHASEのインストール

GPGPU by CUDA

数値実験プロジェクトin NIFS では、可視化や数値計算手法関連にも力を入れるそうで。てなことで、少しは今やってるシミュレーションにも生かせることをしたいなぁ。ということで最近流行のGPGPUに挑戦。Open CL(ATI)かCUDA(NVIDIA)かで迷ったけど、ちょうどゲフォM330付のVAIO Z13が届いたので、CUDAでファーストチャレンジして見ます。
  1. CUDA2.2とVisual Studio 2008で環境構築
  2. CUDA4.0とVisual Studio 2008で改めて環境構築
  3. OpenCV2.3.1のCUDA機能を使うための環境設定
外部リンク(所内ルールにより直リンク停止中):
参考サイトその1: OpenGL de プログラミング
http://wiki.livedoor.jp/mikk_ni3_92/
参考サイトその2: Yasuaki Ito's Home Page
http://www.cs.hiroshima-u.ac.jp/~yasuaki/dokuwiki/doku.php

DirectX 11 with Nvidia 3D vision

NIFSにはCompleXcopeという没入型バーチャルリアリティ(仮想現実)装置がある。要は3Dテレビと同様に、左右の目に違った映像を見せることで、CGが立体的に浮き上がって見えるわけだ。CompleXcopeでは3m四方のディスプレイを前横下の4面に設置した部屋を作り、その中に人間が入り込むことで擬似立体の世界に入り込んだように体感させることが出来る。ところで、もっと簡易的に3D表示するシステムを作る依頼があり、Nvidiaの3Dビジョンを用いたコンテンツ開発を始めることに。Nvidia 3D visionは、DirectX 11やOpenGLでプログラムされた3Dコンテンツなら、ドライバ側で勝手に擬似立体映像に変換して表示してくれるという優れものだ。しかし、げふぉ(GeForce系のグラフィックボード)ではDirectXしか変換してくれないらしく、これまで使っていたOpenGLが使えない。。。クワドロ買えばいいらしいが。最近のOpenGL仕様の迷走ぶりにちょっと頭も痛いので、せっかくなのでDirectXを勉強することにした。どうせなら固定機能廃したDirectX 11でいこう。しかし、3D vision特有の問題も?!というメモ。
  1. 3D visionと開発環境