MCPcopy Create free account
hub / github.com/clMathLibraries/clBLAS / etalonPerfSingle

Method etalonPerfSingle

src/tests/performance/perf-tbmv.cpp:200–237  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

198}
199
200template <typename ElemType> nano_time_t
201TbmvPerformanceTest<ElemType>::etalonPerfSingle(void)
202{
203 nano_time_t time = 0;
204 clblasOrder fOrder;
205 clblasTranspose fTrans;
206 clblasUplo fUplo;
207 size_t lda, lenA, lenX;
208
209 lenA = params_.N * params_.lda;
210 lenX = (params_.N - 1)* params_.incx + 1 + params_.offBX;
211
212 memcpy(X_, backX_, lenX * sizeof(ElemType));
213 fOrder = params_.order;
214 fTrans = params_.transA;
215 fUplo = params_.uplo;
216 lda = params_.lda;
217
218 if (fOrder != clblasColumnMajor)
219 {
220 fOrder = clblasColumnMajor;
221 fTrans = (params_.transA == clblasNoTrans)? clblasTrans : clblasNoTrans;
222 fUplo = (params_.uplo == clblasLower)? clblasUpper : clblasLower;
223
224 if( params_.transA == clblasConjTrans )
225 doConjugate( (A_+params_.offA), 1, lenA, lda );
226 }
227
228#ifdef PERF_TEST_WITH_ACML
229
230 time = getCurrentTime();
231 clMath::blas::tbmv(fOrder, fUplo, fTrans, params_.diag, params_.N, params_.K, A_, params_.offA, lda, X_, params_.offBX, params_.incx);
232 time = getCurrentTime() - time;
233
234#endif // PERF_TEST_WITH_ACML
235
236 return time;
237}
238
239
240template <typename ElemType> nano_time_t

Callers

nothing calls this directly

Calls 2

doConjugateFunction · 0.85
getCurrentTimeFunction · 0.50

Tested by

no test coverage detected