int LDSBandwidth::genBinaryImage() { bifData binaryData; binaryData.kernelName = std::string("LDSBandwidth_Kernels.cl"); // Pass vectorSize as DATATYPE to kernel char buildOption[64]; if(vectorSize == 1) { sprintf(buildOption, "-D DATATYPE=float "); } else { sprintf(buildOption, "-D DATATYPE=float%d ", vec3 == true ? 3 : vectorSize); } binaryData.flagsStr = std::string(buildOption); if(sampleArgs->isComplierFlagsSpecified()) { binaryData.flagsFileName = std::string(sampleArgs->flags.c_str()); } binaryData.binaryName = std::string(sampleArgs->dumpBinary.c_str()); int status = generateBinaryImage(binaryData); return status; }
int AtomicCounters::genBinaryImage() { bifData binaryData; binaryData.kernelName = std::string("AtomicCounters_Kernels.cl"); binaryData.flagsStr = std::string(""); if (sampleArgs->isComplierFlagsSpecified()) { binaryData.flagsFileName = std::string(sampleArgs->flags.c_str()); } binaryData.binaryName = std::string(sampleArgs->dumpBinary.c_str()); int status = generateBinaryImage(binaryData); return status; }
/** * genBinary Image function is used to when we want to create the binary * for the kernel and run it at a later time. This is useful where offline * compilation is the preferred mechanism. */ int MersenneTwister::genBinaryImage() { bifData binaryData; binaryData.kernelName = std::string("MersenneTwister_Kernels.cl"); binaryData.flagsStr = std::string("-x clc++ "); if(sampleArgs->isComplierFlagsSpecified()) { binaryData.flagsFileName = std::string(sampleArgs->flags.c_str()); } binaryData.binaryName = std::string(sampleArgs->dumpBinary.c_str()); int status = generateBinaryImage(binaryData); return status; }