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

Function initSubDimInfo

src/library/tools/tune/subdim.c:667–750  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

665}
666
667void
668initSubDimInfo(SubDimInfo* sd,
669 MemoryPattern* mempatt,
670 DeviceInfo* devinfo,
671 unsigned int func,
672 unsigned int patt,
673 DataType dtype,
674 KernelExtraFlags flag)
675{
676 int i = 0;
677
678 memset(sd, 0, sizeof(SubDimInfo));
679
680 sd->func = func;
681 sd->patt = patt;
682 sd->dtype = dtype;
683 sd->flag = flag;
684 sd->pattern = mempatt;
685 sd->first = NULL;
686
687 sd->is2D = (sd->pattern->sops->getFlags() & SF_WSPACE_2D)?true:false;
688 sd->isSquareBlock = ((sd->pattern->sops->getFlags() &
689 SF_TOP_INPUT_SQUARE_BLOCKS) != 0);
690 sd->blasLevel = funcBlasLevel(sd->func);
691 sd->nrLevel = sd->pattern->nrLevels;
692
693 sd->ldsSize = devinfo->ldsSize;
694 sd->workGroupSizes = devinfo->workGroupSizes;
695
696 // Virtual function
697 sd->isValid = isSubDimValid;
698 sd->init = initVector;
699
700 resetSubdim(sd);
701
702 i = 0;
703 do {
704 i++;
705 } while (nextSubdimElem(sd));
706 sd->allVariant = malloc(i* sizeof(Variant));
707
708 resetSubdim(sd);
709 sd->varCount = i;
710
711 for (i = 0; i < sd->varCount; ++i) {
712 int j;
713 int gpx;
714 int gpy;
715
716 for(j = 0; j < V_COUNT; ++j) {
717 sd->allVariant[i].var[j] = sd->var[j].curId;
718 }
719
720 sd->allVariant[i].minTime = 0.0;
721 sd->allVariant[i].probableTime = 0.0;
722 sd->allVariant[i].maxTime = 5000.0;
723 sd->allVariant[i].weight = 10;
724 sd->allVariant[i].time = 0;

Callers 1

tune.cFile · 0.85

Calls 5

funcBlasLevelFunction · 0.85
resetSubdimFunction · 0.85
nextSubdimElemFunction · 0.85
getFunction · 0.85
setGroupFunction · 0.85

Tested by

no test coverage detected