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

Method prepare

src/tests/performance/perf-spmv.cpp:194–212  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

192}
193
194template <typename ElemType> int
195SpmvPerformanceTest<ElemType>::prepare(void)
196{
197 size_t lenX, N, lenY;
198 N = params_.N;
199 lenX = 1 + (N-1) * abs(params_.incx);
200 lenY = 1 + (N-1) * abs(params_.incy);
201
202 randomSpmvMatrices(params_.order, params_.uplo, N, true, &alpha, (AP_ + params_.offA),
203 (X_ + params_.offBX), params_.incx, true, &beta, (Y_ + params_.offCY), params_.incy);
204
205 memcpy(backY_, Y_, (lenY+ params_.offCY )* sizeof(ElemType));
206
207 mobjAP_ = base_->createEnqueueBuffer(AP_, (((params_.N * (params_.N + 1)) / 2 ) + params_.offA)* sizeof(*AP_), 0, CL_MEM_READ_ONLY);
208 mobjX_ = base_->createEnqueueBuffer(X_, (lenX + params_.offBX )* sizeof(*X_), 0, CL_MEM_READ_ONLY);
209 mobjY_ = base_->createEnqueueBuffer(Y_, (lenY + params_.offCY )* sizeof(*Y_), 0, CL_MEM_READ_WRITE);
210
211 return ( (mobjAP_ != NULL) && (mobjX_ != NULL) && (mobjY_ != NULL) ) ? 0 : -1;
212}
213
214template <typename ElemType> nano_time_t
215SpmvPerformanceTest<ElemType>::etalonPerfSingle(void)

Callers

nothing calls this directly

Calls 2

randomSpmvMatricesFunction · 0.85
createEnqueueBufferMethod · 0.80

Tested by

no test coverage detected