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

Function selectPattern

src/library/blas/generic/solution_seq_make.c:1233–1271  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1231//-----------------------------------------------------------------------------
1232
1233unsigned int
1234selectPattern( SolutionStep* pStep,
1235 unsigned int maxImages )
1236{
1237 unsigned int i = 0;
1238 int selPatt = -1;
1239 int perf = -1;
1240 int maxPerf = -1;
1241 int funcID = pStep->funcID;
1242 unsigned int kflags = pStep->extraFlags;
1243
1244 if (clblasSolvers[funcID].defaultPattern != -1) {
1245// assert(clblasSolvers[funcID].defaultPattern < clblasSolvers[funcID].nrPatterns);
1246 return clblasSolvers[funcID].defaultPattern;
1247 }
1248
1249 // select best-performing pattern for current case
1250 for( i = 0; i < clblasSolvers[funcID].nrPatterns; i++ ){
1251
1252 if( NULL != clblasSolvers[funcID].memPatterns[i].sops->getPatternPerf ){
1253
1254 perf = clblasSolvers[funcID].memPatterns[i].sops->getPatternPerf(
1255 kflags,
1256 (void*)&pStep->args);
1257
1258 if( perf > maxPerf ){
1259 selPatt = i;
1260 maxPerf = perf;
1261 }
1262 }
1263 // if not all patterns provide performace estimation functions
1264 // use legacy pattern selection
1265 else{
1266 return legacySelectPattern( funcID, maxImages );
1267 }
1268 }
1269
1270 return selPatt;
1271}
1272
1273//-----------------------------------------------------------------------------
1274

Callers 4

tune.cFile · 0.85
skipFlagsFunction · 0.85
findBestPatternFunction · 0.85

Calls 1

legacySelectPatternFunction · 0.85

Tested by

no test coverage detected