6.3.1. Spackの利用方法
Spackの概要#
本サービスでは、利用可能なソフトウェア一覧に記載した大半のプリインストールアプリケーションをspack
を使用してインストールしています。
spack
コマンドは、これらのアプリケーションの環境設定を行う機能を提供します。
利用方法#
利用者はspack
コマンドを用いて環境の設定を行えます。
$ spack [options] <sub-command> [sub-command options]
以下にサブコマンドを示します。
サブコマンド | 説明 |
---|---|
find -x | インストール済みパッケージの一覧表示 |
find -v package | インストール済みパッケージの構築時オプション表示 |
find -l package | インストール済みパッケージのハッシュ値表示 |
load package | インストール済みパッケージのロード |
unload package | インストール済みパッケージのアンロード |
info package | パッケージの説明 |
help | spack の使用方法の表示 |
利用例#
- spackの環境設定
$ . /fefs1/app/spack/spack-0.18.0/share/spack/setup-env.sh
- インストール済みパッケージの一覧表示
$ spack find -x ==> 20 installed packages -- linux-rhel8-a64fx / fj@tcsds-1.2.35 -------------------------- frontistr@5.3 lammps@20190807 lammps@20220107 openfoam@2112 quantum-espresso@6.6 -- linux-rhel8-icelake / intel@2021.6.0 ------------------------- gromacs@2021.4 lammps@20220107 lammps@20220107 -- linux-rhel8-icelake / intel@2021.8.0 ------------------------- gromacs@2021.4 lammps@20220107 -- linux-rhel8-icelake / oneapi@2022.1.0 ------------------------ frontistr@5.3 gromacs@2021.4 lammps@20220107 lammps@20220107 openfoam@2112 quantum-espresso@7.0 -- linux-rhel8-icelake / oneapi@2023.0.0 ------------------------ frontistr@5.3 gromacs@2021.4 lammps@20220107 quantum-espresso@7.0
パッケージの表示内容に関する留意事項
spack
環境では、oneapi@~
はIntel oneapi compiler(icx, icpx, ifx)を指し、intel@~
はIntel classic compiler(icc, icpc, ifort)を指します。- 利用可能なパッケージは更新・変更される場合があります。最新の情報はログインノードにおいて
spack find -x
コマンドを実行し、ご確認ください。
- インストール済みパッケージのロード
$ spack load frontistr@5.3
- インストール済みパッケージのアンロード
$ spack unload frontistr@5.3
パッケージロード時の注意事項
インストール済みパッケージの一覧表示で同一のパッケージ/バージョンが複数表示される場合、パッケージをロードする際にパッケージを区別するための付加情報が必要となります。こうしたパッケージを使用する際は、以下の使用例をご確認ください。
- インストール済みパッケージのHash値と構築時オプションを表示して、パッケージ間の差異を確認します。
$ spack find -vl lammps ==> 8 installed packages ~ -- linux-rhel8-icelake / intel@2021.8.0 ------------------------- z6opytw lammps@20220107~asphere~body~class2~colloid~compress~coreshell+cuda+cuda_mps~dipole~exceptions+ffmpeg~granular~ipo+jpeg+kim~kokkos~kspace~latte+lib~manybody~mc~meam~misc~mliap~molecule+mpi~mpiio~opencl+openmp~opt~peri+png~poems~python~qeq~replica~rigid~shock~snap~spin~srd~user-adios~user-atc~user-awpmd~user-bocs~user-cgsdk~user-colvars~user-diffraction~user-dpd~user-drude~user-eff~user-fep~user-h5md~user-lb~user-manifold~user-meamc~user-mesodpd~user-mesont~user-mgpt~user-misc~user-mofff~user-netcdf+user-omp~user-phonon~user-plumed~user-ptm~user-qtb~user-reaction~user-reaxc~user-sdpd~user-smd~user-smtbq~user-sph~user-tally~user-uef~user-yaff~voronoi build_type=RelWithDebInfo cuda_arch=80 # Hash値:z6opytw, +cudaと表示されるためGPU対応版のパッケージ ~ -- linux-rhel8-icelake / oneapi@2023.0.0 ------------------------ b6hoox6 lammps@20220107~asphere~body~class2~colloid~compress~coreshell~cuda~cuda_mps~dipole~exceptions+ffmpeg+granular~ipo+jpeg+kim~kokkos+kspace~latte+lib+manybody~mc~meam~misc~mliap+molecule+mpi~mpiio~opencl+openmp~opt~peri+png~poems~python~qeq~replica+rigid~shock~snap~spin~srd~user-adios~user-atc~user-awpmd~user-bocs~user-cgsdk~user-colvars~user-diffraction~user-dpd~user-drude~user-eff~user-fep~user-h5md~user-lb~user-manifold~user-meamc~user-mesodpd~user-mesont~user-mgpt~user-misc~user-mofff~user-netcdf+user-omp~user-phonon~user-plumed~user-ptm~user-qtb~user-reaction~user-reaxc~user-sdpd~user-smd~user-smtbq~user-sph~user-tally~user-uef~user-yaff~voronoi build_type=RelWithDebInfo # Hash値:b6hoox6, ~cudaと表示されるためGPU非対応版のパッケージ
- インストール時に付加されるHash値で区別する場合は以下のように、
package名
の後ろに/Hash値
を指定します。
$ spack load lammps /z6opytw または $ spack load lammps /b6hoox6
- インストールに使用したコンパイラで区別する場合は以下のように、
package名
の後ろに%コンパイラ名
もしくは、%コンパイラ名@バージョン
を指定します。
$ spack load lammps %intel@2021.8.0 または $ spack load lammps %oneapi@2023.0.0