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

Method etalonPerfSingle

src/tests/performance/perf-spr.cpp:208–244  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

206}
207
208template <typename ElemType> nano_time_t
209SprPerformanceTest<ElemType>::etalonPerfSingle(void)
210{
211 nano_time_t time = 0;
212 clblasOrder order;
213 clblasUplo fUplo;
214
215#ifndef PERF_TEST_WITH_ROW_MAJOR
216 if (params_.order == clblasRowMajor) {
217 cerr << "Row major order is not allowed" << endl;
218 return NANOTIME_ERR;
219 }
220#endif
221
222 order = params_.order;
223 fUplo = params_.uplo;
224
225#ifdef PERF_TEST_WITH_ACML
226
227 if (order != clblasColumnMajor)
228 {
229 order = clblasColumnMajor;
230 fUplo = (params_.uplo == clblasUpper)? clblasLower : clblasUpper;
231
232 if( params_.transA == clblasConjTrans )
233 doConjugate( (AP_ +params_.offa), (( params_.N * (params_.N + 1)) / 2) , 1, 1 );
234
235 }
236
237 time = getCurrentTime();
238 clMath::blas::spr(order, fUplo, params_.N, alpha_, X_, params_.offBX, params_.incx, AP_, params_.offa);
239 time = getCurrentTime() - time;
240
241#endif // PERF_TEST_WITH_ACML
242
243 return time;
244}
245
246
247template <typename ElemType> nano_time_t

Callers

nothing calls this directly

Calls 2

doConjugateFunction · 0.85
getCurrentTimeFunction · 0.50

Tested by

no test coverage detected