SWDEV-451393 - Add kernel execution perf test

Add kernel excution perf test per blockSize and block number.
Implement a solution to roughly evaluate gpu variable
frequency based on clock64() and wall_clock64().

Change-Id: Ic87761a862d4a894fdcaab3431d63fe2592bb682


[ROCm/hip-tests commit: 0a22d14775]
此提交包含在:
taosang2 authored and Rakesh Roy committed 2024-10-23 02:25:07 -04:00
1 父節點 34d13b7ec1
當前提交 6af4dd61e6
3 file changed
+264

No files matched your search

+26
查看文件
@@ -306,3 +306,29 @@ template <typename T> inline bool constexpr isFloat() {
}
return false;
}
template <typename T>
void getStatics(T* data, size_t N, double& mean, double* deviation = nullptr) {
double t = 0;
for (size_t i = 0; i < N; i++)
t += static_cast<double>(data[i]);
mean = t / N;
if (!deviation) return;
double d = 0;
for (size_t i = 0; i < N; i++) {
double delta = data[i] - mean;
d += delta * delta;
}
*deviation = sqrt(d / (N - 1));
}
template <typename T> bool verify(T* data, T* data1, size_t N) {
for (size_t i = 0; i < N; i++) {
if (!isEqual(data[i], data1[i])) {
printf("Difference [ %zu ]:%s ----%s\n", i, getString(data[i]).c_str(),
getString(data1[i]).c_str());
return false;
}
}
return true;
}