こんばんは。今年も花粉症がひどくて沖縄や北海道にしばらく行っていたいです。次男も花粉症の疑いがあり、一緒に耳鼻科に行って花粉症対策の薬を処方してもらって二人で飲んでいます。@kjunichiです。
背景
Xoenで8コア積んでる自作PCを子供のマインクラフトに占領されている。
Jupyter経由でJuliaを動かせるようにして、貴重な計算機資源を奪回する
公式でOpenSSHがWindows10でも利用できるようになったので、これを利用する事で、 かなりのことがマインクラフトで占領されている自作PCに対して遠隔操作できるはず。
Juliaのインストール
これはこどもが起きてこないうちにさくっと実施。
以降はsshで繋いで作業
IJuliaのインストール
cd %homepath% AppData\Local\Julia-1.1.0\bin\julia.exe
using Pkg;Pkg.add("IJulia")
などで、普通にインストール
IJuliaを入れた際に入るjupyterを探す
リモートからjupyterにアクセスできるようにする。 その為には、まず、IJuliaをインストールした際に一緒にインストールされたjupyterを探しておく。
cd %homepath% fd jupyter.exe$ .julia
ここで、fdコマンドはrust実装の21世紀版find(UNIX版の意)コマンド。
.julia\conda\3\Scripts\jupyter.exe .julia\conda\3\pkgs\jupyter_core-4.4.0-py36_0\Scripts\jupyter.exe
のように見つかるはず、今後利用するのは、この例では、一番上のバージョンを含まない
.julia\conda\3\Scripts\jupyter.exe
を使っていく。
jupyter.exeが呼び出すサブコマンドが見つからないと怒られるので、以下のように パスを通しておく。
set path=%path%;%homepath%\.julia\conda\3\Scripts
デフォルトのjupyterの設定ファイルの雛形を生成
以下のコマンドで、デフォルトのjupyterの設定ファイル(%homepath%.jupyter\jupyter_notebook_config.py)の雛形を生成する。
jupyter notebook --generate-config
jupyterをリモートからアクセス出来るように設定
先ほど生成したjupyterの設定ファイルを編集して、リモートからjupyterにアクセス出来るようにする。
変更が必要な項目は以下の項目の模様。
c.NotebookApp.allow_remote_access = True c.NotebookApp.ip = '*' c.NotebookApp.local_hostnames = ['localhost','192.168.0.123']
192.168.0.123は子供に占領されてる自作PCのIPアドレスを指定。 (もしかするとlocalhostのみでもOKかも)
以上で、準備完了となる。
IJuliaをリモートから起動
cd %homepath% AppData\Local\Julia-1.1.0\bin\julia.exe
using IJulia notebook(detached=true)
ここでdetached=trueの指定が無いと、プロンプトが戻ってこないので、別のsshで繋ぐ必要がある。
Ijuliaのデフォルトの状態ではjupyterがパスワード運用ではないようなので、jupyterコマンドで
jupyter notebook list
Currently running servers: http://localhost:8888/?token=c0fc9b6d0e7684b58a1018eb2197603b0eb028a8c23883a9 :: C:\Users\kjunichi
として動かしているURLを取得して、これをローカルのブラウザに貼り付ける必要がある。 この際、localhostとホスト名がなっている場合、これを対象のPCのホスト名やIPアドレスに置きかる必要がある。
おわりに
Xeonといっても4万程度のCPUなので、2GHz以下のクロックで新しくしたいMac Book Pro 初代Retinaより 1コアあたりの処理は遅いことを思い出した。
関連記事
- 2016年のJulia言語の学習の振り返り
- Raspberry PiでもJuliaが動く件
- Juliaでゼータ関数を直接jupyterにプロットしたり、マインクラフト(MCPI)にプロットした
- IJuliaをHerokuの無料枠で動かした