Commit Graph

404 Commits

Author SHA1 Message Date
Philippe Tillet
57a0b0a132 [CODEGEN] Fixed bug for phi nodes with constant incoming value 2020-05-02 17:30:15 -04:00
Philippe Tillet
a9efb27fde [CODEGEN][ANALYSIS] bugfix in alignment analysis 2020-05-01 17:38:23 -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
a27b96cad1 [CORE][DRIVER] Now only using PTX6.4 if CUDA10.1+ is detected 2020-03-05 21:29:22 -05: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
2fcf5cec5b [TRITON][CODEGEN] Fixed flawed assert() 2020-01-24 15:25:00 -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
382ca2c745 [CODEGEN][ANALYSIS] cleaning: moving towards better polymorphism for
tile layouts
2020-01-20 12:43:04 -05:00
Philippe Tillet
fbf2a3f56f [CODEGEN][TRANSFORM] some bug-fixes for FP32 einsum 2020-01-20 12:42:53 -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
e9c787ef05 [PYTHON][EINSUM] Added support for FP16 2019-10-28 14:07:17 -04:00
Philippe Tillet
0ec213547c [PYTHON][KERNEL] Added benchmarking functionalities for kernels 2019-10-28 00:30:04 -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
76adcb755a [PYTHON][EXAMPLES] Tentative support for einsum with transpositions 2019-10-25 19:01:21 -04:00
Philippe Tillet
b615af2e7e [codegen] [generator] fixed issue when tile size is 1 along one or more
dimensions
2019-10-25 14:22:28 -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
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
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
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
cf4fbfefee [codegen] [selection] no longer using llvm::IRBuilder<>::Insert() 2019-10-17 13:12:37 -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
a157177267 [codegen] [selection] more cleaning 2019-10-17 00:51:26 -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
3d5ab4bc0d [codegen] [selection] created machine layouts 2019-10-15 12:29:58 -04:00
Philippe Tillet
0a2a4d9fdd more cleaning 2019-10-13 19:59:33 -04:00
Philippe Tillet
ee387ff567 more cleaning 2019-10-13 14:43:17 -04:00