Size: 5358
Comment:
|
Size: 6423
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 13: | Line 13: |
田越、大原さんあたりの誰かに柏のkagra main systemの利用アカウントが欲しい旨を連絡する。 | 田越さん、大原さんあたりの誰かに柏のkagra main systemの利用アカウントが欲しい旨を連絡する。 |
Line 88: | Line 88: |
Line 118: | Line 119: |
== virtualenvで pyROOTを使う == 柏計算機ではデフォルトでROOT, pyROOTが使えるが、virtualenvで自分で構築した環境だとそのままでは ''ImportError: No module named 'ROOT' '' となりpyROOTがimportできない。 もちろん、pip install ROOT とかやっても無駄。 ROOTのpathを通す必要がある。仮想環境を有効にするときに使う(new_env)/bin/activate を編集して、48行目あたりの {{{ export PATH }}} の下に {{{ export PYTHONPATH="/opt/root/lib:$PYTHONPATH" }}} を書き足してactivateしてみると、 {{{ ~$ python Python 3.4.9 (default, Aug 14 2018, 21:28:57) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import ROOT Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/opt/root/lib/ROOT.py", line 103, in <module> import libPyROOT as _root ImportError: libCint.so: cannot open shared object file: No such file or directory >>> }}} |
柏PCの使い方
目的
kashiwa PCを使用してみんなが快適に解析できるようにできるようにしたい
あと環境構築などで詰まったことの備忘録
ちなみにframe fileのデータが欲しいだけなら、Pastaviを使えば良い(宇宙線研のネットワークにつなぐ必要あり)
セットアップ
アカウント申請
田越さん、大原さんあたりの誰かに柏のkagra main systemの利用アカウントが欲しい旨を連絡する。
startup
主にアカウント発行の際にメールでもらえるguideに沿って行えば良い
一応、JGW docにも資料がある
frame fileを読んでみる(python)
環境はdefaultでほとんどできているはずなのでgwpyを使ってframe fileを読んでみる Lecture in Japanese
frame fileを読んで様々なplotを書くためのsample codeやcondor_jobを使ってjobを投げるためのshellなどが豊富にある Kozapy
kashiwa PCのdefault環境では満足できない方へ
virtualenv
matplotlibが古すぎてplotがダサくなる方やgwpyのerrorが自身のPCと異なり困る方など向け
おそらくkashiwaでpython環境構築に使うのが推奨されているのがvirtualenvである
kashiwa PCにログイン
ssh m31-01
仮想環境の構築(python3.7の部分は好みのversionで良い, 後ろの~/.virtualenvs/new_envの部分も好きなpathに好きな名前で置いても良い)
virtualenv -p python3.6 ~/.virtualenvs/new_env
仮想環境を有効にする
source ~/.virtualenvs/new_env/bin/activate
今後、仮想環境を有効にする際は毎回これを打つ必要があり、面倒くさいので
echo "alias nenv='source ${HOME}/new_env/bin/activate' " >> ${HOME}/.bashrc
と打てば、nenvと打つだけで仮想環境を有効にできる 次に仮想環境を有効にした状態でpipを用いてlibraryをinstallする
pip install -U pip setuptools wheel pip install gwpy==0.15.0 lalsuite
lalsuiteもinstallしないとframe fileが読めないので注意
gwpyをinstallする時に必要なものはほとんど一緒にinstallされると思うが、他に必要なlibraryがある場合は別途pip installを用いてinstallする
自身のPC上でprogram編集と結果閲覧を完結したい人向け
自身のpc上のeditorを愛している方や、ネットワークが弱くsshでm31-01にログインした状態で作業するのにストレスがある方向け
自身のpc上に作業用のディレクトリを適当に作る(mkdir以下は当然任意)
mkdir ~/work
作ったdirectoryにcodeを書く
emacs ~/work/test.py . . .
以下のshell scriptを作業用のdirectiryにおく
exePath=$(pwd)/$2 exePath=~${exePath#*$(cd $(dirname $0); cd ../ ;pwd)} rsync -arp --inplace $(cd $(dirname $0); pwd) m31-01:~/ ssh -Y -t -t m31-01 <<EOC source ~/.virtualenvs/new_env/bin/activate $1 ${exePath} exit EOC rsync -arp --inplace m31-01:~/$(basename $(cd $(dirname $0); pwd))/ $(cd $(dirname $0); pwd)
公開鍵の設定を済ましておけばかなりリモートで作業を行なってfileを持ち帰るという作業はスムーズになる
詰まった問題
詰まった問題やこのページの通りやってもうまくいかないことを書き込む
gwpyを最新のものにするとframe fileがtimeseries.readで読めなくなる
単一source fileなら読めるが複数source fileを読もうとするとerrorが出る
単一ファイル読み出し(ok) data = TimeSeries.read(['/data/full/12567/K-K1_C-1256700000-32.gwf', '/data/full/12567/K-K1_C-1256700032-32.gwf', '/data/full/12567/K-K1_C-1256700064-32.gwf', '/data/full/12567/K-K1_C-1256700096-32.gwf'], c K1:CAL-CS_PROC_C00_STRAIN_DBL_DQ, start = 1256700000, end = 1256700100, format='gwf.lalframe') TimeSeries([ 2.24202135e-11, 2.24398064e-11, 2.24622275e-11, ..., -1.91058005e-11, -1.90862017e-11, -1.90661226e-11] unit: dimensionless, t0: 1256700000.0 s, dt: 6.103515625e-05 s, name: K1:CAL-CS_PROC_C00_STRAIN_DBL_DQ, channel: K1:CAL-CS_PROC_C00_STRAIN_DBL_DQ) 複数ファイル読み出し(ng) data = TimeSeries.read(['/data/full/12567/K-K1_C-1256700000-32.gwf', '/data/full/12567/K-K1_C-1256700032-32.gwf', '/data/full/12567/K-K1_C-1256700064-32.gwf', '/data/full/12567/K-K1_C-1256700096-32.gwf'], c K1:CAL-CS_PROC_C00_STRAIN_DBL_DQ, start = 1256700000, end = 1256700100, format='gwf.lalframe') RuntimeError: Failed to read /data/full/12470/K-K1_C-1247030016-32.gwf: Internal function call failed: I/O error
gwpy0.15.0だとこのエラーは起こらず、1.0.0だと起こる
今のところ1.0.0でこの問題を解決する方法が分からないので、pipでのinstallの際は
pip install gwpy==0.15.0
とすることを勧める
virtualenvで pyROOTを使う
柏計算機ではデフォルトでROOT, pyROOTが使えるが、virtualenvで自分で構築した環境だとそのままでは ImportError: No module named 'ROOT' となりpyROOTがimportできない。 もちろん、pip install ROOT とかやっても無駄。
ROOTのpathを通す必要がある。仮想環境を有効にするときに使う(new_env)/bin/activate を編集して、48行目あたりの
export PATH
の下に
export PYTHONPATH="/opt/root/lib:$PYTHONPATH"
を書き足してactivateしてみると、
~$ python Python 3.4.9 (default, Aug 14 2018, 21:28:57) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import ROOT Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/opt/root/lib/ROOT.py", line 103, in <module> import libPyROOT as _root ImportError: libCint.so: cannot open shared object file: No such file or directory >>>