zeratax / yacx

Yet Another CudaExecutor - wrapper to easily compile and execute cuda kernels
https://zeratax.github.io/yacx
MIT License
8 stars 4 forks source link

create uml-class-diagram #61

Closed visualJames closed 4 years ago

visualJames commented 4 years ago

I've already created a class diagram of the executer, but I have to edit it. ExecuterDiagrammStandalone.pdf If you recognize things, that have to be changed, please post under this thread/issue. After finishing it, it could be a part of the documentation of our code.

LukasSiefke commented 4 years ago

-launch (Kernel-Klasse) liefert jetzt eine KernelTime-struct zurück, um Laufzeit angeben zu können -Viele der Klassen erben vom JNIHandler -Eine KernelArgs Klasse besteht jetzt prinzipiell aus einer Liste von KernelArg-Objekten

Und es gibt natürlich noch die ganzen Java-Klassen, die aber im Prinzip nur die Methoden von den C-Objekten aufrufen...

visualJames commented 4 years ago

Sollte JNI mit den wichtigsten Klassen im Klassendiagramm integriert werden? Die Frage ist nur in wie weit wir dann im Klassendiagramm eine Dopplung haben, weil JNI und der Executer ziemlich gleich vom Klassenaufbau ist.

LukasSiefke commented 4 years ago

Ja, ich glaube auch, dass ein integrieren der Java-Klassen ziemlich redundant wäre

visualJames commented 4 years ago

ExecuterDiagrammStandalone.pdf Hier ist jetzt das Diagramm überarbeitet. Ich habe dein ersten Punkt (KernelTime-struct in launch hinzufügen) und dein letzten Punkt mit KernelArgs umgesetzt. Desweiteren habe ich es ein wenig umstrukturiert und Aggregationen hinzugefügt, wie ich vorher mit Jona besprochen habe. Gibt es noch etwas was man schöner lösen könnte oder was man noch gut umsetzen kann, sonst schließe ich dieses Issue und pushe es dann rein. In welchen Ordner ist die Dokumentation zu finden, sodass ich es dort reinpushe?

visualJames commented 4 years ago

Klassendiagramm ist oben