数理コンサルタントの備忘録

あなたの悩みを数理で解決する

MPI事始め

MPIとは

MPI(Message Passing Interface)は、並列コンピューティング利用するための標準化された規格. 並列処理には共有メモリ型と分散メモリ型の2通りの処理形態があるが, MPIは分散メモリ型の並列処理を行う.

コンパイル方法は

$ mpicc hoge.c

実行方法は

$ mpirun -np <並列数> <実行コマンド>

使用例と共に覚えるLinuxコマンド

file1をfile2というファイルとして複製

$ cp file1 file2

hoge1ディレクトリの内容をすべてhoge2にコピー

$ cp -r hoge1 hoge2

test.txtを/Dropboxへコピー

$ cp test.txt /Dropbox

test.txtを/Dropboxへ異動

$ mv test.txt /Dropbox

ディレクトリ/hoge再帰的に削除

$ rm -r /hpge

ディレクトリ内の全てのファイルを削除 (ただし、隠しファイルは除く)

$ rm -r *

メルセンヌ・ツイスターの使い方

乱数の生成

init_genrand(RAN_NUM);

RAN_NUMは乱数の種。

以下はよく使うgenrand_real関数の抜粋

/* generates a random number on [0,1]-real-interval */
double genrand_real1(void)

/* generates a random number on [0,1)-real-interval */
double genrand_real2(void)

/* generates a random number on (0,1)-real-interval */
double genrand_real3(void)

openMP 事始め

並列プログラミングでopenMPを使用することになったので、Macに導入した。

手順はターミナルで以下のコマンドを打つ。

brew install gcc5
ln -s /usr/local/bin/gcc-5 /usr/local/bin/gcc
ln -s /usr/local/bin/g++-5 /usr/local/bin/g++

コンパイルするときは

gcc-5 -fopenmp -test.c

のように使う。