Hauptinhalt

Ausführungsgeschwindigkeit

Verbessern der Ausführungsgeschwindigkeit von generiertem Code

Der Codegenerator steigert, wo möglich, die Ausführungsgeschwindigkeit des generierten Codes, indem globale durch lokale Variablen ersetzt, Datenkopien entfernt, die Funktionen memset und memcpy verwendet und die Speicherauslastung durch Datenspeicherung reduziert werden. Sie können die Ausführungsgeschwindigkeit des generierten Codes steigern, indem Sie compiler- und prozessorspezifische Optimierungen implementieren, Buffer-Wiederverwendung festlegen und ggf. nicht benötigten Code entfernen.

Modelleinstellungen

alle erweitern

Optimize using the specified minimum and maximum valuesOptimize using minimum and maximum values for signals and parameters
Simplify array indexingReplace multiply operations in array indices when accessing arrays in a loop
Loop unrolling threshold Specify minimum array size width for generating for loops
Optimize reductionsSingle instruction, multiple data (SIMD) code for reduction operation loops (Seit R2022a)
Use memset to initialize floats and doubles to 0.0Control generation of code that explicitly initializes floating-point data to 0.0
Data type replacementMethod for replacing built-in data type names in generated code (Seit R2023a)
Simulation behavior for denormal numbersOption to emulate hardware handling of denormal numbers
Use floating-point multiplication to handle net slope correctionsNet slope correction computation for floating-point to fixed-point casts
Leverage target hardware instruction set extensionsInstruction sets to generate single instruction, multiple data (SIMD) code (Seit R2021b)
Signal storage reuseReuse signal memory
Optimize global data accessOptimize global variable usage
Optimize block operation order in generated codeSpecify to reorder block operations for improved code execution speed
Loop unrolling threshold Specify minimum array size width for generating for loops
Use memcpy for vector assignmentOptimize code generated for vector assignments
Conditional input branch executionOption to optimize input paths for Switch and Multiport Switch blocks
Dynamic memory allocation in MATLAB functionsOption to use dynamic memory allocation for MATLAB code
Code replacement librariesLibraries that define code optimizations for specific target environment
Generate Halide codeGenerate Halide code for faster array computation (Seit R2023b)

Themen

Grundlagen der Optimierung der Ausführungsgeschwindigkeit

Prozessorspezifische Optimierungen

Optimierungen, die die Ausführungseffizienz verbessern

Optimierungen mithilfe von Halide-Codegenerierung

Enthaltene Beispiele