(kernel)
| 463 | # Write OpenCL kernel to file |
| 464 | ############################################################################## |
| 465 | def 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 | ############################################################################## |
no test coverage detected