1. Jupyter Lab機能の使いかた¶
Jupyter Labは、ブラウザ経由でPythonの対話的な利用、Linuxのコンソール、簡易的なファイル操作、Pythonプログラムのグラフィカルな出力などを実現するWebアプリケーションです。
TSUBAME3では、TSUBAMEポータル経由で、Jupyter Labを直接使用することができ、GPUを備える強力な計算ノードを手元のラップトップ上のJupyter Labと同じ感覚で使用することができます。
1.1. Jupyter Labの起動¶
TSUBAMEポータル上で専用のジョブを作成して、Jupyter Labを起動できます。
詳細はTSUBAMEポータル利用の手引きを参照してください。
Tips
起動済みのJupyter Labは、TSUBAMEポータルのWebサービス利用画面で該当するジョブの[表示]ボタンを選択することで、表示できます。
1.2. Jupyter Labの終了¶
Jupyter Lab内のFileメニューからShut Downを選択してください。
Logoutを選択した場合、ジョブが実行されたままになり、課金され続けます。
TSUBAMEポータルのWebサービス利用画面でも終了させることができます。
1.3. データの保存場所¶
Jupyter Labから見えるディレクトリは、ユーザのホームディレクトリの中のt3workspace
ディレクトリのみになります。
また、JupyterのWebインタフェース経由でアップロードできるファイルのサイズは制限されていますので、大きなデータファイルをアップロードしたい場合は、コンソールからwget
等のコマンドを利用するか、sftp, rsync等の利用を検討してください。
1.4. PyPIからのモジュールのインストール¶
Jupyter Lab内のPython環境は、コマンドラインから起動するPython環境とは別に管理されています。
モジュールのインストール、更新はJupyter Lab内のコンソールで以下のコマンドで行うことができます。
python3 -m pip install --user モジュール名
ユーザディレクトリにインストールするため、--user
が必要です。
アップグレード時には-U
オプションを付加してください。
また、上記のコマンドは、Notebook上でも1行目に%%bash
と記載したセルで実行することができます。
%%bash
python3 -m pip install --user モジュール名
Warning
モジュールのインストール後には、カーネル(Python環境)のリスタートが必要です。
KernelメニューのRestart Kernelを選択(もしくは0
を2回タイプ)してください。
1.5. カスタムカーネルの作成¶
GPUを利用する一部のPythonモジュールのインストール時には、CUDAなどのソフトウェアがロードされているカーネル(Python環境)を定義する必要があります。
CUDA, CuDNN, NCCLを利用するCuPyを例に、カスタムカーネルの作成方法を示します。
Info
このセクションの説明およびコマンドを記載したNotebookがありますので、ご利用ください。
TSUBAME3のJupyter Labではt3jpttools
モジュールが提供されており、以下の関数が利用可能です。
- create_kernel(カーネル名, モジュールのリスト): 新しいカスタムカーネルを定義する
- list_kernel(): カーネルの一覧を表示する
- delete_kernel(カーネル名): カスタムカーネルを削除する
例えば、CUDA 10.2.89、CuDNN 7.6、NCCL 2.4.2を利用するカスタムカーネルを作成する場合は、以下のコマンドをNotebookのセルで実行します。
from t3jpttools import create_kernel
create_kernel('python3-cuda','cuda/10.2.89 cudnn/7.6 nccl/2.4.2')
create_kernel()実行後、数十秒待つと、画面右上より作成したカーネルを選択できるようになります。
カーネルを切り替えることにより、CuPyなどのCUDA等に依存するモジュールのインストール・実行ができるようになります。
Info
Notebookで使用するPythonバージョンを変更する場合は、create_kernel()実行時にjupyterlab/2.1.0-py383
を指定します。
これは、Python 3.8.3を含んだJupyterモジュールであり、予めmodule avail
コマンドにて存在をご確認ください。
実行例: create_kernel('test', 'jupyterlab/2.1.0-py383 cuda/10.2.89 cudnn/7.6 nccl/2.4.2')