Home Examples Screenshots User manual Bluesky logo YouTube ☰
OghmaNano Multiphysics simulation platform for optoelectronic devices and photonic systems DOWNLOAD Quick Start guide

Éditeur de matériel informatique

OghmaNano hardware ribbon showing the Hardware editor button
Ouverture de l’éditeur de configuration matérielle.

Tous les programmes informatiques, y compris OghmaNano, fonctionnent sur du matériel informatique physique. Il existe de nombreuses combinaisons de matériel qui peuvent être intégrées à n’importe quel ordinateur ; certains ordinateurs disposent d’un grand nombre de cœurs de processeur, tandis que d’autres n’en ont qu’un seul. De même, les ordinateurs sont équipés de différentes quantités de mémoire, d’espace disque et de cartes graphiques. Pour aider l’utilisateur à tirer le meilleur parti d’OghmaNano, un éditeur de matériel est disponible, permettant à l’utilisateur de configurer le comportement d’OghmaNano sur un ordinateur donné. On peut y accéder via la fenêtre de l’onglet « Simulation » (??).

Si vous cliquez ici, la fenêtre de l’éditeur de matériel s’ouvrira (??).

La fenêtre des paramètres matériels est composée de différents onglets qui permettent à l’utilisateur de modifier la configuration et d’effectuer des tests de performance sur son appareil.

Onglet de configuration du processeur (CPU) et de la carte graphique (GPU)

OghmaNano hardware editor window
La fenêtre de l’éditeur de matériel.

Cet onglet permet de configurer la manière dont OghmaNano interagit avec le GPU et le CPU, comme indiqué dans le tableau ci-dessous. Comme décrit plus en détail dans d’autres sections de ce manuel, OghmaNano se compose de deux parties : oghma_core.exe, qui constitue le moteur de calcul, et oghma_gui.exe, qui est l’interface utilisateur graphique. Le comportement de ces deux composantes du modèle peut être ajusté ici.

Mémoire cache de Newton

OghmaNano Newton cache editor window
L’éditeur de cache Newton.

Lorsqu’on effectue des simulations avec un nombre important d’équations différentielles ordinaires (EDO), comme dans le cas de dispositifs unidimensionnels comportant de nombreux états de piégeage et de nombreux points spatiaux, ou lorsqu’on effectue des simulations de transistors à effet de champ organiques bidimensionnels (OFET), chaque étape de tension peut prendre un certain temps à calculer. En effet, le solveur doit résoudre chaque étape de tension en utilisant la méthode de Newton jusqu’à ce qu’il converge. Pour chaque étape du solveur, la matrice jacobienne doit être construite, puis inversée, multipliée par les résidus, et les mises à jour de toutes les variables du solveur doivent être calculées. Cela peut prendre un temps considérable par étape (2000 ms). Une approche pour contourner ce problème consiste à stocker les résultats calculés précédemment sur le disque, puis, lorsque l’utilisateur demande au solveur de calculer un problème déjà calculé, le résultat peut être récupéré plutôt que recalculé. Cette approche est très utile dans la conception d’OLED, où l’on cherche à optimiser la structure optique du dispositif tout en laissant la structure électrique inchangée. On peut ainsi effectuer de nouvelles simulations optiques en utilisant des solutions électriques déjà précalculées. Les options de configuration sont affichées dans le tableau ci-dessous.

L’utilisation de la mémoire cache Newton entraîne un certain coût, c’est pourquoi je ne la recommanderais que lorsque la résolution du problème électrique est particulièrement lente. Sur le plan technique, la mémoire cache Newton fonctionne en calculant la somme MD5 des niveaux de Fermi et des potentiels afin de générer un hachage du problème électrique. Ce hachage est ensuite comparé aux données existantes sur le disque. Si une réponse précalculée est trouvée, les niveaux de Fermi et les potentiels sont mis à jour avec les valeurs trouvées sur le disque. La mémoire cache est stockée dans oghma_local, chaque solution précalculée étant enregistrée sous la forme d’un nouveau fichier binaire. Chaque simulation génère un fichier d’index dans lequel sont stockées toutes les sommes MD5 de cette simulation. Une fois que la mémoire cache est pleine, OghmaNano supprime les résultats des simulations par lots, en se basant sur les fichiers d’index.

Test de performance du matériel

OghmaNano hardware benchmark results window
Exécuter un test de performance pour le matériel.

Dans le coin supérieur gauche de la fenêtre des paramètres matériels (??), il y a un bouton intitulé « Test de performance du matériel ». Si vous cliquez dessus, OghmaNano effectuera un test de performance de votre matériel, et les résultats de ce test seront affichés dans (??). Ce test évalue la capacité de votre processeur à calculer les fonctions sinus et exponentielle, ainsi qu’à allouer et libérer de la mémoire par blocs. Il affiche la durée nécessaire pour effectuer quelques milliers d’opérations, ainsi qu’une valeur R (également appelée valeur de Roderick). Cette valeur est définie comme suit : R = Temps nécessaire pour effectuer le calcul sur votre PC / Temps nécessaire pour effectuer le calcul sur mon PC. Ainsi, des valeurs plus faibles indiquent que votre PC est plus rapide que le mien. Mon PC est un Intel(R) Core(TM) i7-4900MQ à 2,80 GHz, intégré dans un ordinateur portable Lenovo ThinkPad de 2017. Par conséquent, la plupart des ordinateurs modernes devraient être plus rapides. Si vous avez de bonnes performances de processeur, mais que vos simulations s’exécutent plus lentement que mes vidéos YouTube, cela est généralement dû à une vitesse d’entrée/sortie médiocre, causée par des logiciels antivirus, le stockage des simulations sur OneDrive, l’utilisation de lecteurs réseau ou l’utilisation de supports de stockage USB lents, etc.