Philippe Tillet
c847cc6320
[DRIVER] Added options for developers to cache PTX file so that ti can
...
be manually modified
2021-02-09 00:09:10 -05:00
Philippe Tillet
0b23f95b20
[RUNTIME] Added option to print LLVM-IR
...
Also includes appropriate driver code change for that
2021-01-31 01:01:32 -05:00
Philippe Tillet
e11077eab9
[RUNTIME] Disable error on spills
2021-01-14 20:33:34 -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
ec5c2ad571
[DRIVER] Better exception handling of invalid ptx
2020-11-27 17:00:11 -05:00
Philippe Tillet
7710e048f4
[DRIVER] Simplified Driver API by substantially removing reliance on driver::context
2020-11-26 00:38:25 -05:00
Philippe Tillet
947ed0d46c
[DRIVER] Added (slow) support for CUDA11 and Ampere
2020-11-25 13:52:03 -05:00
Philippe Tillet
6c5284ed3b
[GENERAL] Various bugfixes
2020-11-11 14:44:56 -05:00
Philippe Tillet
a2d54b5ad3
[General] LLVM-9 -> LLVM-10
2020-11-07 22:46:18 -05:00
Philippe Tillet
9be1d5afc2
[GENERAL] Various improvements:
...
* Sparse einsum in triton.ops.einsum
* Hacky support for fixed-tile-size atomic-add
* Various bugfixes in parser
2020-10-25 12:16:40 -07:00
Philippe Tillet
db7a72bfe3
[DRIVER] Removed OpenCL support
...
There is no plan to support OpenCL anytime soon (Vulkan would be preferred). Removing the adequate portion of the driver code
2020-10-13 20:57:32 -07:00
Philippe Tillet
0cbee3ec56
[CODEGEN] More work on the CPU backend
2020-09-14 10:59:40 -04:00
Philippe Tillet
cfcda09679
[DRIVER] Now always using PTXv6.4
2020-07-29 13:50:01 -04:00
Philippe Tillet
52eca7676b
[TRITON] Fixed misaligned address issue
2020-06-05 12:00:42 -04:00
Philippe Tillet
cd21151b98
[GENERAL] Fixed some undefined behavior with GCC-9
2020-05-11 11:07:21 -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
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
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
96cba9036a
[tests] [unit] added 1D and 3D reduction test
2019-10-20 17:48:19 -04:00
Philippe Tillet
b43454c9b7
[codegen] [membar] view do not write to shared memory
2019-10-17 22:38:41 -04:00
Philippe Tillet
e787ce0cab
[codegen] more cleaning
2019-10-13 02:26:30 -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
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
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
b95ac15d48
[codegen] [selection] fixed synchronization issue with double-buffering
2019-09-23 13:56:46 -04:00
Philippe Tillet
001973630e
[codegen] cleaned up shared memory and double-buffering logic
2019-09-21 22:21:40 -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
579a662e60
[codegen][coalesce] more bugfixes
2019-09-13 14:17:21 -04:00
Philippe Tillet
11ff27d638
[codegen][coalesce] some bugfix for phi-nodes
2019-09-12 22:44:07 -04:00
Philippe Tillet
32234c2612
ugh
2019-09-08 17:35:24 -04:00
Philippe Tillet
18848cbb71
[driver] now passing std::unique_ptr<> instead of cloning LLVM module
...
when compiling it
2019-09-05 17:25:58 -04:00
Philippe Tillet
b747959a57
trying to work around tensorflow limitations
2019-09-04 01:54:43 -04:00
Philippe Tillet
2ccc915011
[python][examples] added template for blocksparse
2019-09-03 20:44:27 -04:00
Philippe Tillet
97fdb5b6be
[tests] added missing files
2019-09-03 12:44:35 -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
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
37cbcfabd0
[examples] back to 96 TFLOPS on V100
2019-08-26 22:49:14 -07:00
Philippe Tillet
b4ae06a714
tracking down performance regression
2019-08-26 20:38:39 -07:00
Philippe Tillet
cb04ec0b3b
some more cleaning
2019-08-23 19:22:38 -07:00
Philippe Tillet
732156b942
[general] rename *.cpp -> *.cc
2019-08-23 19:06:39 -07:00