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

Method prepare

src/tests/performance/perf-gemm.cpp:186–222  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

184}
185
186template <typename ElemType> int
187GemmPerformanceTest<ElemType>::prepare(void)
188{
189 bool useAlpha = base_->useAlpha();
190 bool useBeta = base_->useBeta();
191
192 if (useAlpha) {
193 alpha_ = convertMultiplier<ElemType>(params_.alpha);
194 }
195 if (useBeta) {
196 beta_ = convertMultiplier<ElemType>(params_.beta);
197 }
198
199 randomGemmMatrices<ElemType>(params_.order, params_.transA, params_.transB,
200 params_.M, params_.N, params_.K, useAlpha,
201 &alpha_, A_, params_.lda, B_, params_.ldb,
202 useBeta, &beta_, C_, params_.ldc);
203
204 mobjA_ = base_->createEnqueueBuffer(A_, params_.rowsA * params_.columnsA *
205 sizeof(ElemType),
206 params_.offA * sizeof(ElemType),
207 CL_MEM_READ_ONLY);
208 if (mobjA_) {
209 mobjB_ = base_->createEnqueueBuffer(B_, params_.rowsB * params_.columnsB *
210 sizeof(ElemType),
211 params_.offBX * sizeof(ElemType),
212 CL_MEM_READ_ONLY);
213 }
214 if (mobjB_) {
215 mobjC_ = base_->createEnqueueBuffer(backC_, params_.rowsC * params_.columnsC *
216 sizeof(ElemType),
217 params_.offCY * sizeof(ElemType),
218 CL_MEM_READ_WRITE);
219 }
220
221 return (mobjC_) ? 0 : -1;
222}
223
224template <typename ElemType> nano_time_t
225GemmPerformanceTest<ElemType>::etalonPerfSingle(void)

Callers

nothing calls this directly

Calls 3

useAlphaMethod · 0.80
useBetaMethod · 0.80
createEnqueueBufferMethod · 0.80

Tested by

no test coverage detected