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.
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.
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.
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.
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.
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.
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.
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