Beispiel #1
0
 def loops(self) -> List[OP.Loop]:
     loops = flattern(program.loops for program in self.programs)
     return uniqueBy(loops, lambda l: l.kernel)
Beispiel #2
0
 def consts(self) -> List[OP.Const]:
     consts = flattern(program.consts for program in self.programs)
     return uniqueBy(consts, lambda c: c.ptr)
Beispiel #3
0
 def indirectIdxs(self) -> List[Arg]:
   return uniqueBy(self.indirects, lambda a: (a.map, a.idx))
Beispiel #4
0
 def indirectMaps(self) -> List[Arg]:
   return uniqueBy(self.indirects, lambda a: a.map)
Beispiel #5
0
 def indirectVars(self) -> List[Arg]:
   return uniqueBy(self.indirects, lambda a: a.var)
Beispiel #6
0
 def uniqueVars(self) -> List[Arg]:
   return uniqueBy(self.args, lambda a: a.var)