خانه نمونه‌ها اسکرین‌شات‌ها راهنمای کاربر لوگوی Bluesky YouTube
OghmaNano شبیه‌سازی سلول‌های خورشیدی آلی/پروسکایتی، OFETها و OLEDها دانلود

ویرایشگر سخت‌افزار

نوار سخت‌افزار OghmaNano که دکمه ویرایشگر سخت‌افزار را نشان می‌دهد
باز کردن ویرایشگر سخت‌افزار.

تمام برنامه‌های رایانه‌ای از جمله OghmaNano روی سخت‌افزار محاسباتی فیزیکی اجرا می‌شوند. ترکیب‌های زیادی از سخت‌افزار وجود دارد که می‌توانند در هر رایانه‌ای باشند، بعضی رایانه‌ها تعداد زیادی هسته CPU دارند در حالی که برخی دیگر فقط یک هسته دارند. به همین ترتیب رایانه‌ها با مقادیر متفاوتی از حافظه، فضای دیسک سخت و GPU عرضه می‌شوند. برای کمک به کاربر جهت بهره‌برداری بهتر از OghmaNano، یک ویرایشگر سخت‌افزار وجود دارد که در آن کاربر می‌تواند پیکربندی کند OghmaNano روی هر رایانه مشخص چگونه رفتار کند. می‌توان از طریق پنجره زبانه شبیه‌سازی به آن دسترسی داشت (??).

اگر روی آن کلیک کنید، پنجره ویرایشگر سخت‌افزار باز خواهد شد (??).

پنجره سخت‌افزار از زبانه‌های مختلفی تشکیل شده است که به کاربر امکان می‌دهند پیکربندی را ویرایش کند و همچنین دستگاه شما را benchmark کند.

زبانه پیکربندی CPU/GPU

پنجره ویرایشگر سخت‌افزار OghmaNano
پنجره ویرایشگر سخت‌افزار

از این زبانه برای پیکربندی نحوه تعامل OghmaNano با GPU و CPU استفاده می‌شود و در جدول زیر توصیف شده است. همان‌طور که در بخش‌های دیگر این راهنما با جزئیات توضیح داده شده، OghmaNano دو بخش دارد: oghma_core.exe که بخش پشتیبان محاسباتی است و oghma_gui.exe که رابط کاربری گرافیکی است، رفتار هر دوی این بخش‌های مدل را می‌توان در اینجا به‌صورت دقیق تنظیم کرد.

Newton cache

پنجره ویرایشگر Newton cache در OghmaNano
ویرایشگر Newton cache

هنگام اجرای شبیه‌سازی‌هایی با تعداد قابل‌توجهی ODE، مانند دستگاه‌های 1D با تعداد زیادی حالت تله و تعداد زیادی نقاط فضایی، یا هنگام اجرای شبیه‌سازی‌های OFET دوبعدی، هر گام ولتاژ می‌تواند مدتی طول بکشد تا محاسبه شود. این به این دلیل است که حل‌گر باید هر گام ولتاژ را با استفاده از روش نیوتن حل کند تا همگرا شود. برای هر گام حل‌گر ژاکوبین باید ساخته شود، ماتریس معکوس شده در residualها ضرب شود و به‌روزرسانی همه متغیرهای حل‌گر محاسبه شود. این می‌تواند برای هر گام زمان قابل‌توجهی بگیرد (2000ms). یک رویکرد برای دور زدن این رویکرد این است که پاسخ‌های قبلاً محاسبه‌شده روی دیسک ذخیره شوند و سپس وقتی کاربر از حل‌گر بخواهد یک مسئله از قبل محاسبه‌شده را محاسبه کند، پاسخ به‌جای محاسبه مجدد فراخوانی شود. این در طراحی OLED بسیار مفید است، جایی که فرد تلاش می‌کند ساختار نوری دستگاه را بهینه کند اما ساختار الکتریکی را بدون تغییر باقی می‌گذارد. در این صورت می‌توان شبیه‌سازی‌های نوری جدید را با راه‌حل‌های الکتریکی از قبل محاسبه‌شده اجرا کرد. گزینه‌های پیکربندی در جدول زیر نمایش داده شده‌اند.

استفاده از Newton Cache دارای سربار است، بنابراین فقط وقتی آن را توصیه می‌کنم که حل مسئله الکتریکی واقعاً بسیار کند باشد. از نظر فنی Newton cache با گرفتن مجموع MD5 از ترازهای فرمی و پتانسیل‌ها کار می‌کند تا یک hash از مسئله الکتریکی تولید کند. سپس این مقدار با آنچه روی دیسک وجود دارد مقایسه می‌شود. اگر یک پاسخ از پیش محاسبه‌شده پیدا شود، ترازهای فرمی/پتانسیل‌ها به مقادیر موجود روی دیسک به‌روزرسانی می‌شوند. cache در oghma_local cache ذخیره می‌شود، هر راه‌حل از پیش حل‌شده به‌صورت یک فایل باینری جدید ذخیره می‌شود. هر اجرای شبیه‌سازی یک فایل index تولید می‌کند که همه مجموع‌های MD5 مربوط به آن شبیه‌سازی در آن ذخیره می‌شوند. وقتی cache پر شود OghmaNano نتایج شبیه‌سازی را به‌صورت دسته‌ای بر اساس فایل‌های index حذف می‌کند.

benchmark سخت‌افزار

پنجره نتایج benchmark سخت‌افزار OghmaNano
اجرای benchmark سخت‌افزار

در بالا-چپ پنجره سخت‌افزار (??) دکمه‌ای به نام benchmark سخت‌افزار وجود دارد. اگر روی آن کلیک شود، OghmaNano سخت‌افزار شما را benchmark خواهد کرد، نتیجه چنین benchmarkی را می‌توان در (??) دید. این کار توانایی CPUهای شما را برای محاسبه sin،exp و تخصیص/آزادسازی حافظه در بلوک‌ها benchmark می‌کند. این بخش نشان می‌دهد انجام چند هزار عملیات چقدر طول کشیده است و همچنین یک مقدار R (یا Roderick) را نمایش می‌دهد. این مقدار به‌صورت R=زمان لازم برای انجام محاسبه روی رایانه شما/زمان لازم برای انجام محاسبه روی رایانه من تعریف می‌شود. بنابراین مقادیر کوچک‌تر یعنی رایانه شما از رایانه من سریع‌تر است. رایانه من یک Intel(R) Core(TM) i7-4900MQ CPU @ 2.80GHz در یک Lenovo thinkpad مدل 2017 است. بنابراین بیشتر رایانه‌های مدرن باید سریع‌تر باشند. اگر عملکرد CPU شما خوب است اما شبیه‌سازی‌هایتان کندتر از ویدئوهای YouTube من اجرا می‌شوند، این تقریباً همیشه به دلیل سرعت بد IO است که ناشی از آنتی‌ویروس‌ها، ذخیره شبیه‌سازی‌ها روی OneDrive، استفاده از درایوهای شبکه‌ای، استفاده از حافظه USB کند و غیره است.