Top > Xyce 広告
*Sandia National Laboratories が開発した大規模集積回路向けの回路シミュレータ [#n4365e0b] [[Xyce:https://xyce.sandia.gov/]]は[[Sandia National Laboratories:http://www.sandia.gov/]] が開発したオープンソースの大規模集積回路向けの回路シミュレータ MPIを用いた並列計算に対応している。 **インストール。[[Building Guide:https://xyce.sandia.gov/documentation/BuildingGuide.html]]を参照 [#jb66a71c] 少し面倒。バージョン6.3で説明。このページを書いた後すぐ6.4がリリースされたがインストール方法は同じ。[[Trilinos:https://trilinos.org/]]の新しいのを使うことができる。 -まず[[ダウンロード:https://xyce.sandia.gov/downloads/]]。ユーザー登録(無償)が必要--Xyce-6.3.tar.gzと[[テスト:https://xyce.sandia.gov/documentation/RunningTheTests.html]]用のXyce_Regression-6.3.tar.gzを取ってくる -必要なパッケージをインストール。多少バージョンが違うかも --gcc --g++ --gfortran --make --cmake --bison --flex --libfftw3-3-dev --libsuitesparse-dev --libblas-dev --liblapack-dev --libtool -並列計算するならMPI関係もインストール --libopenmpi-dev --libparmetis-dev -Sandia National Laboratories が開発した数値計算パッケージ「[[Trilinos:https://trilinos.org/]]」をダウンロード --[[Building Guide:https://xyce.sandia.gov/documentation/BuildingGuide.html]]にはVersion 11.14.2を使えと書いてあったけど[[11.14.3:https://trilinos.org/download/previous-releases/download-11-14/]]しかないのでこれをダウンロード。 --メールアドレスを登録する必要がある。 --DebianやUbuntuの公式パッケージになった -[[Trilinos:https://trilinos.org/]]のコンパイル --DebianやUbuntuの公式パッケージになったのでコンパイルは不要かも --ソースを展開したディレクトリに適当なディレクトリ(例えばbuild)を作製 --作ったディレクトリ(例えばbuild)に移動 --この後は並列計算(Parallel)か違う(Serial)かで変わってくる。以下は並列計算の場合。 ---[[Building Guide:https://xyce.sandia.gov/documentation/BuildingGuide.html]]にビルド用のスクリプト例が載っているのでそれを自分の環境に合わせて編集する。特にSRCDIRとARCHDIRを変える。 #!/bin/bash SRCDIR=$HOME/Trilinos11.14/trilinos-11.14.2-Source ARCHDIR=$HOME/XyceLibs/Parallel FLAGS="-O3 -fPIC" cmake \ -G "Unix Makefiles" \ -DCMAKE_C_COMPILER=mpicc \ -DCMAKE_CXX_COMPILER=mpic++ \ -DCMAKE_Fortran_COMPILER=mpif77 \ -DCMAKE_CXX_FLAGS="$FLAGS" \ -DCMAKE_C_FLAGS="$FLAGS" \ -DCMAKE_Fortran_FLAGS="$FLAGS" \ -DCMAKE_INSTALL_PREFIX=$ARCHDIR \ -DCMAKE_MAKE_PROGRAM="make" \ -DTrilinos_ENABLE_NOX=ON \ -DNOX_ENABLE_LOCA=ON \ -DTrilinos_ENABLE_EpetraExt=ON \ -DEpetraExt_BUILD_BTF=ON \ -DEpetraExt_BUILD_EXPERIMENTAL=ON \ -DEpetraExt_BUILD_GRAPH_REORDERINGS=ON \ -DTrilinos_ENABLE_TrilinosCouplings=ON \ -DTrilinos_ENABLE_Ifpack=ON \ -DTrilinos_ENABLE_ShyLU=ON \ -DTrilinos_ENABLE_Isorropia=ON \ -DTrilinos_ENABLE_AztecOO=ON \ -DTrilinos_ENABLE_Belos=ON \ -DTrilinos_ENABLE_Teuchos=ON \ -DTeuchos_ENABLE_COMPLEX=ON \ -DTrilinos_ENABLE_Amesos=ON \ -DAmesos_ENABLE_KLU=ON \ -DAmesos_ENABLE_UMFPACK=ON \ -DTrilinos_ENABLE_Sacado=ON \ -DTrilinos_ENABLE_Kokkos=OFF \ -DTrilinos_ENABLE_Zoltan=ON \ -DTrilinos_ENABLE_ALL_OPTIONAL_PACKAGES=OFF \ -DTPL_ENABLE_AMD=ON \ -DAMD_LIBRARY_DIRS="/usr/lib" \ -DTPL_AMD_INCLUDE_DIRS="/usr/include/suitesparse" \ -DTPL_ENABLE_UMFPACK=ON \ -DUMFPACK_LIBRARY_DIRS="/usr/lib" \ -DTPL_UMFPACK_INCLUDE_DIRS="/usr/include/suitesparse" \ -DTPL_ENABLE_BLAS=ON \ -DTPL_ENABLE_LAPACK=ON \ -DTPL_ENABLE_ParMETIS=ON \ -DParMETIS_LIBRARY_DIRS="$ARCHDIR/lib" \ -DParMETIS_INCLUDE_DIRS="$ARCHDIR/include" \ -DTPL_ENABLE_MPI=ON \ $SRCDIR --上で作ったスクリプトを作ったディレクトリ(例えばbuild)で実行 --コンパイルとインストール make sudo make install -[[Xyce:https://xyce.sandia.gov/]]のコンパイル --[[Trilinos:https://trilinos.org/]]と同様にソースを展開したディレクトリに適当なディレクトリ(例えばbuild)を作製しそこに移動 --そこでビルド用の設定スクリプトを作製。以下は並列計算用。「/path/to/Xyce/configure」の部分を編集する(多分「../configure」)。ARCHDIRはTrilinosと合わせる #!/bin/bash /path/to/Xyce/configure \ CXXFLAGS="-O3" \ ARCHDIR="$HOME/XyceLibs/Parallel" \ CPPFLAGS="-I/usr/include/suitesparse" \ --enable-mpi \ CXX=mpiCC \ CC=mpicc \ F77=mpif77 --上で作ったスクリプトを実行 --「make」を実行してコンパイル -インストールの前に[[コンパイル後のテスト:https://xyce.sandia.gov/documentation/RunningTheTests.html]] --Xyce_Regression-6.3.tar.gzを&color(Red){ソースを展開したところとは違うところに展開};。例ではホームディレクトリに展開している。 -テストプログラムを実行。以下はコマンド例。パス等に注意 $HOME/Xyce_Regression-6.3/TestScripts/run_xyce_regression \ --output=`pwd`/Xyce_Test --xyce_test="$HOME/Xyce_Regression-6.3" \ --taglist="+parallel+nightly?noverbose-klu-verbose-fft" \ --resultfile=`pwd`/parallel_results \ "mpirun -np 2 `pwd`/src/Xyce" -うまく動いたら、Xyceをコンパイルしたディレクトリに戻ってインストール sudo make install *テストしてみた結果 [#lbee74a3] 上の一番下の使うCPU数の設定「-np 2」をいろいろ変えてみてXyce Regressionテストを実行してみた。 **CPU 2個(上の例のまま) [#i8ad1b11] All Test runs complete - All Tests PASSED Total testing time: 26.4m (wall), 1160s (user), 94s (system) エラー無く終了。大丈夫そう? **CPU 10個(mpirun -np 10) [#r83c006c] All Test runs complete - Warning 7 Tests FAILED 4 Tests EXITED WITH ERROR Total testing time: 36.1m (wall), 8716s (user), 2393s (system) あれ遅いし、エラーが出ている **CPU 1個(mpirun -np 1) [#x4d42ace] All Test runs complete - Warning 0 Tests FAILED 1 Tests EXITED WITH ERROR Total testing time: 9.3m (wall), 461s (user), 57s (system) CPU 2個より速いがエラーが出ている。何かおかしいのかもしれない。 *[[Qucsをフロントエンドにする>Qucs/spice4qucs]] [#q0622132] 広告 |