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

Method prepare

src/tests/performance/perf-syr.cpp:179–209  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

177}
178
179template <typename ElemType> int
180SyrPerformanceTest<ElemType>::prepare(void)
181{
182 bool useAlpha = true;
183 size_t lenX = 1 + (params_.N-1) * abs(params_.incx);
184
185 alpha_ = convertMultiplier<ElemType>(params_.alpha);
186/*
187 int creationFlags = 0;
188 creationFlags = creationFlags | RANDOM_INIT;
189
190 // Default is Column-Major
191
192 creationFlags = ( (this-> params_.order) == clblasRowMajor)? (creationFlags | ROW_MAJOR_ORDER) : (creationFlags);
193 creationFlags = ( (this-> params_.uplo) == clblasLower)? (creationFlags | LOWER_HALF_ONLY) : (creationFlags | UPPER_HALF_ONLY);
194 BlasRoutineID BlasFn = CLBLAS_SYR;
195
196 // Matrix A
197 populate( (A_ + params_.offa), params_.N, params_.N, params_.lda, BlasFn, creationFlags);
198 populate( X_ , lenX + params_.offBX, 1, lenX + params_.offBX, BlasFn);
199 */
200
201 randomSyrMatrices( params_.order, params_.uplo, params_.N, useAlpha, &alpha_, A_, params_.lda, X_, params_.incx);
202
203 memcpy(backA_, A_, ((params_.N * params_.lda + params_.offa)* sizeof(ElemType)));
204
205 mobjA_ = base_->createEnqueueBuffer(A_, (params_.N * params_.lda + params_.offa)* sizeof(*A_), 0, CL_MEM_READ_WRITE);
206 mobjX_ = base_->createEnqueueBuffer(X_, (lenX + params_.offBX )* sizeof(*X_), 0, CL_MEM_READ_ONLY);
207
208 return ( (mobjA_ != NULL) && (mobjX_ != NULL) ) ? 0 : -1;
209}
210
211template <typename ElemType> nano_time_t
212SyrPerformanceTest<ElemType>::etalonPerfSingle(void)

Callers

nothing calls this directly

Calls 2

randomSyrMatricesFunction · 0.85
createEnqueueBufferMethod · 0.80

Tested by

no test coverage detected