Philippe Tillet
269ebc12e5
[PYTHON][TESTS][DOC] Various improvement of the API and code quality:
...
* Simplified `triton.kernel` API to achieve lower latency:
> .data_ptr() must now be passed as kernel argument. No more implicit
conversion from torch.tensor
> compilation options are now constant attributes, i.e., opt.d('VAR')
becomes opt.VAR
> torch.device must now be passed explicitly to triton.kernel (no
longer inferred from torch.tensor arguments)
* C++ tests moved to `python/tests/`
* C++ tutorial created in `tutorials/`
* Python tutorial created in python/tutorials/
* Version changed to 1.0alpha
* No longer copying C++ headers into the Python package
* added python/triton/ops/ package for pre-written Triton ops
2021-07-27 12:38:48 -07:00
Philippe Tillet
a5a477c36b
[CODEGEN] Fixed bug in recoalesce_inst LLVM codegen
2021-07-27 12:38:48 -07:00
Philippe Tillet
376c876eb8
[RUNTIME] Disable error on spills
2021-07-27 12:38:48 -07:00
Philippe Tillet
083bbd1e8d
[GENERAL] Merged v1.0alpha into master. Added features are:
...
- A100 support via mma.16816
- Thread swizzling for conflict-free shared memory accesses without
padding
- Complete overhaul of the LLVM code generation in
codegen/selection/generator.cc to remove overengineering
- Added debugging capabilities in the Python binding
- Compilation error for kernels that spill
2021-07-27 12:38:48 -07:00
Philippe Tillet
c4fceeea49
[LANG] Added hacky min/max
2021-07-27 12:38:48 -07:00
Philippe Tillet
fd5c72d6a0
[LANG] Added some more atomic_add support
2021-07-27 12:38:48 -07:00
Philippe Tillet
44ca2c0cb8
[DRIVER] Removed deprecated files and functions
2021-07-27 12:38:48 -07:00
Philippe Tillet
4f08d87fed
[DRIVER] Simplified Driver API by substantially removing reliance on driver::context
2021-07-27 12:38:48 -07:00
Philippe Tillet
baa858aa74
[CODEGEN] Fixed bug in atomic_add
2021-07-27 12:38:48 -07:00
Philippe Tillet
7d095ec686
[LANG] Added sqrtf support
2021-07-27 12:38:48 -07:00
Philippe Tillet
a77c925dfd
[DRIVER] Improved performance of Host driver code
2021-07-27 12:38:48 -07:00
Philippe Tillet
8f8d36c7a4
[GENERAL] Various bugfixes
2021-07-27 12:38:48 -07:00
Philippe Tillet
50587bbf4b
[General] LLVM-9 -> LLVM-10
2021-07-27 12:38:48 -07:00
Philippe Tillet
8f3ee53f24
[PYTHON] Added option to show PTX source code in Python
2021-07-27 12:38:48 -07:00
Philippe Tillet
f152150e7d
[LANG] Added log intrinsic
2021-07-27 12:38:48 -07:00
Philippe Tillet
02a6e81b88
[PYTHON] Cleaning C++ bindings
2021-07-27 12:38:48 -07:00
Philippe Tillet
049ab989b5
[GENERAL] Various improvements:
...
* Sparse einsum in triton.ops.einsum
* Hacky support for fixed-tile-size atomic-add
* Various bugfixes in parser
2021-07-27 12:38:48 -07:00
Philippe Tillet
664d3cae89
[DRIVER] Removed OpenCL support
...
There is no plan to support OpenCL anytime soon (Vulkan would be preferred). Removing the adequate portion of the driver code
2021-07-27 12:38:48 -07:00
Philippe Tillet
840308ab5d
[CODEGEN] More work on the CPU backend
2021-07-27 12:38:48 -07:00
Philippe Tillet
acff1b5e05
[RUNTIME] Lower-level interface for executing functions
2021-07-27 12:38:48 -07:00
Philippe Tillet
5995cbff8e
[CORE] Auto-tuning now copies scalar buffers. Still needs to copy all buffers that are both read from and written to.
2021-07-27 12:38:48 -07:00
Philippe Tillet
e7461a862b
[CODEGEN] Bugfix in Disassociate pass; Added fp32 atomic_add support
2021-07-27 12:38:48 -07:00
Philippe Tillet
0516ea96d0
[CODEGEN] Fixed bug that caused missing recoalescing for some transpose
...
operations
2021-07-27 12:38:48 -07:00
Philippe Tillet
677ccfb44e
[CORE][RUNTIME] Better error message on internal compilation error
2021-07-27 12:38:48 -07:00
Philippe Tillet
5943baa53f
[GENERAL] Error messages now no longer make terminal color green
2021-07-27 12:38:48 -07:00
Philippe Tillet
3304629de9
[CORE] Fixed several issues that arose in the development of the
...
torch-blocksparse package:
* Now using warp shuffle in reductions when possible
* Various bugfixes in layout inference
* Added INFINITY, exponential and select
* Better error messages for unimplemented constructs
2021-07-27 12:38:48 -07:00
Philippe Tillet
268894a5ce
[PYTHON] Merged blocksparse branch:
...
* Example for blocksparse matrix multiplication
* Simplified Triton kernel API
* Revived auto-tuning in einsum
2021-07-27 12:38:48 -07:00
Philippe Tillet
dfb844bf41
[GENERAL] Improved caching mechanism:
...
* Now computing hash in libtriton
* Now only compiling a single pytorch hook per function signature
2021-07-27 12:38:48 -07:00
Philippe Tillet
4181f9f2af
[CODEGEN][TRANSFORM][PEEPHOLE] Fixed bug in *1 multiplication
2021-07-27 12:38:48 -07:00
Philippe Tillet
3816f2f259
[PYTHON][EINSUM] Now handling reduction sizes that are not a multiple of
...
TK
2021-07-27 12:38:48 -07:00
Philippe Tillet
d22cf4f717
[TRITON][LANG] Added support for bitcast
2021-07-27 12:38:48 -07:00
Philippe Tillet
6d7cf35123
History prior to this date belonged to the now deprecated ISAAC project, and was deleted to save space
2021-07-27 12:38:38 -07:00