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

Method etalonPerfSingle

src/tests/performance/perf-tbsv.cpp:202–239  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 2

doConjugateFunction · 0.85
getCurrentTimeFunction · 0.50

Tested by

no test coverage detected