GPU-accelerated AI, in your browser.
Powered by NVIDIA DGX Spark and Kubernetes, the KRMU AI Centre of Excellence gives students and researchers a GPU lab in the browser: personal notebooks, shared storage, experiment tracking and a university language model, all pre-connected.
One lab, three machines
Three NVIDIA DGX Spark systems, each with an NVIDIA GB10 GPU, run at KRMU as one Kubernetes cluster. Your notebook runs on the Spark assigned to your account, the same one every time.
Up to 20 students share each physical GPU and take turns on it. The Qwen language model runs across all three Sparks, and the storage service keeps a copy of your files on each of them.
The lab at a glance
Hover or focus a block to see what it does.
Five things you can do on day one
From a first notebook to tracked experiments, stored results and a built-in language model.
- 1Notebook profiles
Work in a personal notebook
JupyterLab in your browser. Choose a CPU or a GPU notebook each time you start. Super accounts also get a Super Notebook for 3-GPU training.
- 2How it works
Develop and train models
PyTorch with CUDA 13, scikit-learn, XGBoost, Hugging Face Transformers and more are pre-installed, so you can start training straight away.
- 3How it works
Track every experiment
MLflow records your parameters, metrics, models and plots so you can compare runs. It is already connected to your notebook.
- 4Your data
Store data and results safely
Garage S3 storage for datasets and results, plus a home folder that is backed up to the university NAS every 30 minutes and archived every 7 days.
- 5About Qwen
Ask the university language model
Qwen3-30B-A3B is available in every notebook through an OpenAI-compatible API. Its address is provided automatically.
Four steps to your first notebook
Your account has already been created. If you are one of the 40, there is nothing to register: use the username and password given to you by the platform administrator.
Open the login page
The login address is provided by the administrator. Open it in your web browser from the lab network.
Sign in, change your password
Sign in with the details you were given, then change your first password straight away from the platform's change-password page.
Choose a notebook
Pick a CPU or GPU notebook. Super accounts see a single option, Super Notebook. It starts in a few seconds.
Run the setup cells once
A short setup notebook checks the lab services and creates your storage folder and MLflow experiment.
Student and super accounts
The lab has 40 accounts, all created. Both kinds have the same services. Super accounts can also train on all three GPUs.
| Student account | Super account | |
|---|---|---|
| Notebook choices | CPU Notebook or GPU Notebook | Super Notebook (the only option shown) |
| Inside the notebook | 8 GB RAM, up to 8 GiB GPU memory (GPU Notebook) | 8 GB RAM, up to 8 GiB GPU memory |
| Training on all 3 GPUs | No | Yes: 1 or 3 GPUs, up to 40 GiB on each, one job at a time |
| Storage, MLflow, Qwen, archive | Yes | Yes |
| Where it runs | Your assigned Spark | Notebook on your assigned Spark; 3-GPU jobs on all three |
CPU, GPU and Super notebooks
Pick a profile to see its limits. To switch later, open File → Hub Control Panel, stop your server, start it again and pick the other profile. Your files are kept.
Best for:
guaranteed up to (limit)
- Your notebook starts on the Spark assigned to your account, the same one every time.
- If your home folder needs restoring, it is restored from the NAS automatically.
- A server with no activity for 60 minutes is stopped automatically, and your files are kept.
Where your files live
Save anything important to your home folder, Garage or MLflow before a long job, because anything only in notebook memory is lost when your server stops.
| Location | Use it for | Kept after your server stops? |
|---|---|---|
| Home folder | Notebooks, code, small working files | Yes, for 7 days. Backed up to the NAS every 30 minutes, then archived after 7 days. |
| NAS archive (read-only) | Reading your backed-up and archived files | Yes. One dated folder for each 7-day period. |
| Garage storage | Datasets, results, anything to store safely or share | Yes. A copy is kept on all three Sparks. |
| MLflow | Experiment history, metrics, saved models, plots | Yes |
| Notebook memory | Data while you work | No. Lost when the kernel or server restarts. |
Train on all three GPUs
A normal notebook runs on one Spark and uses one share of its GPU. Super accounts can send a training job to all three Sparks at once, with up to 40 GiB of GPU memory on each. The lab runs it with Ray Train, and a single command from an installed helper starts it.
- Test your training function on the notebook's own GPU first.
- With 3 GPUs, each Spark trains on a third of your data and the three copies of your model stay in sync.
- Output appears live in your notebook, numbers go to MLflow, and the trained model is saved in your storage folder.
Three GPUs, one model
The university's Qwen model
Every notebook can talk to Qwen3-30B-A3B-FP8, served with vLLM across all three Sparks through an OpenAI-compatible API. You use the standard Python client that is already installed. Nothing is downloaded to your notebook and there is no key to type, because the address is provided automatically.
The model is shared by the whole lab and is slower when many students use it at once. Keep answers a reasonable length and avoid loops that send thousands of requests.
Tested with 30 users at the same time
We started 30 GPU notebook sessions together and ran a continuous GPU workload in all of them for 10 minutes.
Each user's share of the GPU
Hover or focus a bar. Press a legend button to show or hide a GPU.
View the data as a table
What happens as more users share a GPU
Switch between the GPU's total output and what each user gets.
Measured with a synthetic GPU benchmark (large matrix multiplications) on the three DGX Spark GPUs. TFLOPS means trillions of operations per second. Where two test runs differ, the average is shown. This load test was run before the per-notebook GPU memory limits were switched on.
How the system works
When you log in, JupyterHub starts a personal notebook server for you on one of the three DGX Sparks. Your notebook then talks to shared services, and all connection settings are provided automatically. Press a part to read about it.
Good habits for a shared lab
The GPUs and the language model are shared by everyone. A few habits keep them fast for all.
Stop your server when you're done
Use File → Hub Control Panel → Stop My Server. Servers with no activity for 60 minutes are stopped automatically. Your files are kept.
Stay within your limits
8 GiB of GPU memory and 8 GB of RAM. Free memory you no longer need, and load large files in pieces.
Save before long jobs
Keep important results in Garage or MLflow, not only in memory, so nothing is lost if your server stops.
Never put credentials in code
The lab provides them automatically. Do not copy them into notebooks, Git repositories or reports.