Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
579c036
[FRONTEND] Reduce number of compiles in JITFunction (#704)
jansel Sep 23, 2022
3ac929b
[BUILD] Download pybind11 in setup.py (#703)
shintaro-iwasaki Sep 23, 2022
998fd5f
[FRONTEND] Make triton.compile work without a cuda context (#708)
jansel Sep 24, 2022
dad9752
[TESTING] allclose fixup (#724)
ptillet Sep 28, 2022
f45e31b
[FRONTEND] Make sure to hold the gil when creating python objects (#726)
albanD Sep 30, 2022
ae59f51
[CODEGEN] Fix an inliner to call a function with a phi-node (#727)
shintaro-iwasaki Sep 30, 2022
7b61303
[CODEGEN] Fix extract_N_bufferable in layout analysis (#728)
shintaro-iwasaki Sep 30, 2022
b244db0
[TUTORIALS] Attention tutorial fixup
ptillet Oct 1, 2022
f55960e
[FRONTEND] fix broadcasting for where (#729)
Oct 1, 2022
4a2d3b7
[RUNTIME] Dump llvm, ttir, and sass to help debugging (#732)
Jokeren Oct 3, 2022
2b0f877
[RUNTIME] Support environments with multiple cudalibs (#733)
fdrocha Oct 3, 2022
d3c925d
[FRONTEND] properly broadcast scalar where condition (#736)
Oct 4, 2022
77c752d
[RUNTIME] remove fixed cu_include_dir (#739)
Shenggan Oct 5, 2022
bdfdb9a
[RUNTIME] Fixed JIT bug that leg some constexpr values to be override…
ptillet Oct 5, 2022
11345e9
[RUNTIME] Add callback functions for external tools (#738)
Jokeren Oct 5, 2022
9a11a56
[DOCS] Fixed typos in 01-vector-add.py (#751)
ChrisCarucci Oct 10, 2022
5d4b26d
[RUNTIME] support multiple devices in the same process (#757)
fps7806 Oct 10, 2022
09cc2d4
[FRONTEND] Fix a bool tensor storing problem (#746)
desertfire Oct 10, 2022
af76c98
[RUNTIME] Make entry point cache key depend on triton version hash (#…
ptillet Oct 11, 2022
33e6f0d
[DRIVER] Bumped CUDA requirement to 11.4+. This is to avoid bad perfo…
ptillet Oct 12, 2022
71b46ac
[IR] Added special-purpose `dequantize` instruction (#759)
yuguo68 Oct 12, 2022
bc98aea
[Backend] Fix for mov.u8 (#766)
Jokeren Oct 12, 2022
ddae106
[DOCS] Update installation.rst to fix windows build error (#747)
Twizzes Oct 13, 2022
db3aa1d
[FRONTEND] Fix libdevice (#776)
Jokeren Oct 14, 2022
5ca1ed0
Add bf16/fp16/fp64 support for ty_to_cpp (#800)
yanboliang Oct 25, 2022
3ca667d
[Frontend] Return a scalar if all input args are scalar (#816)
Jokeren Oct 29, 2022
584086f
[BUILD] Now using cibuildwheel default
ptillet Oct 29, 2022
6311d70
Revert "[BUILD] Now using cibuildwheel default"
ptillet Oct 30, 2022
578ada7
[DOCS] Add install from source instructions to README (#821)
msaroufim Oct 31, 2022
f16138d
[Frontend] Interface fixes for libdevice (#830)
LyricZhao Nov 1, 2022
77bc518
Better NVIDIA Pascal GPU Support (#827)
shintaro-iwasaki Nov 3, 2022
0d7e753
[TESTING] use torch.int for autotuning cache (#840)
Nov 5, 2022
0e4691e
[FRONTEND] Fix ExternLibrary(format=) bug; type annotate build_extern…
crutcher Nov 17, 2022
44f5779
Fix format double substitution bug: `{i}` => `{{i}}` (#886)
crutcher Nov 20, 2022
8650b4d
[DRIVER] Fix typos (#939)
howjmay Dec 2, 2022
20100a7
Merge `triton-mlir` branch - Complete rewrite of the backend from scr…
ptillet Dec 21, 2022
b5aafb0
[FRONTEND] Fix 3d indexing (#1006)
Jokeren Dec 21, 2022
925d3d7
[FRONTEND] Export `broadcast` and `broadcast_to` in `triton.language`…
sharadmv Dec 22, 2022
fd2da4a
[BACKEND] Support splat constant on the DotOperandLayout (#1008)
Jokeren Dec 22, 2022
2ba74d2
[OPTIMIZER] Update the versionMinor in MMA layout for volta (#1014)
Superjomn Dec 28, 2022
1d3029f
[Backend] Add value cache in emitting indices calculation and some re…
goostavz Dec 29, 2022
194ba10
[BUILD] Fixed error when compiling in systems with multiple versions …
fdrocha Dec 29, 2022
0e8590f
[BACKEND] Add generic support of convert_layout from distributed to s…
goostavz Dec 30, 2022
678b9f5
[Backend] Use post-order traversal for liveness numbering (#1027)
Jokeren Jan 3, 2023
8460ea3
[Frontend] Fix import for libdevice (#1028)
Jokeren Jan 3, 2023
bc73bbb
[FRONTEND] Fix argmin/max output type (#1012)
sharadmv Jan 4, 2023
411bacb
[FRONTEND] Add logical operations on constexprs (#1033)
sophiawisdom Jan 5, 2023
2193bee
[Example] Fix the compile function in copy_strided.py (#1029)
gaxler Jan 5, 2023
4023149
[Frontend] Convert constexpr to value for store and load ops (#1030)
Jokeren Jan 5, 2023
08068d7
[CMake] Explicitly link against lstdc++fs for old GCC
shintaro-iwasaki Jan 5, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
BasedOnStyle: LLVM
57 changes: 57 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# These owners will be the default owners for everything in
# the repo. Unless a later match takes precedence,
# @global-owner1 and @global-owner2 will be requested for
# review when someone opens a pull request.
* @ptillet

# --------
# Analyses
# --------
# Alias analysis
include/triton/Analysis/Alias.h @Jokeren
lib/Analysis/Alias.cpp @Jokeren
# Allocation analysis
include/triton/Analysis/Allocation.h @Jokeren
lib/Analysis/Allocation.cpp @Jokeren
# Membar analysis
include/triton/Analysis/Membar.h @Jokeren
lib/Analysis/Membar.cpp @Jokeren
# AxisInfo analysis
include/triton/Analysis/AxisInfo.h @ptillet
lib/Analysis/AxisInfo.cpp @ptillet
# Utilities
include/triton/Analysis/Utility.h @Jokeren
lib/Analysis/Utility.cpp @Jokeren

# ----------
# Dialects
# ----------
# Pipeline pass
lib/Dialect/TritonGPU/Transforms/Pipeline.cpp @daadaada
# Prefetch pass
lib/Dialect/TritonGPU/Transforms/Prefetch.cpp @daadaada
# Coalesce pass
lib/Dialect/TritonGPU/Transforms/Coalesce.cpp @ptillet
# Layout simplification pass
lib/Dialect/TritonGPU/Transforms/Combine.cpp @ptillet

# -----------
# Conversions
# -----------
# TritonGPUToLLVM
include/triton/Conversion/TritonGPUToLLVM/ @goostavz @Superjomn
lib/Conversions/TritonGPUToLLVM @goostavz @Superjomn
# TritonToTritonGPU
include/triton/Conversion/TritonToTritonGPU/ @daadaada
lib/Dialect/TritonGPU/Transforms/TritonGPUConversion.cpp @daadaada


# -------
# Targets
# -------
# LLVMIR
include/triton/Target/LLVMIR/ @goostavz @Superjomn
lib/Target/LLVMIR @goostavz @Superjomn
# PTX
include/triton/Target/PTX/ @goostavz @Superjomn
lib/Target/PTX @goostavz @Superjomn
55 changes: 0 additions & 55 deletions .github/workflows/documentation.yml

This file was deleted.

90 changes: 64 additions & 26 deletions .github/workflows/integration-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,50 +5,88 @@ on:
pull_request:
branches:
- master

- triton-mlir

jobs:
Runner-Preparation:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- name: Prepare runner matrix
id: set-matrix
run: |
if [ x"${{ github.repository }}" == x"openai/triton" ]; then
echo '::set-output name=matrix::[["self-hosted", "A10"], ["self-hosted", "V100"], "macos-10.15"]'
else
echo '::set-output name=matrix::["ubuntu-latest", "macos-10.15"]'
fi

Integration-Tests:

runs-on: [self-hosted, V100]
needs: Runner-Preparation

steps:
runs-on: ${{ matrix.runner }}

strategy:
matrix:
runner: ${{fromJson(needs.Runner-Preparation.outputs.matrix)}}

steps:
- name: Checkout
uses: actions/checkout@v2

- name: Clear cache
run: |
rm -r ~/.triton/
continue-on-error: true
rm -rf ~/.triton/cache/

- name: Install Triton
- name: Check imports
if: ${{ matrix.runner != 'macos-10.15' }}
run: |
alias python='python3'
cd python
pip3 install -e '.[tests]'
pip install isort
isort -c ./python || ( echo '::error title=Imports not sorted::Please run \"isort ./python\"' ; exit 1 )

- name: Check imports
run: "isort -c ./python || ( echo '::error title=Imports not sorted::Please run \"isort ./python\"' ; exit 1 )"
- name: Check python style
if: ${{ matrix.runner != 'macos-10.15' }}
run: |
pip install autopep8
autopep8 -a -r -d --exit-code ./python || ( echo '::error title=Style issues::Please run \"autopep8 -a -r -i ./python\"' ; exit 1 )

- name: Check style
run: "autopep8 -a -r -d --exit-code ./python || ( echo '::error title=Style issues::Please run \"autopep8 -a -r -i ./python\"' ; exit 1 )"
- name: Check cpp style
if: ${{ matrix.runner != 'macos-10.15' }}
run: |
pip install clang-format
find . -regex '.*\.\(cpp\|hpp\|h\|cc\)' -not -path "./python/build/*" -not -path "./include/triton/external/*" -print0 | xargs -0 -n1 clang-format -style=file --dry-run -Werror -i ||
(echo '::error title=Style issues:: Please run `find . -regex ".*\.\(cpp\|hpp\|h\|cc\)" -not -path "./python/build/*" -not -path "./include/triton/external/*" -print0 | xargs -0 -n1 clang-format -style=file -i`' ; exit 1)

- name: Flake8
run: "flake8 --config ./python/setup.cfg ./python || ( echo '::error::Flake8 failed; see logs for errors.' ; exit 1 )"
if: ${{ matrix.runner != 'macos-10.15' }}
run: |
pip install flake8
flake8 --config ./python/setup.cfg ./python || ( echo '::error::Flake8 failed; see logs for errors.' ; exit 1 )

- name: Install Triton
run: |
cd python
TRITON_USE_ASSERT_ENABLED_LLVM=TRUE pip3 install -e '.[tests]'

- name: Unit tests
- name: Run lit tests
run: |
cd python/test/unit
pytest -vs .
cd python
LIT_TEST_DIR="build/$(ls build)/test"
if [ ! -d "$LIT_TEST_DIR" ]; then
echo "Not found `$LIT_TEST_DIR`. Did you change an installation method?" ; exit -1
fi
lit -v "$LIT_TEST_DIR"

- name: Run python tests
if: ${{matrix.runner[0] == 'self-hosted'}}
run: |
cd python/test/unit/
pytest


- name: Regression tests
- name: Run CXX unittests
run: |
cd python/test/regression
sudo nvidia-smi -i 0 -pm 1
sudo nvidia-smi -i 0 --lock-gpu-clocks=1350,1350
sudo nvidia-smi -i 0 --lock-memory-clocks=877,877
pytest -vs .
sudo nvidia-smi -i 0 -rgc
sudo nvidia-smi -i 0 -rmc
cd python/
cd "build/$(ls build)"
ctest
16 changes: 12 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,12 +1,20 @@
# Triton builds
build/

__pycache__
.pytest_cache

# Triton Python module builds
python/build/
python/triton.egg-info/
python/triton/_C/libtriton.pyd
python/triton/_C/libtriton.so

# Python caches
__pycache__
.pytest_cache

# VS Code project files
.vscode
.vs
.vs

# JetBrains project files
.idea
cmake-build-*
Loading