Commit Graph

1385 Commits

Author SHA1 Message Date
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
e11077eab9 [RUNTIME] Disable error on spills 2021-01-14 20:33:34 -05:00
Philippe Tillet
299cfe743f [CODEGEN] Fixed issue in traversal order for atomic_add and store_inst 2021-01-14 17:41:26 -05:00
Philippe Tillet
4f80fea855 [TESTS] Fixed bug in how test arguments are enqueued 2021-01-11 21:06:04 -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
0cf2d22ffc [PYTHON] Added TRITON_DEBUG_MODE which reallocates input tensors outside of the pytorch memory pool to spot out-of-bounds accesses more easily 2020-12-26 15:15:46 -05:00
Philippe Tillet
836173434e [LANG] Added hacky min/max 2020-12-23 18:17:52 -05:00
Philippe Tillet
f374d39cbe Merge pull request #45 from daadaada/master
[LANG] Add support for PREFIX_INC, PREFIX_DEC, POSTFIX_INC and POSTFIX_DEC
2020-12-09 02:13:31 -05:00
Yan Da
1b300bdcbf [IR] Check constant_int type 2020-12-09 15:10:19 +08:00
Yan Da
31839cd269 [LANG] Fix gep bug in INC 2020-12-09 14:36:00 +08:00
Yan Da
70e6f38fe3 [LANG] Add support for POSTFIX_INC and POSTFIX_DEC, and pointer type 2020-12-09 13:42:21 +08:00
Yan Da
8856b62af9 [LANG] Add support for PREFIX_INC and PREFIX_DEC. 2020-12-09 12:35:24 +08:00
Philippe Tillet
d913cbd916 [VERSION] 0.2.3 -> 0.3.0 2020-12-08 23:34:55 -05:00
Philippe Tillet
75131b4622 [LANG] Added some more atomic_add support 2020-12-01 22:31:32 -05:00
Philippe Tillet
ec5c2ad571 [DRIVER] Better exception handling of invalid ptx 2020-11-27 17:00:11 -05:00
Philippe Tillet
1d2b1b72fc [DRIVER] Removed deprecated files and functions 2020-11-26 23:21:28 -05:00
Philippe Tillet
069083e28a [DRIVER] Removed obsolete SetArg 2020-11-26 23:12:39 -05:00
Philippe Tillet
22fc1cef16 [PYTHON] Context switching logic moved to PyTorch 2020-11-26 22:46:27 -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
bcc5745ea0 [CODEGEN] Fixed bug in atomic_add 2020-11-19 18:19:55 -05:00
Philippe Tillet
e69ed1bdb2 [LANG] Added sqrtf support 2020-11-19 15:41:47 -05:00
Philippe Tillet
fa066b531c [PYTHON] Compiling Triton in Release mode now... 2020-11-13 01:44:52 -05:00
Philippe Tillet
d73de44070 tmp 2020-11-12 16:56:36 -05:00
Philippe Tillet
28e19443d0 [CODEGEN] Progress on atom.add.f16x2 2020-11-12 16:48:04 -05:00
Philippe Tillet
51025ca2ad [DRIVER] Improved performance of Host driver code 2020-11-12 02:11:45 -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
81000db9e9 [PYTHON] Added option to show PTX source code in Python 2020-11-07 02:55:48 -05:00
Philippe Tillet
c1920cbabb [PYTHON] Fixed torch ABI issue 2020-11-05 12:37:00 -05:00
Philippe Tillet
ced0f5f944 [GENERAL] Fix compatibility issue with older Torch versions 2020-11-03 16:02:02 -05:00
Philippe Tillet
e2c1ac8d24 [LANG] Added log intrinsic 2020-11-03 15:50:11 -05:00
Philippe Tillet
37ee888d88 [PYTHON] Cleaning C++ bindings 2020-11-02 15:06:08 -05:00
Philippe Tillet
ef122ca9cf [CODEGEN] Fixed bug in 2D reductions 2020-11-02 15:05:41 -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
6eddf940d2 [GENERAL] Fixed MacOS compilation issues 2020-10-14 09:26:17 -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
526a3468e0 [Version] Now version 0.2.3 v0.2.3 2020-09-03 14:36:30 -04:00
Philippe Tillet
5700260e5e Merge pull request #41 from jeffra/fix-conda-build
fix llvm build inside conda environment
2020-09-03 14:28:33 -04:00
Jeff Rasley
91d21134a7 fix llvm build inside conda environment (see link for similar issue)
https://github.com/tensorflow/tensorflow/issues/12998
2020-09-03 11:26:51 -07:00
Philippe Tillet
010f85e91d [VERSION] Now version 0.2.2 2020-08-31 15:16:09 -04:00
Philippe Tillet
3195aca452 [PYTHON] Added credits to Scott Gray for the idea used in launch.cc 2020-08-12 19:39:57 -04:00
Philippe Tillet
d5610b685b [TESTS] Updated the test to be compatible with the new runtime API 2020-08-12 19:37:08 -04:00
Philippe Tillet
30ac1359b9 [RUNTIME] Lower-level interface for executing functions 2020-08-12 18:33:35 -04:00
Philippe Tillet
8e5744f171 [EXAMPLES] Added C++ example for Conv2d 2020-08-10 11:53:34 -04:00
Philippe Tillet
2d6484482f [CODEGEN][ANALYSIS] Fixed issue in layout inference 2020-08-10 11:53:11 -04:00
Philippe Tillet
bd2067606c [EXAMPLES] Improved mat_mul example 2020-08-06 17:29:52 -04:00
Philippe Tillet
f01bdd6207 [EXAMPLES] Added conv2d example 2020-08-06 17:29:52 -04:00