Instruction Set Extensions

Befehlssatzerweiterungen können verwendet werden, um eine bessere Laufzeit-Performance zu erzielen. Während der Auto-Vektorisierer des Microsoft C++-Compilers den Code bereits optimiert und standardmäßig automatisch SSE2-Code generiert, kann die explizite Verwendung von Befehlssatzerweiterungen durch Intrinsics zu einer besseren Code-Leistung führen.

Unter Verwendung des TE1400 TwinCAT Target for Simulink® können Sie explizit die Nutzung von SSE2-Code fordern. Nutzen Sie dazu die folgenden Eigenschaften des Simulink CodersTM unter Code Generation > Optimization.

Instruction Set Extensions 1:
Instruction Set Extensions 2:

Beispiel in MATLAB® verfügbar

TwinCAT.ModuleGenerator.Samples.Start("Simulink Instruction Set Extensions")

Weitere Informationen zur Code-Performance

Unter Nutzung des Embedded CoderTM von MathWorks® können Sie weitere Optimierungen vornehmen. Um den Embedded CoderTM mit TwinCAT zu nutzen, verwenden Sie das TwinCAT Target for Embedded Coder®. Mit diesem können Sie beispielsweise auch AVX-Kommandos verwenden.

Schöpfen Sie auch die Möglichkeiten der Solver-Einstellungen aus. In der Regel ist ein „discrete“ Solver deutlich performanter als ein Solver höherer Ordnung.