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

Function writeOpenCLKernelToFile

src/library/blas/AutoGemm/KernelOpenCL.py:465–487  ·  view source on GitHub ↗
(kernel)

Source from the content-addressed store, hash-verified

463# Write OpenCL kernel to file
464##############################################################################
465def writeOpenCLKernelToFile(kernel):
466 kernelName = kernel.getName()
467 kernelString = makeOpenCLKernelString(kernel)
468 kernelFileName = Common.getKernelSourcePath() + kernelName +"_src.cpp"
469 kernelFile = open(kernelFileName, "w")
470 kernelFile.write( Common.getAutoGemmHeader() )
471 kernelFile.write("#ifndef KERNEL_" + kernelName.upper() + "_SRC_H\n")
472 kernelFile.write("#define KERNEL_" + kernelName.upper() + "_SRC_H\n")
473 kernelFile.write("\n")
474 kernelFile.write("const unsigned int %s_workGroupNumRows = %u;\n" % (kernel.getName(), kernel.workGroupNumRows ) )
475 kernelFile.write("const unsigned int %s_workGroupNumCols = %u;\n" % (kernel.getName(), kernel.workGroupNumCols ) )
476 kernelFile.write("const unsigned int %s_microTileNumRows = %u;\n" % (kernel.getName(), kernel.microTileNumRows ) )
477 kernelFile.write("const unsigned int %s_microTileNumCols = %u;\n" % (kernel.getName(), kernel.microTileNumCols ) )
478 kernelFile.write("const unsigned int %s_unroll = %u;\n" % (kernel.getName(), kernel.unroll) )
479 kernelFile.write("\n")
480 kernelFile.write("const char * const %s_src =\"" % (kernelName) )
481 kernelFile.write(kernelString)
482 kernelFile.write("\";\n")
483 kernelFile.write("\n")
484 kernelFile.write("#else\n")
485 # kernelFile.write("#pragma message(\"AutoGemmKernelSources.cpp: %s was overriden by user kernel.\")\n" % kernel.getName() )
486 kernelFile.write("#endif\n")
487 kernelFile.close()
488
489
490##############################################################################

Callers 2

writeOpenCLKernelsFunction · 0.85
KernelOpenCL.pyFile · 0.85

Calls 3

makeOpenCLKernelStringFunction · 0.85
closeMethod · 0.80
getNameMethod · 0.45

Tested by

no test coverage detected