数値計算ライブラリ:gcc
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| 数値計算ライブラリ:gcc [2020/03/09 13:37] – koudai | 数値計算ライブラリ:gcc [2021/06/27 22:04] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 2: | Line 2: | ||
| * GCCは Gnu Compiler Collection の略で、基本的なプログラミング言語のコンパイラを提供します | * GCCは Gnu Compiler Collection の略で、基本的なプログラミング言語のコンパイラを提供します | ||
| + | * aptでよい(gccのバージョンを気にしない)のであれば、次のコマンドで手に入ります< | ||
| + | $ sudo apt install build-essential gfortran | ||
| + | </ | ||
| ====== インストール ====== | ====== インストール ====== | ||
| ===== 検証環境 ===== | ===== 検証環境 ===== | ||
| - | * Ubuntu | + | * Ubuntu |
| ===== 準備 ===== | ===== 準備 ===== | ||
| Line 14: | Line 16: | ||
| 入っていない場合は以下のようにして入手します。 | 入っていない場合は以下のようにして入手します。 | ||
| < | < | ||
| - | $ sudo apt install make build-essential gfortran | + | $ sudo apt install make |
| </ | </ | ||
| Line 21: | Line 23: | ||
| 以下のサイトからダウンロードできます。 | 以下のサイトからダウンロードできます。 | ||
| - | * [[https://www.open-mpi.org/|Open MPI: Open Source High Performance Computing]] | + | * https://gcc.gnu.org/mirrors.html |
| - | + | ||
| - | 記事執筆時点での最新版は4.0.2です。 | + | |
| + | 例えば日本のミラーサイトからバージョン10.2.0をダウンロードする場合は次のようにします | ||
| + | < | ||
| + | $ wget http:// | ||
| + | </ | ||
| ===== インストール ===== | ===== インストール ===== | ||
| Line 30: | Line 34: | ||
| ダウンロードしたファイルはホーム・ディレクトリにおいてください。 これを展開します。 | ダウンロードしたファイルはホーム・ディレクトリにおいてください。 これを展開します。 | ||
| < | < | ||
| - | $ tar xzvf openmpi-4.0.2.tar.gz | + | $ tar xzvf gcc-10.2.0.tar.gz |
| - | $ cd openmpi-4.0.2 | + | $ cd gcc-10.2.0 |
| </ | </ | ||
| - | インストール前に、インストール先とコンパイラを指定します。 | + | 必要なモジュールをダウンロードします |
| < | < | ||
| - | $ ./configure --prefix=/usr/ | + | $ ./contrib/download_prerequisites |
| </ | </ | ||
| - | 管理者権限を持っていない場合は prefix=/ | + | |
| + | ビルド用のディレクトリを作成して、そこに入ります | ||
| < | < | ||
| - | $ make all | + | $ mkdir build |
| - | $ sudo make install | + | $ cd build |
| </ | </ | ||
| - | ===== 環境設定 ===== | + | インストールの設定をします |
| - | + | ||
| - | ~/ | + | |
| - | < | + | |
| - | MPIROOT=/ | + | |
| - | PATH=$MPIROOT/ | + | |
| - | LD_LIBRARY_PATH=$MPIROOT/ | + | |
| - | MANPATH=$MPIROOT/ | + | |
| - | export MPIROOT PATH LD_LIBRARY_PATH MANPATH | + | |
| - | </ | + | |
| - | 編集が終わったら | + | |
| < | < | ||
| - | $ source ~/.bashrc | + | $ ../configure --prefix=/ |
| </ | </ | ||
| - | で再度読み込みます。 | + | * --prefix ... インストール先を指定。環境に合わせて適宜変更してください。 |
| + | * --enable-languages ... ビルドするプログラミング言語を選びます | ||
| + | * --disable-bootstrap ... 通常は3回ビルドを行って検証しますが、それを1回に省略します | ||
| + | * --disable-multilib ... 64ビット版のプログラムのみ作成します。OSが64ビット版のときはこれを付けないとエラーが出ます(32ビット用のライブラリが存在しないため)。 | ||
| + | * 詳しい説明や別のオプションについては右のページを参考にしてください https:// | ||
| + | |||
| + | makeとインストールを行います。 | ||
| + | makeには非常に時間がかかります(数時間くらい) | ||
| < | < | ||
| - | $ mpif90 -v | + | $ make |
| - | $ mpicc -v | + | $ sudo make install |
| </ | </ | ||
| - | などで、インストールが成功したか確認できます。 | ||
| + | .bashrcを開いて、ファイルの最後に以下を付け足してパスを通します< | ||
| + | <file - .bashrc> | ||
| + | (略) | ||
| + | export PATH=/ | ||
| + | export LD_LIBRARY_PATH=/ | ||
| + | export LIBRARY_PATH=/ | ||
| + | </ | ||
| - | ===== コンパイルと実行 ===== | + | .bashrcを読み込んで、コンパイラが動くか確認します |
| - | + | ||
| - | コンパイルは、 | + | |
| - | *Fortranの場合< | + | |
| - | $ mpif90 -o test test.f90 | + | |
| - | </ | + | |
| - | * C++の場合< | + | |
| - | $ mpicc -o test test.cc | + | |
| - | </ | + | |
| - | でできます。 | + | |
| - | コンパイルオプションの付け方はgfortranやgcc, | + | |
| < | < | ||
| - | $ mpirun | + | $ source ~/.bashrc |
| + | $ gcc -v | ||
| + | $ g++ -v | ||
| + | $ gfortran -v | ||
| </ | </ | ||
| - | ここで-nで指定してるのはプロセスの数(並列数)です。 | ||
| - | |||
| - | |||
| - | ==== 注意 ==== | ||
| - | |||
| - | * OpenMPIの並列数は、最大でも物理コア数までにします。 | ||
| - | * IntelのCPUだとハイパースレッディングにより論理コアが物理コアの2倍に見えますが、並列数を論理コア数にして計算すると実行速度が著しく低下することがあります。 | ||
| - | * 最近のOpenMPIは並列数を物理コア数よりも大きくするとエラーが出るようになりました。 | ||
| - | |||
| - | |||
| - | ====== 参考資料 ====== | ||
| - | |||
| - | * [[http:// | ||
| - | |||
| ====== 参考 ====== | ====== 参考 ====== | ||
| Line 99: | Line 86: | ||
| * https:// | * https:// | ||
| * https:// | * https:// | ||
| + | * http:// | ||
| * https:// | * https:// | ||
数値計算ライブラリ/gcc.1583728653.txt.gz · Last modified: 2021/06/27 21:57 (external edit)
