8000 Update on "[Cutlass] Implement EVT example tensor creation" · pytorch/pytorch@3deec90 · GitHub
[go: up one dir, main page]

Skip to content

Commit 3deec90

Browse files
committed
Update on "[Cutlass] Implement EVT example tensor creation"
This PR implements a translation layer from inductor IR to "example tensors" the expected arguments of the EVT tracer. These tensors basically store the name, shape, stride, and dtype of the tensor and allow an ast-based python parse to generate the EVT C++. udpates to example tensor creation Previously merged: * #150903 * #150346 * #150345 * #150344 cc voznesenskym penguinwu EikanWang jgong5 Guobing- 8000 Chen XiaobingSuper zhuhaozhe blzheng wenzhe-nrv jiayisunx ipiszy chenyang78 kadeng muchulee8 amjames chauhang aakhundov [ghstack-poisoned]
2 parents 137721e + f658807 commit 3deec90

File tree

128 files changed

+4361
-2493
lines changed
  • aten/src/ATen
  • benchmarks/dynamo/pr_time_benchmarks
  • c10
  • caffe2/serialize
  • cmake
  • docs/source
  • test
  • third_party
  • tools/flight_recorder/components
  • torch
  • Some content is hidden

    Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

    128 files changed

    +4361
    -2493
    lines changed

    .ci/docker/almalinux/build.sh

    Lines changed: 36 additions & 58 deletions
    Original file line numberDiff line numberDiff line change
    @@ -1,82 +1,60 @@
    11
    #!/usr/bin/env bash
    22
    # Script used only in CD pipeline
    33

    4-
    set -eou pipefail
    4+
    set -exou pipefail
    55

    66
    image="$1"
    77
    shift
    88

    99
    if [ -z "${image}" ]; then
    10-
    echo "Usage: $0 IMAGE"
    10+
    echo "Usage: $0 IMAGENAME:ARCHTAG"
    1111
    exit 1
    1212
    fi
    1313

    14-
    DOCKER_IMAGE_NAME="pytorch/${image}"
    14+
    # Go from imagename:tag to tag
    15+
    DOCKER_TAG_PREFIX=$(echo "${image}" | awk -F':' '{print $2}')
    1516

    17+
    CUDA_VERSION=""
    18+
    if [[ "${DOCKER_TAG_PREFIX}" == cuda* ]]; then
    19+
    # extract cuda version from image name and tag. e.g. manylinux2_28-builder:cuda12.8 returns 12.8
    20+
    CUDA_VERSION=$(echo "${DOCKER_TAG_PREFIX}" | awk -F'cuda' '{print $2}')
    21+
    fi
    1622

    17-
    export DOCKER_BUILDKIT=1
    18-
    TOPDIR=$(git rev-parse --show-toplevel)
    19-
    20-
    CUDA_VERSION=${CUDA_VERSION:-12.1}
    21-
    22-
    case ${CUDA_VERSION} in
    23+
    case ${DOCKER_TAG_PREFIX} in
    2324
    cpu)
    2425
    BASE_TARGET=base
    25-
    DOCKER_TAG=cpu
    2626
    ;;
    27-
    all)
    28-
    BASE_TARGET=all_cuda
    29-
    DOCKER_TAG=latest
    27+
    cuda*)
    28+
    BASE_TARGET=cuda${CUDA_VERSION}
    3029
    ;;
    3130
    *)
    32-
    BASE_TARGET=cuda${CUDA_VERSION}
    33-
    DOCKER_TAG=cuda${CUDA_VERSION}
    31+
    echo "ERROR: Unknown docker tag ${DOCKER_TAG_PREFIX}"
    32+
    exit 1
    3433
    ;;
    3534
    esac
    3635

    36+
    # TODO: Remove LimitNOFILE=1048576 patch once https://github.com/pytorch/test-infra/issues/5712
    37+
    # is resolved. This patch is required in order to fix timing out of Docker build on Amazon Linux 2023.
    38+
    sudo sed -i s/LimitNOFILE=infinity/LimitNOFILE=1048576/ /usr/lib/systemd/system/docker.service
    39+
    sudo systemctl daemon-reload
    40+
    sudo systemctl restart docker
    3741

    38-
    (
    39-
    set -x
    40-
    # TODO: Remove LimitNOFILE=1048576 patch once https://github.com/pytorch/test-infra/issues/5712
    41-
    # is resolved. This patch is required in order to fix timing out of Docker build on Amazon Linux 2023.
    42-
    sudo sed -i s/LimitNOFILE=infinity/LimitNOFILE=1048576/ /usr/lib/systemd/system/docker.service
    43-
    sudo systemctl daemon-reload
    44-
    sudo systemctl restart docker
    45-
    46-
    docker build \
    47-
    --target final \
    48-
    --progress plain \
    49-
    --build-arg "BASE_TARGET=${BASE_TARGET}" \
    50-
    --build-arg "CUDA_VERSION=${CUDA_VERSION}" \
    51-
    --build-arg "DEVTOOLSET_VERSION=11" \
    52-
    -t ${DOCKER_IMAGE_NAME} \
    53-
    $@ \
    54-
    -f "${TOPDIR}/.ci/docker/almalinux/Dockerfile" \
    55-
    ${TOPDIR}/.ci/docker/
    56-
    )
    57-
    58-
    if [[ "${DOCKER_TAG}" =~ ^cuda* ]]; then
    42+
    export DOCKER_BUILDKIT=1
    43+
    TOPDIR=$(git rev-parse --show-toplevel)
    44+
    tmp_tag=$(basename "$(mktemp -u)" | tr '[:upper:]' '[:lower:]')
    45+
    46+
    docker build \
    47+
    --target final \
    48+
    --progress plain \
    49+
    --build-arg "BASE_TARGET=${BASE_TARGET}" \
    50+
    --build-arg "CUDA_VERSION=${CUDA_VERSION}" \
    51+
    --build-arg "DEVTOOLSET_VERSION=11" \
    52+
    -t ${tmp_tag} \
    53+
    $@ \
    54+
    -f "${TOPDIR}/.ci/docker/almalinux/Dockerfile" \
    55+
    ${TOPDIR}/.ci/docker/
    56+
    57+
    if [ -n "${CUDA_VERSION}" ]; then
    5958
    # Test that we're using the right CUDA compiler
    60-
    (
    61-
    set -x
    62-
    docker run --rm "${DOCKER_IMAGE_NAME}" nvcc --version | grep "cuda_${CUDA_VERSION}"
    63-
    )
    64-
    fi
    65-
    66-
    GITHUB_REF=${GITHUB_REF:-$(git symbolic-ref -q HEAD || git describe --tags --exact-match)}
    67-
    GIT_BRANCH_NAME=${GITHUB_REF##*/}
    68-
    GIT_COMMIT_SHA=${GITHUB_SHA:-$(git rev-parse HEAD)}
    69-
    DOCKER_IMAGE_BRANCH_TAG=${DOCKER_IMAGE_NAME}-${GIT_BRANCH_NAME}
    70-
    DOCKER_IMAGE_SHA_TAG=${DOCKER_IMAGE_NAME}-${GIT_COMMIT_SHA}
    71-
    if [[ "${WITH_PUSH:-}" == true ]]; then
    72-
    (
    73-
    set -x
    74-
    docker push "${DOCKER_IMAGE_NAME}"
    75-
    if [[ -n ${GITHUB_REF} ]]; then
    76-
    docker tag ${DOCKER_IMAGE_NAME} ${DOCKER_IMAGE_BRANCH_TAG}
    77-
    docker tag ${DOCKER_IMAGE_NAME} ${DOCKER_IMAGE_SHA_TAG}
    78-
    docker push "${DOCKER_IMAGE_BRANCH_TAG}"
    79-
    docker push "${DOCKER_IMAGE_SHA_TAG}"
    80-
    fi
    81-
    )
    59+
    docker run --rm "${tmp_tag}" nvcc --version | grep "cuda_${CUDA_VERSION}"
    8260
    fi
    Lines changed: 1 addition & 1 deletion
    Original file line numberDiff line numberDiff line change
    @@ -1 +1 @@
    1-
    17cbef50fd4ac8488632367a864aa01a2c0019ef
    1+
    381ae5d57d35c165d98df728380b20fbde350392

    .ci/docker/libtorch/build.sh

    Lines changed: 28 additions & 48 deletions
    Original file line numberDiff line numberDiff line change
    @@ -1,83 +1,63 @@
    11
    #!/usr/bin/env bash
    22
    # Script used only in CD pipeline
    33

    4-
    set -eou pipefail
    4+
    set -eoux pipefail
    55

    66
    image="$1"
    77
    shift
    88

    99
    if [ -z "${image}" ]; then
    10-
    echo "Usage: $0 IMAGE"
    10+
    echo "Usage: $0 IMAGENAME:ARCHTAG"
    1111
    exit 1
    1212
    fi
    1313

    14-
    DOCKER_IMAGE="pytorch/${image}"
    15-
    1614
    TOPDIR=$(git rev-parse --show-toplevel)
    1715

    18-
    GPU_ARCH_TYPE=${GPU_ARCH_TYPE:-cpu}
    19-
    GPU_ARCH_VERSION=${GPU_ARCH_VERSION:-}
    16+
    DOCKER=${DOCKER:-docker}
    2017

    21-
    WITH_PUSH=${WITH_PUSH:-}
    18+
    # Go from imagename:tag to tag
    19+
    DOCKER_TAG_PREFIX=$(echo "${image}" | awk -F':' '{print $2}')
    2220

    23-
    DOCKER=${DOCKER:-docker}
    21+
    GPU_ARCH_VERSION=""
    22+
    if [[ "${DOCKER_TAG_PREFIX}" == cuda* ]]; then
    23+
    # extract cuda version from image name. e.g. manylinux2_28-builder:cuda12.8 returns 12.8
    24+
    GPU_ARCH_VERSION=$(echo "${DOCKER_TAG_PREFIX}" | awk -F'cuda' '{print $2}')
    25+
    elif [[ "${DOCKER_TAG_PREFIX}" == rocm* ]]; then
    26+
    # extract rocm version from image name. e.g. manylinux2_28-builder:rocm6.2.4 returns 6.2.4
    27+
    GPU_ARCH_VERSION=$(echo "${DOCKER_TAG_PREFIX}" | awk -F'rocm' '{print $2}')
    28+
    fi
    2429

    25-
    case ${GPU_ARCH_TYPE} in
    30+
    case ${DOCKER_TAG_PREFIX} in
    2631
    cpu)
    2732
    BASE_TARGET=cpu
    28-
    DOCKER_TAG=cpu
    2933
    GPU_IMAGE=ubuntu:20.04
    3034
    DOCKER_GPU_BUILD_ARG=""
    3135
    ;;
    32-
    cuda)
    36+
    cuda*)
    3337
    BASE_TARGET=cuda${GPU_ARCH_VERSION}
    34-
    DOCKER_TAG=cuda${GPU_ARCH_VERSION}
    3538
    GPU_IMAGE=ubuntu:20.04
    3639
    DOCKER_GPU_BUILD_ARG=""
    3740
    ;;
    38-
    rocm)
    41+
    rocm*)
    3942
    BASE_TARGET=rocm
    40-
    DOCKER_TAG=rocm${GPU_ARCH_VERSION}
    4143
    GPU_IMAGE=rocm/dev-ubuntu-22.04:${GPU_ARCH_VERSION}-complete
    4244
    PYTORCH_ROCM_ARCH="gfx900;gfx906;gfx908;gfx90a;gfx942;gfx1030;gfx1100;gfx1101;gfx1102;gfx1200;gfx1201"
    4345
    DOCKER_GPU_BUILD_ARG="--build-arg PYTORCH_ROCM_ARCH=${PYTORCH_ROCM_ARCH} --build-arg ROCM_VERSION=${GPU_ARCH_VERSION}"
    4446
    ;;
    4547
    *)
    46-
    echo "ERROR: Unrecognized GPU_ARCH_TYPE: ${GPU_ARCH_TYPE}"
    48+
    echo "ERROR: Unrecognized DOCKER_TAG_PREFIX: ${DOCKER_TAG_PREFIX}"
    4749
    exit 1
    4850
    ;;
    4951
    esac
    5052

    51-
    52-
    (
    53-
    set -x
    54-
    DOCKER_BUILDKIT=1 ${DOCKER} build \
    55-
    --target final \
    56-
    ${DOCKER_GPU_BUILD_ARG} \
    57-
    --build-arg "GPU_IMAGE=${GPU_IMAGE}" \
    58-
    --build-arg "BASE_TARGET=${BASE_TARGET}" \
    59-
    -t "${DOCKER_IMAGE}" \
    60-
    $@ \
    61-
    -f "${TOPDIR}/.ci/docker/libtorch/Dockerfile" \
    62-
    "${TOPDIR}/.ci/docker/"
    63-
    64-
    )
    65-
    66-
    GITHUB_REF=${GITHUB_REF:-$(git symbolic-ref -q HEAD || git describe --tags --exact-match)}
    67-
    GIT_BRANCH_NAME=${GITHUB_REF##*/}
    68-
    GIT_COMMIT_SHA=${GITHUB_SHA:-$(git rev-parse HEAD)}
    69-
    DOCKER_IMAGE_BRANCH_TAG=${DOCKER_IMAGE}-${GIT_BRANCH_NAME}
    70-
    DOCKER_IMAGE_SHA_TAG=${DOCKER_IMAGE}-${GIT_COMMIT_SHA}
    71-
    72-
    if [[ "${WITH_PUSH}" == true ]]; then
    73-
    (
    74-
    set -x
    75-
    ${DOCKER} push "${DOCKER_IMAGE}"
    76-
    if [[ -n ${GITHUB_REF} ]]; then
    77-
    ${DOCKER} tag ${DOCKER_IMAGE} ${DOCKER_IMAGE_BRANCH_TAG}
    78-
    ${DOCKER} tag ${DOCKER_IMAGE} ${DOCKER_IMAGE_SHA_TAG}
    79-
    ${DOCKER} push "${DOCKER_IMAGE_BRANCH_TAG}"
    80-
    ${DOCKER} push "${DOCKER_IMAGE_SHA_TAG}"
    81-
    fi
    82-
    )
    83-
    fi
    53+
    tmp_tag=$(basename "$(mktemp -u)" | tr '[:upper:]' '[:lower:]')
    54+
    55+
    DOCKER_BUILDKIT=1 ${DOCKER} build \
    56+
    --target final \
    57+
    ${DOCKER_GPU_BUILD_ARG} \
    58+
    --build-arg "GPU_IMAGE=${GPU_IMAGE}" \
    59+
    --build-arg "BASE_TARGET=${BASE_TARGET}" \
    60+
    -t "${tmp_tag}" \
    61+
    $@ \
    62+
    -f "${TOPDIR}/.ci/docker/libtorch/Dockerfile" \
    63+
    "${TOPDIR}/.ci/docker/"

    0 commit comments

    Comments
     (0)
    0