Mudir is a GPU workspace management tool, user-friendly, to protect your teams' research
- You can use it with GPUs/CPUs servers
- Allows virtualization at low cost
- Jupyter environment support
- Two clicks to run your personal workspace
- A safe setup for experiments and datasets
- Ubuntu18.04 on host server(s)
- MySQL 8.0.24 server
- NVIDIA GPU with installed CUDA drivers >= 10.x
- Docker runtime 19.03.12
- nvidia-container-toolkit
- nodejs 12.20.1
- ** Optional FTP server
- ** Optional docker-compose 1.29.0
git clone git@github.com:moa-mudir/mudir.git
cd mudir
docker build -t <your-build-tag> .
npm install
cp default.env .env
- modify .env according to your preferences, you can change the host, password and image name you've just tagged to start
.env file
| Plugin | Description | values (default) |
|---|---|---|
| DATABASE_HOST | <ip> of mysql database |
localhost |
| DATABASE_USER | <username> of mysql database |
root |
| DATABASE_PASSWORD | <password> of mysql database |
super2009 |
| DATABASE_PORT | <port> of database |
3306 |
| DATABASE_NAME | <name> of database |
containers |
| BASE_DOCKER_IMAGE | <tag> of image |
jupyterlab:1.0 |
| DATASET_URI | root folder of your dataset | /mnt/dataset |
| TEMP_URI | tmp folder of your experiment | /mnt/exp |
| SHARED_GPU | Shared memory by GPU | 4 |
| UID | linux host user id | 1000 |
| GID | linux host group id | 1000 |
| DATA_VOLUME | (Optional) mounting database folder | /mnt/db |
After configuring the system, you can test it by running node src/app.js
if it successfully runs you can set it as a service to run on system up:
- edit gpu-manager.service modify the EnvironmentFile WorkingDirectory to point to the .env and root folder of the app correspondingly
sudo cp gpu-manager.service /etc/systemd/system/sudo systemctl daemon-reloadsudo systemctl start gpu-manager.servicesudo systemct status gpu-manager.serviceto check the status- ** If you want to host the mysql on the same machine, you can run
docker-compose upto spin a database server
-
After successfully running the service, from your browser open
<host-ip>:3000. -
Login with
admin/admincredentials -
Navigate to workspaces to create/delete a workspace of a given name with description

-
A workspace will have 2 ports, 1 for http jupyter and 1 for custom usage

-
The name given to the workspace will create a directory on the filesystem (maybe mounted fileserver) to host the assets of experiment. Though allowing you to mount it over FTP and have persistent protected assets
-
Clicking a workspace button when it is green it will redirect you to a jupyter environment

- Use Commit standard
- When you work on issue, branch out a branch name as follows:
- feature/MUD-XX-description
- bugfix/MUD-XX-description

