Python 3.8 の非推奨について#

2019年10月に当初リリースされた Python 3.8 は、2024年10月7日に EOL を迎えました。
Matlantis が提供する pfp-api-client, matlantis-features といったパッケージについても Python 3.8 環境についてはサポートを終了します。
サポート終了後は、バグフィックス、セキュリティアップデートを含めて、一切の更新を停止する予定です。
サポート終了後も一定期間は Python 3.8 の実行環境を提供しますが、その後は Python 3.8 の実行環境の提供も停止する予定です。
ユーザーの皆様には Python 3.9 への移行を強くお勧めいたします。

Python 3.8 EOL の詳細については、Python の公式ウェブサイト をご覧になってください。

カーネルの Python を切り替える#

Notebook#

Notebook で .ipynb ファイルを編集する際に、利用するカーネルを切り替えることができます。切り替えはツールバーの ‘Switch kernel’ ボタンから行えます。

_images/switch_kernel.png

Terminal#

ターミナルで Python を利用する際は、利用するカーネルの virtualenv に対する activate を実行する必要があります。

Python 3.8 を使う場合 (非推奨)

$ use_venv python38

Python 3.9 を使う場合

$ use_venv python39

Background Job の使い方#

Background Job 機能を使うことで、現在の notebook ファイルがバックグラウンドで実行され、出力が新しいファイルに書き込まれます。これによりブラウザを閉じたりページを再読み込みしても計算結果が保持されます。

実行について#

バックグラウンドジョブは notebook ファイルを開いた際に表示される、ツールバー上にある再生ボタンをクリックすることで実行できます。

_images/background_job_play.png

バックグラウンドジョブ投入ボタン#

バックグラウンドジョブ投入ダイアログでは、出力先のファイル名を指定することができます。また、オプションとして、他のユーザーの計算への干渉を減らすために、ジョブ中の PFP API リクエストの優先度 を低く設定することもできます。

_images/background_job_submit_dialog.png

バックグラウンドジョブ投入ダイアログ#

バックグラウンドで実行中も計算結果はファイルに出力され続けるので、このファイルを開くことで計算の進行状況を確認することができます。

バックグラウンドジョブが投入されると、現在開いているノートブックファイルのコピーが作成され、元のファイルではなくコピーされたノートブックファイルがバックグラウンドジョブで使用されます。そのため、ジョブ投入後も実行中のジョブに影響を与えることなくファイルの編集を継続することができます。コピーされるのはノートブックファイルのみで、Python コードによって実行時に読み込まれる他のファイルはコピーされません。

ジョブは Notebook のバックグラウンドとして実行されているため、Notebook を停止すると実行中のジョブも全て停止されます。ただし、再度 Notebook を起動すると中断されたジョブの実行は再開されます。この場合の各ジョブは、処理を中断したノートブックファイルの途中から再開されるのではなく、ノートブックファイルの最初から開始されることにご注意ください。

Job キューについて#

バックグラウンドジョブの最大並列実行可能数(デフォルト値は3)を超えるジョブが投入された場合、超えた分のジョブはキューに追加され、空きができた時点で実行されます。

ツールバー上の再生ボタンの右隣のボタンからアクセスできるジョブ一覧画面では、投入されたすべてのバックグラウンドジョブの一覧がステータスごとにグループ化されて表示されます。”Active” タブでは、現在実行中のジョブと待機中のジョブの一覧が表示され、左側のハンドルからドラッグ&ドロップすることでキューを並び替えることができます。これにより、待機中のジョブをどの順序で実行するかを制御できます。なお、本機能はジョブ一覧の1ページ目でのみ使用できます。1ページ目にないジョブをドラッグする場合は、ページネーションバーのドロップダウンボックスから、1ページに表示されるジョブの数を増やしてください。

この画面では、待機中のジョブの PFP API リクエストの優先度を変更することもできます。

_images/background_job_queue_running.png

アクティブなバックグラウンドジョブの一覧(実行順)#

_images/background_job_queue_all.png

全てのバックグラウンドジョブの一覧(最終更新時刻順)#

コマンドラインツール#

ターミナルからバックグラウンドジョブを操作したいユーザーのために、mtl-bg-job というコマンドラインツールがあります。これを使用することでターミナルからバックグラウンドジョブを実行したり、ステータスを確認することができます。

$ mtl-bg-job run phonon.ipynb phonon_results.ipynb
+--------+
| job_id |
+--------+
|   28   |
+--------+

$ mtl-bg-job list --phase active
+----+---------+
| id |  status |
+----+---------+
| 28 | running |
| 27 | running |
+----+---------+

シェルスクリプトからの使用を簡単にするために、多くのサブコマンドで --format パラメーターが利用可能です。例えば、 --format jsonjq ツールを組み合わせると、キューに追加されているジョブの数を以下のように取得できます:

$ mtl-bg-job list --phase active --format json | jq '.jobs | map(select(.status == "queued")) | length'
3

このツールの使用方法の詳細については、 mtl-bg-job --help および mtl-bg-job --help の出力をご覧ください。

Job の完了を通知する#

バックグラウンドジョブの終了時にメールで通知を受け取ることができます。通知メールにはジョブの状態(成功またはエラー)、関連するタイムスタンプ、および入力と出力ファイルの名前が記載されます。

_images/background_job_email.png

メール通知機能はデフォルトでは無効になっています。有効にするには画面右上のアイコン notification_email_settings から Matlantis 設定ダイアログを開き、通知に使用するメールアドレスを設定する必要があります。

ログインに使用しているプライマリメールアドレス以外のメールアドレスで通知を受け取りたい場合は、同じダイアログからセカンダリメールアドレスを追加することができます。セカンダリメールアドレスを追加するとそのメールアドレス宛に認証メールが届きます。そのメールに記載されているリンクをクリックすると認証が完了し、セカンダリメールアドレスを通知先として選択することができるようになります。ます。そのメールに記載されているリンクをクリックすると認証が完了し、新しいアドレスを通知先として選択することができるようになります。

_images/notification_email_settings.png

Job の最大並列実行数を設定する#

バックグラウンドジョブの最大並列実行数を設定することができます。最大並列実行数を小さい値に設定することにより、メモリを大量に使用する計算を並列で行う際に発生することがある Out Of Memory エラーを回避しやすくなります。この値はバックグラウンドジョブの一覧ダイアログのプルダウンメニューから設定できます。

_images/background_job_max_jobs_config.png

最大並列実行数を増やした場合、最大値を増やしたことにより開始できるようになったジョブは即座に実行されます。最大並列実行数を減らした場合は、実行中のジョブはキャンセルされずにそのジョブが完了するまで実行されます。

Background Job の状態リセット#

Open Dialog to Clear Notebook Environment ボタンから Background Job の状態をリセットできます。
新しいジョブを投入できない、ジョブ履歴にアクセスできない、などの問題があるときに、この機能を使用することで解決できる場合があります。

なお、この機能を使うと、 Background Job の実行履歴や計算途中の一時ファイルは削除されます が、計算済みのデータは削除されません。

_images/open_dialog.png
_images/reset_bg_job.png

制約#

バックグラウンドジョブで作成した出力ファイルでは、3D NGL Viewer によるイメージは表示されません。

テンプレート機能を使う#

Notebook で テンプレート機能 を利用することができます。繰り返し使う初期化処理や手順などをテンプレートに記載しておくことで、該当コードがセルに記入された状態でコーディングを始めることができます。

_images/template.gif

テンプレートの設定方法#

テンプレート機能を利用するには、以下の手順に沿ってテンプレートファイルを配置してください。

  1. ホームディレクトリに notebook_templates ディレクトリを作成します。

  2. notebook_templates ディレクトリの下に、テンプレートのカテゴリとなるディレクトリを任意の名前で作成します。(例:initialize)

  3. 手順 2 で作成したディレクトリの下に、テンプレートとして利用したいノートブックファイル(.ipynb ファイル)を任意の名前で配置します。

_images/template_file.png
  1. ブラウザをリロードします。

    • テンプレートとなるノートブックファイル(.ipynb ファイル)を編集した後はリロードが必要です)

  2. File > New > Notebook from Template を選択します。

    • テンプレートが正しく配置されていない場合、 Notebook from Template メニューは表示されません。

_images/template_menu.png
  1. 表示されたダイアログの Go ボタンをクリックします。

_images/template_go.png
  1. Untitled.ipynb が作成・表示され、テンプレートのコードが記入されていれば成功です。

ゴミ箱の使い方#

コンテキストメニューから Delete をクリックしたファイルはゴミ箱に移動します。

_images/trash_move_to.png

ゴミ箱を空にする場合は、ゴミ箱の横にある Empty ボタンをクリックしてください。

_images/trash_empty.png

rm コマンド等で削除されたファイルやディレクトリは、ゴミ箱には入らず即座に削除されます。また、Group Drive にはゴミ箱機能はありません。