private static string GetFullCode() { PermutationGenerator result = new PermutationGenerator(); result.AddApplyTS("fill", "*a = b;"); result.AddApplyTT("copy", "*a = *b;"); return(result.ToString()); }
//private static void AppendTTTTSFunc(PermutationGenerator pg, string kernelBaseName, string func) //{ // pg.AddApplyTTTS("t1_" + kernelBaseName, string.Format("*a = {0}(*a, *b, *c, d);", func)); // pg.AddApplyTTTTS("t2_" + kernelBaseName, string.Format("*a = {0}(*b, *c, *d, e);", func)); //} //private static void AppendTTTTSSFunc(PermutationGenerator pg, string kernelBaseName, string func) //{ // pg.AddApplyTTTSS("t1_" + kernelBaseName, string.Format("*a = {0}(*a, *b, *c, d, e);", func)); // pg.AddApplyTTTTSS("t2_" + kernelBaseName, string.Format("*a = {0}(*b, *c, *d, e, f);", func)); //} //private static void AppendTTTSSFunc(PermutationGenerator pg, string kernelBaseName, string func) //{ // pg.AddApplyTTSS("t1_" + kernelBaseName, string.Format("*a = {0}(*a, *b, c, d);", func)); // pg.AddApplyTTTSS("t2_" + kernelBaseName, string.Format("*a = {0}(*b, *c, d, e);", func)); //} private static void AppendTTTFunc(PermutationGenerator pg, string kernelBaseName, string func) { pg.AddApplyTT("t1_" + kernelBaseName, string.Format("*a = {0}(*a, *b);", func)); pg.AddApplyTTT("t2_" + kernelBaseName, string.Format("*a = {0}(*b, *c);", func)); }
private static void AppendAtomicAdd(PermutationGenerator pg, string kernelBaseName) { pg.AddApplyTT("t1_" + kernelBaseName, "atomicAdd(a, *b);"); }
private static void AppendTTFunc(PermutationGenerator pg, string kernelBaseName, string func) { pg.AddApplyT("t1_" + kernelBaseName, $"*v = {func}(*v);"); pg.AddApplyTT("t2_" + kernelBaseName, $"*a = {func}(*b);"); }