#include <KernelResult.h>
Class which holds aggregate result data from kernel computation such as individual computation results, configuration and status.
| ktt::KernelResult::KernelResult | ( | ) |
Constructor which creates empty invalid kernel result.
|
explicit |
Constructor which creates kernel result for the specified kernel and configuration.
| kernelName | Name of a kernel tied to the result. |
| configuration | Configuration tied to the result. |
| timestamp | Timestamp tied to this kernel run. |
|
explicit |
Constructor which creates kernel result for the specified kernel and configuration. Also fills partial results.
| kernelName | Name of a kernel tied to the result. |
| configuration | Configuration tied to the result. |
| results | Partial results from all kernel definition runs under the kernel launch. |
| timestamp | Timestamp tied to the kernel run. |
| void ktt::KernelResult::CopyProfilingTimes | ( | const KernelResult & | originalResult | ) |
Copy overhead times collected from another KernelResult instance
| originalResult | source of overhead times |
| void ktt::KernelResult::FuseProfilingTimes | ( | const KernelResult & | previousResult, |
| bool | first | ||
| ) |
Fuse overhead times collected from multiple profiling executions
| previousResult | result of the previous run |
| first | sets whether the first instance of the kernel configuration was computed (we need to fuse overhead time, but do not count it as overhead of profiling). |
| Nanoseconds ktt::KernelResult::GetCompilationOverhead | ( | ) | const |
Retrieves duration of kernels compilation.
| Nanoseconds ktt::KernelResult::GetCompilationOverheadFromCompResults | ( | ) | const |
Retrieves total kernel compilation overhead from the partial results.
| const KernelConfiguration & ktt::KernelResult::GetConfiguration | ( | ) | const |
Retrieves kernel configuration tied to the result.
| Nanoseconds ktt::KernelResult::GetDataMovementOverhead | ( | ) | const |
Retrieves duration of buffer transfers (e.g., between host and device memory).
| Nanoseconds ktt::KernelResult::GetExtraDuration | ( | ) | const |
Retrieves duration of a kernel launcher. The duration of buffer transfers performed within the launcher is not included.
| Nanoseconds ktt::KernelResult::GetExtraDurationFirstPass | ( | ) | const |
Retrieves extra duration of a kernel launcher from the first (non-profiling) pass.
| Nanoseconds ktt::KernelResult::GetExtraOverhead | ( | ) | const |
Retrieves duration of buffer transfers (e.g., between host and device memory).
| Nanoseconds ktt::KernelResult::GetFailedKernelOverhead | ( | ) | const |
Retrieves duration of failed (uncompilable) kernel creation.
| Nanoseconds ktt::KernelResult::GetKernelDuration | ( | ) | const |
Retrieves total kernel duration from the partial results.
| const std::string & ktt::KernelResult::GetKernelName | ( | ) | const |
Returns name of a kernel tied to the result.
| Nanoseconds ktt::KernelResult::GetKernelOverhead | ( | ) | const |
Retrieves total kernel overhead.
| Nanoseconds ktt::KernelResult::GetKernelOverheadFirstPass | ( | ) | const |
Retrieves kernel overhead of the first pass under the same configuration.
| Nanoseconds ktt::KernelResult::GetKernelOverheadFromCompResults | ( | ) | const |
Retrieves total kernel overhead from the partial results.
| Nanoseconds ktt::KernelResult::GetPreciseMeasurementOverhead | ( | ) | const |
Retrieves duration of the precise multi-run measurement loop.
| Nanoseconds ktt::KernelResult::GetPreciseMeasurementOverheadFromCompResults | ( | ) | const |
Retrieves the sum of precise multi-run measurement overhead from the partial results.
| Nanoseconds ktt::KernelResult::GetProfilingInfrastructureOverhead | ( | ) | const |
Retrieves duration of CUPTI initialization and data collection, but without data movement and extra duration, for all profiling passes.
| Nanoseconds ktt::KernelResult::GetProfilingOverhead | ( | ) | const |
Retrieves duration of all non-kernel operations performed during collection performance counters (e.g., CUPTI infrastructure and data movements for extra kernel runs) for all profiling runs.
| Nanoseconds ktt::KernelResult::GetProfilingOverheadFromCompResults | ( | ) | const |
Retrieves duration of all non-kernel operations performed during collection performance counters (e.g., data movements for extra kernel runs) from the partial results.
| Nanoseconds ktt::KernelResult::GetProfilingRunsOverhead | ( | ) | const |
Retrieves duration and overhead of kernels executed to collect performance counters.
| Nanoseconds ktt::KernelResult::GetProfilingTotalOverhead | ( | ) | const |
Retrieves duration and overhead of all operations needed to collect performance counters.
| const std::vector< ComputationResult > & ktt::KernelResult::GetResults | ( | ) | const |
Retrieves partial results from computations performed as part of the kernel launch.
| Nanoseconds ktt::KernelResult::GetSearcherOverhead | ( | ) | const |
Retrieves duration of searcher finding the next configuration to run.
| ResultStatus ktt::KernelResult::GetStatus | ( | ) | const |
Retrieves status of the kernel result.
| const std::string & ktt::KernelResult::GetTimestamp | ( | ) | const |
Returns the timestamp corresponding to the kernel run
| Nanoseconds ktt::KernelResult::GetTotalDuration | ( | ) | const |
Retrieves the sum of kernel duration and extra duration.
| Nanoseconds ktt::KernelResult::GetTotalOverhead | ( | ) | const |
Retrieves the sum of kernel overhead, data movement, validation, searcher, precise measurement and profiling related overhead.
| Nanoseconds ktt::KernelResult::GetValidationOverhead | ( | ) | const |
Retrieves duration of kernel output validation.
| bool ktt::KernelResult::HasRemainingProfilingRuns | ( | ) | const |
Checks whether more kernel runs under the corresponding configuration need to be performed before all of the partial results have profiling data with valid information.
| bool ktt::KernelResult::IsValid | ( | ) | const |
Checks whether kernel result is valid. I.e., its status has value Ok.
| void ktt::KernelResult::SetDataMovementOverhead | ( | const Nanoseconds | overhead | ) |
Sets duration of buffer transfers (e.g., between host and device memory).
| overhead | Duration of buffer transfers. |
| void ktt::KernelResult::SetExtraDuration | ( | const Nanoseconds | duration | ) |
Sets duration of a kernel launcher. The duration of buffer transfers performed within the launcher is not included.
| duration | Kernel launcher duration. |
| void ktt::KernelResult::SetExtraOverhead | ( | const Nanoseconds | overhead | ) |
Sets duration of buffer transfers (e.g., between host and device memory).
| overhead | Duration of buffer transfers. |
| void ktt::KernelResult::SetFailedKernelOverhead | ( | const Nanoseconds | overhead | ) |
Sets duration of failed (uncompilable) kernel creation.
| overhead | Duration of KTT/compiler spent on preparation of kernel which cannot be executed. |
| void ktt::KernelResult::SetPreciseMeasurementOverhead | ( | const Nanoseconds | overhead | ) |
Sets duration of the precise multi-run measurement loop.
| overhead | Duration of the precise multi-run measurement loop. |
| void ktt::KernelResult::SetProfilingOverhead | ( | const Nanoseconds | overhead | ) |
Sets time of additional overhead (data movement and extra duration) to collect performance counters.
| overhead | Additional overhead of kernels executed just to collect performance counters. |
| void ktt::KernelResult::SetProfilingRunsOverhead | ( | const Nanoseconds | overhead | ) |
Sets time of kernels executed to collect performance counters.
| overhead | Duration of kernels executed just to collect performance counters. |
| void ktt::KernelResult::SetSearcherOverhead | ( | const Nanoseconds | overhead | ) |
Sets duration of searcher finding the next configuration to run.
| overhead | Duration of searcher finding the next configuration to run. |
| void ktt::KernelResult::SetStatus | ( | const ResultStatus | status | ) |
Sets kernel results status.
| status | Result status. See ResultStatus for more information. |
| void ktt::KernelResult::SetValidationOverhead | ( | const Nanoseconds | overhead | ) |
Sets duration of kernel output validation.
| overhead | Duration of kernel output validation. |
| void ktt::KernelResult::TransferPowerData | ( | const KernelResult & | previousResult | ) |
Transfer power data collected from previous execution
| previousResult | result of the previous run |