Translate

2021年7月6日火曜日

Spackプライベートインスタンス内の独自環境下でチェイニングを使う

ホームディレクトリなどに各自でSpackを配置した状態で使用するプライベートインスタンスの場合、パブリックインスタンス(/optなどの配下にspackを配置して複数ユーザで共用する)側でspack install済みのパッケージが透過的にみることはできない。

このような場合、チェイニングという機能を使うことでパブリック側インストール済みパッケージをspack loadできるようにする。

方法は、ホームディレクトリ以下の.spackディレクトリにupstreams.yamlというファイルを作る。

たとえばパブリック側のSpack環境が/opt/hogehoge/spack以下にある場合、

upstreams:
  spack-public-instance:
    install_tree: /opt/hogehoge/spack/opt/spack


と、記述することでパブリック側パッケージがspack find で参照可能になる。


しかし、プライベートインスタンス内でさらにspack env create で独自Spack環境をつくると、このチェイニングが効かなくなる。

そのような場合は ~/.spack/upstreams.yaml を以下のように追記すればよい(fugafugaユーザのホーム直下にspackディレクトリがある場合)。

upstreams:
  spack-public-instance:
    install_tree: /opt/hogehoge/spack/opt/spack
  spack-private-instance:
    install_tree: /home/fugafuga/spack/opt/spack


これでパブリック側のパッケージとプライベート側のパッケージを透過的にspack findすることができる。


..が、独自Spack環境を作成する場合は、排他状態(spack installをいちからじぶんでやりたい)を望んで作る事が多い(プライベートデフォルト環境下で十分)ので、需要はあまりないかもしれないが...


0 件のコメント:

o1-previewにナップサック問題を解かせてみた

Azure環境上にあるo1-previewを使って、以下のナップサック問題を解かせてみました。   ナップサック問題とは、ナップサックにものを入れるときどれを何個入れればいいかを計算する問題です。数学では数理最適化手法を使う際の例でよく出てきます。 Azure OpenAI Se...