prog = ReadAlphabets("transLecture/transLecture.ab"); system = "fission"; outDir = "out/"+system; AShow(prog); CheckProgram(prog); #PrintAST(prog); # Both statements in the same loop #setSpaceTimeMap(prog, system, "a", "(i->i,0)"); #setSpaceTimeMap(prog, system, "x", "(i->i+1,1)"); #setDimensionType(prog, system, "a,x", 0, "S"); #setDimensionType(prog, system, "a,x", 1, "O"); # Fission setSpaceTimeMap(prog, system, "a", "(i->0,i)"); setSpaceTimeMap(prog, system, "x", "(i->1,i)"); setDimensionType(prog, system, "a,x", 0, "O"); setDimensionType(prog, system, "a,x", 1, "S"); VerifyTargetMapping(prog, system, "MIN"); generateScheduledCode(prog, system, outDir); generateWrapper(prog, system, outDir); generateMakefile(prog, system, outDir); ######################################## system = "stencil1D"; outDir = "out/"+system; AShow(prog); CheckProgram(prog); #PrintAST(prog); # s loop serial and i loop parallel #setSpaceTimeMap(prog, system, "temp", "(s,i->s,i)"); #setSpaceTimeMap(prog, system, "U", "(i->T+1,i)"); #setDimensionType(prog, system, "temp,U", 0, "S"); #setDimensionType(prog, system, "temp,U", 1, "P"); # skewing i loop setSpaceTimeMap(prog, system, "temp", "(s,i->s,i+s)"); setSpaceTimeMap(prog, system, "U", "(i->T+1,i+T+1)"); setDimensionType(prog, system, "temp,U", 0, "S"); setDimensionType(prog, system, "temp,U", 1, "P"); setMemoryMap(prog, system, "temp", "temp", "(t,i->t,i)","2,0"); VerifyTargetMapping(prog, system, "MIN"); generateScheduledCode(prog, system, outDir); generateWrapper(prog, system, outDir); generateMakefile(prog, system, outDir);