| 78 | |
| 79 | |
| 80 | class GemmCoord: |
| 81 | def __init__(self, m: int, n: int, k: int): |
| 82 | self._m = m |
| 83 | self._n = n |
| 84 | self._k = k |
| 85 | |
| 86 | @property |
| 87 | def m(self) -> int: |
| 88 | return self._m |
| 89 | |
| 90 | @property |
| 91 | def n(self) -> int: |
| 92 | return self._n |
| 93 | |
| 94 | @property |
| 95 | def k(self) -> int: |
| 96 | return self._k |
| 97 | |
| 98 | @property |
| 99 | def mk(self) -> MatrixCoord: |
| 100 | return MatrixCoord(self._m, self._k) |
| 101 | |
| 102 | @property |
| 103 | def mn(self) -> MatrixCoord: |
| 104 | return MatrixCoord(self._m, self._n) |
| 105 | |
| 106 | @property |
| 107 | def kn(self) -> MatrixCoord: |
| 108 | return MatrixCoord(self._k, self._n) |
| 109 | |
| 110 | @property |
| 111 | def ctype(self) -> GemmCoord_: |
| 112 | return GemmCoord_(self._m, self._n, self._k) |
| 113 | |
| 114 | def batched_ctype(self, batch_count: int) -> GemmCoordBatched_: |
| 115 | return GemmCoordBatched_(self._m, self._n, self._k, batch_count) |
| 116 | |
| 117 | |
| 118 | class Conv2DProblemSize: |
no outgoing calls