diff --git a/.ci/docker/centos-rocm/Dockerfile b/.ci/docker/centos-rocm/Dockerfile index 30ce1406e3f81..bfac9ddd85908 100644 --- a/.ci/docker/centos-rocm/Dockerfile +++ b/.ci/docker/centos-rocm/Dockerfile @@ -108,10 +108,10 @@ ENV CMAKE_C_COMPILER cc ENV CMAKE_CXX_COMPILER c++ COPY ./common/install_triton.sh install_triton.sh COPY ./common/common_utils.sh common_utils.sh -COPY ci_commit_pins/triton.txt triton.txt +COPY ci_commit_pins/triton-rocm.txt triton-rocm.txt COPY triton_version.txt triton_version.txt RUN if [ -n "${TRITON}" ]; then bash ./install_triton.sh; fi -RUN rm install_triton.sh common_utils.sh triton.txt triton_version.txt +RUN rm install_triton.sh common_utils.sh triton-rocm.txt triton_version.txt # Install AOTriton (Early fail) COPY ./aotriton_version.txt aotriton_version.txt diff --git a/.ci/docker/ci_commit_pins/triton-rocm.txt b/.ci/docker/ci_commit_pins/triton-rocm.txt new file mode 100644 index 0000000000000..0cb336acccb5b --- /dev/null +++ b/.ci/docker/ci_commit_pins/triton-rocm.txt @@ -0,0 +1 @@ +21eae954efa5bf584da70324b640288c3ee7aede diff --git a/.ci/docker/ci_commit_pins/triton.txt b/.ci/docker/ci_commit_pins/triton.txt index 507f4110e7daf..41c8d1602b6be 100644 --- a/.ci/docker/ci_commit_pins/triton.txt +++ b/.ci/docker/ci_commit_pins/triton.txt @@ -1 +1 @@ -55a4ab051c88ba2baa031e520a339d3fded6468f +dedb7bdf339a3546896d4820366ca562c586bfa0 diff --git a/.ci/docker/common/install_triton.sh b/.ci/docker/common/install_triton.sh index 6e5fb8839c686..d4a0dc80ee177 100755 --- a/.ci/docker/common/install_triton.sh +++ b/.ci/docker/common/install_triton.sh @@ -12,7 +12,10 @@ conda_reinstall() { as_jenkins conda install -q -n py_$ANACONDA_PYTHON_VERSION -y --force-reinstall $* } -if [ -n "${XPU_VERSION}" ]; then +if [ -n "${ROCM_VERSION}" ]; then + TRITON_REPO="https://github.com/openai/triton" + TRITON_TEXT_FILE="triton-rocm" +elif [ -n "${XPU_VERSION}" ]; then TRITON_REPO="https://github.com/intel/intel-xpu-backend-for-triton" TRITON_TEXT_FILE="triton-xpu" else diff --git a/.ci/docker/ubuntu-rocm/Dockerfile b/.ci/docker/ubuntu-rocm/Dockerfile index 07e25f533a71f..ee9ede8ba611b 100644 --- a/.ci/docker/ubuntu-rocm/Dockerfile +++ b/.ci/docker/ubuntu-rocm/Dockerfile @@ -100,10 +100,10 @@ ARG TRITON # try to reach out to S3, which docker build runners don't have access COPY ./common/install_triton.sh install_triton.sh COPY ./common/common_utils.sh common_utils.sh -COPY ci_commit_pins/triton.txt triton.txt +COPY ci_commit_pins/triton-rocm.txt triton-rocm.txt COPY triton_version.txt triton_version.txt RUN if [ -n "${TRITON}" ]; then bash ./install_triton.sh; fi -RUN rm install_triton.sh common_utils.sh triton.txt triton_version.txt +RUN rm install_triton.sh common_utils.sh triton-rocm.txt triton_version.txt # Install AOTriton COPY ./aotriton_version.txt aotriton_version.txt diff --git a/.circleci/scripts/binary_populate_env.sh b/.circleci/scripts/binary_populate_env.sh index 106d0917ca68c..e918635922a45 100755 --- a/.circleci/scripts/binary_populate_env.sh +++ b/.circleci/scripts/binary_populate_env.sh @@ -90,7 +90,7 @@ fi if [[ "$PACKAGE_TYPE" =~ .*wheel.* && -n "$PYTORCH_BUILD_VERSION" && "$PYTORCH_BUILD_VERSION" =~ .*rocm.* && $(uname) == "Linux" ]]; then TRITON_REQUIREMENT="pytorch-triton-rocm==${TRITON_VERSION}; ${TRITON_CONSTRAINT}" if [[ -n "$PYTORCH_BUILD_VERSION" && "$PYTORCH_BUILD_VERSION" =~ .*dev.* ]]; then - TRITON_SHORTHASH=$(cut -c1-10 $PYTORCH_ROOT/.ci/docker/ci_commit_pins/triton.txt) + TRITON_SHORTHASH=$(cut -c1-10 $PYTORCH_ROOT/.ci/docker/ci_commit_pins/triton-rocm.txt) TRITON_REQUIREMENT="pytorch-triton-rocm==${TRITON_VERSION}+${TRITON_SHORTHASH}; ${TRITON_CONSTRAINT}" fi if [[ -z "${PYTORCH_EXTRA_INSTALL_REQUIREMENTS:-}" ]]; then diff --git a/.github/scripts/build_triton_wheel.py b/.github/scripts/build_triton_wheel.py index 096b20fe0909c..7ee2cb4b8e61b 100644 --- a/.github/scripts/build_triton_wheel.py +++ b/.github/scripts/build_triton_wheel.py @@ -15,7 +15,9 @@ def read_triton_pin(device: str = "cuda") -> str: triton_file = "triton.txt" - if device == "xpu": + if device == "rocm": + triton_file = "triton-rocm.txt" + elif device == "xpu": triton_file = "triton-xpu.txt" with open(REPO_DIR / ".ci" / "docker" / "ci_commit_pins" / triton_file) as f: return f.read().strip() diff --git a/.github/workflows/build-triton-wheel.yml b/.github/workflows/build-triton-wheel.yml index 1aa777c1167c4..01f06cdd286cf 100644 --- a/.github/workflows/build-triton-wheel.yml +++ b/.github/workflows/build-triton-wheel.yml @@ -13,6 +13,7 @@ on: - .github/scripts/build_triton_wheel.py - .github/ci_commit_pins/triton.txt - .ci/docker/ci_commit_pins/triton.txt + - .ci/docker/ci_commit_pins/triton-rocm.txt - .ci/docker/ci_commit_pins/triton-xpu.txt pull_request: paths: @@ -20,6 +21,7 @@ on: - .github/scripts/build_triton_wheel.py - .github/ci_commit_pins/triton.txt - .ci/docker/ci_commit_pins/triton.txt + - .ci/docker/ci_commit_pins/triton-rocm.txt - .ci/docker/ci_commit_pins/triton-xpu.txt concurrency: diff --git a/CODEOWNERS b/CODEOWNERS index bafce8f6f5352..7b9db26104a9d 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -57,6 +57,7 @@ nn/qat/ @jerryzh168 # Docker /.ci/docker/ @jeffdaily /.ci/docker/ci_commit_pins/triton.txt @desertfire @Chillee @eellison @shunting314 @bertmaher @jeffdaily @jataylo @jithunnair-amd @pruthvistony +/.ci/docker/ci_commit_pins/triton-rocm.txt @jeffdaily @jataylo @jithunnair-amd @pruthvistony /.ci/docker/ci_commit_pins/triton-xpu.txt @EikanWang @gujinghui # Github Actions