メモとして

本家様: https://cryosparc.com/

更新cryoSPARC/update

この本家様のサイトにてユーザ登録(メールアドレスを含む)を行う。合計2通のメールが届く。2通目にライセンス番号が書かれたコマンドが提示され、Linuxマシンでそのコマンドを実行するとcryoSPARCがインストールされる。
*「general academic use」に限定されてます。商用利用の方は別口のようです

CryoSPARC Guideの「Install」項目で

bash -c "$(curl -sSL https://cryosparc.download?license=xxxxxxxxxx)"

とある。このxxxxxxxxxxを含む、上記のコマンドが2通目のメールに書かれている。

何が実行されてインストールが行われるかは、書き込まんで調べられます。

curl -sSL https://cryosparc.download?license=xxxxxxxxxx

中身は、

  • インストール先のフォルダ作成
  • インストーラーのダウンロード
  • その展開
  • インストールスクリプトの実行

となっていた。

下準備

事前に「yum groupinstall "Development Tools"」と開発環境はインストールしておきます。
「ifconfig」コマンドを呼び出しているので「yum install net-tools」が必要です

インストール

*インストールされるpythonパッケージにcuda-7.5ライブラリを必要としているモジュールがある。なのでcuda-7.5はインストール済みであること

ここではユーザ cryosparc を作成して/Appl/cryoSPARCにインストールしてみる。

[root@s ~]# useradd cryosparc
[root@s ~]# chown cryosparc:cryosparc /Appl/cryoSPARC
[root@s ~]# su - cryosparc
 
[cryosparc@s ~]$

ここで

[cryosparc@s ~]$ bash -c "$(curl -sSL https://cryosparc.download?license=xxxxxxxxxx)

と実行すると、既定で $HOME/cryosparc にインストールされる。
ここでは /Appl/cryoSPARCを基点としたいので、その場所に移ってから上記を実行します。

また、httpのポート番号、MongoDBのポート番号が規定値でインストールされるが、変更したいのなら
インストールコマンドでそれらを指定することになります。
っでインストール。

[cryosparc@s ~]$ export PATH=/usr/local/cuda/bin:$PATH
[cryosparc@s ~]$ export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64
[cryosparc@s ~]$ cd /Appl/cryoSPARC
[cryosparc@s cryoSPARC]$ ./install.sh --port=<httpのport> --mongod_port=<MongoDBのport> --license-id=xxxxxxxxxx

*LD_LIBRARY_PATHにcuda-7.5のパスを定義します

必要な関連アプリとして

  • Node.js
  • MongoDB
  • python-2.7 (anacondaのMinicondaで/Appl/cryoSPARC/anaconda2 を基点として)

がインストールされ、pythonではanacondaのconda(パッケージ管理ツール)を使って、conda自身のupdate、pip、numpy、pyfftw, pycudaら関連するパッケージがインストールされる

その後にcryoSPARC自身の調整が行われ、下記問い合わせがあります

  • 1. Output Location
    記述にはssdデバイスは避けるようにとの事。負荷が高いからと読み取れる。ここでは単に /Appl/cryoSPARC/output とした。
    別shellを開いて mkdir -p /Appl/cryoSPARC/output にて用意してから指定する。
    変更の際には
    $ cryosparc configure bulk primary <path>
    とある。
  • 2. Bulk Directories
    データの場所を名称と共に指定する。既定で名称「local_fs」が与えられ、これはこのマシンの「/」を意味している。
    たとえば、名称「data1」として「/data1」、名称「data2」として「/data2」とかを定義できる。複数登録可能みたい。
    定義方法は
    $ cryosparc configure bulk add <path> <name>
    削除は
    $ cryosparc configure bulk remove <name>
  • 3. GPUs
    cryoSPARCは、ジョブ管理機構を持っている。(イメージ的には torqueとか sge とか)
    またGPUを使って演算するが、既定ではこのインストールマシンが抱えるGPUを全て使う。
    もし特定のGPUのみcryoSPARCに割り当てるなら
    $ cryosparc configure gpu enable <dev_id>
    $ cryosparc configure gpu disable <dev_id>
    $ cryosparc configure gpu list
    で調整する必要があるみたい
  • 4. SSD Caching
    パフォーマンス向上にSSDが必要で、その場所を指定する
    ここではSSD由来の /scratch/cryoSPARC を作り、ユーザcryosparcへの書き込み権限を付与する
    [root@s ~]# mkdir -p /scratch/cryoSPARC
    [root@s ~]# chown cryosparc:cryosparc /scratch/cryoSPARC

最後にPATH環境変数の調整があり、ユーザ cryosparc の .bashrc に

export PATH=/Appl/cryoSPARC/bin:$PATH

を加えます。

これでインストールは完了

起動

ユーザ cryosparc で別SHELLを起動して、下記パスを有効後、

export PATH=/Appl/cryoSPARC/bin:$PATH

まず現在の状況を「cryosparc status」で確認します

[cryosparc@s ~]$ cryosparc status
Running CryoSPARC Tool at /Appl/cryoSPARC
Current cryoSPARC version: v0.2.47
 
CryoSPARC is not running.
 :
 :

と今現在は稼動してない。
次に、起動してみます。起動は「cryosparc start」です。

[cryosparc@s ~]$ cryosparc start
Starting cryoSPARC..
mongod: started
webapp: started
-----------------------------------------------------
 
CryoSPARC started.
 From this machine, access at
    http://localhost:38000
 From other machines on the network, access at
    http://s.sybyl.local:38000
 
Startup can take several minutes. Point your browser to the address
and refresh until you see the cryoSPARC dashboard.
[cryosparc@s ~]$

これで起動しました。
次に、停止の場合、「cryosparc stop」とします

[cryosparc@s ~]$ cryosparc stop
Stopping cryoSPARC..
mongod: stopped
webapp: stopped
Shut down
[cryosparc@s ~]$

となる。

webアクセス

指定されたURLにアクセスすると
2017y02m11d_111344411.png
と表示され、ライセンス許諾書を拝読。読んで了承するなら画面下部の「I accept the license agreement」にチェックを入れ、「Next」へ
2017y02m11d_112852729.png
この「cryoSPARC」サイトで有効な管理者を作ります(OSのrootとは関係ないです)
2017y02m11d_120106901.png
登録が完了して、
2017y02m11d_132910930.png
「Continure」ボタンを押下すると、利用画面に移る
2017y02m11d_133127486.png

*ユーザ情報の修正はできてないみたい

ユーザを追加する。

勝手にユーザを作れそうです。OSのユーザ限定とか関係なしにユーザを作れる。
まず、ログアウトして、下記画面に移ります。
2017y02m11d_134452806.png
そして、画面上部の「Sign up」リンクを押下します。すると、ユーザ登録画面になり、必要事項を記載するとユーザになれます。
2017y02m11d_134608083.png

ただし、現状作成したユーザ情報を修正したり、削除ができないみたい

自動起動

マシンを再起動してもcryoSPARCが自動的に使えるようにするために

[cryosparc@s ~]$ cryosparc autostart
no crontab for cryosparc
Adding cryosparc start to crontab..
[cryosparc@s ~]$

実際はユーザcryosparcのcrontabにエントリーを追加してます。

PATH="/Appl/cryoSPARC/mongodb/bin:/Appl/cryoSPARC/nodejs/bin:/Appl/cryoSPARC/anaconda2/bin:(略
LD_LIBRARY_PATH="/usr/local/cuda-7.5/lib64:"
 
@reboot cryosparc start

この「@reboot」が起動時のみ1回実行って感じ。
自動起動を辞めるには「cryosparc autostart --disable」を実行する。するとcrontabの「@reboot cryosparc start」が削除される

(めも)エラー

「cryosparc start」して起動しない場合、同じポートが既に使用されている可能性がある。
その場合は config.shCRYOSPARC_HTTP_PORTCRYOSPARC_MONGO_PORT の値を変更する

誰がそのポートを使用しているかはrootにならないと見えない

[root@s ~]# lsof -i:38000
COMMAND  PID      USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
node    4261 cryosparc   15u  IPv4  30843      0t0  TCP *:38000 (LISTEN)
[root@s ~]#

トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2017-04-27 (木) 12:17:04 (116d)