Hardware-Redakteur
Alle Computerprogramme, einschließlich OghmaNano, werden auf physischer Computerhardware ausgeführt. Es gibt viele verschiedene Hardwarekombinationen, die in einem Computer verbaut sein können; einige Computer verfügen über eine große Anzahl von CPU-Kernen, während andere nur einen haben. Ebenso unterscheiden sich Computer in Bezug auf die Speicherkapazität, den Festplattenspeicher und die Anzahl der GPUs. Um dem Benutzer zu helfen, das Beste aus OghmaNano herauszuholen, gibt es einen Hardware-Editor, in dem der Benutzer konfigurieren kann, wie sich OghmaNano auf einem bestimmten Computer verhält. Auf diesen Editor kann über das Simulationsfenster (??) zugegriffen werden.
Wenn Sie darauf klicken, wird das Fenster des Hardware-Editors geöffnet (??).
Das Hardware-Fenster besteht aus verschiedenen Registerkarten, mit denen der Benutzer die Konfiguration bearbeiten und außerdem Leistungstests für sein Gerät durchführen kann.
Registerkarte „CPU/GPU-Konfiguration“
In dieser Registerkarte können Sie konfigurieren, wie OghmaNano mit der GPU und CPU interagiert. Die Details dazu finden Sie in der Tabelle unten. Wie in anderen Abschnitten dieser Anleitung ausführlich beschrieben, besteht OghmaNano aus zwei Teilen: oghma_core.exe, das den Rechenkern darstellt, und oghma_gui.exe, das die grafische Benutzeroberfläche bildet. Hier können Sie das Verhalten beider Teile des Modells detailliert einstellen.
- Anzahl der vom Backend verwendeten Threads: Dies ist die maximale Anzahl an Threads, die OghmaNano oghma_core.exe verwenden kann. Dies bestimmt die Anzahl der gleichzeitig durchgeführten Anpassungen, die maximale Anzahl der gleichzeitig durchgeführten Optimierungssimulationen, die maximale Anzahl der für FDTD-Simulationen verwendeten Threads, die maximale Anzahl der gleichzeitig generierten DoS-Cache-Dateien sowie die Anzahl der gleichzeitig durchgeführten Frequenzbereichspunkte.
- Maximale Anzahl von Kerneinheiten: Hier wird die maximale Anzahl von oghma_core.exe-Einheiten festgelegt, die über die grafische Benutzeroberfläche gestartet werden können. Wenn ein Parameterscan durchgeführt wird, bestimmt diese Einstellung die maximale Anzahl gleichzeitiger Simulationen, die gleichzeitig ausgeführt werden können. Wenn der Wert für „Anzahl der vom Backend verwendeten Threads“ auf 4 gesetzt ist und eine FDTD-Simulation durchgeführt wird, und die „Maximale Anzahl von Kerneinheiten“ auf 8 eingestellt wird, startet die grafische Benutzeroberfläche 8 Instanzen von oghma_core.exe, wobei jede Instanz 4 Threads verwendet. Dies bedeutet, dass insgesamt 32 CPU-Kerne benötigt werden.
- Ausführungszeit: Wenn OghmaNano auf einem Supercomputer ohne Aufsicht ausgeführt wird, kann es manchmal passieren, dass die Ausführung stoppt, möglicherweise aufgrund eines Ein-/Ausgabefehlers oder eines Netzwerkfehlers. Mit dieser Option kann die maximale Länge einer einzelnen Simulation festgelegt werden. Mit „einziger Simulation“ meine ich eine einzelne Strom-Spannungs-Kennlinie, eine einzelne Simulation im Zeitbereich oder eine einzelne Simulation im Frequenzbereich, aber nicht eine vollständige Anpassung, die die Ausführung von Tausenden einzelner Simulationen umfasst. Wenn beispielsweise eine einzelne Strom-Spannungs-Simulation länger als 2000 Sekunden dauert, wird der Solver bei einem Wert von 2000 Sekunden beendet. In der Realität sollte jede einzelne Simulation nur wenige Sekunden dauern, daher dient diese Option als eine Art Sicherheitsmechanismus, falls etwas schiefgelaufen ist.
- Maximale Ausführungszeit: Dies ist die maximale Zeit, die oghma_core.exe im Speicher verbleiben darf. Wenn eine Simulation oder eine Anpassung länger als diesen Wert dauert, wird sie abgebrochen. Dies dient als zusätzliche Sicherheitsmaßnahme, um zu verhindern, dass Simulationen unendlich lange laufen. Der Standardwert beträgt 4 Tage.
- CPUs mit Stahlgehäuse: Manchmal kann es vorkommen, dass beim Ausführen von OghmaNano auf einem gemeinsam genutzten PC eine Simulation gestartet wird, während ein anderer Benutzer eine beträchtliche Anzahl von Prozessorkernen nutzt. Nach einiger Zeit werden die Simulationen des anderen Benutzers abgeschlossen, wodurch der Computer mit inaktiv geschalteten CPUs zurückbleibt. Wenn diese Option auf „Wahr“ gesetzt ist, überwacht OghmaNano die Anzahl der verfügbaren CPUs und nutzt diese, sobald mehr verfügbar werden.
- Min. CPUs: In Verbindung mit der oben genannten Option „Steel CPUs“ wird die Mindestanzahl der CPUs festgelegt, die verwendet werden sollen.
- DoS-Daten auf der Festplatte speichern: OghmaNano speichert Nachschlagetabellen auf der Festplatte, um Simulationen zu beschleunigen. Wenn diese Option auf „Falsch“ gesetzt ist, werden diese Nachschlagetabellen nicht gespeichert.
- OpenCL-GPU-Beschleunigung: Diese Funktion aktiviert oder deaktiviert die GPU-Beschleunigung, die hauptsächlich während der FDTD-Simulationen verwendet wird.
- GPU-Name: Wählt die zu verwendende GPU aus.
Newton-Cache
Wenn Simulationen mit einer großen Anzahl von gewöhnlichen Differentialgleichungen (ODEs) durchgeführt werden, beispielsweise bei eindimensionalen Bauelementen mit vielen Fallenstellen und vielen räumlichen Punkten, oder wenn zweidimensionale OFET-Simulationen ausgeführt werden, kann jeder Spannungsschritt eine gewisse Zeit in Anspruch nehmen. Dies liegt daran, dass der Solver jeden Spannungsschritt mithilfe der Newton-Methode lösen muss, bis er konvergiert. Für jeden Solver-Schritt muss die Jacobi-Matrix erstellt, die Matrix invertiert, mit den Residuen multipliziert und die Aktualisierungen aller Solver-Variablen berechnet werden. Dies kann pro Schritt eine beträchtliche Zeit in Anspruch nehmen (2000 ms). Eine Möglichkeit, dieses Problem zu umgehen, besteht darin, zuvor berechnete Ergebnisse auf der Festplatte zu speichern und dann, wenn der Benutzer den Solver auffordert, ein bereits berechnetes Problem zu lösen, das Ergebnis aus dem Speicher abzurufen, anstatt es neu zu berechnen. Dies ist besonders nützlich beim OLED-Design, bei dem man versucht, die optische Struktur des Bauelements zu optimieren, die elektrische Struktur jedoch unverändert lässt. Man kann neue optische Simulationen mit bereits vorab berechneten elektrischen Lösungen durchführen. Die Konfigurationsoptionen werden in der Tabelle unten angezeigt.
Die Verwendung des Newton-Cache ist mit einem gewissen Mehraufwand verbunden, daher würde ich ihn nur dann empfehlen, wenn die Lösung des elektrischen Problems sehr lange dauert. Technisch gesehen funktioniert der Newton-Cache, indem er die MD5-Summe der Fermi-Niveaus und der Potentiale berechnet, um einen Hashwert für das elektrische Problem zu generieren. Dieser wird dann mit den auf der Festplatte vorhandenen Daten verglichen. Wenn eine vorab berechnete Lösung gefunden wird, werden die Fermi-Niveaus/Potentiale mit den auf der Festplatte gefundenen Werten aktualisiert. Der Cache wird in oghma_local gespeichert, wobei jede vorab gelöste Lösung als neue Binärdatei gespeichert wird. Bei jeder Simulationsdurchführung wird eine Indexdatei erstellt, in der alle MD5-Summen dieser Simulation gespeichert werden. Sobald der Cache voll ist, löscht OghmaNano Simulationsergebnisse in Batches, basierend auf den Indexdateien.
- Maximale Cache-Größe: Legt die maximale Größe des Caches in MB fest. Ich würde etwa 1 GB empfehlen.
- Mindestfreier Speicherplatz: Legt die minimale Menge an freiem Speicherplatz fest, die für die Nutzung des Caches erforderlich ist. Diese Option dient dazu, zu verhindern, dass der Cache den gesamten Speicherplatz belegt. Ich würde empfehlen, diesen Wert auf etwa 5 GB einzustellen.
- Anzahl der zu speichernden Simulationen: Hier wird die maximale Anzahl der Simulationsdurchläufe festgelegt, die gespeichert werden sollen. Ich würde empfehlen, einen Wert zwischen 20 und 100 einzustellen.
- Cache aktivieren: Mit dieser Option wird der Newton-Cache aktiviert oder deaktiviert. Die Standardeinstellung und die empfohlene Option ist „Aus“ (False).
Hardware-Benchmark
In der oberen linken Ecke des Hardware-Fensters (??) befindet sich eine Schaltfläche mit der Bezeichnung „Hardware-Benchmark“. Wenn diese angeklickt wird, führt OghmaNano einen Hardware-Benchmark durch. Das Ergebnis dieses Benchmarks kann in (??) eingesehen werden. Dabei werden Benchmarks durchgeführt, um die Fähigkeit Ihrer CPU zu testen, Sinus- und Exponentialfunktionen zu berechnen sowie Speicher in Blöcken zuzuweisen und freizugeben. Es wird angezeigt, wie lange es dauert, einige tausend Operationen durchzuführen, sowie ein R-Wert (auch bekannt als Roderick-Wert). Dieser ist definiert als R = Zeit, die für die Berechnung auf Ihrem PC benötigt wird / Zeit, die für die Berechnung auf meinem PC benötigt wird. Daher bedeuten kleinere Werte, dass Ihr PC schneller ist als meiner. Mein PC ist ein Intel(R) Core(TM) i7-4900MQ-Prozessor mit 2,80 GHz in einem Lenovo Thinkpad aus dem Jahr 2017. Daher sollten die meisten modernen Computer schneller sein. Wenn Sie eine gute CPU-Leistung haben, Ihre Simulationen aber langsamer laufen als meine YouTube-Videos, liegt dies in der Regel an einer schlechten E/A-Geschwindigkeit, die durch Virenscanner, die Speicherung der Simulationen auf OneDrive, die Verwendung von Netzwerk-Laufwerken oder die Verwendung langsamer USB-Speicher verursacht wird.