Commit Graph

77 Commits

Author SHA1 Message Date
Philippe Tillet
a9efb27fde [CODEGEN][ANALYSIS] bugfix in alignment analysis 2020-05-01 17:38:23 -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
78b98fb7cf [GENERAL] Cleaned polymorphic structure of layouts analysis pass 2020-01-21 11:38:39 -05:00
Philippe Tillet
382ca2c745 [CODEGEN][ANALYSIS] cleaning: moving towards better polymorphism for
tile layouts
2020-01-20 12:43:04 -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
e9c787ef05 [PYTHON][EINSUM] Added support for FP16 2019-10-28 14:07:17 -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
abe3fbb480 [test] [reduce] added test for 1D reduction 2019-10-20 01:01:53 -04:00
Philippe Tillet
23db500edf [tests] [common] added reduce.h to common headers 2019-10-19 16:53:48 -04:00
Philippe Tillet
a76efd326d [selection] [codegen] added reduction 2019-10-19 14:47:16 -04:00
Philippe Tillet
50efd9c82f [codegen] [liveness] bugfix in live range computation 2019-10-18 14:54:26 -04:00
Philippe Tillet
cfde3dd766 [codegen] [layout] fixed padding issue for row-major HMMA 2019-10-18 13:42:15 -04:00
Philippe Tillet
b43454c9b7 [codegen] [membar] view do not write to shared memory 2019-10-17 22:38:41 -04:00
Philippe Tillet
ae24621825 more cleaning 2019-10-17 00:36:46 -04:00
Philippe Tillet
4bfe998cc8 [codegen] [selection] everything is now implemented with visitor 2019-10-16 18:10:03 -04:00
Philippe Tillet
1b5b76b629 [codegen] [selection] machine layouts now create machine tiles 2019-10-15 16:12:08 -04:00
Philippe Tillet
6beef4be1f more cleaning 2019-10-12 01:25:08 -04:00
Philippe Tillet
7d77f34db0 [codegen] more cleaning 2019-10-11 23:40:27 -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
4efd0a3c6b [codegen] more cleaning 2019-10-10 15:52:03 -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
10ab94d1c5 [codegen] added missing file 2019-10-08 17:10:34 -04:00
Philippe Tillet
254ed52958 [codegen] more cleaning 2019-10-08 11:26:22 -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
a1e0512703 [codegen] more progress 2019-10-03 14:11:50 -04:00
Philippe Tillet
86a3e5d897 [codegen] now matrix-multiplication is bank-conflict free for all
layouts
2019-10-01 16:57:59 -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
69800a0318 [tests] [dot] now testing row-major 2019-09-24 20:36:55 -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
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
e35be1ddcf [ir][instruction] added identifier for each instruction 2019-09-19 16:25:36 -04:00
Philippe Tillet
1fd9be27ee [tests][bench] now benchmarking all variants of copy 2019-09-17 22:17:58 -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
Philippe Tillet
8d37a55a21 [codegen][analysis] cleaned-up tiling formalism 2019-09-15 21:14:14 -04:00
Philippe Tillet
495163e0e8 some more cleaning 2019-09-14 16:53:13 -04:00
Philippe Tillet
0d8f59dcec [codegen][selection] some cleaning 2019-09-14 16:04:06 -04:00
Philippe Tillet
66e32b3074 [codegen][grid] some cleaning 2019-09-14 13:05:53 -04:00
Philippe Tillet
8ae779206f more fixes 2019-09-14 02:36:11 -04:00
Philippe Tillet
eae02b99e5 [codegen][coalesce] fixed stale users in cloned instructions 2019-09-13 19:16:04 -04:00
Philippe Tillet
579a662e60 [codegen][coalesce] more bugfixes 2019-09-13 14:17:21 -04:00