else: jit = 0 if (10 < argc): flags = int(sys.argv[10]) else: flags = 0 if (11 < argc): alpha = int(sys.argv[11]) else: alpha = 1 if (12 < argc): beta = int(sys.argv[12]) else: beta = 1 if (13 < argc): mnklist = sorted(libxsmm_utilities.load_mnklist(sys.argv[13:], 0)) else: mnklist = list() template = Template(open(filename, "r").read()) maxmnk = libxsmm_utilities.max_mnk(mnklist, threshold) maxdim = int(maxmnk ** (1.0 / 3.0) + 0.5) avgdim = int(0.5 * maxdim + 0.5) avgm = libxsmm_utilities.median(list(map(lambda mnk: mnk[0], mnklist)), avgdim, False) avgn = libxsmm_utilities.median(list(map(lambda mnk: mnk[1], mnklist)), avgdim, False) avgk = libxsmm_utilities.median(list(map(lambda mnk: mnk[2], mnklist)), avgdim, False) maxm = libxsmm_utilities.max_mnk(mnklist, avgdim, 0) maxn = libxsmm_utilities.max_mnk(mnklist, avgdim, 1) maxk = libxsmm_utilities.max_mnk(mnklist, avgdim, 2) substitute = { \ "LIBXSMM_OFFLOAD_BUILD": ["", "\n#define LIBXSMM_OFFLOAD_BUILD"][0!=offload], \ "ALIGNMENT": alignment, \ "PREFETCH": [-1, prefetch][0<=prefetch], \ "MAX_MNK": maxmnk, \ "MAX_M": [maxdim, maxm][avgm<maxm], \ "MAX_N": [maxdim, maxn][avgn<maxn], \ "MAX_K": [maxdim, maxk][avgk<maxk], \
wrap = int(sys.argv[13]) if (14 < argc): mnklist = sorted(libxsmm_utilities.load_mnklist(sys.argv[14:], 0)) version, branch, realversion = \ libxsmm_utilities.version_branch() major, minor, update, patch = \ libxsmm_utilities.version_numbers(version) if (0 == threshold): threshold = 64 * 64 * 64 maxmnk = libxsmm_utilities.max_mnk(mnklist, threshold) maxdim = int(maxmnk ** (1.0 / 3.0) + 0.5) avgdim = int(0.5 * maxdim + 0.5) avgm = libxsmm_utilities.median( list(map(lambda mnk: mnk[0], mnklist)), avgdim, False) avgn = libxsmm_utilities.median( list(map(lambda mnk: mnk[1], mnklist)), avgdim, False) avgk = libxsmm_utilities.median( list(map(lambda mnk: mnk[2], mnklist)), avgdim, False) maxm = libxsmm_utilities.max_mnk(mnklist, avgdim, 0) maxn = libxsmm_utilities.max_mnk(mnklist, avgdim, 1) maxk = libxsmm_utilities.max_mnk(mnklist, avgdim, 2) substitute = { "VERSION": realversion, "BRANCH": branch, "MAJOR": major, "MINOR": minor, "UPDATE": update,