Package: soc.sdk
Code execution profiler that collects timing information for generated code
A Profiler object that specifies the code execution
profiler that collects time information for generated code.
creates a profilerObj = soc.sdk.Profiler(name)Profiler object and sets the Name property to
name.
name — Name of profiler configurationName of profiler configuration, specified as a string.
Example: "MyProfiler"
Data Types: string | char
Name — Name of profiler configurationName of Profiler object available to the supported
hardware.
Example: 'MyProfiler'
GetAccess | public |
SetAccess | public |
Data Types: char
SourceFile — Source code file for the profiling function'' (default) | character vectorName of the file that contains the source code of the profiler function. The file specification must include a full path.
Note
The path can include tokens. If a path separator is included as part of the path, it must be valid for all supported host platforms.
Example:
GetAccess | public |
SetAccess | public |
Data Types: char
IncludeFile — Include file for the profiling function'' (default) | character vectorName of the file that contains the declarations for the profiling function.
Note
The path can include tokens. If a path separator is included as part of the path, it must be valid for all supported host platforms.
Example:
GetAccess | public |
SetAccess | public |
Data Types: char
TimerReadFcn — Timer counter function'' (default) | character vectorName of the source code function that returns the profiling timer counter value. You must
implement this function in a source file and specify the source file with property
SourceFile.
Example:
GetAccess | public |
SetAccess | public |
Data Types: char
TimerDataType — Data type of the profiling function'uint32' (default) | character vectorName of the data type of the return value of the profiling function
TimerReadFcn.
Example: 'double'
GetAccess | public |
SetAccess | public |
Data Types: char
TimerTicksPerSecond — Resolution of the profiling function1e9 (default) | non-negative scalar integerThe resolution of the profiling timer in ticks per second.
Example: 5e8
GetAccess | public |
SetAccess | public |
Data Types: double
TimerUpcounting — Denotes if profiling function counts uptrue (default) | falseA flag that denotes whether the profiling function counts up.
Example: true
GetAccess | public |
SetAccess | public |
Data Types: logical
StoreCoreID — Denotes if profiling function stores the core IDtrue (default) | falseThe flag that denotes whether the profiling function stores the ID of the core on which it executes.
Example: true
GetAccess | public |
SetAccess | public |
Data Types: logical
PrintData — Denotes if the profiling function prints datatrue (default) | falseThe flag that denotes whether the profiling function prints the profiling data. The data can be printed only if generated code runs on hardware with a file system, for example Linux®. Otherwise, data is collected in a source code buffer.
Example: true
GetAccess | public |
SetAccess | public |
Data Types: logical
PrintInstantly — Denotes if profiling function prints data instantlytrue (default) | falseA flag that denotes whether the profiling function prints the profiling data instantly.
When set to true, the profile data prints to the standard output as soon as
it is collected. Otherwise, the profile data prints when the generated code terminates.
If the profiling data prints instantly, the amount of data that can be collected is not limited by the profiling buffer size. However, since the data prints as it is collected, executing the print instruction may take some time. This can greatly affect the profiling timing data.
Example: true
GetAccess | public |
SetAccess | public |
Data Types: logical
BufferName — Buffer that holds the profiling data'profilingData' | character vectorThe name of the buffer in the generated code that holds the profiling data.
Example: 'myProfilingDataBuffer'
GetAccess | public |
SetAccess | public |
Data Types: char
DataLength — Size of the buffer that holds the profiling data400 (default) | non-negative scalar integerThe size of the buffer in generated code that holds the profiling data. Once the buffer is full, collection of profiling data stops.
Example: 600
GetAccess | public |
SetAccess | public |
Data Types: double
GetDataFcn — MATLAB® function that retrieves profiling data'' (default) | character vectorThe name of the MATLAB function that retrieves the profiling data from a file or a buffer on hardware and copies the data to the MATLAB host computer.
The source of the retrieval depends on the setting of the PrintData
property. If set to true, the function retrieves the profiler data from a
file. If false, the function retrieves the profiler data from the profiling
buffer in the generated code running on the hardware.
Example: 'myGetDataFcn'
GetAccess | public |
SetAccess | public |
Data Types: char