# automatically generated by the FlatBuffers compiler, do not modify # namespace: CLCache import flatbuffers from flatbuffers.compat import import_numpy np = import_numpy() class BackendInfo(object): __slots__ = ['_tab'] @classmethod def GetRootAs(cls, buf, offset=0): n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset) x = BackendInfo() x.Init(buf, n + offset) return x @classmethod def GetRootAsBackendInfo(cls, buf, offset=0): """This method is deprecated. Please switch to GetRootAs.""" return cls.GetRootAs(buf, offset) # BackendInfo def Init(self, buf, pos): self._tab = flatbuffers.table.Table(buf, pos) # BackendInfo def DeviceName(self): o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4)) if o != 0: return self._tab.String(o + self._tab.Pos) return None # BackendInfo def Programs(self, j): o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6)) if o != 0: x = self._tab.Vector(o) x += flatbuffers.number_types.UOffsetTFlags.py_type(j) * 4 x = self._tab.Indirect(x) from CLCache.Shader import Shader obj = Shader() obj.Init(self._tab.Bytes, x) return obj return None # BackendInfo def ProgramsLength(self): o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6)) if o != 0: return self._tab.VectorLen(o) return 0 # BackendInfo def ProgramsIsNone(self): o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6)) return o == 0 # BackendInfo def Tunings(self, j): o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8)) if o != 0: x = self._tab.Vector(o) x += flatbuffers.number_types.UOffsetTFlags.py_type(j) * 4 x = self._tab.Indirect(x) from CLCache.Autotuning import Autotuning obj = Autotuning() obj.Init(self._tab.Bytes, x) return obj return None # BackendInfo def TuningsLength(self): o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8)) if o != 0: return self._tab.VectorLen(o) return 0 # BackendInfo def TuningsIsNone(self): o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8)) return o == 0 # BackendInfo def Gemm(self, j): o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10)) if o != 0: x = self._tab.Vector(o) x += flatbuffers.number_types.UOffsetTFlags.py_type(j) * 4 x = self._tab.Indirect(x) from CLCache.GemmInfo import GemmInfo obj = GemmInfo() obj.Init(self._tab.Bytes, x) return obj return None # BackendInfo def GemmLength(self): o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10)) if o != 0: return self._tab.VectorLen(o) return 0 # BackendInfo def GemmIsNone(self): o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10)) return o == 0 def BackendInfoStart(builder): builder.StartObject(4) def Start(builder): BackendInfoStart(builder) def BackendInfoAddDeviceName(builder, deviceName): builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(deviceName), 0) def AddDeviceName(builder, deviceName): BackendInfoAddDeviceName(builder, deviceName) def BackendInfoAddPrograms(builder, programs): builder.PrependUOffsetTRelativeSlot(1, flatbuffers.number_types.UOffsetTFlags.py_type(programs), 0) def AddPrograms(builder, programs): BackendInfoAddPrograms(builder, programs) def BackendInfoStartProgramsVector(builder, numElems): return builder.StartVector(4, numElems, 4) def StartProgramsVector(builder, numElems): return BackendInfoStartProgramsVector(builder, numElems) def BackendInfoAddTunings(builder, tunings): builder.PrependUOffsetTRelativeSlot(2, flatbuffers.number_types.UOffsetTFlags.py_type(tunings), 0) def AddTunings(builder, tunings): BackendInfoAddTunings(builder, tunings) def BackendInfoStartTuningsVector(builder, numElems): return builder.StartVector(4, numElems, 4) def StartTuningsVector(builder, numElems): return BackendInfoStartTuningsVector(builder, numElems) def BackendInfoAddGemm(builder, gemm): builder.PrependUOffsetTRelativeSlot(3, flatbuffers.number_types.UOffsetTFlags.py_type(gemm), 0) def AddGemm(builder, gemm): BackendInfoAddGemm(builder, gemm) def BackendInfoStartGemmVector(builder, numElems): return builder.StartVector(4, numElems, 4) def StartGemmVector(builder, numElems): return BackendInfoStartGemmVector(builder, numElems) def BackendInfoEnd(builder): return builder.EndObject() def End(builder): return BackendInfoEnd(builder)