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

Function writeKernelSelection

src/library/blas/AutoGemm/KernelSelection.py:623–670  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

621# Main
622################################################################################
623def writeKernelSelection():
624 print("AutoGemm.py: Generating kernel selection.")
625 if not os.path.exists( Common.getIncludePath() ):
626 os.makedirs( Common.getIncludePath() )
627
628 ########################################
629 # kernel selection specific
630 kss = KernelSelectionSpecific()
631
632 # for each precision
633 kernel = KernelParameters.KernelParameters()
634 for precision in AutoGemmParameters.precisions:
635 kernel.precision = precision
636 kss.newPrecision(precision)
637
638 # valid tiles for this precision
639 tiles = AutoGemmParameters.getTilesForPrecision(precision)
640
641 # for non tile parameters
642 for order in AutoGemmParameters.orders:
643 kernel.order = order
644 kss.newOrder(order)
645 for transA in AutoGemmParameters.transposes[precision]:
646 kernel.transA = transA
647 for transB in AutoGemmParameters.transposes[precision]:
648 kernel.transB = transB
649 kss.newTrans(transA, transB)
650 for beta in AutoGemmParameters.betas:
651 kernel.beta = beta
652 kss.newBeta(beta)
653
654 # for tile parameters
655 for tile in tiles:
656 kernel.useTile(tile)
657 kss.newKernel(kernel)
658
659 kss.writeToFile()
660
661 ########################################
662 # kernel selection
663 ks = KernelSelection( \
664 AutoGemmParameters.precisions, \
665 AutoGemmParameters.orders, \
666 AutoGemmParameters.transposes, \
667 AutoGemmParameters.betas, \
668 AutoGemmParameters.unrolls, \
669 AutoGemmParameters.kernelSelectionData )
670 ks.writeToFile()
671
672
673

Callers 1

KernelSelection.pyFile · 0.85

Calls 10

newPrecisionMethod · 0.95
newOrderMethod · 0.95
newTransMethod · 0.95
newBetaMethod · 0.95
useTileMethod · 0.95
newKernelMethod · 0.95
writeToFileMethod · 0.95
writeToFileMethod · 0.95
KernelSelectionClass · 0.85

Tested by

no test coverage detected