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

Method prepare

src/tests/performance/perf-ger.cpp:197–225  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

195}
196
197template <typename ElemType> int
198GerPerformanceTest<ElemType>::prepare(void)
199{
200 bool useAlpha = base_->useAlpha();
201
202 if (useAlpha) {
203 alpha_ = convertMultiplier<ElemType>(params_.alpha);
204 }
205
206
207 int creationFlags = 0;
208 creationFlags = creationFlags | RANDOM_INIT;
209
210 creationFlags = ( (params_.order) == clblasRowMajor)? (creationFlags | ROW_MAJOR_ORDER) : (creationFlags);
211 BlasRoutineID BlasFn = CLBLAS_GER;
212
213 populate( A_+ params_.offa, params_.M, params_.N, params_.lda, BlasFn, creationFlags);
214 populate( x_, (1 + (params_.M-1) * abs(params_.incx) + params_.offBX), 1, (1 + (params_.M-1) * abs(params_.incx) + params_.offBX), BlasFn, creationFlags );
215 populate( y_, (1 + (params_.N-1) * abs(params_.incy) + params_.offCY), 1, (1 + (params_.N-1) * abs(params_.incy) + params_.offCY), BlasFn, creationFlags );
216
217
218 memcpy(backA_, A_, (lengthA + params_.offa)* sizeof(ElemType));
219
220 mobjA_ = base_->createEnqueueBuffer(A_, (lengthA + params_.offa) * sizeof(*A_), 0, CL_MEM_READ_WRITE);
221 mobjx_ = base_->createEnqueueBuffer(x_, ( (1 + (params_.M-1) * abs(params_.incx) + params_.offBX)) * sizeof(*x_), 0, CL_MEM_READ_WRITE);
222 mobjy_ = base_->createEnqueueBuffer(y_,( (1 + (params_.N-1) * abs(params_.incy) + params_.offCY)) * sizeof(*y_) , 0, CL_MEM_READ_WRITE);
223
224 return ( (mobjA_ != NULL) && (mobjx_ != NULL) && (mobjy_ != NULL) ) ? 0 : -1;
225}
226
227template <typename ElemType> nano_time_t
228GerPerformanceTest<ElemType>::etalonPerfSingle(void)

Callers

nothing calls this directly

Calls 3

populateFunction · 0.85
useAlphaMethod · 0.80
createEnqueueBufferMethod · 0.80

Tested by

no test coverage detected