Commit Graph

39 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
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
d11d2db6ee [PYTHON][EINSUM] Now handling reduction sizes that are not a multiple of
TK
2020-02-17 13:52:58 -05:00
Philippe Tillet
2fcf5cec5b [TRITON][CODEGEN] Fixed flawed assert() 2020-01-24 15:25:00 -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
d65a94c768 [PYTHON][OPS] Added batch normalization op 2019-10-29 17:29:11 -04:00
Philippe Tillet
e9c787ef05 [PYTHON][EINSUM] Added support for FP16 2019-10-28 14:07:17 -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
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
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
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
a842d337c5 [general] various cleaning and bugfix:
* added copy1d and copy2d benchmark
* fixed issue in reassociation pass
2019-09-02 23:00:49 -04:00
Philippe Tillet
90d80c3b2e [codegen][selection] bugfix in scanline dot lowering 2019-09-01 16:30:53 -04:00
Philippe Tillet
7e0af2118c [codegen] worked around bug seemingly from nvptx/ptxas by simplifying multiplications by 1:
- Generated LLVM-IR looked correct
- Illegal addressing disappeared when running cuda-memcheck
- Illegal addressing disappeared when using nvptx-short-pointer
2019-08-30 16:45:14 -07:00
Philippe Tillet
d457482539 [codegen] fixed issue in double buffering pointer update 2019-08-28 17:50:45 -07:00
Philippe Tillet
732156b942 [general] rename *.cpp -> *.cc 2019-08-23 19:06:39 -07:00
Philippe Tillet
a110a7e8cf [ir] changed type of tile shapes from constant_int* to int 2019-08-23 17:49:21 -07:00
Philippe Tillet
0970fe12dd [general] cleaned tensorflow source code generation 2019-08-18 15:39:36 -07:00
Philippe Tillet
81571246cf [general] fixed some warnings 2019-08-18 14:08:57 -07:00
Philippe Tillet
b4a9ed9663 [python] added basic tensorflow support 2019-08-17 18:18:26 -07:00
Philippe Tillet
c7cb5f82ad [general] removed LLVM #include's in all Triton headers 2019-08-16 15:56:58 -07:00
Philippe Tillet
38a8b0ab19 [runtime] overall of the run-time API 2019-08-14 20:26:11 -07:00
Philippe Tillet
b8cd63e0da [codegen] separated lower_dot_inst into lower_outer_dot ||
lower_hmma_dot || lower_scanline_dot
2019-08-12 21:48:30 -07:00
Philippe Tillet
4bc5758a22 [general] some cleaning:
* trans/dot -> peephole
* isel -> added function for tile-level lowering
2019-08-12 21:15:21 -07:00
Philippe Tillet
1400d960a6 [auto-tuning] much smaller parameters space 2019-08-12 21:15:21 -07:00
Philippe Tillet
fd49cdc92b [dnn][blocksparse] added dw code 2019-08-08 19:15:35 -07:00
Philippe Tillet
7578c27d3d [general][filesystem] added structure and namespace to code generation files 2019-08-07 21:17:17 -07:00