Repository navigation
Commit dc52634
committed
Typed scalars rework
- Change the behavior of constant-folded strictly typed integer
arithmetic from silent wraparound to raising compile-time error on
overflow.
- Add wrapping_add(), wrapping_sub(), wrapping_mul() for explicit
wraparound arithmetic.
- Make Tile/Scalar/Pointer/Vector concrete classes implemented in C++.
They can represent both strictly typed constants and symbolic values.
- Add cl.OpaqueValue to avoid representing mbarrier etc. as Scalar.
- Remove SymbolicTile etc. in favor of the new classes.
- Add a build step to generate docstrings for C++ implementations from
the comments in cext.pyi.
- Add support for typed scalars inside static_eval().
- Move the implementation of arithmetic ops to C++.
Signed-off-by: Greg Bonik <gbonik@nvidia.com>1 parent 3397cce commit dc52634
79 files changed
Lines changed: 9326 additions & 1856 deletions
File tree
- cext
- changelog.d
- docs/source
- experimental/cuda-lang
- docs/source
- src/cuda/lang
- _ir
- op_impl
- _passes
- ir2mlir
- _stub
- test
- examples
- tutorial
- src/cuda/tile
- _ir
- _passes
- test
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
61 | 61 | | |
62 | 62 | | |
63 | 63 | | |
| 64 | + | |
| 65 | + | |
64 | 66 | | |
65 | 67 | | |
66 | 68 | | |
67 | 69 | | |
68 | 70 | | |
69 | 71 | | |
70 | 72 | | |
| 73 | + | |
71 | 74 | | |
72 | 75 | | |
73 | 76 | | |
74 | 77 | | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
75 | 91 | | |
76 | | - | |
| 92 | + | |
77 | 93 | | |
78 | 94 | | |
79 | 95 | | |
| |||
139 | 155 | | |
140 | 156 | | |
141 | 157 | | |
142 | | - | |
| 158 | + | |
0 commit comments