8000 Update base for Update on "[Cutlass] Implement EVT example tensor cre… · pytorch/pytorch@f658807 · GitHub
[go: up one dir, main page]

Skip to content

Commit f658807

Browse files
committed
Update base for 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-Chen XiaobingSuper zhuhaozhe blzheng wenzhe-nrv jiayisunx ipiszy chenyang78 kadeng muchulee8 amjames chauhang aakhundov [ghstack-poisoned]
2 parents 7b8e168 + 97d97ae commit f658807

File tree

128 files changed

+4361
-2493
lines changed

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