Commit Graph

96 Commits

Author SHA1 Message Date
Philippe Tillet
1d2b1b72fc [DRIVER] Removed deprecated files and functions 2020-11-26 23:21:28 -05:00
Philippe Tillet
7710e048f4 [DRIVER] Simplified Driver API by substantially removing reliance on driver::context 2020-11-26 00:38:25 -05:00
Philippe Tillet
bcc5745ea0 [CODEGEN] Fixed bug in atomic_add 2020-11-19 18:19:55 -05:00
Philippe Tillet
e69ed1bdb2 [LANG] Added sqrtf support 2020-11-19 15:41:47 -05:00
Philippe Tillet
51025ca2ad [DRIVER] Improved performance of Host driver code 2020-11-12 02:11:45 -05:00
Philippe Tillet
6c5284ed3b [GENERAL] Various bugfixes 2020-11-11 14:44:56 -05:00
Philippe Tillet
a2d54b5ad3 [General] LLVM-9 -> LLVM-10 2020-11-07 22:46:18 -05:00
Philippe Tillet
81000db9e9 [PYTHON] Added option to show PTX source code in Python 2020-11-07 02:55:48 -05:00
Philippe Tillet
e2c1ac8d24 [LANG] Added log intrinsic 2020-11-03 15:50:11 -05:00
Philippe Tillet
37ee888d88 [PYTHON] Cleaning C++ bindings 2020-11-02 15:06:08 -05:00
Philippe Tillet
9be1d5afc2 [GENERAL] Various improvements:
* Sparse einsum in triton.ops.einsum
* Hacky support for fixed-tile-size atomic-add
* Various bugfixes in parser
2020-10-25 12:16:40 -07:00
Philippe Tillet
db7a72bfe3 [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
2020-10-13 20:57:32 -07:00
Philippe Tillet
0cbee3ec56 [CODEGEN] More work on the CPU backend 2020-09-14 10:59:40 -04:00
Philippe Tillet
30ac1359b9 [RUNTIME] Lower-level interface for executing functions 2020-08-12 18:33:35 -04:00
Philippe Tillet
18a4cefec7 [CORE] Auto-tuning now copies scalar buffers. Still needs to copy all buffers that are both read from and written to. 2020-05-15 23:21:42 -04:00
Philippe Tillet
05214d22e3 [CODEGEN] Bugfix in Disassociate pass; Added fp32 atomic_add support 2020-05-13 23:21:21 -04:00
Philippe Tillet
9da8fe11ed [CODEGEN] Fixed bug that caused missing recoalescing for some transpose
operations
2020-05-11 00:26:03 -04:00
Philippe Tillet
fa5e4af93e [CORE][RUNTIME] Better error message on internal compilation error 2020-04-07 14:01:21 -04:00
Philippe Tillet
e04efc1c85 [GENERAL] Error messages now no longer make terminal color green 2020-04-03 23:25:29 -04:00
Philippe Tillet
7c09ff80eb [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
2020-03-31 18:57:28 -04:00
Philippe Tillet
1f1e4ee9ec [PYTHON] Merged blocksparse branch:
* Example for blocksparse matrix multiplication
* Simplified Triton kernel API
* Revived auto-tuning in einsum
2020-03-05 13:08:07 -05:00
Philippe Tillet
f2daff85d2 [GENERAL] Improved caching mechanism:
* Now computing hash in libtriton
* Now only compiling a single pytorch hook per function signature
2020-02-24 16:36:50 -05:00
Philippe Tillet
7621aeda3f [CODEGEN][TRANSFORM][PEEPHOLE] Fixed bug in *1 multiplication 2020-02-19 00:18:55 -05:00
Philippe Tillet
d11d2db6ee [PYTHON][EINSUM] Now handling reduction sizes that are not a multiple of
TK
2020-02-17 13:52:58 -05:00
Philippe Tillet
a099c6f7f3 [TRITON][LANG] Added support for bitcast 2020-02-09 20:11:13 -05:00
Philippe Tillet
ce7a00674a [PYTHON][EXAMPLES] Added self-attention example using triton.ops.einsum 2020-01-21 16:45:04 -05:00
Philippe Tillet
78b98fb7cf [GENERAL] Cleaned polymorphic structure of layouts analysis pass 2020-01-21 11:38:39 -05:00
Philippe Tillet
f278d9741a [GENERAL] Merged einsum feature branch. Various feature, performance
improvements and bugfixes:

* Added preliminary support for extended Einstein summation in PyTriton
* Significant performance improvement on FP32 kernels containing matrix
multiplication
* Added re-coalescing pass for FP16 kernels containing matrix
multiplication
* Various bugfixes
2020-01-20 12:42:48 -05:00
Philippe Tillet
f4bbbbe5e4 [PYTHON][OPS] Bugfix in conv fprop 2019-11-01 00:43:02 -04:00
Philippe Tillet
739a8d9061 some work on conv 2019-10-31 18:08:27 -04:00
Philippe Tillet
d65a94c768 [PYTHON][OPS] Added batch normalization op 2019-10-29 17:29:11 -04:00
Philippe Tillet
76651a065f [PYTHON][EXAMPLES] Better einsum example 2019-10-29 12:56:58 -04:00
Philippe Tillet
e11557855f [PYTHON] [OPS] Added einsum implementation 2019-10-26 22:14:50 -04:00
Philippe Tillet
655f43fb5b more work 2019-10-26 15:10:19 -04:00
Philippe Tillet
0770ccf537 [codegen] [selection] disassociation prototype 2019-10-25 09:39:46 -04:00
Philippe Tillet
943bf41b5c [python] [op] added Triton NT einsum 2019-10-21 23:37:39 -04:00
Philippe Tillet
b81734553b [lang] added support for batched matrix multiplication 2019-10-21 15:41:50 -04:00
Philippe Tillet
de6fdd5625 [general] removed useless files and includes 2019-10-20 19:29:48 -04:00
Philippe Tillet
96cba9036a [tests] [unit] added 1D and 3D reduction test 2019-10-20 17:48:19 -04:00
Philippe Tillet
d76c6bc3c7 Merge branch 'master' into auto-coalesce 2019-10-18 16:21:28 -04:00
Philippe Tillet
50efd9c82f [codegen] [liveness] bugfix in live range computation 2019-10-18 14:54:26 -04:00
Philippe Tillet
b43454c9b7 [codegen] [membar] view do not write to shared memory 2019-10-17 22:38:41 -04:00
Philippe Tillet
be25e954f6 [codegen] [selection] merged selection into generator visit 2019-10-17 12:55:37 -04:00
Philippe Tillet
f4f70db234 [codegen] [selection] re-arranged file structure 2019-10-17 12:31:26 -04:00
Philippe Tillet
a0182f41dd more cleaning 2019-10-17 08:17:23 -04:00
Philippe Tillet
4bfe998cc8 [codegen] [selection] everything is now implemented with visitor 2019-10-16 18:10:03 -04:00
Philippe Tillet
3d5ab4bc0d [codegen] [selection] created machine layouts 2019-10-15 12:29:58 -04:00
Philippe Tillet
ee3803b577 more cleaning 2019-10-11 19:29:24 -04:00
Philippe Tillet
323c90e431 ugh 2019-10-11 19:05:54 -04:00
Philippe Tillet
a3f76b6eb1 [codegen] more cleaning 2019-10-09 21:59:35 -04:00