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

Method prepare

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

Source from the content-addressed store, hash-verified

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