Início Exemplos Capturas de ecrã Manual do utilizador Logótipo Bluesky YouTube
OghmaNano Simular células solares orgânicas/Perovskita, OFETs e OLEDs DESCARREGAR

Editor de hardware

OghmaNano hardware ribbon showing the Hardware editor button
Abrindo o editor de hardware.

Todos os programas de computador, incluindo o OghmaNano, são executados em hardware físico de computação. Existem muitas combinações de hardware que podem estar em qualquer computador; alguns computadores têm um grande número de núcleos de CPU, enquanto outros têm apenas um. Da mesma forma, os computadores vêm com diferentes quantidades de memória, espaço em disco rígido e GPUs. Para ajudar o usuário a obter o melhor do OghmaNano, existe um editor de hardware no qual o usuário pode configurar como o OghmaNano se comporta em um determinado computador. Isso pode ser acessado por meio da janela da aba de simulação (??).

Se você clicar nisso, a janela do editor de hardware será exibida (??).

A janela de hardware é composta por várias abas que permitem ao usuário editar a configuração e também fazer benchmark do seu dispositivo.

Aba de configuração CPU/GPU

OghmaNano hardware editor window
A janela do editor de hardware

Esta aba é usada para configurar como o OghmaNano interage com a GPU e a CPU; ela é descrita na tabela abaixo. Como descrito em outras partes deste manual em detalhe, há duas partes no OghmaNano: existe o oghma_core.exe, que é o back end computacional, e existe o oghma_gui.exe, que é a interface gráfica do usuário; como ambas essas partes do modelo se comportam pode ser ajustado aqui.

Cache de Newton

OghmaNano Newton cache editor window
O editor do cache de Newton

Ao executar simulações com um número significativo de ODEs, como dispositivos 1D com muitos estados de armadilha e muitos pontos espaciais, ou ao executar simulações OFET 2D, cada passo de tensão pode levar algum tempo para ser calculado. Isso acontece porque o solver deve resolver cada passo de tensão usando o método de Newton até convergir. Para cada passo do solver, o Jacobiano deve ser construído, a matriz invertida multiplicada pelos resíduos e as atualizações de todas as variáveis do solver calculadas. Isso pode levar uma quantidade significativa de tempo por passo (2000ms). Uma abordagem para contornar isso é armazenar respostas previamente calculadas em disco e então, quando o usuário pedir ao solver para calcular um problema já calculado, a resposta pode ser recuperada em vez de recalculada. Isso é muito útil no design de OLEDs, onde se está tentando otimizar a estrutura óptica do dispositivo, mas deixando a estrutura elétrica inalterada. Pode-se executar novas simulações ópticas com soluções elétricas já pré-calculadas. As opções de configuração são exibidas na tabela abaixo.

Existe um overhead ao usar o Cache de Newton, então eu só o recomendaria quando resolver o problema elétrico for realmente muito lento. Tecnicamente, o cache de Newton funciona tirando a soma MD5 dos níveis de Fermi e dos potenciais para gerar um hash do problema elétrico. Isso é então comparado ao que existe em disco. Se uma resposta pré-calculada for encontrada, os níveis de Fermi/potenciais são atualizados para os valores encontrados em disco. O cache é armazenado em oghma_local cache; cada solução pré-resolvida é armazenada como um novo arquivo binário. Cada execução de simulação gera um arquivo de índice onde todas as somas MD5 dessa simulação são armazenadas. Quando o cache fica cheio, o OghmaNano apaga resultados de simulação em lotes com base nos arquivos de índice.

Benchmark de hardware

OghmaNano hardware benchmark results window
Executando um benchmark de hardware

No canto superior esquerdo da janela de hardware (??) há um botão chamado Hardware benchmark. Se ele for clicado, então o OghmaNano fará benchmark do seu hardware; o resultado de tal benchmark pode ser visto em (??). Isso executa benchmarks da capacidade das suas CPUs de calcular sin,exp e alocar/desalocar memória em blocos. Ele exibe quanto tempo levou para fazer alguns milhares de operações, bem como um valor R (também conhecido como valor Roderick). Isso é definido como R=Tempo gasto para fazer o cálculo no seu PC/Tempo gasto para fazer o cálculo no meu PC. Assim, valores menores significam que seu PC é mais rápido que o meu. Meu PC é um Intel(R) Core(TM) i7-4900MQ CPU @ 2.80GHz em um Lenovo thinkpad de 2017. Portanto, a maioria dos computadores modernos deve ser mais rápida. Se você tiver bom desempenho de CPU, mas suas simulações estiverem executando mais lentamente do que nos meus vídeos do YouTube, isso invariavelmente ocorre devido à baixa velocidade de IO, causada por antivírus, armazenamento das simulações no OneDrive, uso de unidades de rede, uso de armazenamento USB lento etc.