diff --git a/README.md b/README.md index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..cffb8537b3effc589987d205e1c1c527d90ccac7 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,6 @@ +# AKIS Cloud Computing + +> WIP + +- [To-Do](TODO.md) +- [Brainstorm](docs/brainstorm.md) diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000000000000000000000000000000000000..23b645191b84c730dc084658f2882ff5415cfe77 --- /dev/null +++ b/TODO.md @@ -0,0 +1,38 @@ +# TODO + +> WIP; Brainstorm; zukünftig ggf. über Issues + +## Anforderungen + +### Infrastruktur + +- [ ] Cluster: NVIDIA GeForce RTX 4090 +- [ ] Beantragung SSH-Rechte +- [ ] File-Server (u.A. Trainingsdaten) +- [ ] Umzug Trainingsdaten (Sciebo → File-Server) + +### Software + +- [ ] Linux-Support (primär) +- [ ] Windows-Support (sekundär) +- [ ] Code-Editing in VSCode (lokal) +- [ ] Code-Execution auf Server (im Hintergrund; unabhängig vom Client) +- [ ] Unabhängig von Jupyter + +### Dokumentation + +- [ ] PDF-Dokumentation +- [ ] Video-Tutorial +- [ ] Git "Best Practice" + - [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) + - [Cheatsheet](https://gist.github.com/qoomon/5dfcdf8eec66a051ecd85625518cfd13) + +## Unklarheiten + +- [ ] Fortschrittskontrolle + - [ ] Status-Abfrage mit Rückgabewert? + - [ ] E-Mail bei Abschluss? +- [ ] UI: CLI/GUI? +- [ ] Abruf des Outputs? + - [ ] Automatisch über Script? + - [ ] Manuell über SSH? diff --git a/docs/brainstorm.md b/docs/brainstorm.md new file mode 100644 index 0000000000000000000000000000000000000000..75c77bf5e53e36967f368d4d34b84ff071cd1822 --- /dev/null +++ b/docs/brainstorm.md @@ -0,0 +1,37 @@ +# Brainstorm + +## Makefile + +> kleine Scripts; kurzfristige Ausführung; Debugging + +- Konfiguration über Makefile-Variablen +- Targets + - `make push` Kopiert Code von Client auf Server (`scp`) + - `make exec` Führt Code auf Server aus (`ssh`) + - `make status` Fragt Fortschritt auf Server ab (`ssh`) + - `make pull` Kopiert Output von Server auf Client (`scp`) + +## GitLab + +> große Projekte; langwierige Berechnungen + +1. [Code](https://gitlab.cvh-server.de/mmelchert/akis-cloud-computing): `git push` +2. [Pipelines](https://gitlab.cvh-server.de/mmelchert/akis-cloud-computing/-/pipelines): `.gitlab-ci.yml` +3. [Runners](https://gitlab.cvh-server.de/mmelchert/akis-cloud-computing/-/settings/ci_cd#js-runners-settings): RTX 4090 +4. [](https://gitlab.cvh-server.de/mmelchert/ci-exercise/-/commits/main) +5. [Artifacts](https://gitlab.cvh-server.de/mmelchert/akis-cloud-computing/-/artifacts): Output + +Vorteile: + +- "bekannter" Workflow +- GUI vorhanden +- integrierte Versionsverwaltung +- automatisierte Ausführung des Codes +- Fortschrittskontrolle +- E-Mail-Benachrichtigung bei fehlerhafter Pipeline +- Ablage der letzten Output-Versionen + +Nachteile: + +- jede Code-Änderung ein Commit & Push +- Speicheraufwand (GitLab auf Hetzner-Server)