Philippe Tillet
15f8e8c3b7
[CODEGEN] Major performance improvements on A100 ( #70 )
...
Improved handling of asynchronous copy, scheduling and synchronization for A100. Now achieving CUTLASS-like performance on large square dense matrix multiplication tasks
2021-02-21 18:19:39 -05:00
Philippe Tillet
79d098450f
[PYTHON][TESTS][DOC] Various improvement of the API and code quality:
...
* Simplified `triton.kernel` API to achieve lower latency:
> .data_ptr() must now be passed as kernel argument. No more implicit
conversion from torch.tensor
> compilation options are now constant attributes, i.e., opt.d('VAR')
becomes opt.VAR
> torch.device must now be passed explicitly to triton.kernel (no
longer inferred from torch.tensor arguments)
* C++ tests moved to `python/tests/`
* C++ tutorial created in `tutorials/`
* Python tutorial created in python/tutorials/
* Version changed to 1.0alpha
* No longer copying C++ headers into the Python package
* added python/triton/ops/ package for pre-written Triton ops
2021-01-29 17:27:16 -05:00
Philippe Tillet
aef1b2b3c9
[CODEGEN] Fixed bug in recoalesce_inst LLVM codegen
2021-01-19 19:19:51 -05:00
Philippe Tillet
af080740f2
[GENERAL] Merged v1.0alpha into master. Added features are:
...
- A100 support via mma.16816
- Thread swizzling for conflict-free shared memory accesses without
padding
- Complete overhaul of the LLVM code generation in
codegen/selection/generator.cc to remove overengineering
- Added debugging capabilities in the Python binding
- Compilation error for kernels that spill
2021-01-11 19:23:24 -05:00
Philippe Tillet
bcc5745ea0
[CODEGEN] Fixed bug in atomic_add
2020-11-19 18:19:55 -05:00
Philippe Tillet
0cbee3ec56
[CODEGEN] More work on the CPU backend
2020-09-14 10:59:40 -04:00
Philippe Tillet
2d6484482f
[CODEGEN][ANALYSIS] Fixed issue in layout inference
2020-08-10 11:53:11 -04:00
Philippe Tillet
7c519e09c5
[ANALYSIS] Replaced min by gcd in layout inference
2020-06-06 17:42:36 -04:00
Philippe Tillet
8e9d793d11
[CODEGEN] Fixed various issues in alignment inference pass
2020-06-06 11:28:43 -04:00
Philippe Tillet
547434d7f0
[CODEGEN] Fixed bug in alignment inference that prevented vectorization
...
in some cases
2020-06-06 01:13:38 -04:00
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