Jupyter környezet

Fontos

A JupyterHub környezet jelenleg aktív fejlesztés alatt áll, és tesztüzemben működik! Visszajelzéseiket a hpc-support@kifu.hu címre küldjék!

Belépés a JupyterHub felületre

A JupyterHub portálon Jupyter notebook konténereket futtathat egy Webes interfészen keresztül a Komondoron a SLURM ütemező segítségével. A belépéshez eduID azonosítás és érvényes HPC portál projekt regisztráció szükséges.

A felület ezen a linken érhető el: Ugrás a JupiterHub-ra

Az eduID jelszavas azonosítás után egy második faktort is kell használni. Jelenleg csak az email hitelesítést lehet kiválasztani. Az email gombra kattintás után a rendszer küld egy kódot, amit be kell írni a bejelentkezéshez.

../_images/jupyter_2faktor.png

A JupyterHub használata

A rendszeren egyszerre több notebook szervert is el lehet indítani a vezérlőpultról. Minden egyes notebook egy SLURM job, amely egy Singularity konténert ütemez be futtatásra. A futtatható Jupyter környezeteket el is lehet nevezni. Ha nem történt még elnevezés, akkor csak a default szervert lehet elindítani. Az alábbi felületen megtekintheti az aktív ütemezett job-ok paramétereit is. A futó konténereket az elérési linkre való kattintással érheti el. A linkeket akár el is tudja menteni a böngészője könyvjelzői közé, hogy kényelmesen visszatérjen.

Jupyter Inditas

Az opciókat az indítás gomb után a következő lépésben lehet kiválasztani. Az erőforrások felhasználása a kvótából kerül levonásra. Ha a notebook szerver nem kerül leállításra, akkor az indításkor megadott ideg fog futni.

Megjegyzés

Előfordulhat, hogy energia gazdálkodási okok miatt a fizikai gépek készenléti állapotban vannak. Ilyenkor a konténer indulása adott esetben akár 10 percet is igénybe vehet.

Jupyter Valasztas

Rendelkezésére áll a részletes konfigárlási lehetőség is, ahol például a cpu, gpu, memória beállításokat is lehet finomhangolni. Valamint a futási időt is tetszőlegesen hosszúra lehet beállítani.

Tipp

Amennyiben a konténter indulás után azonnal leáll, akkor lehetséges, hogy a job nem kapott elég memóriát a Jupyter környezet használatához. Ugrás a memória foglalási fejezethez A futtatási paramétereket a részletes konfigurálás alatt lehet korrigálni.

Jupyter Valasztas

A notebook indulása után ki lehet választani a tevékenységeket, legyen az futtatás, jegyzet, kód szerkesztés, illetve terminál ablak. A kezelőfelületre a File menüpont alatti Hub Control Panel kiválasztásával lehet.

Jupyter toolbox

A futó konténerben a login node-on levő home könyvtár is automatikusan fel van csatolva. Az webes felületen elmentett jegyzetek és kódok $HOME/notebooks könyvtárban lesznek megtalálhatóak, illetve ide lehet őket bemásolni és futáskor bármikor elérni.

A Jupyter notebook dokumentációja angol nyelven itt található: Ugrás a Jupiter Docs-ra

A Jupyter konténer leállítása

Ha jupyter notebook még mindig fut, de már nincsen rá szükség, akkor a megadott idő előtt kézzel is le lehet állítani. Futó konténerből a vezérlőpultra a Hub Control Panel kiválasztásával lehet visszatérni a menüből.

Jupyter control panel

Ezután a piros színű Leállítás gombra kattintással a slurm job azonnali megszakításra kerül. Így lehet biztosítani, hogy az elindított, de már használaton kívüli konténer ne számlázzon tovább CPU időt.

Jupyter leallitas

Elérhető Jupyter konténerek listája

Datascience

  • Python3 IPykernel (IPython interpreter), IRKernel (R interpreter), IJulia (Julia interpreter)

  • curl, git, nano-tiny, TeX Live, tzdata, unzip, vi-tiny, wget

  • altair, beautifulsoup4, bokeh, bottleneck, cloudpickle, openblas, cython, dask, dill, facets, h5py, ipympl, ipywidgets, jupyterlab-git, matplotlib-base, numba, numexpr, openpyxl, pandas, patsy, protobuf, pytables, scikit-image, scikit-learn, scipy, seaborn, sqlalchemy, statsmodel, sympy, widgetsnbextension, xlrd

  • caret, crayon, devtools, forecast, hexbin, htmltools, htmlwidgets, nycflights13, randomforest, rcurl, rmarkdown, rodbc, rpy2, rsqlite, shiny, tidymodels, tidyverse, unixodbc

  • HDF5.jl, Pluto.jl

Tensorflow

  • Python3 IPykernel (IPython interpreter)

  • Tensorflow

  • curl, git, nano-tiny, TeX Live, tzdata, unzip, vi-tiny, wget

  • altair, beautifulsoup4, bokeh, bottleneck, cloudpickle, openblas, cython, dask, dill, facets, h5py, ipympl, ipywidgets, jupyterlab-git, matplotlib-base, numba, numexpr, openpyxl, pandas, patsy, protobuf, pytables, scikit-image, scikit-learn, scipy, seaborn, sqlalchemy, statsmodel, sympy, widgetsnbextension, xlrd

Pytorch

  • Python3 IPykernel (IPython interpreter)

  • Pytorch

  • Tensorflow

  • curl, git, nano-tiny, TeX Live, tzdata, unzip, vi-tiny, wget

  • altair, beautifulsoup4, bokeh, bottleneck, cloudpickle, openblas, cython, dask, dill, facets, h5py, ipympl, ipywidgets, jupyterlab-git, matplotlib-base, numba, numexpr, openpyxl, pandas, patsy, protobuf, pytables, scikit-image, scikit-learn, scipy, seaborn, sqlalchemy, statsmodel, sympy, widgetsnbextension, xlrd

Spark

  • Python3 IPykernel (IPython interpreter), IRKernel (R interpreter)

  • Apache Spark, PyArrow

  • ggplot2, grpcio, grocui-status, sparklyr, rcurl

  • curl, git, nano-tiny, TeX Live, tzdata, unzip, vi-tiny, wget

  • altair, beautifulsoup4, bokeh, bottleneck, cloudpickle, openblas, cython, dask, dill, facets, h5py, ipympl, ipywidgets, jupyterlab-git, matplotlib-base, numba, numexpr, openpyxl, pandas, patsy, protobuf, pytables, scikit-image, scikit-learn, scipy, seaborn, sqlalchemy, statsmodel, sympy, widgetsnbextension, xlrd

IPython Parallel

  • Kernel: Python3 IPykernel (IPython interpreter)

  • Python Parallel engine

  • curl, git, nano-tiny, TeX Live, tzdata, unzip, vi-tiny, wget

  • altair, beautifulsoup4, bokeh, bottleneck, cloudpickle, openblas, cython, dask, dill, facets, h5py, ipympl, ipywidgets, jupyterlab-git, matplotlib-base, numba, numexpr, openpyxl, pandas, patsy, protobuf, pytables, scikit-image, scikit-learn, scipy, seaborn, sqlalchemy, statsmodel, sympy, widgetsnbextension, xlrd

Nvidia Tensorflow

  • TensorFlow, TensorRT, TF-TRT

  • CUDA, cuBLAS, cuDNN, NCCL

  • ETL (DALI, RAPIDS)

  • Training (cuDNN, NCCL)

Nvidia Pytorch

  • PyTorch, TensorRT, Torch-TensorRT

  • CUDA, cuBLAS, cuDNN, NCCL

  • ETL (DALI, RAPIDS)

  • Training (cuDNN, NCCL)

GPU AI Lab

  • Python3 IPykernel (IPython interpreter), IRKernel (R interpreter), IJulia (Julia interpreter)

  • Jupyter AI

  • TensorFlow, PyTorch

  • dask, fastai, keras, rapids, xgboost

  • CUDA, cuBLAS, cuDNN, NCCL, TensorRT

  • curl, git, nano-tiny, TeX Live, tzdata, unzip, vi-tiny, wget

  • altair, beautifulsoup4, bokeh, bottleneck, cloudpickle, openblas, cython, dask, dill, facets, h5py, ipympl, ipywidgets, jupyterlab-git, matplotlib-base, numba, numexpr, openpyxl, pandas, patsy, protobuf, pytables, scikit-image, scikit-learn, scipy, seaborn, sqlalchemy, statsmodel, sympy, widgetsnbextension, xlrd

  • caret, crayon, devtools, forecast, hexbin, htmltools, htmlwidgets, nycflights13, randomforest, rcurl, rmarkdown, rodbc, rpy2, rsqlite, shiny, tidymodels, tidyverse, unixodbc

  • HDF5.jl, Pluto.jl

Saját konténer használata

Fontos

A Jupyter konténerek elkészítéséhez az instrukciók a KIFÜ HPC Gitlab portálon találhatóak meg. Urás a KIFÜ GitLab jupyter repository-hoz

A konténert a $HOME könyvtárban jupyter.sif néven kell létrehozni. Ezután futtatható lesz a JupyterHub szerverről a $HOME/jupyter.sif kiválasztásával. A jupyterlab és a javított batchspawner csomag nélkül nem fog tudni elindulni, ezeket mindenképpen tartalmaznia kell a felhasználó által előállított konténernek.

IPython Parallel

Az IPython Parallel környezet segítségével megvalósítható párhuzamos futtatás Python programból. A programot a JupyterHub-on lehet lefejleszteni interaktívan, utána a számítás akár külön is futtatható batch job-ban a login node-ról.

Az több compute node-on történő párhuzamos futtatáshoz a példák a KIFÜ HPC Gitlab portálon találhatóak meg. Urás a KIFÜ GitLab ipyparallel repository-hoz