コンテンツにスキップ

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')