Software … leistungsfähige Tools für Ihre Forschung & Entwicklung!

RP Fiber Power – Simulations- und Designsoftware für Faseroptik, Faserverstärker und Faserlaser

Beschleunigen Sie die Berechnung mit dem Numerical Power Package

RP Fiber Power wurde umfassend und sorgfältig optimiert für hohe Effizienz der Berechnungen und damit für eine schnelle Ausführung der Simulationen. Für die meisten Nutzer ist die Geschwindigkeit der Standardversion vollkommen ausreichend. Die meisten der gelieferten Demo-Skripte können auf einem normalen PC in höchstens ein paar Sekunden ausgeführt werden. Bei den meisten praktischen Anwendungen ist die Rechenzeit überhaupt nicht problematisch, selbst wenn kein besonders schneller Computer verwendet wird.

Fälle mit längeren Rechenzeiten

Es gibt Situationen, in denen komplizierte Simulationen einiges an Rechenzeit benötigen – vor allem in den folgenden Zusammenhängen:

  • Die Propagation ultrakurzer Pulse kann aufwendig zu simulieren sein, z. B. wenn man einen Puls viele Male durch eine Faser propagieren muss oder wenn starke nichtlineare Wechselwirkungen und eine große Bandbreite (gerade bei langen Pulsen) die Anforderungen erhöhen.
  • Numerische Strahlpropagation kann auch aufwendig sein, z. B. in langen Fasern, besonders wenn ein numerisches Gitter mit großer Auflösung benötigt wird.

Ein kleiner Prozentsatz der Nutzer von RP Fiber Power hat Anwendungen, bei denen eine wesentlich höhere Geschwindigkeit sehr wünschenswert ist. Dafür bieten wir seit Mai 2020 (mit moderaten zusätzlichen Kosten) das sogenannte “Numerical Power Package” als Zusatz zu RP Fiber Power an, das die folgenden Vorteile bietet:

  • Sie erhalten in den oben genannten Fällen eine massiv erhöhte Geschwindigkeit – oft mehr als einen Faktor 5, manchmal sogar mehr als einen Faktor 10, vor allem mit einem modernen Prozessor.
  • Ähnliches gilt für bestimmte numerische Funktionen, die in der Skriptsprache genutzt werden können – hauptsächlich betreffend Felder und Matrizen.
  • Sie erhalten ein paar mehr spezielle Funktionen, die Sie in Ihren Skripten nutzen können – für Zwecke wie die Multiplikation oder Inversion von Matrizen.
  • Die Bessel-J-Funktion wird mit höherer Genauigkeit geliefert. Eine weitere Verbesserung ist, dass Bessel-Funktionen dann auch mit komplexen Argumenten berechnet werden können, außerdem auch mit nicht ganzzahliger Ordnung.
  • Dazu bekommen Sie noch die Hankel-Funktionen erster und zweiter Art sowie die zugeordneten Legendrepolynome.

Beachten Sie, dass allgemeine Berechnungen außerhalb der genannten Bereiche durch das Package nicht beschleunigt werden.

Wenn weitere Features dieses Pakets entwickelt werden, erhalten Bestandskunden diese dann über kostenlose Updates.

Wie funktioniert das Numerical Power Package?

RP Fiber Power (in jeder Version seit 05/2020) nutzt nun eine numerische Bibliothek, die normalerweise keinen speziellen DLLs benötigt, solche aber im Zusammenhang mit dem Numerical Power Package nutzen kann. Diese DLLs enthalten Code, der spezielle Prozessor-Befehle (namentlich der Typen SSE3, SSE4, AVX, AVX2 und AVX-512) nutzen kann, die für effiziente numerische “Massenproduktion” entwickelt wurden. Beispielsweise kann ein einziger Prozessorbefehl eine bestimmte mathematische Operation nicht nur auf einen Zahlenwert oder ein paar Werte anwenden, sondern auf große Felder von Zahlenwerten.

Die größten Geschwindigkeitsgewinne resultieren einfach aus einer Erhöhung der Recheneffizienz – bei Verwendung nur eines CPU-Kerns. Manche Funktionen nutzen aber auch Multi-Threading, d. h. die gleichzeitige Nutzung mehrerer Kerne.

Für viele Funktionen verwendet die Software automatisch einen von mehreren Codes, abhängig von den erkannten Funktionen des Prozessors.

Obwohl die genannten Arten von CPU-Befehlen von den meisten Prozessoren (sogar von gewöhnlichen Büro-PCs) schon seit Jahren unterstützt werden, werden sie nur von wenigen Softwarepaketen ausgenutzt, da der Programmcode dafür erheblich angepasst werden muss.

Was brauchen Sie für das Numerical Power Package?

  • Hardware: Ihr Computer muss einen geeigneten Prozessor haben, der zumindest die SSE3-Instruktionen ausführen kann. Dies sollte für praktisch jeden PC gelten, der in den letzten Jahren verkauft wurde – nicht nur für speziell leistungsfähige Computer. Wir haben beispielsweise massive Verbesserung der Geschwindigkeit erzielt mit einem PC, der in 2013 gekauft wurde und einen Prozessor Intel Core-i7 4770 hat. Wir erwarten ähnliche Verbesserungen für Computer mit AMD-Prozessoren, konnten dies allerdings bislang noch nicht testen. Im Zweifelsfall können Sie ein Testprogramm erhalten, mit dem Sie prüfen können, wie groß der Gewinn an Geschwindigkeit auf Ihrem Computer in typischen Situationen ist.
  • Softwarelizenz: Sie benötigen eine Lizenz für RP Fiber Power, die das Numerical Power Package einschließt (oder einen Upgrade, wenn Sie bereits eine Lizenz haben). Das Paket ist nicht nur für die neueste Version (V7) verfügbar; falls Sie eine ältere Version haben und das Upgrade auf die neueste Version für Sie nicht interessant ist, können Sie trotzdem das genannte Paket dafür erhalten. Allerdings sollten Sie zumindest die V5 haben, da sonst Berechnungen mit numerischer Strahlpropagation nicht möglich sind. -Installation: Installieren Sie zunächst die geeignete Version von RP Fiber Power auf Ihrem Computer. Danach müssen Sie noch das Numerical Power Package selbst installieren, das Sie als separates Installationsprogramm (mit deutlich größerem Umfang) erhalten. Letzteres installiert die nötigen DLLs.

Die meisten Software-Updates werden keine Aktualisierung der DLLs benötigen. Sollte dies doch einmal nötig sein, werden Sie das entsprechende Update für das Numerical Power Package von RP Photonics kostenlos dazu bekommen.

Um die massiv erhöhte Geschwindigkeit zu nutzen, brauchen Sie keine Änderungen an ihren Skripten. Lediglich möchten Sie vielleicht die zusätzlich gebotenen Funktionen noch nutzen.

Bemerkungen zur Computer-Hardware

Für eine hohe Geschwindigkeit hilft natürlich auch ein schneller Computer. Der wichtigste Aspekt ist dabei die sogenannte single-thred performance, d. h. die Geschwindigkeit, mit der ein einzelner Thread ausgeführt werden kann. Dies hängt ab von Faktoren wie der Taktgeschwindigkeit (ggf. erhöht mit Hyperthreading); ein großer Prozessor-Cache ist ebenfalls oft sehr günstig.

Wenn Sie einen neuen Computer für maximale Geschwindigkeit kaufen, achten Sie vor allem auf eine CPU, die die AVX-512 extensions unterstützt, da diese mit dem Numerical Power Package eine weitere erhebliche Beschleunigung bringen. Jedoch bekommt man auch schon mit einem Intel Core-i7, der AVX-512 noch nicht unterstützt, eine große Verbesserung. Wir haben erste Anzeichen dafür gesehen, dass AMD-Prozessoren weniger gut ausgenutzt werden als Intel-CPUs – was zu einer niedrigeren Geschwindigkeit mit oder ohne Numerical Power Package führt.

Eine größere Anzahl von CPU-Kernen zu haben, hilft mit der Standardversion nur sehr begrenzt, hilft aber deutlich zumindest in einigen Fällen, wenn Sie das Numerical Power Package haben. Hauptsächlich jedoch helfen mehrere Kerne dadurch, dass Sie gleichzeitig andere Software mit immer noch guter Geschwindigkeit ausführen können.

Hilfreich ist es außerdem, einen genügend großen Hauptspeicher zu haben. Die meisten Simulationen brauchen nicht besonders viel Speicher, aber es gibt Ausnahmen – vor allem Fälle mit numerischer Strahlpropagation, bei denen ein großes numerisches Gitter benötigt wird. Obwohl z. B. 8 GB Hauptspeicher normalerweise völlig ausreichen sollten, ist es in manchen Fällen günstig, noch deutlich mehr zu haben – wobei die Kosten hierfür marginal sind.

Praktisch alle modernen Prozessoren können im 64-bit-Modus laufen, aber nur unter einer 64-bit-Windows-Version. Wir liefern 32-bit-Versionen für Kunden, die immer noch eine 32-bit-Windows-Version verwenden, aber diese können nur ca. 3 GB Hauptspeicher verwenden (selbst wenn wesentlich mehr Speicher installiert ist), und sie sind auch typischerweise ca. 20 % langsamer. Es gibt normalerweise keinen Grund, keine 64-bit-Windows-Version zu verwenden.

Optimierte Ansätze für die Modellierung

Häufig kann man bei Simulationen enorm an Geschwindigkeit gewinnen, indem man den richtigen Ansatz für die Modellierung wählt. Beispielsweise sollte man eine Art von Modell wählen, die zwar alle relevanten physikalischen Effekte beinhaltet, aber keine unnötigen dazu. Auch sollte man immer im Blick behalten, welche Fragen die Modellierung am Ende beantworten soll.

Als Nutzer von RP Fiber Power steht Ihnen kompetenter Support zur Verfügung – auch betreffend solche Fragen. Am besten besprechen Sie solche Aspekte im Zweifelsfall gleich zu Anfang eines Projekts mit Dr. Paschotta.