Commit Graph

81 Commits

Author SHA1 Message Date
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
Philippe Tillet
9bc6df4fd1 [codegen] more cleaning 2019-10-09 15:05:44 -04:00
Philippe Tillet
650c43ca07 [codegen] more cleaning 2019-10-07 18:06:54 -04:00
Philippe Tillet
1783d45bef [codegen] better handling of row/column-major 2019-10-04 16:07:31 -04:00
Philippe Tillet
ed1b2bc563 more work on padding 2019-09-27 22:15:30 -04:00
Philippe Tillet
575dd06be3 [codegen] more progress towards unified dot implementation 2019-09-26 14:01:28 -04:00
Philippe Tillet
a3bf3a1804 [codegen] more hmma row-major handling 2019-09-24 19:35:46 -04:00
Philippe Tillet
c24d55db23 [codegen] more work on hmma coalescing 2019-09-23 20:38:27 -04:00
Philippe Tillet
f0013f8bf1 [codegen] [allocation] fixed issues in HMMA 2019-09-23 17:54:42 -04:00
Philippe Tillet
856e7baa04 [test] added tests for copy 2019-09-23 12:07:24 -04:00
Philippe Tillet
001973630e [codegen] cleaned up shared memory and double-buffering logic 2019-09-21 22:21:40 -04:00
Philippe Tillet
43d88154bd [codegen] cleaning-up / formalizing shared-memory passes 2019-09-20 16:01:12 -04:00
Philippe Tillet
1fd9be27ee [tests][bench] now benchmarking all variants of copy 2019-09-17 22:17:58 -04:00
Philippe Tillet
307c1128d5 [codegen] removed vectorization pass (now part of selection) 2019-09-17 15:21:10 -04:00
Philippe Tillet
e01e623333 [codegen][auto-coalesce] more debugging 2019-09-16 20:34:08 -04:00
Philippe Tillet
e184bad9a1 [auto-coalesce] more bugfixes 2019-09-16 13:28:23 -04:00