2025-03-14T04:04:22.9284690Z Current runner version: '2.322.0' 2025-03-14T04:04:22.9292028Z Runner name: 'i-0ef9d91641f336945' 2025-03-14T04:04:22.9292903Z Runner group name: 'Default' 2025-03-14T04:04:22.9294035Z Machine name: 'ip-10-1-67-147' 2025-03-14T04:04:22.9299107Z ##[group]GITHUB_TOKEN Permissions 2025-03-14T04:04:22.9302241Z Actions: read 2025-03-14T04:04:22.9302985Z Attestations: read 2025-03-14T04:04:22.9303643Z Checks: read 2025-03-14T04:04:22.9304248Z Contents: read 2025-03-14T04:04:22.9304943Z Deployments: read 2025-03-14T04:04:22.9305595Z Discussions: read 2025-03-14T04:04:22.9306250Z Issues: read 2025-03-14T04:04:22.9306897Z Metadata: read 2025-03-14T04:04:22.9307588Z Packages: read 2025-03-14T04:04:22.9308206Z Pages: read 2025-03-14T04:04:22.9308864Z PullRequests: read 2025-03-14T04:04:22.9309536Z RepositoryProjects: read 2025-03-14T04:04:22.9310280Z SecurityEvents: read 2025-03-14T04:04:22.9310951Z Statuses: read 2025-03-14T04:04:22.9311556Z ##[endgroup] 2025-03-14T04:04:22.9315401Z Secret source: Actions 2025-03-14T04:04:22.9316703Z Prepare workflow directory 2025-03-14T04:04:23.2471039Z Prepare all required actions 2025-03-14T04:04:23.2517974Z Getting action download info 2025-03-14T04:04:23.4657893Z Download action repository 'pytorch/test-infra@main' (SHA:de00dac6adc071cb2f9861380a0ed3947b93e5cc) 2025-03-14T04:04:24.8083468Z Download action repository 'pytorch/pytorch@main' (SHA:aed0b7a742a2d7b7901790622829cbd2135049a4) 2025-03-14T04:04:37.8062495Z Download action repository 'aws-actions/configure-aws-credentials@v3' (SHA:50ac8dd1e1b10d09dac7b8727528b91bed831ac0) 2025-03-14T04:04:37.9868083Z Download action repository 'seemethere/upload-artifact-s3@v5' (SHA:baba72d0712b404f646cebe0730933554ebce96a) 2025-03-14T04:04:38.2442670Z Getting action download info 2025-03-14T04:04:38.3596165Z Download action repository 'actions/checkout@v4' (SHA:11bd71901bbe5b1630ceea73d27597364c9af683) 2025-03-14T04:04:38.6061686Z Getting action download info 2025-03-14T04:04:38.7066157Z Download action repository 'nick-fields/retry@v3.0.0' (SHA:7152eba30c6575329ac0576536151aca5a72780e) 2025-03-14T04:04:38.8836034Z Getting action download info 2025-03-14T04:04:38.9759850Z Download action repository 'nick-fields/retry@3e91a01664abd3c5cd539100d10d33b9c5b68482' (SHA:3e91a01664abd3c5cd539100d10d33b9c5b68482) 2025-03-14T04:04:39.1445610Z Getting action download info 2025-03-14T04:04:39.2622280Z Uses: pytorch/pytorch/.github/workflows/_linux-test.yml@refs/heads/main (aed0b7a742a2d7b7901790622829cbd2135049a4) 2025-03-14T04:04:39.2624417Z ##[group] Inputs 2025-03-14T04:04:39.2624799Z build-environment: linux-focal-py3.13-clang10 2025-03-14T04:04:39.2627678Z test-matrix: {"include": [{"config": "default", "shard": 1, "num_shards": 5, "runner": "lf.linux.4xlarge"}, {"config": "default", "shard": 2, "num_shards": 5, "runner": "lf.linux.4xlarge"}, {"config": "default", "shard": 3, "num_shards": 5, "runner": "lf.linux.4xlarge"}, {"config": "default", "shard": 4, "num_shards": 5, "runner": "lf.linux.4xlarge"}, {"config": "default", "shard": 5, "num_shards": 5, "runner": "lf.linux.4xlarge"}, {"config": "crossref", "shard": 1, "num_shards": 2, "runner": "lf.linux.2xlarge"}, {"config": "crossref", "shard": 2, "num_shards": 2, "runner": "lf.linux.2xlarge"}, {"config": "dynamo_wrapped", "shard": 1, "num_shards": 3, "runner": "lf.linux.2xlarge"}, {"config": "dynamo_wrapped", "shard": 2, "num_shards": 3, "runner": "lf.linux.2xlarge"}, {"config": "dynamo_wrapped", "shard": 3, "num_shards": 3, "runner": "lf.linux.2xlarge"}]} 2025-03-14T04:04:39.2630883Z docker-image: 308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-focal-py3.13-clang10:aa89d6e739080d90fa18625d57297c6734465849 2025-03-14T04:04:39.2631662Z sync-tag: 2025-03-14T04:04:39.2632496Z timeout-minutes: 600 2025-03-14T04:04:39.2632779Z use-gha: 2025-03-14T04:04:39.2633029Z dashboard-tag: 2025-03-14T04:04:39.2633300Z s3-bucket: gha-artifacts 2025-03-14T04:04:39.2633602Z aws-role-to-assume: 2025-03-14T04:04:39.2634207Z disable-monitor: false 2025-03-14T04:04:39.2634779Z ##[endgroup] 2025-03-14T04:04:39.2635364Z Complete job name: linux-focal-py3.13-clang10 / test (dynamo_wrapped, 1, 3, lf.linux.2xlarge) 2025-03-14T04:04:39.3112165Z A job started hook has been configured by the self-hosted runner administrator 2025-03-14T04:04:39.3228470Z ##[group]Run '/home/ec2-user/runner-scripts/before_job.sh' 2025-03-14T04:04:39.3237702Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T04:04:39.3238395Z ##[endgroup] 2025-03-14T04:04:41.2304122Z Runner Type: lf.linux.2xlarge 2025-03-14T04:04:41.2304684Z Instance Type: c5.2xlarge 2025-03-14T04:04:41.2304999Z AMI Name: unknown 2025-03-14T04:04:41.2333977Z AMI ID: ami-05b10e08d247fb927 2025-03-14T04:04:46.8393834Z ##[group]Run pytorch/test-infra/.github/actions/setup-ssh@main 2025-03-14T04:04:46.8394336Z with: 2025-03-14T04:04:46.8395075Z github-secret: *** 2025-03-14T04:04:46.8395828Z instructions: All testing is done inside the container, to start an interactive session run: docker exec -it $(docker container ps --format '{{.ID}}') bash 2025-03-14T04:04:46.8396659Z activate-with-label: false 2025-03-14T04:04:46.8396962Z label: with-ssh 2025-03-14T04:04:46.8397219Z remove-existing-keys: true 2025-03-14T04:04:46.8397520Z fail-silently: true 2025-03-14T04:04:46.8397784Z env: 2025-03-14T04:04:46.8398209Z GIT_DEFAULT_BRANCH: main 2025-03-14T04:04:46.8398504Z ##[endgroup] 2025-03-14T04:04:46.9569440Z Please see https://github.com/pytorch/pytorch/wiki/Debugging-using-with-ssh-for-Github-Actions for more info. 2025-03-14T04:04:46.9571194Z Not on pull request and ciflow reference could not be extracted, skipping adding ssh keys 2025-03-14T04:04:46.9727091Z ##[group]Run pytorch/pytorch/.github/actions/checkout-pytorch@main 2025-03-14T04:04:46.9727564Z with: 2025-03-14T04:04:46.9727804Z no-sudo: true 2025-03-14T04:04:46.9728069Z submodules: recursive 2025-03-14T04:04:46.9728357Z fetch-depth: 0 2025-03-14T04:04:46.9728610Z env: 2025-03-14T04:04:46.9728850Z GIT_DEFAULT_BRANCH: main 2025-03-14T04:04:46.9729134Z ##[endgroup] 2025-03-14T04:04:46.9806663Z ##[group]Run echo "IN_CONTAINER_RUNNER=$(if [ -f /.inarc ] || [ -f /.incontainer ]; then echo true ; else echo false; fi)" >> "$GITHUB_OUTPUT" 2025-03-14T04:04:46.9807682Z echo "IN_CONTAINER_RUNNER=$(if [ -f /.inarc ] || [ -f /.incontainer ]; then echo true ; else echo false; fi)" >> "$GITHUB_OUTPUT" 2025-03-14T04:04:46.9815876Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T04:04:46.9816296Z env: 2025-03-14T04:04:46.9816542Z GIT_DEFAULT_BRANCH: main 2025-03-14T04:04:46.9816833Z ##[endgroup] 2025-03-14T04:04:46.9902560Z ##[group]Run # Use all available CPUs for fetching 2025-03-14T04:04:46.9903035Z # Use all available CPUs for fetching 2025-03-14T04:04:46.9903439Z cd "${GITHUB_WORKSPACE}" 2025-03-14T04:04:46.9903858Z git config --global fetch.parallel 0 2025-03-14T04:04:46.9904275Z git config --global submodule.fetchJobs 0 2025-03-14T04:04:46.9904646Z  2025-03-14T04:04:46.9905036Z # Clean workspace. The default checkout action should also do this, but 2025-03-14T04:04:46.9905555Z # do it here as well just in case 2025-03-14T04:04:46.9905891Z if [[ -d .git ]]; then 2025-03-14T04:04:46.9906210Z  if [ -z "${NO_SUDO}" ]; then 2025-03-14T04:04:46.9906550Z  sudo git clean -ffdx 2025-03-14T04:04:46.9906860Z  else 2025-03-14T04:04:46.9907122Z  git clean -ffdx 2025-03-14T04:04:46.9907410Z  fi 2025-03-14T04:04:46.9907650Z fi 2025-03-14T04:04:46.9913391Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T04:04:46.9913808Z env: 2025-03-14T04:04:46.9914125Z GIT_DEFAULT_BRANCH: main 2025-03-14T04:04:46.9914432Z NO_SUDO: true 2025-03-14T04:04:46.9914683Z ##[endgroup] 2025-03-14T04:04:48.1529396Z Removing .additional_ci_files/ 2025-03-14T04:04:48.1530129Z Removing .github/scripts/__pycache__/ 2025-03-14T04:04:48.1530486Z Removing artifacts.zip 2025-03-14T04:04:48.1530783Z Removing aten/src/ATen/Config.h 2025-03-14T04:04:48.1531494Z Removing build/ 2025-03-14T04:04:48.1531772Z Removing compile_commands.json 2025-03-14T04:04:48.1532080Z Removing dist/ 2025-03-14T04:04:48.1532350Z Removing functorch/functorch.so 2025-03-14T04:04:48.1532809Z Removing sccache-stats-linux-jammy-py3.9-gcc11-pch-38751677985.json 2025-03-14T04:04:48.1533299Z Removing test/test-reports/ 2025-03-14T04:04:48.1533621Z Removing third_party/__pycache__/ 2025-03-14T04:04:48.1533953Z Removing third_party/nccl/ 2025-03-14T04:04:48.1534260Z Removing tools/__pycache__/ 2025-03-14T04:04:48.1534591Z Removing tools/autograd/__pycache__/ 2025-03-14T04:04:48.1535133Z Removing tools/pyi/__pycache__/ 2025-03-14T04:04:48.1535489Z Removing tools/setup_helpers/__pycache__/ 2025-03-14T04:04:48.1536051Z Removing tools/shared/_utils_internal.py 2025-03-14T04:04:48.1536418Z Removing tools/stats/__pycache__/ 2025-03-14T04:04:48.1536746Z Removing torch.egg-info/ 2025-03-14T04:04:48.1537065Z Removing torch/_C/_VariableFunctions.pyi 2025-03-14T04:04:48.1537453Z Removing torch/_C/__init__.pyi 2025-03-14T04:04:48.1537766Z Removing torch/_C/_nn.pyi 2025-03-14T04:04:48.1538053Z Removing torch/_VF.pyi 2025-03-14T04:04:48.1538332Z Removing torch/__pycache__/ 2025-03-14T04:04:48.1538609Z Removing torch/bin/ 2025-03-14T04:04:48.1538918Z Removing torch/csrc/api/include/torch/version.h 2025-03-14T04:04:48.1539310Z Removing torch/csrc/autograd/generated/ 2025-03-14T04:04:48.1539783Z Removing torch/csrc/inductor/aoti_torch/generated/c_shim_cpu.cpp 2025-03-14T04:04:48.1540340Z Removing torch/csrc/inductor/aoti_torch/generated/c_shim_cuda.cpp 2025-03-14T04:04:48.1540998Z Removing torch/csrc/lazy/generated/LazyIr.h 2025-03-14T04:04:48.1541445Z Removing torch/csrc/lazy/generated/LazyNativeFunctions.cpp 2025-03-14T04:04:48.1541954Z Removing torch/csrc/lazy/generated/LazyNativeFunctions.h 2025-03-14T04:04:48.1542422Z Removing torch/csrc/lazy/generated/LazyNonNativeIr.h 2025-03-14T04:04:48.1542907Z Removing torch/csrc/lazy/generated/RegisterAutogradLazy.cpp 2025-03-14T04:04:48.1543392Z Removing torch/csrc/lazy/generated/RegisterLazy.cpp 2025-03-14T04:04:48.1543780Z Removing torch/include/ 2025-03-14T04:04:48.1544067Z Removing torch/lib/cmake/ 2025-03-14T04:04:48.1544366Z Removing torch/lib/libXNNPACK.a 2025-03-14T04:04:48.1544695Z Removing torch/lib/libaoti_custom_ops.so 2025-03-14T04:04:48.1545047Z Removing torch/lib/libasmjit.a 2025-03-14T04:04:48.1545392Z Removing torch/lib/libbackend_with_compiler.so 2025-03-14T04:04:48.1545766Z Removing torch/lib/libc10.so 2025-03-14T04:04:48.1546059Z Removing torch/lib/libclog.a 2025-03-14T04:04:48.1546372Z Removing torch/lib/libcpuinfo.a 2025-03-14T04:04:48.1546687Z Removing torch/lib/libdnnl.a 2025-03-14T04:04:48.1546998Z Removing torch/lib/libfbgemm.a 2025-03-14T04:04:48.1547308Z Removing torch/lib/libfmt.a 2025-03-14T04:04:48.1547629Z Removing torch/lib/libjitbackend_test.so 2025-03-14T04:04:48.1547984Z Removing torch/lib/libkineto.a 2025-03-14T04:04:48.1548318Z Removing torch/lib/libmicrokernels-prod.a 2025-03-14T04:04:48.1548682Z Removing torch/lib/libnnpack.a 2025-03-14T04:04:48.1549010Z Removing torch/lib/libprotobuf-lite.a 2025-03-14T04:04:48.1549354Z Removing torch/lib/libprotobuf.a 2025-03-14T04:04:48.1549677Z Removing torch/lib/libprotoc.a 2025-03-14T04:04:48.1550004Z Removing torch/lib/libpthreadpool.a 2025-03-14T04:04:48.1550353Z Removing torch/lib/libpytorch_qnnpack.a 2025-03-14T04:04:48.1550698Z Removing torch/lib/libshm.so 2025-03-14T04:04:48.1550992Z Removing torch/lib/libsleef.a 2025-03-14T04:04:48.1551311Z Removing torch/lib/libtensorpipe.a 2025-03-14T04:04:48.1551655Z Removing torch/lib/libtensorpipe_uv.a 2025-03-14T04:04:48.1551999Z Removing torch/lib/libtorch.so 2025-03-14T04:04:48.1552315Z Removing torch/lib/libtorch_cpu.so 2025-03-14T04:04:48.1552660Z Removing torch/lib/libtorch_global_deps.so 2025-03-14T04:04:48.1553020Z Removing torch/lib/libtorch_python.so 2025-03-14T04:04:48.1553371Z Removing torch/lib/libtorchbind_test.so 2025-03-14T04:04:48.1553751Z Removing torch/lib/pkgconfig/ 2025-03-14T04:04:48.1554168Z Removing torch/nn/functional.pyi 2025-03-14T04:04:48.1554497Z Removing torch/return_types.pyi 2025-03-14T04:04:48.1554803Z Removing torch/share/ 2025-03-14T04:04:48.1555073Z Removing torch/test/ 2025-03-14T04:04:48.1555451Z Removing torch/testing/_internal/generated/annotated_fn_args.py 2025-03-14T04:04:48.1556012Z Removing torch/utils/benchmark/utils/valgrind_wrapper/callgrind.h 2025-03-14T04:04:48.1556573Z Removing torch/utils/benchmark/utils/valgrind_wrapper/valgrind.h 2025-03-14T04:04:48.1557065Z Removing torch/utils/data/datapipes/datapipe.pyi 2025-03-14T04:04:48.1557446Z Removing torch/version.py 2025-03-14T04:04:48.1557755Z Removing torchgen/__pycache__/ 2025-03-14T04:04:48.1558079Z Removing torchgen/aoti/__pycache__/ 2025-03-14T04:04:48.1558425Z Removing torchgen/api/__pycache__/ 2025-03-14T04:04:48.1558769Z Removing torchgen/api/types/__pycache__/ 2025-03-14T04:04:48.1559110Z Removing torchgen/dest/__pycache__/ 2025-03-14T04:04:48.1559456Z Removing torchgen/executorch/__pycache__/ 2025-03-14T04:04:48.1559841Z Removing torchgen/executorch/api/__pycache__/ 2025-03-14T04:04:48.1560254Z Removing torchgen/executorch/api/types/__pycache__/ 2025-03-14T04:04:48.1560643Z Removing torchgen/packaged/ 2025-03-14T04:04:48.1560983Z Removing torchgen/selective_build/__pycache__/ 2025-03-14T04:04:48.1629789Z ##[group]Run actions/checkout@v4 2025-03-14T04:04:48.1630115Z with: 2025-03-14T04:04:48.1630390Z ref: aed0b7a742a2d7b7901790622829cbd2135049a4 2025-03-14T04:04:48.1630746Z fetch-depth: 0 2025-03-14T04:04:48.1631009Z submodules: recursive 2025-03-14T04:04:48.1631293Z show-progress: false 2025-03-14T04:04:48.1631751Z repository: pytorch/pytorch 2025-03-14T04:04:48.1632175Z token: *** 2025-03-14T04:04:48.1632416Z ssh-strict: true 2025-03-14T04:04:48.1632670Z ssh-user: git 2025-03-14T04:04:48.1632934Z persist-credentials: true 2025-03-14T04:04:48.1633224Z clean: true 2025-03-14T04:04:48.1633474Z sparse-checkout-cone-mode: true 2025-03-14T04:04:48.1633802Z fetch-tags: false 2025-03-14T04:04:48.1634067Z lfs: false 2025-03-14T04:04:48.1634317Z set-safe-directory: true 2025-03-14T04:04:48.1634600Z env: 2025-03-14T04:04:48.1634836Z GIT_DEFAULT_BRANCH: main 2025-03-14T04:04:48.1635119Z ##[endgroup] 2025-03-14T04:04:48.2720751Z Syncing repository: pytorch/pytorch 2025-03-14T04:04:48.2722150Z ##[group]Getting Git version info 2025-03-14T04:04:48.2722661Z Working directory is '/home/ec2-user/actions-runner/_work/pytorch/pytorch' 2025-03-14T04:04:48.2723357Z [command]/usr/bin/git version 2025-03-14T04:04:48.2723660Z git version 2.47.1 2025-03-14T04:04:48.2735772Z ##[endgroup] 2025-03-14T04:04:48.2745328Z Copying '/home/ec2-user/.gitconfig' to '/home/ec2-user/actions-runner/_work/_temp/4b932918-4b2e-4cc5-b346-4eff9262169a/.gitconfig' 2025-03-14T04:04:48.2759135Z Temporarily overriding HOME='/home/ec2-user/actions-runner/_work/_temp/4b932918-4b2e-4cc5-b346-4eff9262169a' before making global git config changes 2025-03-14T04:04:48.2760167Z Adding repository directory to the temporary git global config as a safe directory 2025-03-14T04:04:48.2771107Z [command]/usr/bin/git config --global --add safe.directory /home/ec2-user/actions-runner/_work/pytorch/pytorch 2025-03-14T04:04:48.2810190Z [command]/usr/bin/git config --local --get remote.origin.url 2025-03-14T04:04:48.2827491Z https://github.com/pytorch/pytorch 2025-03-14T04:04:48.2841381Z ##[group]Removing previously created refs, to avoid conflicts 2025-03-14T04:04:48.2844337Z [command]/usr/bin/git rev-parse --symbolic-full-name --verify --quiet HEAD 2025-03-14T04:04:48.2861989Z HEAD 2025-03-14T04:04:48.2893495Z ##[endgroup] 2025-03-14T04:04:48.2896505Z [command]/usr/bin/git submodule status 2025-03-14T04:04:48.3242855Z 7e1e1fe3858c63c251c637ae41a20de425dde96f android/libs/fbjni (v0.1.0-12-g7e1e1fe) 2025-03-14T04:04:48.3363053Z 4dfe081cf6bcd15db339cf2680b9281b8451eeb3 third_party/FP16 (4dfe081) 2025-03-14T04:04:48.3459111Z b408327ac2a15ec3e43352421954f5b1967701d1 third_party/FXdiv (b408327) 2025-03-14T04:04:48.3581736Z c07e3a0400713d546e0dea2d5466dd22ea389c73 third_party/NNPACK (c07e3a0) 2025-03-14T04:04:48.3604629Z e170594ac7cf1dac584da473d4ca9301087090c1 third_party/NVTX (v3.1.0) 2025-03-14T04:04:48.3691831Z a6bfc237255a6bac1513f7c1ebde6d8aed6b5191 third_party/VulkanMemoryAllocator (v2.1.0-705-ga6bfc23) 2025-03-14T04:04:48.4243413Z 51a0103656eff6fc9bfd39a4597923c4b542c883 third_party/XNNPACK (remotes/origin/ds/ndk-1243-g51a010365) 2025-03-14T04:04:48.4292783Z 0d98dba29d66e93259db7daa53a9327df767a415 third_party/benchmark (v1.6.1) 2025-03-14T04:04:48.4323874Z 8086bbe3a78d931eb96fe12fdc014082e18d18d3 third_party/composable_kernel (mock-tag-test-6-g8086bbe3a) 2025-03-14T04:04:48.4477947Z 3b6597bba913d51161383657829b7e644e59c006 third_party/cpp-httplib (v0.15.3-20-g3b6597b) 2025-03-14T04:04:48.4613856Z 1e83a2fdd3102f65c6f1fb602c1b320486218a99 third_party/cpuinfo (1e83a2f) 2025-03-14T04:04:48.4651083Z 91b7532f3386768bba4f444ee7672b497f34da8a third_party/cudnn_frontend (v0.5-44-g91b7532) 2025-03-14T04:04:48.4760710Z afa1772203677c5118fcd82537a9c8fefbcc7008 third_party/cutlass (v3.8.0) 2025-03-14T04:04:48.5514573Z 3147391d946bb4b6c68edd901f2add6ac1f31f8c third_party/eigen (3.4.0) 2025-03-14T04:04:48.5884910Z dbc3157bf256f1339b3fa1fef2be89ac4078be0e third_party/fbgemm (v0.4.1-446-gdbc3157b) 2025-03-14T04:04:48.5973645Z 979702c87a8713a8e0a5e9fee122b90d2ef13be5 third_party/flash-attention (v2.7.4) 2025-03-14T04:04:48.5997803Z 01834de25e4bf3975a9a00e816292b1ad0fe184b third_party/flatbuffers (v23.3.3) 2025-03-14T04:04:48.6436874Z 123913715afeb8a437e6388b4473fcc4753e1c9a third_party/fmt (11.1.4) 2025-03-14T04:04:48.6547594Z 3fb5c176c17c765a3492cd2f0321b0dab712f350 third_party/gemmlowp/gemmlowp (remotes/origin/revert-87-master-135-g3fb5c17) 2025-03-14T04:04:48.6662493Z 5354032ea08eadd7fc4456477f7f7c6308818509 third_party/gloo (5354032) 2025-03-14T04:04:48.6924877Z b514bdc898e2951020cbdca1304b75f5950d1f59 third_party/googletest (release-1.8.0-3484-gb514bdc8) 2025-03-14T04:04:48.7006796Z 719d8e6cd7f7a0e01b155657526d693acf97c2b3 third_party/ideep (pytorch-rls-v3.7.1) 2025-03-14T04:04:48.7064384Z 5b8a7d7422611c3a0d799fb5fc5dd4abfae35b42 third_party/ittapi (v3.23.0-14-g5b8a7d7) 2025-03-14T04:04:48.7336922Z 2859721fd9e73d3ca1c56f827dbc64e6d68f78a2 third_party/kineto (remotes/origin/sraikund/test-53-g2859721) 2025-03-14T04:04:48.7359969Z ef685a13cfbe8d418aa2ed34350e21e4938358b6 third_party/kleidiai (v1.3.0) 2025-03-14T04:04:48.7383114Z b66e3214d8a104669c2ec05ae91ebc26a8f5ab78 third_party/mimalloc (v1.8.2) 2025-03-14T04:04:48.7906627Z 87cda1d6646592ac5866dc703c8e1839046a6806 third_party/nlohmann (v3.10.1-113-g87cda1d6) 2025-03-14T04:04:48.8214084Z b8baa8446686496da4cc8fda09f2b6fe65c2a02c third_party/onnx (v1.17.0) 2025-03-14T04:04:48.8238342Z a799f4aed9c94b765dcdaabaeab7d5e7e2310878 third_party/opentelemetry-cpp (v1.14.2) 2025-03-14T04:04:48.8262073Z 9d3ab05a7fffbc71a492bc6a17be034e83e8f0fe third_party/pocketfft (release_for_eigen-11-g9d3ab05) 2025-03-14T04:04:48.8682522Z d1eca4e4b421cd2997495c4b4e65cea6be4e9b8a third_party/protobuf (v3.7.0-rc.2-1279-gd1eca4e4b) 2025-03-14T04:04:48.8757241Z 072586a71b55b7f8c584153d223e95687148a900 third_party/psimd (heads/master) 2025-03-14T04:04:48.8811324Z 4fe0e1e183925bf8cfa6aae24237e724a96479b8 third_party/pthreadpool (0.1-144-g4fe0e1e) 2025-03-14T04:04:48.8860586Z a2e59f0e7065404b44dfe92a28aca47ba1378dc4 third_party/pybind11 (v2.11.0-182-ga2e59f0e) 2025-03-14T04:04:48.8930623Z f45429b087dd7d5bc78bb40dc7cf06425c252d67 third_party/python-peachpy (remotes/origin/pre-generated) 2025-03-14T04:04:48.9043744Z 56e1f79cb140fb9326d612d0be06b5250565cade third_party/sleef (3.7-33-g56e1f79) 2025-03-14T04:04:48.9106018Z 52791a2fd214b2a9dc5759d36725909c1daa7f2e third_party/tensorpipe (remotes/origin/master) 2025-03-14T04:04:48.9117345Z ##[group]Cleaning the repository 2025-03-14T04:04:48.9120751Z [command]/usr/bin/git clean -ffdx 2025-03-14T04:04:48.9310422Z [command]/usr/bin/git reset --hard HEAD 2025-03-14T04:04:49.9779131Z Updating files: 77% (12869/16540) 2025-03-14T04:04:50.0026691Z Updating files: 78% (12902/16540) 2025-03-14T04:04:50.0250300Z Updating files: 79% (13067/16540) 2025-03-14T04:04:50.0475311Z Updating files: 80% (13232/16540) 2025-03-14T04:04:50.0600401Z Updating files: 81% (13398/16540) 2025-03-14T04:04:50.0733815Z Updating files: 82% (13563/16540) 2025-03-14T04:04:50.0877630Z Updating files: 83% (13729/16540) 2025-03-14T04:04:50.1017010Z Updating files: 84% (13894/16540) 2025-03-14T04:04:50.1129630Z Updating files: 85% (14059/16540) 2025-03-14T04:04:50.1265671Z Updating files: 86% (14225/16540) 2025-03-14T04:04:50.1377888Z Updating files: 87% (14390/16540) 2025-03-14T04:04:50.1525361Z Updating files: 88% (14556/16540) 2025-03-14T04:04:50.1712145Z Updating files: 89% (14721/16540) 2025-03-14T04:04:50.1825217Z Updating files: 90% (14886/16540) 2025-03-14T04:04:50.1956604Z Updating files: 91% (15052/16540) 2025-03-14T04:04:50.2107866Z Updating files: 92% (15217/16540) 2025-03-14T04:04:50.2306324Z Updating files: 93% (15383/16540) 2025-03-14T04:04:50.2499301Z Updating files: 94% (15548/16540) 2025-03-14T04:04:50.2662389Z Updating files: 95% (15713/16540) 2025-03-14T04:04:50.2793194Z Updating files: 96% (15879/16540) 2025-03-14T04:04:50.3100440Z Updating files: 97% (16044/16540) 2025-03-14T04:04:50.3269581Z Updating files: 98% (16210/16540) 2025-03-14T04:04:50.3418743Z Updating files: 99% (16375/16540) 2025-03-14T04:04:50.3419083Z Updating files: 100% (16540/16540) 2025-03-14T04:04:50.3419411Z Updating files: 100% (16540/16540), done. 2025-03-14T04:04:50.3600039Z HEAD is now at c179971bfcd xpu: update filter out of dg2 AOT target (#148677) 2025-03-14T04:04:50.3676448Z ##[endgroup] 2025-03-14T04:04:50.3678981Z ##[group]Disabling automatic garbage collection 2025-03-14T04:04:50.3684459Z [command]/usr/bin/git config --local gc.auto 0 2025-03-14T04:04:50.3714473Z ##[endgroup] 2025-03-14T04:04:50.3715125Z ##[group]Setting up auth 2025-03-14T04:04:50.3721307Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand 2025-03-14T04:04:50.3749468Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :" 2025-03-14T04:04:50.4037132Z Entering 'android/libs/fbjni' 2025-03-14T04:04:50.4089447Z Entering 'third_party/FP16' 2025-03-14T04:04:50.4140476Z Entering 'third_party/FXdiv' 2025-03-14T04:04:50.4191526Z Entering 'third_party/NNPACK' 2025-03-14T04:04:50.4241314Z Entering 'third_party/NVTX' 2025-03-14T04:04:50.4290968Z Entering 'third_party/VulkanMemoryAllocator' 2025-03-14T04:04:50.4341181Z Entering 'third_party/XNNPACK' 2025-03-14T04:04:50.4407584Z Entering 'third_party/benchmark' 2025-03-14T04:04:50.4458231Z Entering 'third_party/composable_kernel' 2025-03-14T04:04:50.4515967Z Entering 'third_party/cpp-httplib' 2025-03-14T04:04:50.4565220Z Entering 'third_party/cpuinfo' 2025-03-14T04:04:50.4614814Z Entering 'third_party/cudnn_frontend' 2025-03-14T04:04:50.4664137Z Entering 'third_party/cutlass' 2025-03-14T04:04:50.4722087Z Entering 'third_party/eigen' 2025-03-14T04:04:50.4773341Z Entering 'third_party/fbgemm' 2025-03-14T04:04:50.4823623Z Entering 'third_party/fbgemm/third_party/asmjit' 2025-03-14T04:04:50.4872850Z Entering 'third_party/fbgemm/third_party/cpuinfo' 2025-03-14T04:04:50.4923456Z Entering 'third_party/fbgemm/third_party/cutlass' 2025-03-14T04:04:50.4979329Z Entering 'third_party/fbgemm/third_party/googletest' 2025-03-14T04:04:50.5028057Z Entering 'third_party/fbgemm/third_party/hipify_torch' 2025-03-14T04:04:50.5077700Z Entering 'third_party/flash-attention' 2025-03-14T04:04:50.5128956Z Entering 'third_party/flash-attention/csrc/composable_kernel' 2025-03-14T04:04:50.5185340Z Entering 'third_party/flash-attention/csrc/cutlass' 2025-03-14T04:04:50.5243517Z Entering 'third_party/flatbuffers' 2025-03-14T04:04:50.5296355Z Entering 'third_party/fmt' 2025-03-14T04:04:50.5347131Z Entering 'third_party/gemmlowp/gemmlowp' 2025-03-14T04:04:50.5396313Z Entering 'third_party/gloo' 2025-03-14T04:04:50.5449484Z Entering 'third_party/googletest' 2025-03-14T04:04:50.5501340Z Entering 'third_party/ideep' 2025-03-14T04:04:50.5549575Z Entering 'third_party/ideep/mkl-dnn' 2025-03-14T04:04:50.5608389Z Entering 'third_party/ittapi' 2025-03-14T04:04:50.5660414Z Entering 'third_party/kineto' 2025-03-14T04:04:50.5710562Z Entering 'third_party/kineto/libkineto/third_party/dynolog' 2025-03-14T04:04:50.5759666Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/DCGM' 2025-03-14T04:04:50.5813549Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/cpr' 2025-03-14T04:04:50.5863512Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/fmt' 2025-03-14T04:04:50.5913409Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/gflags' 2025-03-14T04:04:50.5961548Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/gflags/doc' 2025-03-14T04:04:50.6014425Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/glog' 2025-03-14T04:04:50.6063199Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/googletest' 2025-03-14T04:04:50.6112760Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/json' 2025-03-14T04:04:50.6162502Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/pfs' 2025-03-14T04:04:50.6213287Z Entering 'third_party/kineto/libkineto/third_party/fmt' 2025-03-14T04:04:50.6261323Z Entering 'third_party/kineto/libkineto/third_party/googletest' 2025-03-14T04:04:50.6312007Z Entering 'third_party/kleidiai' 2025-03-14T04:04:50.6363254Z Entering 'third_party/mimalloc' 2025-03-14T04:04:50.6413293Z Entering 'third_party/nlohmann' 2025-03-14T04:04:50.6464412Z Entering 'third_party/onnx' 2025-03-14T04:04:50.6528982Z Entering 'third_party/onnx/third_party/pybind11' 2025-03-14T04:04:50.6580849Z Entering 'third_party/opentelemetry-cpp' 2025-03-14T04:04:50.6631977Z Entering 'third_party/opentelemetry-cpp/third_party/benchmark' 2025-03-14T04:04:50.6679246Z Entering 'third_party/opentelemetry-cpp/third_party/googletest' 2025-03-14T04:04:50.6728540Z Entering 'third_party/opentelemetry-cpp/third_party/ms-gsl' 2025-03-14T04:04:50.6775358Z Entering 'third_party/opentelemetry-cpp/third_party/nlohmann-json' 2025-03-14T04:04:50.6824685Z Entering 'third_party/opentelemetry-cpp/third_party/opentelemetry-proto' 2025-03-14T04:04:50.6872066Z Entering 'third_party/opentelemetry-cpp/third_party/opentracing-cpp' 2025-03-14T04:04:50.6919971Z Entering 'third_party/opentelemetry-cpp/third_party/prometheus-cpp' 2025-03-14T04:04:50.6966744Z Entering 'third_party/opentelemetry-cpp/third_party/prometheus-cpp/3rdparty/civetweb' 2025-03-14T04:04:50.7017883Z Entering 'third_party/opentelemetry-cpp/third_party/prometheus-cpp/3rdparty/googletest' 2025-03-14T04:04:50.7067171Z Entering 'third_party/opentelemetry-cpp/tools/vcpkg' 2025-03-14T04:04:50.7135208Z Entering 'third_party/pocketfft' 2025-03-14T04:04:50.7185519Z Entering 'third_party/protobuf' 2025-03-14T04:04:50.7238199Z Entering 'third_party/protobuf/third_party/benchmark' 2025-03-14T04:04:50.7285933Z Entering 'third_party/protobuf/third_party/googletest' 2025-03-14T04:04:50.7338021Z Entering 'third_party/psimd' 2025-03-14T04:04:50.7387605Z Entering 'third_party/pthreadpool' 2025-03-14T04:04:50.7437371Z Entering 'third_party/pybind11' 2025-03-14T04:04:50.7487723Z Entering 'third_party/python-peachpy' 2025-03-14T04:04:50.7538495Z Entering 'third_party/sleef' 2025-03-14T04:04:50.7587160Z Entering 'third_party/tensorpipe' 2025-03-14T04:04:50.7637030Z Entering 'third_party/tensorpipe/third_party/googletest' 2025-03-14T04:04:50.7686515Z Entering 'third_party/tensorpipe/third_party/libnop' 2025-03-14T04:04:50.7735213Z Entering 'third_party/tensorpipe/third_party/libuv' 2025-03-14T04:04:50.7785659Z Entering 'third_party/tensorpipe/third_party/pybind11' 2025-03-14T04:04:50.7836951Z Entering 'third_party/tensorpipe/third_party/pybind11/tools/clang' 2025-03-14T04:04:50.7908043Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader 2025-03-14T04:04:50.7934471Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :" 2025-03-14T04:04:50.8211433Z Entering 'android/libs/fbjni' 2025-03-14T04:04:50.8266943Z Entering 'third_party/FP16' 2025-03-14T04:04:50.8318490Z Entering 'third_party/FXdiv' 2025-03-14T04:04:50.8368497Z Entering 'third_party/NNPACK' 2025-03-14T04:04:50.8420987Z Entering 'third_party/NVTX' 2025-03-14T04:04:50.8471374Z Entering 'third_party/VulkanMemoryAllocator' 2025-03-14T04:04:50.8524314Z Entering 'third_party/XNNPACK' 2025-03-14T04:04:50.8592251Z Entering 'third_party/benchmark' 2025-03-14T04:04:50.8646451Z Entering 'third_party/composable_kernel' 2025-03-14T04:04:50.8704516Z Entering 'third_party/cpp-httplib' 2025-03-14T04:04:50.8754759Z Entering 'third_party/cpuinfo' 2025-03-14T04:04:50.8806693Z Entering 'third_party/cudnn_frontend' 2025-03-14T04:04:50.8856460Z Entering 'third_party/cutlass' 2025-03-14T04:04:50.8915505Z Entering 'third_party/eigen' 2025-03-14T04:04:50.8967006Z Entering 'third_party/fbgemm' 2025-03-14T04:04:50.9018404Z Entering 'third_party/fbgemm/third_party/asmjit' 2025-03-14T04:04:50.9068599Z Entering 'third_party/fbgemm/third_party/cpuinfo' 2025-03-14T04:04:50.9120993Z Entering 'third_party/fbgemm/third_party/cutlass' 2025-03-14T04:04:50.9175876Z Entering 'third_party/fbgemm/third_party/googletest' 2025-03-14T04:04:50.9225067Z Entering 'third_party/fbgemm/third_party/hipify_torch' 2025-03-14T04:04:50.9274842Z Entering 'third_party/flash-attention' 2025-03-14T04:04:50.9326637Z Entering 'third_party/flash-attention/csrc/composable_kernel' 2025-03-14T04:04:50.9382289Z Entering 'third_party/flash-attention/csrc/cutlass' 2025-03-14T04:04:50.9442797Z Entering 'third_party/flatbuffers' 2025-03-14T04:04:50.9496183Z Entering 'third_party/fmt' 2025-03-14T04:04:50.9575253Z Entering 'third_party/gemmlowp/gemmlowp' 2025-03-14T04:04:50.9603272Z Entering 'third_party/gloo' 2025-03-14T04:04:50.9653319Z Entering 'third_party/googletest' 2025-03-14T04:04:50.9703799Z Entering 'third_party/ideep' 2025-03-14T04:04:50.9753184Z Entering 'third_party/ideep/mkl-dnn' 2025-03-14T04:04:50.9810041Z Entering 'third_party/ittapi' 2025-03-14T04:04:50.9860111Z Entering 'third_party/kineto' 2025-03-14T04:04:50.9910561Z Entering 'third_party/kineto/libkineto/third_party/dynolog' 2025-03-14T04:04:50.9961523Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/DCGM' 2025-03-14T04:04:51.0013917Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/cpr' 2025-03-14T04:04:51.0064342Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/fmt' 2025-03-14T04:04:51.0114078Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/gflags' 2025-03-14T04:04:51.0162881Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/gflags/doc' 2025-03-14T04:04:51.0214939Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/glog' 2025-03-14T04:04:51.0265693Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/googletest' 2025-03-14T04:04:51.0318757Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/json' 2025-03-14T04:04:51.0368861Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/pfs' 2025-03-14T04:04:51.0422419Z Entering 'third_party/kineto/libkineto/third_party/fmt' 2025-03-14T04:04:51.0471930Z Entering 'third_party/kineto/libkineto/third_party/googletest' 2025-03-14T04:04:51.0522500Z Entering 'third_party/kleidiai' 2025-03-14T04:04:51.0573769Z Entering 'third_party/mimalloc' 2025-03-14T04:04:51.0623864Z Entering 'third_party/nlohmann' 2025-03-14T04:04:51.0674217Z Entering 'third_party/onnx' 2025-03-14T04:04:51.0739591Z Entering 'third_party/onnx/third_party/pybind11' 2025-03-14T04:04:51.0791455Z Entering 'third_party/opentelemetry-cpp' 2025-03-14T04:04:51.0842591Z Entering 'third_party/opentelemetry-cpp/third_party/benchmark' 2025-03-14T04:04:51.0891154Z Entering 'third_party/opentelemetry-cpp/third_party/googletest' 2025-03-14T04:04:51.0944221Z Entering 'third_party/opentelemetry-cpp/third_party/ms-gsl' 2025-03-14T04:04:51.0991409Z Entering 'third_party/opentelemetry-cpp/third_party/nlohmann-json' 2025-03-14T04:04:51.1040935Z Entering 'third_party/opentelemetry-cpp/third_party/opentelemetry-proto' 2025-03-14T04:04:51.1088120Z Entering 'third_party/opentelemetry-cpp/third_party/opentracing-cpp' 2025-03-14T04:04:51.1136164Z Entering 'third_party/opentelemetry-cpp/third_party/prometheus-cpp' 2025-03-14T04:04:51.1182645Z Entering 'third_party/opentelemetry-cpp/third_party/prometheus-cpp/3rdparty/civetweb' 2025-03-14T04:04:51.1234186Z Entering 'third_party/opentelemetry-cpp/third_party/prometheus-cpp/3rdparty/googletest' 2025-03-14T04:04:51.1285887Z Entering 'third_party/opentelemetry-cpp/tools/vcpkg' 2025-03-14T04:04:51.1358789Z Entering 'third_party/pocketfft' 2025-03-14T04:04:51.1412094Z Entering 'third_party/protobuf' 2025-03-14T04:04:51.1468387Z Entering 'third_party/protobuf/third_party/benchmark' 2025-03-14T04:04:51.1519739Z Entering 'third_party/protobuf/third_party/googletest' 2025-03-14T04:04:51.1571391Z Entering 'third_party/psimd' 2025-03-14T04:04:51.1623703Z Entering 'third_party/pthreadpool' 2025-03-14T04:04:51.1674183Z Entering 'third_party/pybind11' 2025-03-14T04:04:51.1726101Z Entering 'third_party/python-peachpy' 2025-03-14T04:04:51.1776124Z Entering 'third_party/sleef' 2025-03-14T04:04:51.1826947Z Entering 'third_party/tensorpipe' 2025-03-14T04:04:51.1877070Z Entering 'third_party/tensorpipe/third_party/googletest' 2025-03-14T04:04:51.1927455Z Entering 'third_party/tensorpipe/third_party/libnop' 2025-03-14T04:04:51.1975981Z Entering 'third_party/tensorpipe/third_party/libuv' 2025-03-14T04:04:51.2026886Z Entering 'third_party/tensorpipe/third_party/pybind11' 2025-03-14T04:04:51.2074086Z Entering 'third_party/tensorpipe/third_party/pybind11/tools/clang' 2025-03-14T04:04:51.2145055Z [command]/usr/bin/git config --local http.https://github.com/.extraheader AUTHORIZATION: basic *** 2025-03-14T04:04:51.2183970Z ##[endgroup] 2025-03-14T04:04:51.2184584Z ##[group]Fetching the repository 2025-03-14T04:04:51.2191453Z [command]/usr/bin/git -c protocol.version=2 fetch --prune --no-recurse-submodules origin +refs/heads/*:refs/remotes/origin/* +refs/tags/*:refs/tags/* 2025-03-14T04:04:51.4773694Z From https://github.com/pytorch/pytorch 2025-03-14T04:04:51.4774261Z - [deleted] (none) -> ciflow/inductor/149174 2025-03-14T04:04:51.5210394Z - [deleted] (none) -> ciflow/mps/149174 2025-03-14T04:04:51.5211302Z - [deleted] (none) -> ciflow/trunk/149166 2025-03-14T04:04:52.8955335Z 8636b394e08..9db33f3cda6 gh/malfet/227/base -> origin/gh/malfet/227/base 2025-03-14T04:04:52.8964284Z 259919aeab3..4b1f10d8c28 gh/malfet/227/head -> origin/gh/malfet/227/head 2025-03-14T04:04:52.8971030Z + 4c129ff8a05...13ad80715a8 gh/malfet/227/orig -> origin/gh/malfet/227/orig (forced update) 2025-03-14T04:04:52.8993241Z c179971bfcd..aed0b7a742a main -> origin/main 2025-03-14T04:04:52.9005822Z + 277cb23fd22...c4b8be3d09f update_submodule_FBGEMM -> origin/update_submodule_FBGEMM (forced update) 2025-03-14T04:04:52.9011422Z 4098a229a04..49570cb4024 viable/strict -> origin/viable/strict 2025-03-14T04:04:52.9018124Z 1579a02c823..3ffd7552df1 wdvr/iss145259_alt -> origin/wdvr/iss145259_alt 2025-03-14T04:04:52.9026196Z * [new tag] ciflow/inductor/149176 -> ciflow/inductor/149176 2025-03-14T04:04:52.9027527Z t [tag update] ciflow/mps/149123 -> ciflow/mps/149123 2025-03-14T04:04:52.9031716Z * [new tag] ciflow/trunk/146289 -> ciflow/trunk/146289 2025-03-14T04:04:52.9033955Z * [new tag] ciflow/trunk/149018 -> ciflow/trunk/149018 2025-03-14T04:04:52.9034625Z * [new tag] ciflow/trunk/149064 -> ciflow/trunk/149064 2025-03-14T04:04:52.9560458Z [command]/usr/bin/git rev-parse --verify --quiet aed0b7a742a2d7b7901790622829cbd2135049a4^{object} 2025-03-14T04:04:52.9582522Z aed0b7a742a2d7b7901790622829cbd2135049a4 2025-03-14T04:04:52.9587106Z ##[endgroup] 2025-03-14T04:04:52.9587823Z ##[group]Determining the checkout info 2025-03-14T04:04:52.9588623Z ##[endgroup] 2025-03-14T04:04:52.9593237Z [command]/usr/bin/git sparse-checkout disable 2025-03-14T04:04:53.1243748Z [command]/usr/bin/git config --local --unset-all extensions.worktreeConfig 2025-03-14T04:04:53.1270954Z ##[group]Checking out the ref 2025-03-14T04:04:53.1274702Z [command]/usr/bin/git checkout --progress --force aed0b7a742a2d7b7901790622829cbd2135049a4 2025-03-14T04:04:53.2512545Z Previous HEAD position was c179971bfcd xpu: update filter out of dg2 AOT target (#148677) 2025-03-14T04:04:53.2522258Z HEAD is now at aed0b7a742a [c10d] Add param recording for uniqueID broadcasting and allgather (#149166) 2025-03-14T04:04:53.2549384Z ##[endgroup] 2025-03-14T04:04:53.2549873Z ##[group]Setting up auth for fetching submodules 2025-03-14T04:04:53.2556118Z [command]/usr/bin/git config --global http.https://github.com/.extraheader AUTHORIZATION: basic *** 2025-03-14T04:04:53.2594481Z [command]/usr/bin/git config --global --unset-all url.https://github.com/.insteadOf 2025-03-14T04:04:53.2618989Z [command]/usr/bin/git config --global --add url.https://github.com/.insteadOf git@github.com: 2025-03-14T04:04:53.2643014Z [command]/usr/bin/git config --global --add url.https://github.com/.insteadOf org-21003710@github.com: 2025-03-14T04:04:53.2663296Z ##[endgroup] 2025-03-14T04:04:53.2663794Z ##[group]Fetching submodules 2025-03-14T04:04:53.2667232Z [command]/usr/bin/git submodule sync --recursive 2025-03-14T04:04:53.2944064Z Synchronizing submodule url for 'android/libs/fbjni' 2025-03-14T04:04:53.2963058Z Synchronizing submodule url for 'third_party/FP16' 2025-03-14T04:04:53.2983649Z Synchronizing submodule url for 'third_party/FXdiv' 2025-03-14T04:04:53.3003007Z Synchronizing submodule url for 'third_party/NNPACK' 2025-03-14T04:04:53.3022474Z Synchronizing submodule url for 'third_party/NVTX' 2025-03-14T04:04:53.3042268Z Synchronizing submodule url for 'third_party/VulkanMemoryAllocator' 2025-03-14T04:04:53.3061712Z Synchronizing submodule url for 'third_party/XNNPACK' 2025-03-14T04:04:53.3096654Z Synchronizing submodule url for 'third_party/benchmark' 2025-03-14T04:04:53.3116252Z Synchronizing submodule url for 'third_party/composable_kernel' 2025-03-14T04:04:53.3143248Z Synchronizing submodule url for 'third_party/cpp-httplib' 2025-03-14T04:04:53.3162536Z Synchronizing submodule url for 'third_party/cpuinfo' 2025-03-14T04:04:53.3182398Z Synchronizing submodule url for 'third_party/cudnn_frontend' 2025-03-14T04:04:53.3202164Z Synchronizing submodule url for 'third_party/cutlass' 2025-03-14T04:04:53.3229478Z Synchronizing submodule url for 'third_party/eigen' 2025-03-14T04:04:53.3251810Z Synchronizing submodule url for 'third_party/fbgemm' 2025-03-14T04:04:53.3269862Z Synchronizing submodule url for 'third_party/fbgemm/third_party/asmjit' 2025-03-14T04:04:53.3288296Z Synchronizing submodule url for 'third_party/fbgemm/third_party/cpuinfo' 2025-03-14T04:04:53.3306905Z Synchronizing submodule url for 'third_party/fbgemm/third_party/cutlass' 2025-03-14T04:04:53.3331895Z Synchronizing submodule url for 'third_party/fbgemm/third_party/googletest' 2025-03-14T04:04:53.3349863Z Synchronizing submodule url for 'third_party/fbgemm/third_party/hipify_torch' 2025-03-14T04:04:53.3371041Z Synchronizing submodule url for 'third_party/flash-attention' 2025-03-14T04:04:53.3390431Z Synchronizing submodule url for 'third_party/flash-attention/csrc/composable_kernel' 2025-03-14T04:04:53.3416684Z Synchronizing submodule url for 'third_party/flash-attention/csrc/cutlass' 2025-03-14T04:04:53.3448895Z Synchronizing submodule url for 'third_party/flatbuffers' 2025-03-14T04:04:53.3471487Z Synchronizing submodule url for 'third_party/fmt' 2025-03-14T04:04:53.3490945Z Synchronizing submodule url for 'third_party/gemmlowp/gemmlowp' 2025-03-14T04:04:53.3512175Z Synchronizing submodule url for 'third_party/gloo' 2025-03-14T04:04:53.3531857Z Synchronizing submodule url for 'third_party/googletest' 2025-03-14T04:04:53.3552341Z Synchronizing submodule url for 'third_party/ideep' 2025-03-14T04:04:53.3569908Z Synchronizing submodule url for 'third_party/ideep/mkl-dnn' 2025-03-14T04:04:53.3596778Z Synchronizing submodule url for 'third_party/ittapi' 2025-03-14T04:04:53.3617161Z Synchronizing submodule url for 'third_party/kineto' 2025-03-14T04:04:53.3636454Z Synchronizing submodule url for 'third_party/kineto/libkineto/third_party/dynolog' 2025-03-14T04:04:53.3654518Z Synchronizing submodule url for 'third_party/kineto/libkineto/third_party/dynolog/third_party/DCGM' 2025-03-14T04:04:53.3675034Z Synchronizing submodule url for 'third_party/kineto/libkineto/third_party/dynolog/third_party/cpr' 2025-03-14T04:04:53.3694502Z Synchronizing submodule url for 'third_party/kineto/libkineto/third_party/dynolog/third_party/fmt' 2025-03-14T04:04:53.3714278Z Synchronizing submodule url for 'third_party/kineto/libkineto/third_party/dynolog/third_party/gflags' 2025-03-14T04:04:53.3731497Z Synchronizing submodule url for 'third_party/kineto/libkineto/third_party/dynolog/third_party/gflags/doc' 2025-03-14T04:04:53.3752336Z Synchronizing submodule url for 'third_party/kineto/libkineto/third_party/dynolog/third_party/glog' 2025-03-14T04:04:53.3770949Z Synchronizing submodule url for 'third_party/kineto/libkineto/third_party/dynolog/third_party/googletest' 2025-03-14T04:04:53.3789853Z Synchronizing submodule url for 'third_party/kineto/libkineto/third_party/dynolog/third_party/json' 2025-03-14T04:04:53.3811033Z Synchronizing submodule url for 'third_party/kineto/libkineto/third_party/dynolog/third_party/pfs' 2025-03-14T04:04:53.3830926Z Synchronizing submodule url for 'third_party/kineto/libkineto/third_party/fmt' 2025-03-14T04:04:53.3849142Z Synchronizing submodule url for 'third_party/kineto/libkineto/third_party/googletest' 2025-03-14T04:04:53.3869935Z Synchronizing submodule url for 'third_party/kleidiai' 2025-03-14T04:04:53.3893745Z Synchronizing submodule url for 'third_party/mimalloc' 2025-03-14T04:04:53.3914443Z Synchronizing submodule url for 'third_party/nlohmann' 2025-03-14T04:04:53.3935776Z Synchronizing submodule url for 'third_party/onnx' 2025-03-14T04:04:53.3969781Z Synchronizing submodule url for 'third_party/onnx/third_party/pybind11' 2025-03-14T04:04:53.3992913Z Synchronizing submodule url for 'third_party/opentelemetry-cpp' 2025-03-14T04:04:53.4015684Z Synchronizing submodule url for 'third_party/opentelemetry-cpp/third_party/benchmark' 2025-03-14T04:04:53.4034654Z Synchronizing submodule url for 'third_party/opentelemetry-cpp/third_party/googletest' 2025-03-14T04:04:53.4052866Z Synchronizing submodule url for 'third_party/opentelemetry-cpp/third_party/ms-gsl' 2025-03-14T04:04:53.4071437Z Synchronizing submodule url for 'third_party/opentelemetry-cpp/third_party/nlohmann-json' 2025-03-14T04:04:53.4090821Z Synchronizing submodule url for 'third_party/opentelemetry-cpp/third_party/opentelemetry-proto' 2025-03-14T04:04:53.4110272Z Synchronizing submodule url for 'third_party/opentelemetry-cpp/third_party/opentracing-cpp' 2025-03-14T04:04:53.4128519Z Synchronizing submodule url for 'third_party/opentelemetry-cpp/third_party/prometheus-cpp' 2025-03-14T04:04:53.4145630Z Synchronizing submodule url for 'third_party/opentelemetry-cpp/third_party/prometheus-cpp/3rdparty/civetweb' 2025-03-14T04:04:53.4166413Z Synchronizing submodule url for 'third_party/opentelemetry-cpp/third_party/prometheus-cpp/3rdparty/googletest' 2025-03-14T04:04:53.4186399Z Synchronizing submodule url for 'third_party/opentelemetry-cpp/tools/vcpkg' 2025-03-14T04:04:53.4228211Z Synchronizing submodule url for 'third_party/pocketfft' 2025-03-14T04:04:53.4248789Z Synchronizing submodule url for 'third_party/protobuf' 2025-03-14T04:04:53.4270873Z Synchronizing submodule url for 'third_party/protobuf/third_party/benchmark' 2025-03-14T04:04:53.4288858Z Synchronizing submodule url for 'third_party/protobuf/third_party/googletest' 2025-03-14T04:04:53.4310411Z Synchronizing submodule url for 'third_party/psimd' 2025-03-14T04:04:53.4330328Z Synchronizing submodule url for 'third_party/pthreadpool' 2025-03-14T04:04:53.4350279Z Synchronizing submodule url for 'third_party/pybind11' 2025-03-14T04:04:53.4370439Z Synchronizing submodule url for 'third_party/python-peachpy' 2025-03-14T04:04:53.4389941Z Synchronizing submodule url for 'third_party/sleef' 2025-03-14T04:04:53.4410496Z Synchronizing submodule url for 'third_party/tensorpipe' 2025-03-14T04:04:53.4429261Z Synchronizing submodule url for 'third_party/tensorpipe/third_party/googletest' 2025-03-14T04:04:53.4448447Z Synchronizing submodule url for 'third_party/tensorpipe/third_party/libnop' 2025-03-14T04:04:53.4466448Z Synchronizing submodule url for 'third_party/tensorpipe/third_party/libuv' 2025-03-14T04:04:53.4484789Z Synchronizing submodule url for 'third_party/tensorpipe/third_party/pybind11' 2025-03-14T04:04:53.4503162Z Synchronizing submodule url for 'third_party/tensorpipe/third_party/pybind11/tools/clang' 2025-03-14T04:04:53.4534946Z [command]/usr/bin/git -c protocol.version=2 submodule update --init --force --recursive 2025-03-14T04:04:53.4989977Z Submodule path 'android/libs/fbjni': checked out '7e1e1fe3858c63c251c637ae41a20de425dde96f' 2025-03-14T04:04:53.5117155Z Submodule path 'third_party/FP16': checked out '4dfe081cf6bcd15db339cf2680b9281b8451eeb3' 2025-03-14T04:04:53.5213506Z Submodule path 'third_party/FXdiv': checked out 'b408327ac2a15ec3e43352421954f5b1967701d1' 2025-03-14T04:04:53.5489348Z Submodule path 'third_party/NNPACK': checked out 'c07e3a0400713d546e0dea2d5466dd22ea389c73' 2025-03-14T04:04:53.6003980Z Submodule path 'third_party/NVTX': checked out 'e170594ac7cf1dac584da473d4ca9301087090c1' 2025-03-14T04:04:53.6470895Z Submodule path 'third_party/VulkanMemoryAllocator': checked out 'a6bfc237255a6bac1513f7c1ebde6d8aed6b5191' 2025-03-14T04:04:54.5142482Z Submodule path 'third_party/XNNPACK': checked out '51a0103656eff6fc9bfd39a4597923c4b542c883' 2025-03-14T04:04:54.5545623Z Submodule path 'third_party/benchmark': checked out '0d98dba29d66e93259db7daa53a9327df767a415' 2025-03-14T04:04:54.8599989Z Submodule path 'third_party/composable_kernel': checked out '8086bbe3a78d931eb96fe12fdc014082e18d18d3' 2025-03-14T04:04:54.9164503Z Submodule path 'third_party/cpp-httplib': checked out '3b6597bba913d51161383657829b7e644e59c006' 2025-03-14T04:04:55.0293083Z Submodule path 'third_party/cpuinfo': checked out '1e83a2fdd3102f65c6f1fb602c1b320486218a99' 2025-03-14T04:04:55.0701576Z Submodule path 'third_party/cudnn_frontend': checked out '91b7532f3386768bba4f444ee7672b497f34da8a' 2025-03-14T04:04:55.8064392Z Submodule path 'third_party/cutlass': checked out 'afa1772203677c5118fcd82537a9c8fefbcc7008' 2025-03-14T04:04:56.0867219Z Submodule path 'third_party/eigen': checked out '3147391d946bb4b6c68edd901f2add6ac1f31f8c' 2025-03-14T04:04:56.1610754Z Submodule path 'third_party/fbgemm': checked out 'dbc3157bf256f1339b3fa1fef2be89ac4078be0e' 2025-03-14T04:04:56.2135580Z Submodule path 'third_party/fbgemm/third_party/asmjit': checked out 'd3fbf7c9bc7c1d1365a94a45614b91c5a3706b81' 2025-03-14T04:04:56.3236428Z Submodule path 'third_party/fbgemm/third_party/cpuinfo': checked out 'ed8b86a253800bafdb7b25c5c399f91bff9cb1f3' 2025-03-14T04:04:56.8284302Z Submodule path 'third_party/fbgemm/third_party/cutlass': checked out 'fc9ebc645b63f3a6bc80aaefde5c063fb72110d6' 2025-03-14T04:04:56.8783556Z Submodule path 'third_party/fbgemm/third_party/googletest': checked out 'cbf019de22c8dd37b2108da35b2748fd702d1796' 2025-03-14T04:04:56.8914178Z Submodule path 'third_party/fbgemm/third_party/hipify_torch': checked out '23f53b025b466d8ec3c45d52290d3442f7fbe6b1' 2025-03-14T04:04:56.9930140Z Submodule path 'third_party/flash-attention': checked out '979702c87a8713a8e0a5e9fee122b90d2ef13be5' 2025-03-14T04:04:57.2876401Z Submodule path 'third_party/flash-attention/csrc/composable_kernel': checked out '888317e698e9803c62bd38568abc9e05d7709f33' 2025-03-14T04:04:57.9923970Z Submodule path 'third_party/flash-attention/csrc/cutlass': checked out 'c506e16788cb08416a4a57e11a9067beeee29420' 2025-03-14T04:04:58.1506599Z Submodule path 'third_party/flatbuffers': checked out '01834de25e4bf3975a9a00e816292b1ad0fe184b' 2025-03-14T04:04:58.1864396Z Submodule path 'third_party/fmt': checked out '123913715afeb8a437e6388b4473fcc4753e1c9a' 2025-03-14T04:04:58.2288865Z Submodule path 'third_party/gemmlowp/gemmlowp': checked out '3fb5c176c17c765a3492cd2f0321b0dab712f350' 2025-03-14T04:04:58.2584625Z Submodule path 'third_party/gloo': checked out '5354032ea08eadd7fc4456477f7f7c6308818509' 2025-03-14T04:04:58.3075002Z Submodule path 'third_party/googletest': checked out 'b514bdc898e2951020cbdca1304b75f5950d1f59' 2025-03-14T04:04:58.3214239Z Submodule path 'third_party/ideep': checked out '719d8e6cd7f7a0e01b155657526d693acf97c2b3' 2025-03-14T04:04:58.9518824Z Submodule path 'third_party/ideep/mkl-dnn': checked out '8d263e693366ef8db40acc569cc7d8edf644556d' 2025-03-14T04:04:58.9694101Z Submodule path 'third_party/ittapi': checked out '5b8a7d7422611c3a0d799fb5fc5dd4abfae35b42' 2025-03-14T04:04:59.0795146Z Submodule path 'third_party/kineto': checked out '2859721fd9e73d3ca1c56f827dbc64e6d68f78a2' 2025-03-14T04:04:59.1728233Z Submodule path 'third_party/kineto/libkineto/third_party/dynolog': checked out '7d04a0053a845370ae06ce317a22a48e9edcc74e' 2025-03-14T04:04:59.3730790Z Submodule path 'third_party/kineto/libkineto/third_party/dynolog/third_party/DCGM': checked out 'ffde4e54bc7249a6039a5e6b45b395141e1217f9' 2025-03-14T04:04:59.3939966Z Submodule path 'third_party/kineto/libkineto/third_party/dynolog/third_party/cpr': checked out '871ed52d350214a034f6ef8a3b8f51c5ce1bd400' 2025-03-14T04:04:59.4346667Z Submodule path 'third_party/kineto/libkineto/third_party/dynolog/third_party/fmt': checked out 'cd4af11efc9c622896a3e4cb599fa28668ca3d05' 2025-03-14T04:04:59.4491619Z Submodule path 'third_party/kineto/libkineto/third_party/dynolog/third_party/gflags': checked out 'e171aa2d15ed9eb17054558e0b3a6a413bb01067' 2025-03-14T04:04:59.4580654Z Submodule path 'third_party/kineto/libkineto/third_party/dynolog/third_party/gflags/doc': checked out '8411df715cf522606e3b1aca386ddfc0b63d34b4' 2025-03-14T04:04:59.4771836Z Submodule path 'third_party/kineto/libkineto/third_party/dynolog/third_party/glog': checked out 'b33e3bad4c46c8a6345525fd822af355e5ef9446' 2025-03-14T04:04:59.5218730Z Submodule path 'third_party/kineto/libkineto/third_party/dynolog/third_party/googletest': checked out '58d77fa8070e8cec2dc1ed015d66b454c8d78850' 2025-03-14T04:04:59.6523650Z Submodule path 'third_party/kineto/libkineto/third_party/dynolog/third_party/json': checked out '4f8fba14066156b73f1189a2b8bd568bde5284c5' 2025-03-14T04:04:59.6701043Z Submodule path 'third_party/kineto/libkineto/third_party/dynolog/third_party/pfs': checked out 'f68a2fa8ea36c783bdd760371411fcb495aa3150' 2025-03-14T04:04:59.7057930Z Submodule path 'third_party/kineto/libkineto/third_party/fmt': checked out '0041a40c1350ba702d475b9c4ad62da77caea164' 2025-03-14T04:04:59.7563023Z Submodule path 'third_party/kineto/libkineto/third_party/googletest': checked out '7aca84427f224eeed3144123d5230d5871e93347' 2025-03-14T04:04:59.8016845Z Submodule path 'third_party/kleidiai': checked out 'ef685a13cfbe8d418aa2ed34350e21e4938358b6' 2025-03-14T04:04:59.8439975Z Submodule path 'third_party/mimalloc': checked out 'b66e3214d8a104669c2ec05ae91ebc26a8f5ab78' 2025-03-14T04:04:59.9895274Z Submodule path 'third_party/nlohmann': checked out '87cda1d6646592ac5866dc703c8e1839046a6806' 2025-03-14T04:05:00.4272746Z Submodule path 'third_party/onnx': checked out 'b8baa8446686496da4cc8fda09f2b6fe65c2a02c' 2025-03-14T04:05:00.4689468Z Submodule path 'third_party/onnx/third_party/pybind11': checked out '3e9dfa2866941655c56877882565e7577de6fc7b' 2025-03-14T04:05:00.5550661Z Submodule path 'third_party/opentelemetry-cpp': checked out 'a799f4aed9c94b765dcdaabaeab7d5e7e2310878' 2025-03-14T04:05:00.5773992Z Submodule path 'third_party/opentelemetry-cpp/third_party/benchmark': checked out 'd572f4777349d43653b21d6c2fc63020ab326db2' 2025-03-14T04:05:00.6200579Z Submodule path 'third_party/opentelemetry-cpp/third_party/googletest': checked out 'b796f7d44681514f58a683a3a71ff17c94edb0c1' 2025-03-14T04:05:00.6336845Z Submodule path 'third_party/opentelemetry-cpp/third_party/ms-gsl': checked out '6f4529395c5b7c2d661812257cd6780c67e54afa' 2025-03-14T04:05:00.7880175Z Submodule path 'third_party/opentelemetry-cpp/third_party/nlohmann-json': checked out 'bc889afb4c5bf1c0d8ee29ef35eaaf4c8bef8a5d' 2025-03-14T04:05:00.8014114Z Submodule path 'third_party/opentelemetry-cpp/third_party/opentelemetry-proto': checked out '4ca4f0335c63cda7ab31ea7ed70d6553aee14dce' 2025-03-14T04:05:00.8182610Z Submodule path 'third_party/opentelemetry-cpp/third_party/opentracing-cpp': checked out '06b57f48ded1fa3bdd3d4346f6ef29e40e08eaf5' 2025-03-14T04:05:00.8361526Z Submodule path 'third_party/opentelemetry-cpp/third_party/prometheus-cpp': checked out 'c9ffcdda9086ffd9e1283ea7a0276d831f3c8a8d' 2025-03-14T04:05:01.1202616Z Submodule path 'third_party/opentelemetry-cpp/third_party/prometheus-cpp/3rdparty/civetweb': checked out 'eefb26f82b233268fc98577d265352720d477ba4' 2025-03-14T04:05:01.1701684Z Submodule path 'third_party/opentelemetry-cpp/third_party/prometheus-cpp/3rdparty/googletest': checked out 'e2239ee6043f73722e7aa812a459f54a28552929' 2025-03-14T04:05:01.8163614Z Submodule path 'third_party/opentelemetry-cpp/tools/vcpkg': checked out '8eb57355a4ffb410a2e94c07b4dca2dffbee8e50' 2025-03-14T04:05:01.8281477Z Submodule path 'third_party/pocketfft': checked out '9d3ab05a7fffbc71a492bc6a17be034e83e8f0fe' 2025-03-14T04:05:02.1351236Z Submodule path 'third_party/protobuf': checked out 'd1eca4e4b421cd2997495c4b4e65cea6be4e9b8a' 2025-03-14T04:05:02.1522030Z Submodule path 'third_party/protobuf/third_party/benchmark': checked out '5b7683f49e1e9223cf9927b24f6fd3d6bd82e3f8' 2025-03-14T04:05:02.2069992Z Submodule path 'third_party/protobuf/third_party/googletest': checked out '5ec7f0c4a113e2f18ac2c6cc7df51ad6afc24081' 2025-03-14T04:05:02.2167516Z Submodule path 'third_party/psimd': checked out '072586a71b55b7f8c584153d223e95687148a900' 2025-03-14T04:05:02.2293671Z Submodule path 'third_party/pthreadpool': checked out '4fe0e1e183925bf8cfa6aae24237e724a96479b8' 2025-03-14T04:05:02.2709355Z Submodule path 'third_party/pybind11': checked out 'a2e59f0e7065404b44dfe92a28aca47ba1378dc4' 2025-03-14T04:05:02.3037719Z Submodule path 'third_party/python-peachpy': checked out 'f45429b087dd7d5bc78bb40dc7cf06425c252d67' 2025-03-14T04:05:02.3571457Z Submodule path 'third_party/sleef': checked out '56e1f79cb140fb9326d612d0be06b5250565cade' 2025-03-14T04:05:02.3912257Z Submodule path 'third_party/tensorpipe': checked out '52791a2fd214b2a9dc5759d36725909c1daa7f2e' 2025-03-14T04:05:02.4397536Z Submodule path 'third_party/tensorpipe/third_party/googletest': checked out 'aee0f9d9b5b87796ee8a0ab26b7587ec30e8858e' 2025-03-14T04:05:02.4576424Z Submodule path 'third_party/tensorpipe/third_party/libnop': checked out '910b55815be16109f04f4180e9adee14fb4ce281' 2025-03-14T04:05:02.5299777Z Submodule path 'third_party/tensorpipe/third_party/libuv': checked out '1dff88e5161cba5c59276d2070d2e304e4dcb242' 2025-03-14T04:05:02.5632827Z Submodule path 'third_party/tensorpipe/third_party/pybind11': checked out 'a23996fce38ff6ccfbcdc09f1e63f2c4be5ea2ef' 2025-03-14T04:05:02.5725781Z Submodule path 'third_party/tensorpipe/third_party/pybind11/tools/clang': checked out '6a00cbc4a9b8e68b71caf7f774b3f9c753ae84d5' 2025-03-14T04:05:02.5761510Z [command]/usr/bin/git submodule foreach --recursive git config --local gc.auto 0 2025-03-14T04:05:02.6036343Z Entering 'android/libs/fbjni' 2025-03-14T04:05:02.6074743Z Entering 'third_party/FP16' 2025-03-14T04:05:02.6114280Z Entering 'third_party/FXdiv' 2025-03-14T04:05:02.6151260Z Entering 'third_party/NNPACK' 2025-03-14T04:05:02.6189213Z Entering 'third_party/NVTX' 2025-03-14T04:05:02.6229372Z Entering 'third_party/VulkanMemoryAllocator' 2025-03-14T04:05:02.6267017Z Entering 'third_party/XNNPACK' 2025-03-14T04:05:02.6321397Z Entering 'third_party/benchmark' 2025-03-14T04:05:02.6358965Z Entering 'third_party/composable_kernel' 2025-03-14T04:05:02.6402602Z Entering 'third_party/cpp-httplib' 2025-03-14T04:05:02.6440171Z Entering 'third_party/cpuinfo' 2025-03-14T04:05:02.6478010Z Entering 'third_party/cudnn_frontend' 2025-03-14T04:05:02.6516159Z Entering 'third_party/cutlass' 2025-03-14T04:05:02.6564233Z Entering 'third_party/eigen' 2025-03-14T04:05:02.6606071Z Entering 'third_party/fbgemm' 2025-03-14T04:05:02.6646222Z Entering 'third_party/fbgemm/third_party/asmjit' 2025-03-14T04:05:02.6683987Z Entering 'third_party/fbgemm/third_party/cpuinfo' 2025-03-14T04:05:02.6721755Z Entering 'third_party/fbgemm/third_party/cutlass' 2025-03-14T04:05:02.6766795Z Entering 'third_party/fbgemm/third_party/googletest' 2025-03-14T04:05:02.6804075Z Entering 'third_party/fbgemm/third_party/hipify_torch' 2025-03-14T04:05:02.6843611Z Entering 'third_party/flash-attention' 2025-03-14T04:05:02.6883134Z Entering 'third_party/flash-attention/csrc/composable_kernel' 2025-03-14T04:05:02.6930310Z Entering 'third_party/flash-attention/csrc/cutlass' 2025-03-14T04:05:02.6979986Z Entering 'third_party/flatbuffers' 2025-03-14T04:05:02.7023778Z Entering 'third_party/fmt' 2025-03-14T04:05:02.7062479Z Entering 'third_party/gemmlowp/gemmlowp' 2025-03-14T04:05:02.7103278Z Entering 'third_party/gloo' 2025-03-14T04:05:02.7141658Z Entering 'third_party/googletest' 2025-03-14T04:05:02.7181001Z Entering 'third_party/ideep' 2025-03-14T04:05:02.7220126Z Entering 'third_party/ideep/mkl-dnn' 2025-03-14T04:05:02.7266981Z Entering 'third_party/ittapi' 2025-03-14T04:05:02.7306755Z Entering 'third_party/kineto' 2025-03-14T04:05:02.7345230Z Entering 'third_party/kineto/libkineto/third_party/dynolog' 2025-03-14T04:05:02.7383316Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/DCGM' 2025-03-14T04:05:02.7421565Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/cpr' 2025-03-14T04:05:02.7458285Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/fmt' 2025-03-14T04:05:02.7495360Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/gflags' 2025-03-14T04:05:02.7535400Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/gflags/doc' 2025-03-14T04:05:02.7574673Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/glog' 2025-03-14T04:05:02.7612733Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/googletest' 2025-03-14T04:05:02.7650026Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/json' 2025-03-14T04:05:02.7687850Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/pfs' 2025-03-14T04:05:02.7726685Z Entering 'third_party/kineto/libkineto/third_party/fmt' 2025-03-14T04:05:02.7764696Z Entering 'third_party/kineto/libkineto/third_party/googletest' 2025-03-14T04:05:02.7804834Z Entering 'third_party/kleidiai' 2025-03-14T04:05:02.7843212Z Entering 'third_party/mimalloc' 2025-03-14T04:05:02.7881258Z Entering 'third_party/nlohmann' 2025-03-14T04:05:02.7921366Z Entering 'third_party/onnx' 2025-03-14T04:05:02.7976481Z Entering 'third_party/onnx/third_party/pybind11' 2025-03-14T04:05:02.8017486Z Entering 'third_party/opentelemetry-cpp' 2025-03-14T04:05:02.8056993Z Entering 'third_party/opentelemetry-cpp/third_party/benchmark' 2025-03-14T04:05:02.8093265Z Entering 'third_party/opentelemetry-cpp/third_party/googletest' 2025-03-14T04:05:02.8129786Z Entering 'third_party/opentelemetry-cpp/third_party/ms-gsl' 2025-03-14T04:05:02.8165510Z Entering 'third_party/opentelemetry-cpp/third_party/nlohmann-json' 2025-03-14T04:05:02.8204198Z Entering 'third_party/opentelemetry-cpp/third_party/opentelemetry-proto' 2025-03-14T04:05:02.8240359Z Entering 'third_party/opentelemetry-cpp/third_party/opentracing-cpp' 2025-03-14T04:05:02.8276271Z Entering 'third_party/opentelemetry-cpp/third_party/prometheus-cpp' 2025-03-14T04:05:02.8313921Z Entering 'third_party/opentelemetry-cpp/third_party/prometheus-cpp/3rdparty/civetweb' 2025-03-14T04:05:02.8353454Z Entering 'third_party/opentelemetry-cpp/third_party/prometheus-cpp/3rdparty/googletest' 2025-03-14T04:05:02.8392269Z Entering 'third_party/opentelemetry-cpp/tools/vcpkg' 2025-03-14T04:05:02.8450874Z Entering 'third_party/pocketfft' 2025-03-14T04:05:02.8489119Z Entering 'third_party/protobuf' 2025-03-14T04:05:02.8530845Z Entering 'third_party/protobuf/third_party/benchmark' 2025-03-14T04:05:02.8567498Z Entering 'third_party/protobuf/third_party/googletest' 2025-03-14T04:05:02.8606752Z Entering 'third_party/psimd' 2025-03-14T04:05:02.8646005Z Entering 'third_party/pthreadpool' 2025-03-14T04:05:02.8683349Z Entering 'third_party/pybind11' 2025-03-14T04:05:02.8722604Z Entering 'third_party/python-peachpy' 2025-03-14T04:05:02.8760302Z Entering 'third_party/sleef' 2025-03-14T04:05:02.8797233Z Entering 'third_party/tensorpipe' 2025-03-14T04:05:02.8836730Z Entering 'third_party/tensorpipe/third_party/googletest' 2025-03-14T04:05:02.8875391Z Entering 'third_party/tensorpipe/third_party/libnop' 2025-03-14T04:05:02.8914564Z Entering 'third_party/tensorpipe/third_party/libuv' 2025-03-14T04:05:02.8952954Z Entering 'third_party/tensorpipe/third_party/pybind11' 2025-03-14T04:05:02.8990778Z Entering 'third_party/tensorpipe/third_party/pybind11/tools/clang' 2025-03-14T04:05:02.9044251Z ##[endgroup] 2025-03-14T04:05:02.9045003Z ##[group]Persisting credentials for submodules 2025-03-14T04:05:02.9051790Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'url\.https\:\/\/github\.com\/\.insteadOf' && git config --local --unset-all 'url.https://github.com/.insteadOf' || :" 2025-03-14T04:05:02.9331710Z Entering 'android/libs/fbjni' 2025-03-14T04:05:02.9365834Z url.https://github.com/.insteadof 2025-03-14T04:05:02.9366507Z url.https://github.com/.insteadof 2025-03-14T04:05:02.9398173Z Entering 'third_party/FP16' 2025-03-14T04:05:02.9432096Z url.https://github.com/.insteadof 2025-03-14T04:05:02.9432486Z url.https://github.com/.insteadof 2025-03-14T04:05:02.9464163Z Entering 'third_party/FXdiv' 2025-03-14T04:05:02.9497427Z url.https://github.com/.insteadof 2025-03-14T04:05:02.9497803Z url.https://github.com/.insteadof 2025-03-14T04:05:02.9529253Z Entering 'third_party/NNPACK' 2025-03-14T04:05:02.9562099Z url.https://github.com/.insteadof 2025-03-14T04:05:02.9562470Z url.https://github.com/.insteadof 2025-03-14T04:05:02.9592668Z Entering 'third_party/NVTX' 2025-03-14T04:05:02.9625188Z url.https://github.com/.insteadof 2025-03-14T04:05:02.9625561Z url.https://github.com/.insteadof 2025-03-14T04:05:02.9657041Z Entering 'third_party/VulkanMemoryAllocator' 2025-03-14T04:05:02.9690553Z url.https://github.com/.insteadof 2025-03-14T04:05:02.9690948Z url.https://github.com/.insteadof 2025-03-14T04:05:02.9721140Z Entering 'third_party/XNNPACK' 2025-03-14T04:05:02.9754772Z url.https://github.com/.insteadof 2025-03-14T04:05:02.9755449Z url.https://github.com/.insteadof 2025-03-14T04:05:02.9800785Z Entering 'third_party/benchmark' 2025-03-14T04:05:02.9833139Z url.https://github.com/.insteadof 2025-03-14T04:05:02.9833801Z url.https://github.com/.insteadof 2025-03-14T04:05:02.9863206Z Entering 'third_party/composable_kernel' 2025-03-14T04:05:02.9895237Z url.https://github.com/.insteadof 2025-03-14T04:05:02.9895951Z url.https://github.com/.insteadof 2025-03-14T04:05:02.9934094Z Entering 'third_party/cpp-httplib' 2025-03-14T04:05:02.9966567Z url.https://github.com/.insteadof 2025-03-14T04:05:02.9967196Z url.https://github.com/.insteadof 2025-03-14T04:05:02.9997318Z Entering 'third_party/cpuinfo' 2025-03-14T04:05:03.0032870Z url.https://github.com/.insteadof 2025-03-14T04:05:03.0033461Z url.https://github.com/.insteadof 2025-03-14T04:05:03.0063964Z Entering 'third_party/cudnn_frontend' 2025-03-14T04:05:03.0097440Z url.https://github.com/.insteadof 2025-03-14T04:05:03.0098446Z url.https://github.com/.insteadof 2025-03-14T04:05:03.0128230Z Entering 'third_party/cutlass' 2025-03-14T04:05:03.0161495Z url.https://github.com/.insteadof 2025-03-14T04:05:03.0162052Z url.https://github.com/.insteadof 2025-03-14T04:05:03.0201754Z Entering 'third_party/eigen' 2025-03-14T04:05:03.0234715Z url.https://github.com/.insteadof 2025-03-14T04:05:03.0235451Z url.https://github.com/.insteadof 2025-03-14T04:05:03.0267246Z Entering 'third_party/fbgemm' 2025-03-14T04:05:03.0300473Z url.https://github.com/.insteadof 2025-03-14T04:05:03.0301040Z url.https://github.com/.insteadof 2025-03-14T04:05:03.0332147Z Entering 'third_party/fbgemm/third_party/asmjit' 2025-03-14T04:05:03.0365309Z url.https://github.com/.insteadof 2025-03-14T04:05:03.0365930Z url.https://github.com/.insteadof 2025-03-14T04:05:03.0396949Z Entering 'third_party/fbgemm/third_party/cpuinfo' 2025-03-14T04:05:03.0430989Z url.https://github.com/.insteadof 2025-03-14T04:05:03.0431677Z url.https://github.com/.insteadof 2025-03-14T04:05:03.0463662Z Entering 'third_party/fbgemm/third_party/cutlass' 2025-03-14T04:05:03.0496770Z url.https://github.com/.insteadof 2025-03-14T04:05:03.0497143Z url.https://github.com/.insteadof 2025-03-14T04:05:03.0535146Z Entering 'third_party/fbgemm/third_party/googletest' 2025-03-14T04:05:03.0568137Z url.https://github.com/.insteadof 2025-03-14T04:05:03.0568500Z url.https://github.com/.insteadof 2025-03-14T04:05:03.0599478Z Entering 'third_party/fbgemm/third_party/hipify_torch' 2025-03-14T04:05:03.0631718Z url.https://github.com/.insteadof 2025-03-14T04:05:03.0632081Z url.https://github.com/.insteadof 2025-03-14T04:05:03.0663415Z Entering 'third_party/flash-attention' 2025-03-14T04:05:03.0697671Z url.https://github.com/.insteadof 2025-03-14T04:05:03.0698229Z url.https://github.com/.insteadof 2025-03-14T04:05:03.0730140Z Entering 'third_party/flash-attention/csrc/composable_kernel' 2025-03-14T04:05:03.0762178Z url.https://github.com/.insteadof 2025-03-14T04:05:03.0762746Z url.https://github.com/.insteadof 2025-03-14T04:05:03.0799921Z Entering 'third_party/flash-attention/csrc/cutlass' 2025-03-14T04:05:03.0832492Z url.https://github.com/.insteadof 2025-03-14T04:05:03.0832853Z url.https://github.com/.insteadof 2025-03-14T04:05:03.0875339Z Entering 'third_party/flatbuffers' 2025-03-14T04:05:03.0908734Z url.https://github.com/.insteadof 2025-03-14T04:05:03.0909118Z url.https://github.com/.insteadof 2025-03-14T04:05:03.0942601Z Entering 'third_party/fmt' 2025-03-14T04:05:03.0976166Z url.https://github.com/.insteadof 2025-03-14T04:05:03.0976561Z url.https://github.com/.insteadof 2025-03-14T04:05:03.1007153Z Entering 'third_party/gemmlowp/gemmlowp' 2025-03-14T04:05:03.1040834Z url.https://github.com/.insteadof 2025-03-14T04:05:03.1041203Z url.https://github.com/.insteadof 2025-03-14T04:05:03.1071390Z Entering 'third_party/gloo' 2025-03-14T04:05:03.1104914Z url.https://github.com/.insteadof 2025-03-14T04:05:03.1105303Z url.https://github.com/.insteadof 2025-03-14T04:05:03.1135180Z Entering 'third_party/googletest' 2025-03-14T04:05:03.1168419Z url.https://github.com/.insteadof 2025-03-14T04:05:03.1168795Z url.https://github.com/.insteadof 2025-03-14T04:05:03.1200556Z Entering 'third_party/ideep' 2025-03-14T04:05:03.1232562Z url.https://github.com/.insteadof 2025-03-14T04:05:03.1232954Z url.https://github.com/.insteadof 2025-03-14T04:05:03.1262832Z Entering 'third_party/ideep/mkl-dnn' 2025-03-14T04:05:03.1295321Z url.https://github.com/.insteadof 2025-03-14T04:05:03.1334238Z url.https://github.com/.insteadof 2025-03-14T04:05:03.1334619Z Entering 'third_party/ittapi' 2025-03-14T04:05:03.1367616Z url.https://github.com/.insteadof 2025-03-14T04:05:03.1368006Z url.https://github.com/.insteadof 2025-03-14T04:05:03.1400101Z Entering 'third_party/kineto' 2025-03-14T04:05:03.1432332Z url.https://github.com/.insteadof 2025-03-14T04:05:03.1432717Z url.https://github.com/.insteadof 2025-03-14T04:05:03.1463919Z Entering 'third_party/kineto/libkineto/third_party/dynolog' 2025-03-14T04:05:03.1497325Z url.https://github.com/.insteadof 2025-03-14T04:05:03.1497696Z url.https://github.com/.insteadof 2025-03-14T04:05:03.1528220Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/DCGM' 2025-03-14T04:05:03.1561764Z url.https://github.com/.insteadof 2025-03-14T04:05:03.1562156Z url.https://github.com/.insteadof 2025-03-14T04:05:03.1594066Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/cpr' 2025-03-14T04:05:03.1627174Z url.https://github.com/.insteadof 2025-03-14T04:05:03.1627534Z url.https://github.com/.insteadof 2025-03-14T04:05:03.1658574Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/fmt' 2025-03-14T04:05:03.1692193Z url.https://github.com/.insteadof 2025-03-14T04:05:03.1692565Z url.https://github.com/.insteadof 2025-03-14T04:05:03.1724147Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/gflags' 2025-03-14T04:05:03.1757453Z url.https://github.com/.insteadof 2025-03-14T04:05:03.1757811Z url.https://github.com/.insteadof 2025-03-14T04:05:03.1789236Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/gflags/doc' 2025-03-14T04:05:03.1824698Z url.https://github.com/.insteadof 2025-03-14T04:05:03.1825084Z url.https://github.com/.insteadof 2025-03-14T04:05:03.1858519Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/glog' 2025-03-14T04:05:03.1892548Z url.https://github.com/.insteadof 2025-03-14T04:05:03.1892952Z url.https://github.com/.insteadof 2025-03-14T04:05:03.1924768Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/googletest' 2025-03-14T04:05:03.1959276Z url.https://github.com/.insteadof 2025-03-14T04:05:03.1959642Z url.https://github.com/.insteadof 2025-03-14T04:05:03.1991606Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/json' 2025-03-14T04:05:03.2025555Z url.https://github.com/.insteadof 2025-03-14T04:05:03.2025924Z url.https://github.com/.insteadof 2025-03-14T04:05:03.2059608Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/pfs' 2025-03-14T04:05:03.2092386Z url.https://github.com/.insteadof 2025-03-14T04:05:03.2092763Z url.https://github.com/.insteadof 2025-03-14T04:05:03.2125311Z Entering 'third_party/kineto/libkineto/third_party/fmt' 2025-03-14T04:05:03.2158682Z url.https://github.com/.insteadof 2025-03-14T04:05:03.2159223Z url.https://github.com/.insteadof 2025-03-14T04:05:03.2189085Z Entering 'third_party/kineto/libkineto/third_party/googletest' 2025-03-14T04:05:03.2221896Z url.https://github.com/.insteadof 2025-03-14T04:05:03.2222259Z url.https://github.com/.insteadof 2025-03-14T04:05:03.2254373Z Entering 'third_party/kleidiai' 2025-03-14T04:05:03.2288734Z url.https://github.com/.insteadof 2025-03-14T04:05:03.2289103Z url.https://github.com/.insteadof 2025-03-14T04:05:03.2320942Z Entering 'third_party/mimalloc' 2025-03-14T04:05:03.2354238Z url.https://github.com/.insteadof 2025-03-14T04:05:03.2354612Z url.https://github.com/.insteadof 2025-03-14T04:05:03.2384936Z Entering 'third_party/nlohmann' 2025-03-14T04:05:03.2418283Z url.https://github.com/.insteadof 2025-03-14T04:05:03.2418650Z url.https://github.com/.insteadof 2025-03-14T04:05:03.2450111Z Entering 'third_party/onnx' 2025-03-14T04:05:03.2483195Z url.https://github.com/.insteadof 2025-03-14T04:05:03.2483566Z url.https://github.com/.insteadof 2025-03-14T04:05:03.2530317Z Entering 'third_party/onnx/third_party/pybind11' 2025-03-14T04:05:03.2563627Z url.https://github.com/.insteadof 2025-03-14T04:05:03.2564031Z url.https://github.com/.insteadof 2025-03-14T04:05:03.2596152Z Entering 'third_party/opentelemetry-cpp' 2025-03-14T04:05:03.2629458Z url.https://github.com/.insteadof 2025-03-14T04:05:03.2630141Z url.https://github.com/.insteadof 2025-03-14T04:05:03.2662277Z Entering 'third_party/opentelemetry-cpp/third_party/benchmark' 2025-03-14T04:05:03.2694145Z url.https://github.com/.insteadof 2025-03-14T04:05:03.2694526Z url.https://github.com/.insteadof 2025-03-14T04:05:03.2724941Z Entering 'third_party/opentelemetry-cpp/third_party/googletest' 2025-03-14T04:05:03.2757625Z url.https://github.com/.insteadof 2025-03-14T04:05:03.2758014Z url.https://github.com/.insteadof 2025-03-14T04:05:03.2789022Z Entering 'third_party/opentelemetry-cpp/third_party/ms-gsl' 2025-03-14T04:05:03.2822325Z url.https://github.com/.insteadof 2025-03-14T04:05:03.2822693Z url.https://github.com/.insteadof 2025-03-14T04:05:03.2851825Z Entering 'third_party/opentelemetry-cpp/third_party/nlohmann-json' 2025-03-14T04:05:03.2883866Z url.https://github.com/.insteadof 2025-03-14T04:05:03.2884225Z url.https://github.com/.insteadof 2025-03-14T04:05:03.2916166Z Entering 'third_party/opentelemetry-cpp/third_party/opentelemetry-proto' 2025-03-14T04:05:03.2947952Z url.https://github.com/.insteadof 2025-03-14T04:05:03.2948332Z url.https://github.com/.insteadof 2025-03-14T04:05:03.2977943Z Entering 'third_party/opentelemetry-cpp/third_party/opentracing-cpp' 2025-03-14T04:05:03.3010183Z url.https://github.com/.insteadof 2025-03-14T04:05:03.3010569Z url.https://github.com/.insteadof 2025-03-14T04:05:03.3040181Z Entering 'third_party/opentelemetry-cpp/third_party/prometheus-cpp' 2025-03-14T04:05:03.3072484Z url.https://github.com/.insteadof 2025-03-14T04:05:03.3072855Z url.https://github.com/.insteadof 2025-03-14T04:05:03.3103625Z Entering 'third_party/opentelemetry-cpp/third_party/prometheus-cpp/3rdparty/civetweb' 2025-03-14T04:05:03.3136015Z url.https://github.com/.insteadof 2025-03-14T04:05:03.3136396Z url.https://github.com/.insteadof 2025-03-14T04:05:03.3168623Z Entering 'third_party/opentelemetry-cpp/third_party/prometheus-cpp/3rdparty/googletest' 2025-03-14T04:05:03.3201762Z url.https://github.com/.insteadof 2025-03-14T04:05:03.3202137Z url.https://github.com/.insteadof 2025-03-14T04:05:03.3234816Z Entering 'third_party/opentelemetry-cpp/tools/vcpkg' 2025-03-14T04:05:03.3267325Z url.https://github.com/.insteadof 2025-03-14T04:05:03.3267718Z url.https://github.com/.insteadof 2025-03-14T04:05:03.3319544Z Entering 'third_party/pocketfft' 2025-03-14T04:05:03.3354276Z url.https://github.com/.insteadof 2025-03-14T04:05:03.3354912Z url.https://github.com/.insteadof 2025-03-14T04:05:03.3384744Z Entering 'third_party/protobuf' 2025-03-14T04:05:03.3418671Z url.https://github.com/.insteadof 2025-03-14T04:05:03.3419048Z url.https://github.com/.insteadof 2025-03-14T04:05:03.3454359Z Entering 'third_party/protobuf/third_party/benchmark' 2025-03-14T04:05:03.3488400Z url.https://github.com/.insteadof 2025-03-14T04:05:03.3488786Z url.https://github.com/.insteadof 2025-03-14T04:05:03.3520223Z Entering 'third_party/protobuf/third_party/googletest' 2025-03-14T04:05:03.3553116Z url.https://github.com/.insteadof 2025-03-14T04:05:03.3553487Z url.https://github.com/.insteadof 2025-03-14T04:05:03.3586026Z Entering 'third_party/psimd' 2025-03-14T04:05:03.3620906Z url.https://github.com/.insteadof 2025-03-14T04:05:03.3621290Z url.https://github.com/.insteadof 2025-03-14T04:05:03.3652430Z Entering 'third_party/pthreadpool' 2025-03-14T04:05:03.3687403Z url.https://github.com/.insteadof 2025-03-14T04:05:03.3687770Z url.https://github.com/.insteadof 2025-03-14T04:05:03.3719979Z Entering 'third_party/pybind11' 2025-03-14T04:05:03.3754263Z url.https://github.com/.insteadof 2025-03-14T04:05:03.3754641Z url.https://github.com/.insteadof 2025-03-14T04:05:03.3784669Z Entering 'third_party/python-peachpy' 2025-03-14T04:05:03.3820222Z url.https://github.com/.insteadof 2025-03-14T04:05:03.3820593Z url.https://github.com/.insteadof 2025-03-14T04:05:03.3851594Z Entering 'third_party/sleef' 2025-03-14T04:05:03.3885209Z url.https://github.com/.insteadof 2025-03-14T04:05:03.3885586Z url.https://github.com/.insteadof 2025-03-14T04:05:03.3916781Z Entering 'third_party/tensorpipe' 2025-03-14T04:05:03.3949820Z url.https://github.com/.insteadof 2025-03-14T04:05:03.3950191Z url.https://github.com/.insteadof 2025-03-14T04:05:03.3980131Z Entering 'third_party/tensorpipe/third_party/googletest' 2025-03-14T04:05:03.4012986Z url.https://github.com/.insteadof 2025-03-14T04:05:03.4013431Z url.https://github.com/.insteadof 2025-03-14T04:05:03.4043017Z Entering 'third_party/tensorpipe/third_party/libnop' 2025-03-14T04:05:03.4075065Z url.https://github.com/.insteadof 2025-03-14T04:05:03.4075434Z url.https://github.com/.insteadof 2025-03-14T04:05:03.4105670Z Entering 'third_party/tensorpipe/third_party/libuv' 2025-03-14T04:05:03.4139251Z url.https://github.com/.insteadof 2025-03-14T04:05:03.4139855Z url.https://github.com/.insteadof 2025-03-14T04:05:03.4170189Z Entering 'third_party/tensorpipe/third_party/pybind11' 2025-03-14T04:05:03.4204028Z url.https://github.com/.insteadof 2025-03-14T04:05:03.4204418Z url.https://github.com/.insteadof 2025-03-14T04:05:03.4234492Z Entering 'third_party/tensorpipe/third_party/pybind11/tools/clang' 2025-03-14T04:05:03.4267798Z url.https://github.com/.insteadof 2025-03-14T04:05:03.4268173Z url.https://github.com/.insteadof 2025-03-14T04:05:03.4315049Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local 'http.https://github.com/.extraheader' 'AUTHORIZATION: basic ***' && git config --local --show-origin --name-only --get-regexp remote.origin.url" 2025-03-14T04:05:03.4585561Z Entering 'android/libs/fbjni' 2025-03-14T04:05:03.4632025Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/android/libs/fbjni/config remote.origin.url 2025-03-14T04:05:03.4647006Z Entering 'third_party/FP16' 2025-03-14T04:05:03.4693585Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/NNPACK_deps/FP16/config remote.origin.url 2025-03-14T04:05:03.4709488Z Entering 'third_party/FXdiv' 2025-03-14T04:05:03.4755322Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/NNPACK_deps/FXdiv/config remote.origin.url 2025-03-14T04:05:03.4770072Z Entering 'third_party/NNPACK' 2025-03-14T04:05:03.4817156Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/NNPACK/config remote.origin.url 2025-03-14T04:05:03.4831985Z Entering 'third_party/NVTX' 2025-03-14T04:05:03.4878336Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/NVTX/config remote.origin.url 2025-03-14T04:05:03.4893426Z Entering 'third_party/VulkanMemoryAllocator' 2025-03-14T04:05:03.4938845Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/VulkanMemoryAllocator/config remote.origin.url 2025-03-14T04:05:03.4953694Z Entering 'third_party/XNNPACK' 2025-03-14T04:05:03.5000345Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/XNNPACK/config remote.origin.url 2025-03-14T04:05:03.5030186Z Entering 'third_party/benchmark' 2025-03-14T04:05:03.5075052Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/benchmark/config remote.origin.url 2025-03-14T04:05:03.5089822Z Entering 'third_party/composable_kernel' 2025-03-14T04:05:03.5135188Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/composable_kernel/config remote.origin.url 2025-03-14T04:05:03.5156330Z Entering 'third_party/cpp-httplib' 2025-03-14T04:05:03.5201897Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/cpp-httplib/config remote.origin.url 2025-03-14T04:05:03.5216644Z Entering 'third_party/cpuinfo' 2025-03-14T04:05:03.5261305Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/cpuinfo/config remote.origin.url 2025-03-14T04:05:03.5277214Z Entering 'third_party/cudnn_frontend' 2025-03-14T04:05:03.5323333Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/cudnn_frontend/config remote.origin.url 2025-03-14T04:05:03.5338219Z Entering 'third_party/cutlass' 2025-03-14T04:05:03.5384168Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/cutlass/config remote.origin.url 2025-03-14T04:05:03.5408138Z Entering 'third_party/eigen' 2025-03-14T04:05:03.5453407Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/eigen/config remote.origin.url 2025-03-14T04:05:03.5470264Z Entering 'third_party/fbgemm' 2025-03-14T04:05:03.5517772Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/fbgemm/config remote.origin.url 2025-03-14T04:05:03.5532897Z Entering 'third_party/fbgemm/third_party/asmjit' 2025-03-14T04:05:03.5579902Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/fbgemm/modules/third_party/asmjit/config remote.origin.url 2025-03-14T04:05:03.5594414Z Entering 'third_party/fbgemm/third_party/cpuinfo' 2025-03-14T04:05:03.5640383Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/fbgemm/modules/third_party/cpuinfo/config remote.origin.url 2025-03-14T04:05:03.5655184Z Entering 'third_party/fbgemm/third_party/cutlass' 2025-03-14T04:05:03.5701118Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/fbgemm/modules/third_party/cutlass/config remote.origin.url 2025-03-14T04:05:03.5723043Z Entering 'third_party/fbgemm/third_party/googletest' 2025-03-14T04:05:03.5769140Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/fbgemm/modules/third_party/googletest/config remote.origin.url 2025-03-14T04:05:03.5783866Z Entering 'third_party/fbgemm/third_party/hipify_torch' 2025-03-14T04:05:03.5830398Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/fbgemm/modules/third_party/hipify_torch/config remote.origin.url 2025-03-14T04:05:03.5846449Z Entering 'third_party/flash-attention' 2025-03-14T04:05:03.5894411Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/flash-attention/config remote.origin.url 2025-03-14T04:05:03.5910915Z Entering 'third_party/flash-attention/csrc/composable_kernel' 2025-03-14T04:05:03.5956146Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/flash-attention/modules/csrc/composable_kernel/config remote.origin.url 2025-03-14T04:05:03.5977385Z Entering 'third_party/flash-attention/csrc/cutlass' 2025-03-14T04:05:03.6023305Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/flash-attention/modules/csrc/cutlass/config remote.origin.url 2025-03-14T04:05:03.6046657Z Entering 'third_party/flatbuffers' 2025-03-14T04:05:03.6094175Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/flatbuffers/config remote.origin.url 2025-03-14T04:05:03.6112351Z Entering 'third_party/fmt' 2025-03-14T04:05:03.6158748Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/fmt/config remote.origin.url 2025-03-14T04:05:03.6173534Z Entering 'third_party/gemmlowp/gemmlowp' 2025-03-14T04:05:03.6219153Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/gemmlowp/gemmlowp/config remote.origin.url 2025-03-14T04:05:03.6234286Z Entering 'third_party/gloo' 2025-03-14T04:05:03.6279360Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/gloo/config remote.origin.url 2025-03-14T04:05:03.6294210Z Entering 'third_party/googletest' 2025-03-14T04:05:03.6339897Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/googletest/config remote.origin.url 2025-03-14T04:05:03.6354869Z Entering 'third_party/ideep' 2025-03-14T04:05:03.6401330Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/ideep/config remote.origin.url 2025-03-14T04:05:03.6415048Z Entering 'third_party/ideep/mkl-dnn' 2025-03-14T04:05:03.6461184Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/ideep/modules/mkl-dnn/config remote.origin.url 2025-03-14T04:05:03.6484704Z Entering 'third_party/ittapi' 2025-03-14T04:05:03.6531586Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/ittapi/config remote.origin.url 2025-03-14T04:05:03.6546618Z Entering 'third_party/kineto' 2025-03-14T04:05:03.6592193Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/kineto/config remote.origin.url 2025-03-14T04:05:03.6607910Z Entering 'third_party/kineto/libkineto/third_party/dynolog' 2025-03-14T04:05:03.6655415Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/kineto/modules/libkineto/third_party/dynolog/config remote.origin.url 2025-03-14T04:05:03.6669488Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/DCGM' 2025-03-14T04:05:03.6715894Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/kineto/modules/libkineto/third_party/dynolog/modules/third_party/DCGM/config remote.origin.url 2025-03-14T04:05:03.6730608Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/cpr' 2025-03-14T04:05:03.6776496Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/kineto/modules/libkineto/third_party/dynolog/modules/third_party/cpr/config remote.origin.url 2025-03-14T04:05:03.6789812Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/fmt' 2025-03-14T04:05:03.6837843Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/kineto/modules/libkineto/third_party/dynolog/modules/third_party/fmt/config remote.origin.url 2025-03-14T04:05:03.6852779Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/gflags' 2025-03-14T04:05:03.6899547Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/kineto/modules/libkineto/third_party/dynolog/modules/third_party/gflags/config remote.origin.url 2025-03-14T04:05:03.6914509Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/gflags/doc' 2025-03-14T04:05:03.6961600Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/kineto/modules/libkineto/third_party/dynolog/modules/third_party/gflags/modules/doc/config remote.origin.url 2025-03-14T04:05:03.6977892Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/glog' 2025-03-14T04:05:03.7024293Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/kineto/modules/libkineto/third_party/dynolog/modules/third_party/glog/config remote.origin.url 2025-03-14T04:05:03.7039691Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/googletest' 2025-03-14T04:05:03.7086295Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/kineto/modules/libkineto/third_party/dynolog/modules/third_party/googletest/config remote.origin.url 2025-03-14T04:05:03.7102310Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/json' 2025-03-14T04:05:03.7149885Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/kineto/modules/libkineto/third_party/dynolog/modules/third_party/json/config remote.origin.url 2025-03-14T04:05:03.7166644Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/pfs' 2025-03-14T04:05:03.7214874Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/kineto/modules/libkineto/third_party/dynolog/modules/third_party/pfs/config remote.origin.url 2025-03-14T04:05:03.7231327Z Entering 'third_party/kineto/libkineto/third_party/fmt' 2025-03-14T04:05:03.7280140Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/kineto/modules/libkineto/third_party/fmt/config remote.origin.url 2025-03-14T04:05:03.7294382Z Entering 'third_party/kineto/libkineto/third_party/googletest' 2025-03-14T04:05:03.7342312Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/kineto/modules/libkineto/third_party/googletest/config remote.origin.url 2025-03-14T04:05:03.7359389Z Entering 'third_party/kleidiai' 2025-03-14T04:05:03.7407952Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/kleidiai/config remote.origin.url 2025-03-14T04:05:03.7422855Z Entering 'third_party/mimalloc' 2025-03-14T04:05:03.7469172Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/mimalloc/config remote.origin.url 2025-03-14T04:05:03.7484838Z Entering 'third_party/nlohmann' 2025-03-14T04:05:03.7534980Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/nlohmann/config remote.origin.url 2025-03-14T04:05:03.7551911Z Entering 'third_party/onnx' 2025-03-14T04:05:03.7600055Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/onnx/config remote.origin.url 2025-03-14T04:05:03.7631458Z Entering 'third_party/onnx/third_party/pybind11' 2025-03-14T04:05:03.7679441Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/onnx/modules/third_party/pybind11/config remote.origin.url 2025-03-14T04:05:03.7697001Z Entering 'third_party/opentelemetry-cpp' 2025-03-14T04:05:03.7746324Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/opentelemetry-cpp/config remote.origin.url 2025-03-14T04:05:03.7762505Z Entering 'third_party/opentelemetry-cpp/third_party/benchmark' 2025-03-14T04:05:03.7810400Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/opentelemetry-cpp/modules/third_party/benchmark/config remote.origin.url 2025-03-14T04:05:03.7825744Z Entering 'third_party/opentelemetry-cpp/third_party/googletest' 2025-03-14T04:05:03.7872790Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/opentelemetry-cpp/modules/third_party/googletest/config remote.origin.url 2025-03-14T04:05:03.7888055Z Entering 'third_party/opentelemetry-cpp/third_party/ms-gsl' 2025-03-14T04:05:03.7934075Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/opentelemetry-cpp/modules/third_party/ms-gsl/config remote.origin.url 2025-03-14T04:05:03.7948275Z Entering 'third_party/opentelemetry-cpp/third_party/nlohmann-json' 2025-03-14T04:05:03.7992998Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/opentelemetry-cpp/modules/third_party/nlohmann-json/config remote.origin.url 2025-03-14T04:05:03.8008750Z Entering 'third_party/opentelemetry-cpp/third_party/opentelemetry-proto' 2025-03-14T04:05:03.8054126Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/opentelemetry-cpp/modules/third_party/opentelemetry-proto/config remote.origin.url 2025-03-14T04:05:03.8068105Z Entering 'third_party/opentelemetry-cpp/third_party/opentracing-cpp' 2025-03-14T04:05:03.8114553Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/opentelemetry-cpp/modules/third_party/opentracing-cpp/config remote.origin.url 2025-03-14T04:05:03.8128553Z Entering 'third_party/opentelemetry-cpp/third_party/prometheus-cpp' 2025-03-14T04:05:03.8173963Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/opentelemetry-cpp/modules/third_party/prometheus-cpp/config remote.origin.url 2025-03-14T04:05:03.8187326Z Entering 'third_party/opentelemetry-cpp/third_party/prometheus-cpp/3rdparty/civetweb' 2025-03-14T04:05:03.8233929Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/opentelemetry-cpp/modules/third_party/prometheus-cpp/modules/civetweb/config remote.origin.url 2025-03-14T04:05:03.8250490Z Entering 'third_party/opentelemetry-cpp/third_party/prometheus-cpp/3rdparty/googletest' 2025-03-14T04:05:03.8296287Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/opentelemetry-cpp/modules/third_party/prometheus-cpp/modules/googletest/config remote.origin.url 2025-03-14T04:05:03.8312770Z Entering 'third_party/opentelemetry-cpp/tools/vcpkg' 2025-03-14T04:05:03.8358445Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/opentelemetry-cpp/modules/tools/vcpkg/config remote.origin.url 2025-03-14T04:05:03.8396118Z Entering 'third_party/pocketfft' 2025-03-14T04:05:03.8445557Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/pocketfft/config remote.origin.url 2025-03-14T04:05:03.8461113Z Entering 'third_party/protobuf' 2025-03-14T04:05:03.8508863Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/protobuf/config remote.origin.url 2025-03-14T04:05:03.8526960Z Entering 'third_party/protobuf/third_party/benchmark' 2025-03-14T04:05:03.8573078Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/protobuf/modules/third_party/benchmark/config remote.origin.url 2025-03-14T04:05:03.8587841Z Entering 'third_party/protobuf/third_party/googletest' 2025-03-14T04:05:03.8634364Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/protobuf/modules/third_party/googletest/config remote.origin.url 2025-03-14T04:05:03.8650441Z Entering 'third_party/psimd' 2025-03-14T04:05:03.8696308Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/NNPACK_deps/psimd/config remote.origin.url 2025-03-14T04:05:03.8711422Z Entering 'third_party/pthreadpool' 2025-03-14T04:05:03.8758099Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/NNPACK_deps/pthreadpool/config remote.origin.url 2025-03-14T04:05:03.8773062Z Entering 'third_party/pybind11' 2025-03-14T04:05:03.8819095Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/pybind11/config remote.origin.url 2025-03-14T04:05:03.8834208Z Entering 'third_party/python-peachpy' 2025-03-14T04:05:03.8879253Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/python-peachpy/config remote.origin.url 2025-03-14T04:05:03.8893759Z Entering 'third_party/sleef' 2025-03-14T04:05:03.8939117Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/sleef/config remote.origin.url 2025-03-14T04:05:03.8965958Z Entering 'third_party/tensorpipe' 2025-03-14T04:05:03.9001669Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/tensorpipe/config remote.origin.url 2025-03-14T04:05:03.9017542Z Entering 'third_party/tensorpipe/third_party/googletest' 2025-03-14T04:05:03.9063557Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/tensorpipe/modules/third_party/googletest/config remote.origin.url 2025-03-14T04:05:03.9077954Z Entering 'third_party/tensorpipe/third_party/libnop' 2025-03-14T04:05:03.9124074Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/tensorpipe/modules/third_party/libnop/config remote.origin.url 2025-03-14T04:05:03.9138028Z Entering 'third_party/tensorpipe/third_party/libuv' 2025-03-14T04:05:03.9182711Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/tensorpipe/modules/third_party/libuv/config remote.origin.url 2025-03-14T04:05:03.9197139Z Entering 'third_party/tensorpipe/third_party/pybind11' 2025-03-14T04:05:03.9242595Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/tensorpipe/modules/third_party/pybind11/config remote.origin.url 2025-03-14T04:05:03.9255904Z Entering 'third_party/tensorpipe/third_party/pybind11/tools/clang' 2025-03-14T04:05:03.9302373Z file:/home/ec2-user/actions-runner/_work/pytorch/pytorch/.git/modules/third_party/tensorpipe/modules/third_party/pybind11/modules/tools/clang/config remote.origin.url 2025-03-14T04:05:04.0246518Z [command]/usr/bin/git submodule foreach --recursive git config --local --add 'url.https://github.com/.insteadOf' 'git@github.com:' 2025-03-14T04:05:04.0523962Z Entering 'android/libs/fbjni' 2025-03-14T04:05:04.0563580Z Entering 'third_party/FP16' 2025-03-14T04:05:04.0601643Z Entering 'third_party/FXdiv' 2025-03-14T04:05:04.0639930Z Entering 'third_party/NNPACK' 2025-03-14T04:05:04.0677827Z Entering 'third_party/NVTX' 2025-03-14T04:05:04.0716561Z Entering 'third_party/VulkanMemoryAllocator' 2025-03-14T04:05:04.0755113Z Entering 'third_party/XNNPACK' 2025-03-14T04:05:04.0809115Z Entering 'third_party/benchmark' 2025-03-14T04:05:04.0846084Z Entering 'third_party/composable_kernel' 2025-03-14T04:05:04.0890534Z Entering 'third_party/cpp-httplib' 2025-03-14T04:05:04.0928670Z Entering 'third_party/cpuinfo' 2025-03-14T04:05:04.0966438Z Entering 'third_party/cudnn_frontend' 2025-03-14T04:05:04.1006031Z Entering 'third_party/cutlass' 2025-03-14T04:05:04.1053075Z Entering 'third_party/eigen' 2025-03-14T04:05:04.1092768Z Entering 'third_party/fbgemm' 2025-03-14T04:05:04.1132184Z Entering 'third_party/fbgemm/third_party/asmjit' 2025-03-14T04:05:04.1169015Z Entering 'third_party/fbgemm/third_party/cpuinfo' 2025-03-14T04:05:04.1209472Z Entering 'third_party/fbgemm/third_party/cutlass' 2025-03-14T04:05:04.1253253Z Entering 'third_party/fbgemm/third_party/googletest' 2025-03-14T04:05:04.1289728Z Entering 'third_party/fbgemm/third_party/hipify_torch' 2025-03-14T04:05:04.1327873Z Entering 'third_party/flash-attention' 2025-03-14T04:05:04.1367888Z Entering 'third_party/flash-attention/csrc/composable_kernel' 2025-03-14T04:05:04.1413356Z Entering 'third_party/flash-attention/csrc/cutlass' 2025-03-14T04:05:04.1460588Z Entering 'third_party/flatbuffers' 2025-03-14T04:05:04.1503239Z Entering 'third_party/fmt' 2025-03-14T04:05:04.1541742Z Entering 'third_party/gemmlowp/gemmlowp' 2025-03-14T04:05:04.1580632Z Entering 'third_party/gloo' 2025-03-14T04:05:04.1619775Z Entering 'third_party/googletest' 2025-03-14T04:05:04.1657782Z Entering 'third_party/ideep' 2025-03-14T04:05:04.1695532Z Entering 'third_party/ideep/mkl-dnn' 2025-03-14T04:05:04.1742742Z Entering 'third_party/ittapi' 2025-03-14T04:05:04.1781252Z Entering 'third_party/kineto' 2025-03-14T04:05:04.1819911Z Entering 'third_party/kineto/libkineto/third_party/dynolog' 2025-03-14T04:05:04.1856937Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/DCGM' 2025-03-14T04:05:04.1895749Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/cpr' 2025-03-14T04:05:04.1932799Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/fmt' 2025-03-14T04:05:04.1970121Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/gflags' 2025-03-14T04:05:04.2007427Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/gflags/doc' 2025-03-14T04:05:04.2047592Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/glog' 2025-03-14T04:05:04.2086237Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/googletest' 2025-03-14T04:05:04.2126064Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/json' 2025-03-14T04:05:04.2165130Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/pfs' 2025-03-14T04:05:04.2205506Z Entering 'third_party/kineto/libkineto/third_party/fmt' 2025-03-14T04:05:04.2243177Z Entering 'third_party/kineto/libkineto/third_party/googletest' 2025-03-14T04:05:04.2282437Z Entering 'third_party/kleidiai' 2025-03-14T04:05:04.2322553Z Entering 'third_party/mimalloc' 2025-03-14T04:05:04.2360490Z Entering 'third_party/nlohmann' 2025-03-14T04:05:04.2400261Z Entering 'third_party/onnx' 2025-03-14T04:05:04.2455536Z Entering 'third_party/onnx/third_party/pybind11' 2025-03-14T04:05:04.2495550Z Entering 'third_party/opentelemetry-cpp' 2025-03-14T04:05:04.2536874Z Entering 'third_party/opentelemetry-cpp/third_party/benchmark' 2025-03-14T04:05:04.2574220Z Entering 'third_party/opentelemetry-cpp/third_party/googletest' 2025-03-14T04:05:04.2612154Z Entering 'third_party/opentelemetry-cpp/third_party/ms-gsl' 2025-03-14T04:05:04.2648214Z Entering 'third_party/opentelemetry-cpp/third_party/nlohmann-json' 2025-03-14T04:05:04.2686147Z Entering 'third_party/opentelemetry-cpp/third_party/opentelemetry-proto' 2025-03-14T04:05:04.2722823Z Entering 'third_party/opentelemetry-cpp/third_party/opentracing-cpp' 2025-03-14T04:05:04.2759197Z Entering 'third_party/opentelemetry-cpp/third_party/prometheus-cpp' 2025-03-14T04:05:04.2796441Z Entering 'third_party/opentelemetry-cpp/third_party/prometheus-cpp/3rdparty/civetweb' 2025-03-14T04:05:04.2837123Z Entering 'third_party/opentelemetry-cpp/third_party/prometheus-cpp/3rdparty/googletest' 2025-03-14T04:05:04.2876819Z Entering 'third_party/opentelemetry-cpp/tools/vcpkg' 2025-03-14T04:05:04.2936555Z Entering 'third_party/pocketfft' 2025-03-14T04:05:04.2975835Z Entering 'third_party/protobuf' 2025-03-14T04:05:04.3019138Z Entering 'third_party/protobuf/third_party/benchmark' 2025-03-14T04:05:04.3058810Z Entering 'third_party/protobuf/third_party/googletest' 2025-03-14T04:05:04.3099324Z Entering 'third_party/psimd' 2025-03-14T04:05:04.3139802Z Entering 'third_party/pthreadpool' 2025-03-14T04:05:04.3178611Z Entering 'third_party/pybind11' 2025-03-14T04:05:04.3219683Z Entering 'third_party/python-peachpy' 2025-03-14T04:05:04.3259506Z Entering 'third_party/sleef' 2025-03-14T04:05:04.3299129Z Entering 'third_party/tensorpipe' 2025-03-14T04:05:04.3338582Z Entering 'third_party/tensorpipe/third_party/googletest' 2025-03-14T04:05:04.3376936Z Entering 'third_party/tensorpipe/third_party/libnop' 2025-03-14T04:05:04.3414220Z Entering 'third_party/tensorpipe/third_party/libuv' 2025-03-14T04:05:04.3451725Z Entering 'third_party/tensorpipe/third_party/pybind11' 2025-03-14T04:05:04.3489410Z Entering 'third_party/tensorpipe/third_party/pybind11/tools/clang' 2025-03-14T04:05:04.3544493Z [command]/usr/bin/git submodule foreach --recursive git config --local --add 'url.https://github.com/.insteadOf' 'org-21003710@github.com:' 2025-03-14T04:05:04.3819415Z Entering 'android/libs/fbjni' 2025-03-14T04:05:04.3857215Z Entering 'third_party/FP16' 2025-03-14T04:05:04.3895533Z Entering 'third_party/FXdiv' 2025-03-14T04:05:04.3935065Z Entering 'third_party/NNPACK' 2025-03-14T04:05:04.3974257Z Entering 'third_party/NVTX' 2025-03-14T04:05:04.4015113Z Entering 'third_party/VulkanMemoryAllocator' 2025-03-14T04:05:04.4054233Z Entering 'third_party/XNNPACK' 2025-03-14T04:05:04.4110797Z Entering 'third_party/benchmark' 2025-03-14T04:05:04.4149459Z Entering 'third_party/composable_kernel' 2025-03-14T04:05:04.4195555Z Entering 'third_party/cpp-httplib' 2025-03-14T04:05:04.4235410Z Entering 'third_party/cpuinfo' 2025-03-14T04:05:04.4274420Z Entering 'third_party/cudnn_frontend' 2025-03-14T04:05:04.4313707Z Entering 'third_party/cutlass' 2025-03-14T04:05:04.4360271Z Entering 'third_party/eigen' 2025-03-14T04:05:04.4400292Z Entering 'third_party/fbgemm' 2025-03-14T04:05:04.4440331Z Entering 'third_party/fbgemm/third_party/asmjit' 2025-03-14T04:05:04.4478325Z Entering 'third_party/fbgemm/third_party/cpuinfo' 2025-03-14T04:05:04.4518180Z Entering 'third_party/fbgemm/third_party/cutlass' 2025-03-14T04:05:04.4562066Z Entering 'third_party/fbgemm/third_party/googletest' 2025-03-14T04:05:04.4598815Z Entering 'third_party/fbgemm/third_party/hipify_torch' 2025-03-14T04:05:04.4637828Z Entering 'third_party/flash-attention' 2025-03-14T04:05:04.4678143Z Entering 'third_party/flash-attention/csrc/composable_kernel' 2025-03-14T04:05:04.4721522Z Entering 'third_party/flash-attention/csrc/cutlass' 2025-03-14T04:05:04.4768736Z Entering 'third_party/flatbuffers' 2025-03-14T04:05:04.4810314Z Entering 'third_party/fmt' 2025-03-14T04:05:04.4847931Z Entering 'third_party/gemmlowp/gemmlowp' 2025-03-14T04:05:04.4885476Z Entering 'third_party/gloo' 2025-03-14T04:05:04.4924042Z Entering 'third_party/googletest' 2025-03-14T04:05:04.4962272Z Entering 'third_party/ideep' 2025-03-14T04:05:04.5000357Z Entering 'third_party/ideep/mkl-dnn' 2025-03-14T04:05:04.5044690Z Entering 'third_party/ittapi' 2025-03-14T04:05:04.5083455Z Entering 'third_party/kineto' 2025-03-14T04:05:04.5121099Z Entering 'third_party/kineto/libkineto/third_party/dynolog' 2025-03-14T04:05:04.5158974Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/DCGM' 2025-03-14T04:05:04.5197646Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/cpr' 2025-03-14T04:05:04.5235665Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/fmt' 2025-03-14T04:05:04.5272514Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/gflags' 2025-03-14T04:05:04.5309514Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/gflags/doc' 2025-03-14T04:05:04.5349056Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/glog' 2025-03-14T04:05:04.5385697Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/googletest' 2025-03-14T04:05:04.5423569Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/json' 2025-03-14T04:05:04.5461983Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/pfs' 2025-03-14T04:05:04.5501537Z Entering 'third_party/kineto/libkineto/third_party/fmt' 2025-03-14T04:05:04.5538568Z Entering 'third_party/kineto/libkineto/third_party/googletest' 2025-03-14T04:05:04.5576216Z Entering 'third_party/kleidiai' 2025-03-14T04:05:04.5616556Z Entering 'third_party/mimalloc' 2025-03-14T04:05:04.5654163Z Entering 'third_party/nlohmann' 2025-03-14T04:05:04.5693134Z Entering 'third_party/onnx' 2025-03-14T04:05:04.5748356Z Entering 'third_party/onnx/third_party/pybind11' 2025-03-14T04:05:04.5787990Z Entering 'third_party/opentelemetry-cpp' 2025-03-14T04:05:04.5829329Z Entering 'third_party/opentelemetry-cpp/third_party/benchmark' 2025-03-14T04:05:04.5866981Z Entering 'third_party/opentelemetry-cpp/third_party/googletest' 2025-03-14T04:05:04.5904106Z Entering 'third_party/opentelemetry-cpp/third_party/ms-gsl' 2025-03-14T04:05:04.5940443Z Entering 'third_party/opentelemetry-cpp/third_party/nlohmann-json' 2025-03-14T04:05:04.5979211Z Entering 'third_party/opentelemetry-cpp/third_party/opentelemetry-proto' 2025-03-14T04:05:04.6015465Z Entering 'third_party/opentelemetry-cpp/third_party/opentracing-cpp' 2025-03-14T04:05:04.6052334Z Entering 'third_party/opentelemetry-cpp/third_party/prometheus-cpp' 2025-03-14T04:05:04.6089508Z Entering 'third_party/opentelemetry-cpp/third_party/prometheus-cpp/3rdparty/civetweb' 2025-03-14T04:05:04.6128769Z Entering 'third_party/opentelemetry-cpp/third_party/prometheus-cpp/3rdparty/googletest' 2025-03-14T04:05:04.6167612Z Entering 'third_party/opentelemetry-cpp/tools/vcpkg' 2025-03-14T04:05:04.6225880Z Entering 'third_party/pocketfft' 2025-03-14T04:05:04.6264843Z Entering 'third_party/protobuf' 2025-03-14T04:05:04.6306922Z Entering 'third_party/protobuf/third_party/benchmark' 2025-03-14T04:05:04.6343941Z Entering 'third_party/protobuf/third_party/googletest' 2025-03-14T04:05:04.6382694Z Entering 'third_party/psimd' 2025-03-14T04:05:04.6422222Z Entering 'third_party/pthreadpool' 2025-03-14T04:05:04.6460666Z Entering 'third_party/pybind11' 2025-03-14T04:05:04.6499232Z Entering 'third_party/python-peachpy' 2025-03-14T04:05:04.6536660Z Entering 'third_party/sleef' 2025-03-14T04:05:04.6574855Z Entering 'third_party/tensorpipe' 2025-03-14T04:05:04.6613620Z Entering 'third_party/tensorpipe/third_party/googletest' 2025-03-14T04:05:04.6650362Z Entering 'third_party/tensorpipe/third_party/libnop' 2025-03-14T04:05:04.6687949Z Entering 'third_party/tensorpipe/third_party/libuv' 2025-03-14T04:05:04.6726243Z Entering 'third_party/tensorpipe/third_party/pybind11' 2025-03-14T04:05:04.6763404Z Entering 'third_party/tensorpipe/third_party/pybind11/tools/clang' 2025-03-14T04:05:04.6816746Z ##[endgroup] 2025-03-14T04:05:04.6855336Z [command]/usr/bin/git log -1 --format=%H 2025-03-14T04:05:04.6875703Z aed0b7a742a2d7b7901790622829cbd2135049a4 2025-03-14T04:05:04.7051226Z Prepare all required actions 2025-03-14T04:05:04.7051869Z Getting action download info 2025-03-14T04:05:04.8224757Z ##[group]Run ./.github/actions/setup-linux 2025-03-14T04:05:04.8225112Z env: 2025-03-14T04:05:04.8225354Z GIT_DEFAULT_BRANCH: main 2025-03-14T04:05:04.8225635Z ##[endgroup] 2025-03-14T04:05:04.8274669Z ##[group]Run set -euo pipefail 2025-03-14T04:05:04.8275057Z set -euo pipefail 2025-03-14T04:05:04.8275383Z function get_ec2_metadata() { 2025-03-14T04:05:04.8275786Z  # Pulled from instance metadata endpoint for EC2 2025-03-14T04:05:04.8276446Z  # see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html 2025-03-14T04:05:04.8277061Z  category=$1 2025-03-14T04:05:04.8277443Z  # If it is GCP runner (runner name contains gcp), do not run this 2025-03-14T04:05:04.8277901Z  runner_name_str=i-0ef9d91641f336945 2025-03-14T04:05:04.8278299Z  if [[ -f /.inarc ]]; then 2025-03-14T04:05:04.8278665Z  echo "ARC Runner, no info on ec2 metadata" 2025-03-14T04:05:04.8279078Z  elif [[ $runner_name_str == *"gcp"* ]]; then 2025-03-14T04:05:04.8279574Z  echo "Runner is from Google Cloud Platform, No info on ec2 metadata" 2025-03-14T04:05:04.8280026Z  else 2025-03-14T04:05:04.8280906Z  curl -H "X-aws-ec2-metadata-token: $(curl -s -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30")" -fsSL "http://169.254.169.254/latest/meta-data/${category}" 2025-03-14T04:05:04.8281848Z  fi 2025-03-14T04:05:04.8282218Z } 2025-03-14T04:05:04.8282504Z echo "ami-id: $(get_ec2_metadata ami-id)" 2025-03-14T04:05:04.8282955Z echo "instance-id: $(get_ec2_metadata instance-id)" 2025-03-14T04:05:04.8283446Z echo "instance-type: $(get_ec2_metadata instance-type)" 2025-03-14T04:05:04.8283885Z echo "system info $(uname -a)" 2025-03-14T04:05:04.8291236Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T04:05:04.8291640Z env: 2025-03-14T04:05:04.8291888Z GIT_DEFAULT_BRANCH: main 2025-03-14T04:05:04.8292171Z ##[endgroup] 2025-03-14T04:05:04.8421940Z ami-id: ami-05b10e08d247fb927 2025-03-14T04:05:04.8514483Z instance-id: i-0ef9d91641f336945 2025-03-14T04:05:04.8604484Z instance-type: c5.2xlarge 2025-03-14T04:05:04.8614031Z system info Linux ip-10-1-67-147.ec2.internal 6.1.128-136.201.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Feb 10 16:18:01 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux 2025-03-14T04:05:04.8642939Z ##[group]Run echo "IN_CONTAINER_RUNNER=$(if [ -f /.inarc ] || [ -f /.incontainer ]; then echo true ; else echo false; fi)" >> "$GITHUB_OUTPUT" 2025-03-14T04:05:04.8643927Z echo "IN_CONTAINER_RUNNER=$(if [ -f /.inarc ] || [ -f /.incontainer ]; then echo true ; else echo false; fi)" >> "$GITHUB_OUTPUT" 2025-03-14T04:05:04.8650918Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T04:05:04.8651334Z env: 2025-03-14T04:05:04.8651591Z GIT_DEFAULT_BRANCH: main 2025-03-14T04:05:04.8651873Z ##[endgroup] 2025-03-14T04:05:04.8708546Z ##[group]Run if systemctl is-active --quiet docker; then 2025-03-14T04:05:04.8709020Z if systemctl is-active --quiet docker; then 2025-03-14T04:05:04.8709433Z  echo "Docker daemon is running..."; 2025-03-14T04:05:04.8709781Z else 2025-03-14T04:05:04.8710157Z  echo "Starting docker deamon..." && sudo systemctl start docker; 2025-03-14T04:05:04.8710603Z fi 2025-03-14T04:05:04.8715850Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T04:05:04.8716263Z env: 2025-03-14T04:05:04.8716497Z GIT_DEFAULT_BRANCH: main 2025-03-14T04:05:04.8716778Z ##[endgroup] 2025-03-14T04:05:04.8782971Z Docker daemon is running... 2025-03-14T04:05:04.8829408Z ##[group]Run nick-fields/retry@v3.0.0 2025-03-14T04:05:04.8829726Z with: 2025-03-14T04:05:04.8829951Z shell: bash 2025-03-14T04:05:04.8830354Z timeout_minutes: 5 2025-03-14T04:05:04.8830620Z max_attempts: 3 2025-03-14T04:05:04.8830877Z retry_wait_seconds: 30 2025-03-14T04:05:04.8833208Z command: AWS_ACCOUNT_ID=$(aws sts get-caller-identity|grep Account|cut -f4 -d\") aws ecr get-login-password --region "$AWS_DEFAULT_REGION" | docker login --username AWS \ --password-stdin "$AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com" # For LF Runners we need to make sure we also login to Meta's ECR docker registry too. META_AWS_ACCOUNT_ID=308535385114 if [ "$AWS_ACCOUNT_ID" != "$META_AWS_ACCOUNT_ID" ] ; then aws ecr get-login-password --region "$AWS_DEFAULT_REGION" | docker login --username AWS \ --password-stdin "$META_AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com" fi 2025-03-14T04:05:04.8835585Z polling_interval_seconds: 1 2025-03-14T04:05:04.8835896Z warning_on_retry: true 2025-03-14T04:05:04.8836185Z continue_on_error: false 2025-03-14T04:05:04.8836463Z env: 2025-03-14T04:05:04.8836701Z GIT_DEFAULT_BRANCH: main 2025-03-14T04:05:04.8836989Z AWS_RETRY_MODE: standard 2025-03-14T04:05:04.8837261Z AWS_MAX_ATTEMPTS: 5 2025-03-14T04:05:04.8837537Z AWS_DEFAULT_REGION: us-east-1 2025-03-14T04:05:04.8837831Z ##[endgroup] 2025-03-14T04:05:06.0392706Z WARNING! Your password will be stored unencrypted in /home/ec2-user/.docker/config.json. 2025-03-14T04:05:06.0393836Z Configure a credential helper to remove this warning. See 2025-03-14T04:05:06.0394790Z https://docs.docker.com/engine/reference/commandline/login/#credentials-store 2025-03-14T04:05:06.0395469Z 2025-03-14T04:05:06.0395657Z Login Succeeded 2025-03-14T04:05:06.5767576Z WARNING! Your password will be stored unencrypted in /home/ec2-user/.docker/config.json. 2025-03-14T04:05:06.5768434Z Configure a credential helper to remove this warning. See 2025-03-14T04:05:06.5769047Z https://docs.docker.com/engine/reference/commandline/login/#credentials-store 2025-03-14T04:05:06.5769451Z 2025-03-14T04:05:06.5769570Z Login Succeeded 2025-03-14T04:05:06.9673459Z Command completed after 1 attempt(s). 2025-03-14T04:05:06.9813054Z ##[group]Run env | grep '^GITHUB' >> "/tmp/github_env_${GITHUB_RUN_ID}" 2025-03-14T04:05:06.9813630Z env | grep '^GITHUB' >> "/tmp/github_env_${GITHUB_RUN_ID}" 2025-03-14T04:05:06.9814125Z env | grep '^CI' >> "/tmp/github_env_${GITHUB_RUN_ID}" 2025-03-14T04:05:06.9820778Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T04:05:06.9821205Z env: 2025-03-14T04:05:06.9821450Z GIT_DEFAULT_BRANCH: main 2025-03-14T04:05:06.9821721Z ##[endgroup] 2025-03-14T04:05:07.0156546Z ##[group]Run # ignore expansion of "docker ps -q" since it could be empty 2025-03-14T04:05:07.0157182Z # ignore expansion of "docker ps -q" since it could be empty 2025-03-14T04:05:07.0157637Z # shellcheck disable=SC2046 2025-03-14T04:05:07.0158097Z docker stop $(docker ps -q) || true 2025-03-14T04:05:07.0158714Z # Prune all of the docker images 2025-03-14T04:05:07.0159080Z docker system prune -af 2025-03-14T04:05:07.0165003Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T04:05:07.0165410Z env: 2025-03-14T04:05:07.0165656Z GIT_DEFAULT_BRANCH: main 2025-03-14T04:05:07.0165938Z ##[endgroup] 2025-03-14T04:05:07.0406870Z "docker stop" requires at least 1 argument. 2025-03-14T04:05:07.0407426Z See 'docker stop --help'. 2025-03-14T04:05:07.0407626Z 2025-03-14T04:05:07.0407797Z Usage: docker stop [OPTIONS] CONTAINER [CONTAINER...] 2025-03-14T04:05:07.0408094Z 2025-03-14T04:05:07.0408214Z Stop one or more running containers 2025-03-14T04:05:07.0705447Z Total reclaimed space: 0B 2025-03-14T04:05:07.0747295Z ##[group]Run set +e 2025-03-14T04:05:07.0747611Z set +e 2025-03-14T04:05:07.0747866Z set -x 2025-03-14T04:05:07.0748110Z  2025-03-14T04:05:07.0748374Z PT_DOMAIN=download.pytorch.org 2025-03-14T04:05:07.0748986Z # TODO: Flaky access to download.pytorch.org https://github.com/pytorch/pytorch/issues/100400, 2025-03-14T04:05:07.0749958Z # cleaning this up once the issue is fixed. There are more than one resolved IP here, the last 2025-03-14T04:05:07.0750522Z # one is returned at random 2025-03-14T04:05:07.0750944Z RESOLVED_IP=$(dig -4 +short "${PT_DOMAIN}" | tail -n1) 2025-03-14T04:05:07.0751348Z  2025-03-14T04:05:07.0751604Z if [ -z "${RESOLVED_IP}" ]; then 2025-03-14T04:05:07.0752062Z  echo "Couldn't resolve ${PT_DOMAIN}, retrying with Google DNS..." 2025-03-14T04:05:07.0752620Z  RESOLVED_IP=$(dig -4 +short "${PT_DOMAIN}" @8.8.8.8 | tail -n1) 2025-03-14T04:05:07.0753051Z  2025-03-14T04:05:07.0753307Z  if [ -z "${RESOLVED_IP}" ]; then 2025-03-14T04:05:07.0753717Z  echo "Couldn't resolve ${PT_DOMAIN}, exiting..." 2025-03-14T04:05:07.0754103Z  exit 1 2025-03-14T04:05:07.0754356Z  fi 2025-03-14T04:05:07.0754576Z fi 2025-03-14T04:05:07.0754804Z  2025-03-14T04:05:07.0755089Z if grep -r "${PT_DOMAIN}" /etc/hosts; then 2025-03-14T04:05:07.0755480Z  # Clean up any old records first 2025-03-14T04:05:07.0755869Z  sudo sed -i "/${PT_DOMAIN}/d" /etc/hosts 2025-03-14T04:05:07.0756223Z fi 2025-03-14T04:05:07.0756452Z  2025-03-14T04:05:07.0756784Z echo "${RESOLVED_IP} ${PT_DOMAIN}" | sudo tee -a /etc/hosts 2025-03-14T04:05:07.0757208Z cat /etc/hosts 2025-03-14T04:05:07.0762964Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T04:05:07.0763371Z env: 2025-03-14T04:05:07.0763613Z GIT_DEFAULT_BRANCH: main 2025-03-14T04:05:07.0764036Z ##[endgroup] 2025-03-14T04:05:07.0787996Z + PT_DOMAIN=download.pytorch.org 2025-03-14T04:05:07.0793650Z ++ dig -4 +short download.pytorch.org 2025-03-14T04:05:07.0794291Z ++ tail -n1 2025-03-14T04:05:07.2956320Z + RESOLVED_IP=18.160.10.22 2025-03-14T04:05:07.2956692Z + '[' -z 18.160.10.22 ']' 2025-03-14T04:05:07.2957043Z + grep -r download.pytorch.org /etc/hosts 2025-03-14T04:05:07.2968400Z 18.160.10.76 download.pytorch.org 2025-03-14T04:05:07.2969705Z + sudo sed -i /download.pytorch.org/d /etc/hosts 2025-03-14T04:05:07.6707370Z + echo '18.160.10.22 download.pytorch.org' 2025-03-14T04:05:07.6708106Z + sudo tee -a /etc/hosts 2025-03-14T04:05:07.7288071Z 18.160.10.22 download.pytorch.org 2025-03-14T04:05:07.7303858Z + cat /etc/hosts 2025-03-14T04:05:07.7314643Z 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 2025-03-14T04:05:07.7321593Z ::1 localhost6 localhost6.localdomain6 2025-03-14T04:05:07.7322004Z 18.160.10.22 download.pytorch.org 2025-03-14T04:05:07.7491355Z ##[group]Run pytorch/test-infra/.github/actions/calculate-docker-image@main 2025-03-14T04:05:07.7491868Z with: 2025-03-14T04:05:07.7492574Z docker-image-name: 308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-focal-py3.13-clang10:aa89d6e739080d90fa18625d57297c6734465849 2025-03-14T04:05:07.7493378Z docker-build-dir: .ci/docker 2025-03-14T04:05:07.7493689Z working-directory: . 2025-03-14T04:05:07.7494066Z docker-registry: 308535385114.dkr.ecr.us-east-1.amazonaws.com 2025-03-14T04:05:07.7494487Z force-push: false 2025-03-14T04:05:07.7494732Z env: 2025-03-14T04:05:07.7494968Z GIT_DEFAULT_BRANCH: main 2025-03-14T04:05:07.7495233Z ##[endgroup] 2025-03-14T04:05:07.7526145Z ##[group]Run set -ex 2025-03-14T04:05:07.7526478Z set -ex 2025-03-14T04:05:07.7526721Z  2025-03-14T04:05:07.7527153Z # If the docker build directory or the build script doesn't exist, the action will 2025-03-14T04:05:07.7527909Z # gracefully return the docker image name as it is. Pulling docker image in Linux 2025-03-14T04:05:07.7528524Z # job could then download the pre-built image as usual 2025-03-14T04:05:07.7529063Z if [[ ! -d "${DOCKER_BUILD_DIR}" ]] || [[ ! -f "${DOCKER_BUILD_DIR}/build.sh" ]]; then 2025-03-14T04:05:07.7529560Z  echo "skip=true" >> "${GITHUB_OUTPUT}" 2025-03-14T04:05:07.7530032Z  echo "docker-image=${DOCKER_IMAGE_NAME}" >> "${GITHUB_OUTPUT}" 2025-03-14T04:05:07.7530465Z  2025-03-14T04:05:07.7530840Z  echo "There is no Docker build script in ${REPO_NAME} repo, skipping..." 2025-03-14T04:05:07.7531306Z  exit 0 2025-03-14T04:05:07.7531553Z else 2025-03-14T04:05:07.7531827Z  echo "skip=false" >> "${GITHUB_OUTPUT}" 2025-03-14T04:05:07.7532175Z fi 2025-03-14T04:05:07.7532405Z  2025-03-14T04:05:07.7532764Z if [[ "${DOCKER_IMAGE_NAME}" == *"${DOCKER_REGISTRY}/${REPO_NAME}"* ]]; then 2025-03-14T04:05:07.7533403Z  # The docker image name already includes the ECR prefix and tag, so we can just 2025-03-14T04:05:07.7533964Z  # use it as it is, but first let's extract the tag 2025-03-14T04:05:07.7534475Z  DOCKER_TAG=$(echo "${DOCKER_IMAGE_NAME}" | awk -F '[:,]' '{print $2}') 2025-03-14T04:05:07.7535007Z  echo "docker-tag=${DOCKER_TAG}" >> "${GITHUB_OUTPUT}" 2025-03-14T04:05:07.7535519Z  echo "docker-image=${DOCKER_IMAGE_NAME}" >> "${GITHUB_OUTPUT}" 2025-03-14T04:05:07.7536067Z else 2025-03-14T04:05:07.7536406Z  DOCKER_TAG=$(git rev-parse HEAD:"${DOCKER_BUILD_DIR}") 2025-03-14T04:05:07.7536897Z  echo "docker-tag=${DOCKER_TAG}" >> "${GITHUB_OUTPUT}" 2025-03-14T04:05:07.7537568Z  echo "docker-image=${DOCKER_REGISTRY}/${REPO_NAME}/${DOCKER_IMAGE_NAME}:${DOCKER_TAG}" >> "${GITHUB_OUTPUT}" 2025-03-14T04:05:07.7538155Z fi 2025-03-14T04:05:07.7545685Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T04:05:07.7546238Z env: 2025-03-14T04:05:07.7546483Z GIT_DEFAULT_BRANCH: main 2025-03-14T04:05:07.7546773Z REPO_NAME: pytorch 2025-03-14T04:05:07.7547492Z DOCKER_IMAGE_NAME: 308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-focal-py3.13-clang10:aa89d6e739080d90fa18625d57297c6734465849 2025-03-14T04:05:07.7548269Z DOCKER_BUILD_DIR: .ci/docker 2025-03-14T04:05:07.7548660Z DOCKER_REGISTRY: 308535385114.dkr.ecr.us-east-1.amazonaws.com 2025-03-14T04:05:07.7549073Z ##[endgroup] 2025-03-14T04:05:07.7575626Z + [[ ! -d .ci/docker ]] 2025-03-14T04:05:07.7576025Z + [[ ! -f .ci/docker/build.sh ]] 2025-03-14T04:05:07.7576342Z + echo skip=false 2025-03-14T04:05:07.7577352Z + [[ 308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-focal-py3.13-clang10:aa89d6e739080d90fa18625d57297c6734465849 == *\3\0\8\5\3\5\3\8\5\1\1\4\.\d\k\r\.\e\c\r\.\u\s\-\e\a\s\t\-\1\.\a\m\a\z\o\n\a\w\s\.\c\o\m\/\p\y\t\o\r\c\h* ]] 2025-03-14T04:05:07.7583881Z ++ echo 308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-focal-py3.13-clang10:aa89d6e739080d90fa18625d57297c6734465849 2025-03-14T04:05:07.7584671Z ++ awk -F '[:,]' '{print $2}' 2025-03-14T04:05:07.7603421Z + DOCKER_TAG=aa89d6e739080d90fa18625d57297c6734465849 2025-03-14T04:05:07.7604279Z + echo docker-tag=aa89d6e739080d90fa18625d57297c6734465849 2025-03-14T04:05:07.7605263Z + echo docker-image=308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-focal-py3.13-clang10:aa89d6e739080d90fa18625d57297c6734465849 2025-03-14T04:05:07.7684871Z ##[group]Run set +e 2025-03-14T04:05:07.7685216Z set +e 2025-03-14T04:05:07.7685473Z set -x 2025-03-14T04:05:07.7685723Z  2025-03-14T04:05:07.7685963Z login() { 2025-03-14T04:05:07.7686473Z  aws ecr get-login-password --region us-east-1 | docker login -u AWS --password-stdin "$1" 2025-03-14T04:05:07.7687018Z } 2025-03-14T04:05:07.7687245Z  2025-03-14T04:05:07.7687472Z retry () { 2025-03-14T04:05:07.7687790Z  $* || (sleep 1 && $*) || (sleep 2 && $*) 2025-03-14T04:05:07.7688133Z } 2025-03-14T04:05:07.7688361Z  2025-03-14T04:05:07.7688602Z retry login "${DOCKER_REGISTRY}" 2025-03-14T04:05:07.7688933Z  2025-03-14T04:05:07.7689168Z START_TIME=$(date +%s) 2025-03-14T04:05:07.7689483Z # Wait up to 120 minutes 2025-03-14T04:05:07.7689872Z while [[ $(( $(date +%s) - 7200 )) -lt $START_TIME ]]; do 2025-03-14T04:05:07.7690385Z  # Check if image already exists, if it does then skip building it 2025-03-14T04:05:07.7690908Z  if docker manifest inspect "${DOCKER_IMAGE}"; then 2025-03-14T04:05:07.7691297Z  exit 0 2025-03-14T04:05:07.7691548Z  fi 2025-03-14T04:05:07.7691783Z  2025-03-14T04:05:07.7692186Z  # NB: This flag is used by Docker build workflow to push the image to ECR, so we can 2025-03-14T04:05:07.7692885Z  # use this to differentiate between the Docker build and regular build jobs. For the 2025-03-14T04:05:07.7693580Z  # latter, it will wait for the Docker images to become available before continuing 2025-03-14T04:05:07.7694124Z  if [ "${DOCKER_PUSH:-false}" == "true" ]; then 2025-03-14T04:05:07.7694547Z  # It's a Docker build job, let's build the image 2025-03-14T04:05:07.7694913Z  break 2025-03-14T04:05:07.7695169Z  else 2025-03-14T04:05:07.7695532Z  # It's a regular build job, wait for the image to become available 2025-03-14T04:05:07.7696086Z  sleep 300 2025-03-14T04:05:07.7696355Z  fi 2025-03-14T04:05:07.7696596Z done 2025-03-14T04:05:07.7696829Z  2025-03-14T04:05:07.7697205Z # NB: This part requires a full checkout. Otherwise, the merge base will 2025-03-14T04:05:07.7698001Z # be empty. The default action would be to continue rebuild the image 2025-03-14T04:05:07.7698660Z if [[ "$BASE_REVISION" = "$(git rev-parse HEAD)" ]]; then 2025-03-14T04:05:07.7699326Z  # if we're on the base branch then use the parent commit 2025-03-14T04:05:07.7699754Z  MERGE_BASE=$(git rev-parse HEAD~) 2025-03-14T04:05:07.7700093Z else 2025-03-14T04:05:07.7700439Z  # otherwise we're on a PR, so use the most recent base commit 2025-03-14T04:05:07.7700945Z  MERGE_BASE=$(git merge-base HEAD "$BASE_REVISION") 2025-03-14T04:05:07.7701331Z fi 2025-03-14T04:05:07.7701561Z  2025-03-14T04:05:07.7701817Z if [[ -z "${MERGE_BASE}" ]]; then 2025-03-14T04:05:07.7702201Z  echo "rebuild=true" >> "${GITHUB_OUTPUT}" 2025-03-14T04:05:07.7702554Z  2025-03-14T04:05:07.7703045Z  echo "Finding merge base only works with full checkout, please set fetch-depth to 0, continuing ..." 2025-03-14T04:05:07.7703624Z  exit 0 2025-03-14T04:05:07.7703871Z fi 2025-03-14T04:05:07.7704229Z  2025-03-14T04:05:07.7704566Z if ! git rev-parse "${MERGE_BASE}:${DOCKER_BUILD_DIR}"; then 2025-03-14T04:05:07.7705285Z  echo "Directory '${DOCKER_BUILD_DIR}' not found in commit $MERGE_BASE, you should rebase onto a more recent commit" 2025-03-14T04:05:07.7705901Z  exit 1 2025-03-14T04:05:07.7706152Z fi 2025-03-14T04:05:07.7706388Z  2025-03-14T04:05:07.7706770Z PREVIOUS_DOCKER_TAG=$(git rev-parse "${MERGE_BASE}:${DOCKER_BUILD_DIR}") 2025-03-14T04:05:07.7707455Z # If no image exists but the hash is the same as the previous hash then we should error out here 2025-03-14T04:05:07.7708074Z if [[ "${PREVIOUS_DOCKER_TAG}" == "${DOCKER_TAG}" ]]; then 2025-03-14T04:05:07.7708782Z  echo "WARNING: Something has gone wrong and the previous image isn't available for the merge-base of your branch" 2025-03-14T04:05:07.7709587Z  echo " Will re-build docker image to store in local cache, TTS may be longer" 2025-03-14T04:05:07.7710071Z fi 2025-03-14T04:05:07.7710300Z  2025-03-14T04:05:07.7710571Z echo "rebuild=true" >> "${GITHUB_OUTPUT}" 2025-03-14T04:05:07.7716533Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T04:05:07.7716945Z env: 2025-03-14T04:05:07.7717184Z GIT_DEFAULT_BRANCH: main 2025-03-14T04:05:07.7717469Z DOCKER_BUILD_DIR: .ci/docker 2025-03-14T04:05:07.7717870Z BASE_REVISION: aed0b7a742a2d7b7901790622829cbd2135049a4 2025-03-14T04:05:07.7718691Z DOCKER_IMAGE: 308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-focal-py3.13-clang10:aa89d6e739080d90fa18625d57297c6734465849 2025-03-14T04:05:07.7719499Z DOCKER_TAG: aa89d6e739080d90fa18625d57297c6734465849 2025-03-14T04:05:07.7719965Z DOCKER_REGISTRY: 308535385114.dkr.ecr.us-east-1.amazonaws.com 2025-03-14T04:05:07.7720377Z DOCKER_PUSH: 2025-03-14T04:05:07.7720620Z ##[endgroup] 2025-03-14T04:05:07.7744415Z + retry login 308535385114.dkr.ecr.us-east-1.amazonaws.com 2025-03-14T04:05:07.7745096Z + login 308535385114.dkr.ecr.us-east-1.amazonaws.com 2025-03-14T04:05:07.7747407Z + aws ecr get-login-password --region us-east-1 2025-03-14T04:05:07.7748224Z + docker login -u AWS --password-stdin 308535385114.dkr.ecr.us-east-1.amazonaws.com 2025-03-14T04:05:08.3260918Z WARNING! Your password will be stored unencrypted in /home/ec2-user/.docker/config.json. 2025-03-14T04:05:08.3261586Z Configure a credential helper to remove this warning. See 2025-03-14T04:05:08.3262275Z https://docs.docker.com/engine/reference/commandline/login/#credentials-store 2025-03-14T04:05:08.3262856Z 2025-03-14T04:05:08.3263004Z Login Succeeded 2025-03-14T04:05:08.3275856Z ++ date +%s 2025-03-14T04:05:08.3284556Z + START_TIME=1741925108 2025-03-14T04:05:08.3288086Z ++ date +%s 2025-03-14T04:05:08.3297081Z + [[ 1741917908 -lt 1741925108 ]] 2025-03-14T04:05:08.3298714Z + docker manifest inspect 308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-focal-py3.13-clang10:aa89d6e739080d90fa18625d57297c6734465849 2025-03-14T04:05:08.7947804Z { 2025-03-14T04:05:08.7948252Z "schemaVersion": 2, 2025-03-14T04:05:08.7948794Z "mediaType": "application/vnd.docker.distribution.manifest.v2+json", 2025-03-14T04:05:08.7949266Z "config": { 2025-03-14T04:05:08.7949768Z "mediaType": "application/vnd.docker.container.image.v1+json", 2025-03-14T04:05:08.7950233Z "size": 41578, 2025-03-14T04:05:08.7950935Z "digest": "sha256:15123f02dc5fec3ea10360b1638dd75185500be8f3066081ab6efeae68fe77ab" 2025-03-14T04:05:08.7951694Z }, 2025-03-14T04:05:08.7951993Z "layers": [ 2025-03-14T04:05:08.7952314Z { 2025-03-14T04:05:08.7952809Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.7953421Z "size": 28583948, 2025-03-14T04:05:08.7953859Z "digest": "sha256:86e5016c269355b382c9cabab4f6646d56d75914f20d545289970436dae431b1" 2025-03-14T04:05:08.7954348Z }, 2025-03-14T04:05:08.7954558Z { 2025-03-14T04:05:08.7955182Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.7955641Z "size": 1895, 2025-03-14T04:05:08.7956071Z "digest": "sha256:b64eae0f98650ee485f7781f603679454f7ac3ea69fbf44d8001431912eebe7b" 2025-03-14T04:05:08.7956563Z }, 2025-03-14T04:05:08.7956774Z { 2025-03-14T04:05:08.7957126Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.7957564Z "size": 319468026, 2025-03-14T04:05:08.7958009Z "digest": "sha256:fa6343415b982ac98c5a6c84ec2af89545b36730a00bab765162bbacf2e71faf" 2025-03-14T04:05:08.7958501Z }, 2025-03-14T04:05:08.7958696Z { 2025-03-14T04:05:08.7959045Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.7959482Z "size": 864, 2025-03-14T04:05:08.7959901Z "digest": "sha256:403180670172db1bec9e693a486ff893637f185928b2c2871d7e6dc1d8d9a230" 2025-03-14T04:05:08.7960385Z }, 2025-03-14T04:05:08.7960594Z { 2025-03-14T04:05:08.7961053Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.7961508Z "size": 79404530, 2025-03-14T04:05:08.7961952Z "digest": "sha256:977f9685456cbc4383d3372ad160d54cb71fce0609e463aafde8903a58896ac9" 2025-03-14T04:05:08.7962439Z }, 2025-03-14T04:05:08.7962646Z { 2025-03-14T04:05:08.7962992Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.7963680Z "size": 704, 2025-03-14T04:05:08.7964281Z "digest": "sha256:0000d4c5345d6447d77d34c5ec96dc673e325f61778aa52f802c67d3023f02af" 2025-03-14T04:05:08.7965020Z }, 2025-03-14T04:05:08.7965349Z { 2025-03-14T04:05:08.7965891Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.7966614Z "size": 1260, 2025-03-14T04:05:08.7967053Z "digest": "sha256:cc49a6f5bbf98714a85e3ffd46ec68508fa0ae308cc3c8733b73b727dd14c3fd" 2025-03-14T04:05:08.7967552Z }, 2025-03-14T04:05:08.7967760Z { 2025-03-14T04:05:08.7968105Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.7968543Z "size": 485, 2025-03-14T04:05:08.7968997Z "digest": "sha256:955f46363639da3a4abb6253b398355a93caaf42a070a0b189a7f98b0b52f692" 2025-03-14T04:05:08.7969482Z }, 2025-03-14T04:05:08.7969690Z { 2025-03-14T04:05:08.7970033Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.7970468Z "size": 110, 2025-03-14T04:05:08.7970895Z "digest": "sha256:176fd07a5b37965606400b0c2c1a0dfde4de9f4630a0dcfc7e9ca912a8f29fe0" 2025-03-14T04:05:08.7971384Z }, 2025-03-14T04:05:08.7971581Z { 2025-03-14T04:05:08.7971922Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.7972357Z "size": 4166, 2025-03-14T04:05:08.7972789Z "digest": "sha256:14c6878b88e118650ee799f77b46830fc452cbe964bbb0fc6cfaa5b8e4d48375" 2025-03-14T04:05:08.7973281Z }, 2025-03-14T04:05:08.7973499Z { 2025-03-14T04:05:08.7973848Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.7974290Z "size": 1860, 2025-03-14T04:05:08.7974735Z "digest": "sha256:44a2b2adb34802d27ba1b8c5cdf199f8e30e2e9e1119d078028f1c926d45466f" 2025-03-14T04:05:08.7975403Z }, 2025-03-14T04:05:08.7975615Z { 2025-03-14T04:05:08.7976057Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.7976495Z "size": 702, 2025-03-14T04:05:08.7976919Z "digest": "sha256:8d28e44b71738e9970d281b96b71162fe653767f207b2e9b6fadb1e162a752dd" 2025-03-14T04:05:08.7977403Z }, 2025-03-14T04:05:08.7977608Z { 2025-03-14T04:05:08.7977943Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.7978381Z "size": 478, 2025-03-14T04:05:08.7978807Z "digest": "sha256:0aa1896ea194d7533275930170e3955bdcf031b815ce2e3965435aae2dfcee53" 2025-03-14T04:05:08.7979298Z }, 2025-03-14T04:05:08.7979508Z { 2025-03-14T04:05:08.7979859Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.7980300Z "size": 2834923920, 2025-03-14T04:05:08.7980838Z "digest": "sha256:bd2cd6cca9d3af4e103c9030749de95c65cb0cb342debfdbfdac031a73e8e485" 2025-03-14T04:05:08.8049521Z }, 2025-03-14T04:05:08.8049913Z { 2025-03-14T04:05:08.8050312Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8050767Z "size": 32, 2025-03-14T04:05:08.8051204Z "digest": "sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1" 2025-03-14T04:05:08.8051709Z }, 2025-03-14T04:05:08.8051917Z { 2025-03-14T04:05:08.8052271Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8052705Z "size": 380, 2025-03-14T04:05:08.8053143Z "digest": "sha256:b1f6e7b115fa0e2dd27f4fccc08d501563df2168dd261f073be1596deb42f12f" 2025-03-14T04:05:08.8053643Z }, 2025-03-14T04:05:08.8053843Z { 2025-03-14T04:05:08.8054168Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8054594Z "size": 104, 2025-03-14T04:05:08.8055010Z "digest": "sha256:fe5bda901c2713f72fc1758c09821e2473398825caf5786dab2685a363156dda" 2025-03-14T04:05:08.8055484Z }, 2025-03-14T04:05:08.8055787Z { 2025-03-14T04:05:08.8056113Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8056533Z "size": 231, 2025-03-14T04:05:08.8056930Z "digest": "sha256:69d1681b54f41385f2a0b3087c91662743d8943a9d821f86c6fb9c5bcf5b1826" 2025-03-14T04:05:08.8057387Z }, 2025-03-14T04:05:08.8057576Z { 2025-03-14T04:05:08.8057901Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8058315Z "size": 3760150, 2025-03-14T04:05:08.8058724Z "digest": "sha256:4e533c6a25a585904ec7f38609901b41815c7d900ea796f049ad238157306445" 2025-03-14T04:05:08.8059179Z }, 2025-03-14T04:05:08.8059362Z { 2025-03-14T04:05:08.8059691Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8060112Z "size": 1947, 2025-03-14T04:05:08.8060526Z "digest": "sha256:8b0f88941fa0ec09836055eac5c4f8493ba87c8793d017a1b1aa9c3293fb987e" 2025-03-14T04:05:08.8060998Z }, 2025-03-14T04:05:08.8061188Z { 2025-03-14T04:05:08.8061525Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8061945Z "size": 105, 2025-03-14T04:05:08.8062354Z "digest": "sha256:5e8b2a6cebeb8893ae1297b30aa6f4337a7f3ab47770d6a03288c57f50c3fc6b" 2025-03-14T04:05:08.8062835Z }, 2025-03-14T04:05:08.8063029Z { 2025-03-14T04:05:08.8063360Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8063779Z "size": 802, 2025-03-14T04:05:08.8064201Z "digest": "sha256:b7fb51dfb04b3d302da0ed7d2a2eef037bbc71ab3835443643c52ca1d70c17eb" 2025-03-14T04:05:08.8064688Z }, 2025-03-14T04:05:08.8064879Z { 2025-03-14T04:05:08.8065206Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8065624Z "size": 32, 2025-03-14T04:05:08.8066038Z "digest": "sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1" 2025-03-14T04:05:08.8066516Z }, 2025-03-14T04:05:08.8066708Z { 2025-03-14T04:05:08.8067042Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8067677Z "size": 104, 2025-03-14T04:05:08.8068097Z "digest": "sha256:83ec6a063b6f9a92a71bd65fe84bd392459d2a10c10dd81f652d3c5021158bdc" 2025-03-14T04:05:08.8068571Z }, 2025-03-14T04:05:08.8068772Z { 2025-03-14T04:05:08.8069133Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8069554Z "size": 504, 2025-03-14T04:05:08.8069976Z "digest": "sha256:ffbfe8392dcaae17af026dad980b906f9f6a3d7eebc26ce1063b73fd67244e08" 2025-03-14T04:05:08.8070468Z }, 2025-03-14T04:05:08.8070661Z { 2025-03-14T04:05:08.8070992Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8071418Z "size": 121478513, 2025-03-14T04:05:08.8071852Z "digest": "sha256:317c2ec95e89f1758236efca2790e437df29bf77fdf4a0a7483f3a36a31a0eee" 2025-03-14T04:05:08.8072329Z }, 2025-03-14T04:05:08.8072527Z { 2025-03-14T04:05:08.8072956Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8073385Z "size": 107, 2025-03-14T04:05:08.8073801Z "digest": "sha256:08d87c988dc79fe5f4f2bb711a810f1e03e7bed8ec4a1bb616dd42f9aeaeaeea" 2025-03-14T04:05:08.8074284Z }, 2025-03-14T04:05:08.8074465Z { 2025-03-14T04:05:08.8074793Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8075211Z "size": 489, 2025-03-14T04:05:08.8075627Z "digest": "sha256:46a403bf2b51da0d9d699e15bcc1343bb513c17d24f7e4ad010d12bef88a3e3d" 2025-03-14T04:05:08.8076101Z }, 2025-03-14T04:05:08.8076295Z { 2025-03-14T04:05:08.8076622Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8077042Z "size": 384, 2025-03-14T04:05:08.8077444Z "digest": "sha256:567710e9eb3612c0bd311668f6915315e20767f4c216cbcd0ef78389eec8e2a0" 2025-03-14T04:05:08.8077907Z }, 2025-03-14T04:05:08.8078096Z { 2025-03-14T04:05:08.8078424Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8078842Z "size": 103, 2025-03-14T04:05:08.8079264Z "digest": "sha256:8d6eb4d15a1eb54e4edaa371d763528075351cad1f3e0c0dc594c6d41abe4f5f" 2025-03-14T04:05:08.8079736Z }, 2025-03-14T04:05:08.8079924Z { 2025-03-14T04:05:08.8080245Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8080664Z "size": 1473, 2025-03-14T04:05:08.8081069Z "digest": "sha256:23e2930ed71922664ffca2f3379e77d0e52a67fd582a11d17c9338865ea67411" 2025-03-14T04:05:08.8081533Z }, 2025-03-14T04:05:08.8081726Z { 2025-03-14T04:05:08.8082057Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8082481Z "size": 427757006, 2025-03-14T04:05:08.8082910Z "digest": "sha256:6775f1cd04edca65140f045fcf8bf0a3035fe01eb98b54199a8ed1424c65a368" 2025-03-14T04:05:08.8083391Z }, 2025-03-14T04:05:08.8083584Z { 2025-03-14T04:05:08.8083911Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8084329Z "size": 163, 2025-03-14T04:05:08.8084739Z "digest": "sha256:96b0e3c627d13a283e1f7bcb7e90ed18088485947f212075252e2bf2571a75e0" 2025-03-14T04:05:08.8085223Z }, 2025-03-14T04:05:08.8085440Z { 2025-03-14T04:05:08.8085789Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8086229Z "size": 422, 2025-03-14T04:05:08.8086644Z "digest": "sha256:169f1b4c983d23738925ec7437a6db2f8b09120bed3eaccccd52935256e53371" 2025-03-14T04:05:08.8087137Z }, 2025-03-14T04:05:08.8087350Z { 2025-03-14T04:05:08.8087693Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8088131Z "size": 32, 2025-03-14T04:05:08.8088561Z "digest": "sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1" 2025-03-14T04:05:08.8089058Z }, 2025-03-14T04:05:08.8089265Z { 2025-03-14T04:05:08.8089611Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8090045Z "size": 111, 2025-03-14T04:05:08.8090483Z "digest": "sha256:4cda9e9a6e267c1d209cb3ca8b8dbe4c5454ba56e71d30207a7d093afaa677a9" 2025-03-14T04:05:08.8091069Z }, 2025-03-14T04:05:08.8091280Z { 2025-03-14T04:05:08.8091625Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8092062Z "size": 474, 2025-03-14T04:05:08.8092487Z "digest": "sha256:1f9815b2b3b120aaf44239956e88af255d90a933445b7bd1cfd384e36f5f4fa6" 2025-03-14T04:05:08.8093028Z }, 2025-03-14T04:05:08.8093225Z { 2025-03-14T04:05:08.8093567Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8094006Z "size": 32, 2025-03-14T04:05:08.8094438Z "digest": "sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1" 2025-03-14T04:05:08.8094934Z }, 2025-03-14T04:05:08.8095145Z { 2025-03-14T04:05:08.8095491Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8096016Z "size": 112, 2025-03-14T04:05:08.8096449Z "digest": "sha256:fafa7442899bdcc63e896a555c3042cd3ca05bac88bca99011d3ec65ded68f0e" 2025-03-14T04:05:08.8097028Z }, 2025-03-14T04:05:08.8097235Z { 2025-03-14T04:05:08.8097580Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8098188Z "size": 565, 2025-03-14T04:05:08.8098613Z "digest": "sha256:8ac10abfa1af48743b533656510a64275214c2237fb1480b1f1386fd2ee3d29c" 2025-03-14T04:05:08.8099104Z }, 2025-03-14T04:05:08.8099301Z { 2025-03-14T04:05:08.8099650Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8100089Z "size": 43147935, 2025-03-14T04:05:08.8100538Z "digest": "sha256:07916ca736e8172de3c1c747ebcc0b7ead941f1aeee48a3064f7ffc06c683fe1" 2025-03-14T04:05:08.8101037Z }, 2025-03-14T04:05:08.8101251Z { 2025-03-14T04:05:08.8101599Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8102032Z "size": 106, 2025-03-14T04:05:08.8102462Z "digest": "sha256:426b4781db6d488a705b4fb136f7ec9ac47c4f096c7bb97fb04875da75c6c684" 2025-03-14T04:05:08.8102946Z }, 2025-03-14T04:05:08.8103162Z { 2025-03-14T04:05:08.8103506Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8103938Z "size": 346, 2025-03-14T04:05:08.8104366Z "digest": "sha256:27916e7dfc6b257cadb44aa58a6698cdba89a6690c9644969fa60c6ea647a4d7" 2025-03-14T04:05:08.8104854Z }, 2025-03-14T04:05:08.8105060Z { 2025-03-14T04:05:08.8105406Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8105924Z "size": 32, 2025-03-14T04:05:08.8106356Z "digest": "sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1" 2025-03-14T04:05:08.8106843Z }, 2025-03-14T04:05:08.8107046Z { 2025-03-14T04:05:08.8107384Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8107819Z "size": 106, 2025-03-14T04:05:08.8108244Z "digest": "sha256:f3d689fa4b30ddbf78a54e3d3ab89d611fb6398e387d003779f90636d6f6898b" 2025-03-14T04:05:08.8108734Z }, 2025-03-14T04:05:08.8108942Z { 2025-03-14T04:05:08.8109290Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8109732Z "size": 425, 2025-03-14T04:05:08.8110347Z "digest": "sha256:b3611088a559a0c11bc8673300f60eb34b5351cddf927ed6507c0d8518783095" 2025-03-14T04:05:08.8110858Z }, 2025-03-14T04:05:08.8111069Z { 2025-03-14T04:05:08.8111414Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8111856Z "size": 20262153, 2025-03-14T04:05:08.8112283Z "digest": "sha256:766763116b65f95ee08a902656ede85cc0f310c23095f9897d8ee7ece9eba36a" 2025-03-14T04:05:08.8112769Z }, 2025-03-14T04:05:08.8112982Z { 2025-03-14T04:05:08.8113328Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8113765Z "size": 108, 2025-03-14T04:05:08.8114190Z "digest": "sha256:0e592153fa170a29a940c682cf224fd62e90c8a4c2ee923dc944efeb203a8b53" 2025-03-14T04:05:08.8114674Z }, 2025-03-14T04:05:08.8114882Z { 2025-03-14T04:05:08.8115241Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8115877Z "size": 643, 2025-03-14T04:05:08.8116311Z "digest": "sha256:d98195448b21da7ae3400e2a0d49297026e30507a56f9da83e034e531926cd6a" 2025-03-14T04:05:08.8116801Z }, 2025-03-14T04:05:08.8117015Z { 2025-03-14T04:05:08.8117363Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8117803Z "size": 702, 2025-03-14T04:05:08.8118271Z "digest": "sha256:8d28e44b71738e9970d281b96b71162fe653767f207b2e9b6fadb1e162a752dd" 2025-03-14T04:05:08.8118765Z }, 2025-03-14T04:05:08.8118961Z { 2025-03-14T04:05:08.8119307Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8119744Z "size": 141, 2025-03-14T04:05:08.8120223Z "digest": "sha256:11b77c5e6a4c3d2e3f285dd6ba85c0ddfd9248edf84df1652c0cfc52f8c631bb" 2025-03-14T04:05:08.8120719Z }, 2025-03-14T04:05:08.8120928Z { 2025-03-14T04:05:08.8121270Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8121797Z "size": 135, 2025-03-14T04:05:08.8122229Z "digest": "sha256:09894530ccd2c43a48f5be0746cfaea04dafc01a67092b009a3f9fea15df4c25" 2025-03-14T04:05:08.8122722Z }, 2025-03-14T04:05:08.8122932Z { 2025-03-14T04:05:08.8123277Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8123714Z "size": 32, 2025-03-14T04:05:08.8124137Z "digest": "sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1" 2025-03-14T04:05:08.8124628Z }, 2025-03-14T04:05:08.8124834Z { 2025-03-14T04:05:08.8125163Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8125594Z "size": 195, 2025-03-14T04:05:08.8126021Z "digest": "sha256:dd81d8b117127a76a8388bc13c53fee61312a43e6d4f84dfce505d5b3c136c51" 2025-03-14T04:05:08.8126513Z }, 2025-03-14T04:05:08.8126721Z { 2025-03-14T04:05:08.8127064Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8127504Z "size": 1402, 2025-03-14T04:05:08.8127937Z "digest": "sha256:61f09cfa492b95cc85901d2be3a104549bc107e760f6e625e0a2e143819e166a" 2025-03-14T04:05:08.8128421Z }, 2025-03-14T04:05:08.8128628Z { 2025-03-14T04:05:08.8128976Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8129413Z "size": 702, 2025-03-14T04:05:08.8129834Z "digest": "sha256:8d28e44b71738e9970d281b96b71162fe653767f207b2e9b6fadb1e162a752dd" 2025-03-14T04:05:08.8130312Z }, 2025-03-14T04:05:08.8130518Z { 2025-03-14T04:05:08.8130861Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8131282Z "size": 140, 2025-03-14T04:05:08.8131705Z "digest": "sha256:37f50b3c6dc55bc5f93f51360e6476dc60501726eb7799c5a7a7571558503f82" 2025-03-14T04:05:08.8132188Z }, 2025-03-14T04:05:08.8132395Z { 2025-03-14T04:05:08.8132739Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8133173Z "size": 32, 2025-03-14T04:05:08.8133609Z "digest": "sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1" 2025-03-14T04:05:08.8134114Z }, 2025-03-14T04:05:08.8134322Z { 2025-03-14T04:05:08.8134667Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8135104Z "size": 155, 2025-03-14T04:05:08.8135537Z "digest": "sha256:f4222d90a3b08cb58c8fc90afacb6825b66127f21fbf3fb4b031dc6114c147ef" 2025-03-14T04:05:08.8136131Z }, 2025-03-14T04:05:08.8136342Z { 2025-03-14T04:05:08.8136692Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8137130Z "size": 1402, 2025-03-14T04:05:08.8137558Z "digest": "sha256:61f09cfa492b95cc85901d2be3a104549bc107e760f6e625e0a2e143819e166a" 2025-03-14T04:05:08.8138034Z }, 2025-03-14T04:05:08.8138246Z { 2025-03-14T04:05:08.8138592Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8139029Z "size": 702, 2025-03-14T04:05:08.8139451Z "digest": "sha256:8d28e44b71738e9970d281b96b71162fe653767f207b2e9b6fadb1e162a752dd" 2025-03-14T04:05:08.8140025Z }, 2025-03-14T04:05:08.8140235Z { 2025-03-14T04:05:08.8140579Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8141019Z "size": 140, 2025-03-14T04:05:08.8141449Z "digest": "sha256:f0e09b868978eea11c8d54ae7104b0764851c8bac5ae1a52aa837db4d63429ea" 2025-03-14T04:05:08.8141937Z }, 2025-03-14T04:05:08.8142143Z { 2025-03-14T04:05:08.8142483Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8142917Z "size": 32, 2025-03-14T04:05:08.8143344Z "digest": "sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1" 2025-03-14T04:05:08.8143835Z }, 2025-03-14T04:05:08.8144031Z { 2025-03-14T04:05:08.8144374Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8144807Z "size": 160, 2025-03-14T04:05:08.8145245Z "digest": "sha256:fea32805da6afd69ce780bdeb1eb7bc7ec395750f66c9772cfc6b37926af8a2a" 2025-03-14T04:05:08.8145748Z }, 2025-03-14T04:05:08.8146033Z { 2025-03-14T04:05:08.8146384Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8146817Z "size": 765, 2025-03-14T04:05:08.8147234Z "digest": "sha256:e88ebc603e681b1775c910d61814a801498da89334510aa6162ca9e454edb73a" 2025-03-14T04:05:08.8147716Z }, 2025-03-14T04:05:08.8147925Z { 2025-03-14T04:05:08.8148272Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8148707Z "size": 702, 2025-03-14T04:05:08.8149125Z "digest": "sha256:8d28e44b71738e9970d281b96b71162fe653767f207b2e9b6fadb1e162a752dd" 2025-03-14T04:05:08.8149610Z }, 2025-03-14T04:05:08.8149820Z { 2025-03-14T04:05:08.8150153Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8150595Z "size": 140, 2025-03-14T04:05:08.8151116Z "digest": "sha256:127286786396d8517c8b51b83ce032f5a6366256d16a679dd8c5e1f0f7a0b87d" 2025-03-14T04:05:08.8151601Z }, 2025-03-14T04:05:08.8151811Z { 2025-03-14T04:05:08.8152161Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8152601Z "size": 32, 2025-03-14T04:05:08.8153036Z "digest": "sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1" 2025-03-14T04:05:08.8153532Z }, 2025-03-14T04:05:08.8153743Z { 2025-03-14T04:05:08.8154086Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8154522Z "size": 159, 2025-03-14T04:05:08.8154951Z "digest": "sha256:edffc976b12a5d518b65876965230ba0b5ed7d2343a67ff1f1346099b9ea48eb" 2025-03-14T04:05:08.8155443Z }, 2025-03-14T04:05:08.8155652Z { 2025-03-14T04:05:08.8155993Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8156415Z "size": 907, 2025-03-14T04:05:08.8156858Z "digest": "sha256:a9b1becf3ab88c5efb1430a89a6c7e15f3fab7eb4d5a3b01b8aa6ba22a201f5f" 2025-03-14T04:05:08.8157362Z }, 2025-03-14T04:05:08.8157567Z { 2025-03-14T04:05:08.8157911Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8158345Z "size": 702, 2025-03-14T04:05:08.8158762Z "digest": "sha256:8d28e44b71738e9970d281b96b71162fe653767f207b2e9b6fadb1e162a752dd" 2025-03-14T04:05:08.8159240Z }, 2025-03-14T04:05:08.8159446Z { 2025-03-14T04:05:08.8159787Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8160222Z "size": 135, 2025-03-14T04:05:08.8160648Z "digest": "sha256:8d150e46d80d676d47ed9235ae523b34114790ad5fcc0ae4e07e9f99a59ea337" 2025-03-14T04:05:08.8161135Z }, 2025-03-14T04:05:08.8161344Z { 2025-03-14T04:05:08.8161689Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8162125Z "size": 32, 2025-03-14T04:05:08.8162555Z "digest": "sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1" 2025-03-14T04:05:08.8163117Z }, 2025-03-14T04:05:08.8163333Z { 2025-03-14T04:05:08.8163674Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8164315Z "size": 157, 2025-03-14T04:05:08.8164812Z "digest": "sha256:702b72d020bb3cbe998d09097942712eda977c28ef6d04371f5cc1b25d2fb3f6" 2025-03-14T04:05:08.8165335Z }, 2025-03-14T04:05:08.8165542Z { 2025-03-14T04:05:08.8165884Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8166313Z "size": 1486, 2025-03-14T04:05:08.8166735Z "digest": "sha256:21479af96a39d03a1754a8b05684afb54ce216e0a2be2ca31a4115ef0c2aabcc" 2025-03-14T04:05:08.8167223Z }, 2025-03-14T04:05:08.8167430Z { 2025-03-14T04:05:08.8167773Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8168444Z "size": 32, 2025-03-14T04:05:08.8168879Z "digest": "sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1" 2025-03-14T04:05:08.8169377Z }, 2025-03-14T04:05:08.8169573Z { 2025-03-14T04:05:08.8169916Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8170351Z "size": 136, 2025-03-14T04:05:08.8170874Z "digest": "sha256:ea88b7068e4fc132b38fd2e5dc62729b7bc5e34d7204fc91d3b23953fa06bceb" 2025-03-14T04:05:08.8171371Z }, 2025-03-14T04:05:08.8171581Z { 2025-03-14T04:05:08.8171925Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8172360Z "size": 380, 2025-03-14T04:05:08.8172796Z "digest": "sha256:78b28fc0ca8228f6c3f36c4c08f00bde8accb5393e34dc0bb631fa78a0357331" 2025-03-14T04:05:08.8173293Z }, 2025-03-14T04:05:08.8173500Z { 2025-03-14T04:05:08.8173842Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8174276Z "size": 32, 2025-03-14T04:05:08.8174702Z "digest": "sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1" 2025-03-14T04:05:08.8175189Z }, 2025-03-14T04:05:08.8175395Z { 2025-03-14T04:05:08.8175808Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8176245Z "size": 104, 2025-03-14T04:05:08.8176673Z "digest": "sha256:ef7783cc3f879a80a8d272eb89621a617d893505c068983041d5a03c3a1a229c" 2025-03-14T04:05:08.8177156Z }, 2025-03-14T04:05:08.8177359Z { 2025-03-14T04:05:08.8177705Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8178139Z "size": 1899, 2025-03-14T04:05:08.8178569Z "digest": "sha256:c706ce4bc239c216e5dc1cff9a5317045a764fe71946b2fcaba1605c94d4fe44" 2025-03-14T04:05:08.8179066Z }, 2025-03-14T04:05:08.8179275Z { 2025-03-14T04:05:08.8179620Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8180061Z "size": 234806516, 2025-03-14T04:05:08.8180511Z "digest": "sha256:3cbcaa230a48f1928daeecb346b6983b65fb479e35f88c760297157c89167fbe" 2025-03-14T04:05:08.8181003Z }, 2025-03-14T04:05:08.8181209Z { 2025-03-14T04:05:08.8181548Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8181983Z "size": 106, 2025-03-14T04:05:08.8182410Z "digest": "sha256:c4467d3184270ce9fbd4ecde8971ba8bb0d9156f3fb300bb29c8e87d32f1bf07" 2025-03-14T04:05:08.8182909Z }, 2025-03-14T04:05:08.8183118Z { 2025-03-14T04:05:08.8183469Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8183905Z "size": 165, 2025-03-14T04:05:08.8184340Z "digest": "sha256:0e0314e23cf1e0a0e157747a7e37d8296bf23f5d518fbef2d5bf4a8cdba07461" 2025-03-14T04:05:08.8184835Z }, 2025-03-14T04:05:08.8185046Z { 2025-03-14T04:05:08.8185394Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8185834Z "size": 7943, 2025-03-14T04:05:08.8186272Z "digest": "sha256:358e887b5af9808eae2ce637e95799209ebd8ec45f07fa67fe5a0d8b8a1e71b8" 2025-03-14T04:05:08.8186769Z }, 2025-03-14T04:05:08.8186983Z { 2025-03-14T04:05:08.8187330Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8187770Z "size": 8067, 2025-03-14T04:05:08.8188201Z "digest": "sha256:11857a6b785113e5d3abc950151f3264e143818f315c332c1a8bb0bca77b6a2c" 2025-03-14T04:05:08.8188673Z }, 2025-03-14T04:05:08.8188970Z { 2025-03-14T04:05:08.8189319Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8189760Z "size": 304, 2025-03-14T04:05:08.8190189Z "digest": "sha256:8e789f6566610685eddbd59f5579c8da8b23cb7eeff85719ab7633c4bafb4d87" 2025-03-14T04:05:08.8190677Z }, 2025-03-14T04:05:08.8190882Z { 2025-03-14T04:05:08.8191227Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8191659Z "size": 32, 2025-03-14T04:05:08.8192082Z "digest": "sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1" 2025-03-14T04:05:08.8192581Z }, 2025-03-14T04:05:08.8192791Z { 2025-03-14T04:05:08.8193131Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8193566Z "size": 108, 2025-03-14T04:05:08.8193984Z "digest": "sha256:8f116d3e883b024c04e368279121d95f3ee6856318135140ac97daad5cdaf463" 2025-03-14T04:05:08.8194465Z }, 2025-03-14T04:05:08.8194660Z { 2025-03-14T04:05:08.8195067Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8195507Z "size": 54145664, 2025-03-14T04:05:08.8195948Z "digest": "sha256:b21e2d445d94ba8705ac9bb6100d937a194fe7b439ce5f2c3b40255f0cfed309" 2025-03-14T04:05:08.8196437Z }, 2025-03-14T04:05:08.8196646Z { 2025-03-14T04:05:08.8196989Z "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", 2025-03-14T04:05:08.8197420Z "size": 32, 2025-03-14T04:05:08.8198027Z "digest": "sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1" 2025-03-14T04:05:08.8198551Z } 2025-03-14T04:05:08.8198762Z ] 2025-03-14T04:05:08.8198970Z } 2025-03-14T04:05:08.8199206Z + exit 0 2025-03-14T04:05:08.8335204Z ##[group]Run set -eux 2025-03-14T04:05:08.8335521Z set -eux 2025-03-14T04:05:08.8336535Z aws secretsmanager get-secret-value --secret-id docker_hub_readonly_token | jq --raw-output '.SecretString' | jq -r .docker_hub_readonly_token | docker login --username pytorchbot --password-stdin 2025-03-14T04:05:08.8344468Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T04:05:08.8344874Z env: 2025-03-14T04:05:08.8345116Z GIT_DEFAULT_BRANCH: main 2025-03-14T04:05:08.8345396Z ##[endgroup] 2025-03-14T04:05:08.8373787Z + aws secretsmanager get-secret-value --secret-id docker_hub_readonly_token 2025-03-14T04:05:08.8374407Z + jq --raw-output .SecretString 2025-03-14T04:05:08.8374738Z + jq -r .docker_hub_readonly_token 2025-03-14T04:05:08.8375895Z + docker login --username pytorchbot --password-stdin 2025-03-14T04:05:09.4510569Z WARNING! Your password will be stored unencrypted in /home/ec2-user/.docker/config.json. 2025-03-14T04:05:09.4511652Z Configure a credential helper to remove this warning. See 2025-03-14T04:05:09.4512575Z https://docs.docker.com/engine/reference/commandline/login/#credentials-store 2025-03-14T04:05:09.4513056Z 2025-03-14T04:05:09.4513166Z Login Succeeded 2025-03-14T04:05:09.4677539Z ##[group]Run tag=${ECR_DOCKER_IMAGE##*/} 2025-03-14T04:05:09.4677969Z tag=${ECR_DOCKER_IMAGE##*/} 2025-03-14T04:05:09.4678381Z echo "docker pull ghcr.io/pytorch/ci-image:${tag/:/-}" 2025-03-14T04:05:09.4684196Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T04:05:09.4684601Z env: 2025-03-14T04:05:09.4684844Z GIT_DEFAULT_BRANCH: main 2025-03-14T04:05:09.4685587Z ECR_DOCKER_IMAGE: 308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-focal-py3.13-clang10:aa89d6e739080d90fa18625d57297c6734465849 2025-03-14T04:05:09.4686357Z ##[endgroup] 2025-03-14T04:05:09.4713330Z docker pull ghcr.io/pytorch/ci-image:pytorch-linux-focal-py3.13-clang10-aa89d6e739080d90fa18625d57297c6734465849 2025-03-14T04:05:09.4808752Z ##[group]Run pytorch/test-infra/.github/actions/pull-docker-image@main 2025-03-14T04:05:09.4809224Z with: 2025-03-14T04:05:09.4809903Z docker-image: 308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-focal-py3.13-clang10:aa89d6e739080d90fa18625d57297c6734465849 2025-03-14T04:05:09.4810765Z docker-registry: 308535385114.dkr.ecr.us-east-1.amazonaws.com 2025-03-14T04:05:09.4811302Z env: 2025-03-14T04:05:09.4811536Z GIT_DEFAULT_BRANCH: main 2025-03-14T04:05:09.4811821Z ##[endgroup] 2025-03-14T04:05:09.4886839Z ##[group]Run set -x 2025-03-14T04:05:09.4887347Z set -x 2025-03-14T04:05:09.4887691Z set +e 2025-03-14T04:05:09.4887993Z  2025-03-14T04:05:09.4888348Z login() { 2025-03-14T04:05:09.4889232Z  aws ecr get-login-password --region us-east-1 | docker login -u AWS --password-stdin "$1" 2025-03-14T04:05:09.4890243Z } 2025-03-14T04:05:09.4890607Z  2025-03-14T04:05:09.4891109Z retry () { 2025-03-14T04:05:09.4891502Z  $* || (sleep 1 && $*) || (sleep 2 && $*) 2025-03-14T04:05:09.4891931Z } 2025-03-14T04:05:09.4892317Z  2025-03-14T04:05:09.4892668Z retry login "${DOCKER_REGISTRY}" 2025-03-14T04:05:09.4893117Z  2025-03-14T04:05:09.4893458Z set -e 2025-03-14T04:05:09.4893944Z # ignore output since only exit code is used for conditional 2025-03-14T04:05:09.4894587Z # only pull docker image if it's not available locally 2025-03-14T04:05:09.4895260Z if ! docker inspect --type=image "${DOCKER_IMAGE}" >/dev/null 2>/dev/null; then 2025-03-14T04:05:09.4895990Z  retry docker pull "${DOCKER_IMAGE}" 2025-03-14T04:05:09.4896489Z fi 2025-03-14T04:05:09.4902824Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T04:05:09.4903344Z env: 2025-03-14T04:05:09.4903698Z GIT_DEFAULT_BRANCH: main 2025-03-14T04:05:09.4904581Z DOCKER_IMAGE: 308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-focal-py3.13-clang10:aa89d6e739080d90fa18625d57297c6734465849 2025-03-14T04:05:09.4905539Z DOCKER_REGISTRY: 308535385114.dkr.ecr.us-east-1.amazonaws.com 2025-03-14T04:05:09.4906028Z ##[endgroup] 2025-03-14T04:05:09.4931178Z + set +e 2025-03-14T04:05:09.4932090Z + retry login 308535385114.dkr.ecr.us-east-1.amazonaws.com 2025-03-14T04:05:09.4935341Z + login 308535385114.dkr.ecr.us-east-1.amazonaws.com 2025-03-14T04:05:09.4936337Z + aws ecr get-login-password --region us-east-1 2025-03-14T04:05:09.4937154Z + docker login -u AWS --password-stdin 308535385114.dkr.ecr.us-east-1.amazonaws.com 2025-03-14T04:05:10.0694809Z WARNING! Your password will be stored unencrypted in /home/ec2-user/.docker/config.json. 2025-03-14T04:05:10.0695567Z Configure a credential helper to remove this warning. See 2025-03-14T04:05:10.0707075Z https://docs.docker.com/engine/reference/commandline/login/#credentials-store 2025-03-14T04:05:10.0707727Z 2025-03-14T04:05:10.0707856Z Login Succeeded 2025-03-14T04:05:10.0714782Z + set -e 2025-03-14T04:05:10.0715740Z + docker inspect --type=image 308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-focal-py3.13-clang10:aa89d6e739080d90fa18625d57297c6734465849 2025-03-14T04:05:10.0839533Z + retry docker pull 308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-focal-py3.13-clang10:aa89d6e739080d90fa18625d57297c6734465849 2025-03-14T04:05:10.0840801Z + docker pull 308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-focal-py3.13-clang10:aa89d6e739080d90fa18625d57297c6734465849 2025-03-14T04:05:10.5732202Z aa89d6e739080d90fa18625d57297c6734465849: Pulling from pytorch/pytorch-linux-focal-py3.13-clang10 2025-03-14T04:05:10.5735917Z 86e5016c2693: Pulling fs layer 2025-03-14T04:05:10.5736488Z b64eae0f9865: Pulling fs layer 2025-03-14T04:05:10.5737051Z fa6343415b98: Pulling fs layer 2025-03-14T04:05:10.5737512Z 403180670172: Pulling fs layer 2025-03-14T04:05:10.5737976Z 977f9685456c: Pulling fs layer 2025-03-14T04:05:10.5738759Z 0000d4c5345d: Pulling fs layer 2025-03-14T04:05:10.5739200Z 403180670172: Waiting 2025-03-14T04:05:10.5739575Z 977f9685456c: Waiting 2025-03-14T04:05:10.5743395Z cc49a6f5bbf9: Pulling fs layer 2025-03-14T04:05:10.5744178Z 955f46363639: Pulling fs layer 2025-03-14T04:05:10.5744770Z 176fd07a5b37: Pulling fs layer 2025-03-14T04:05:10.5745493Z 14c6878b88e1: Pulling fs layer 2025-03-14T04:05:10.5745927Z 44a2b2adb348: Pulling fs layer 2025-03-14T04:05:10.5746309Z 8d28e44b7173: Pulling fs layer 2025-03-14T04:05:10.5746821Z 0000d4c5345d: Waiting 2025-03-14T04:05:10.5747269Z 0aa1896ea194: Pulling fs layer 2025-03-14T04:05:10.5747737Z 955f46363639: Waiting 2025-03-14T04:05:10.5748189Z bd2cd6cca9d3: Pulling fs layer 2025-03-14T04:05:10.5748553Z 176fd07a5b37: Waiting 2025-03-14T04:05:10.5748938Z 4f4fb700ef54: Pulling fs layer 2025-03-14T04:05:10.5749358Z 14c6878b88e1: Waiting 2025-03-14T04:05:10.5749756Z b1f6e7b115fa: Pulling fs layer 2025-03-14T04:05:10.5750155Z fe5bda901c27: Pulling fs layer 2025-03-14T04:05:10.5750660Z 44a2b2adb348: Waiting 2025-03-14T04:05:10.5751286Z 69d1681b54f4: Pulling fs layer 2025-03-14T04:05:10.5751974Z 4e533c6a25a5: Pulling fs layer 2025-03-14T04:05:10.5752720Z 8d28e44b7173: Waiting 2025-03-14T04:05:10.5753308Z 8b0f88941fa0: Pulling fs layer 2025-03-14T04:05:10.5753874Z 0aa1896ea194: Waiting 2025-03-14T04:05:10.5754340Z cc49a6f5bbf9: Waiting 2025-03-14T04:05:10.5754734Z 5e8b2a6cebeb: Pulling fs layer 2025-03-14T04:05:10.5755118Z b7fb51dfb04b: Pulling fs layer 2025-03-14T04:05:10.5755565Z bd2cd6cca9d3: Waiting 2025-03-14T04:05:10.5755963Z 83ec6a063b6f: Pulling fs layer 2025-03-14T04:05:10.5756391Z fe5bda901c27: Waiting 2025-03-14T04:05:10.5757015Z ffbfe8392dca: Pulling fs layer 2025-03-14T04:05:10.5757497Z 317c2ec95e89: Pulling fs layer 2025-03-14T04:05:10.5757946Z 69d1681b54f4: Waiting 2025-03-14T04:05:10.5758326Z 08d87c988dc7: Pulling fs layer 2025-03-14T04:05:10.5758806Z 4e533c6a25a5: Waiting 2025-03-14T04:05:10.5759201Z b1f6e7b115fa: Waiting 2025-03-14T04:05:10.5759669Z 8b0f88941fa0: Waiting 2025-03-14T04:05:10.5760043Z b7fb51dfb04b: Waiting 2025-03-14T04:05:10.5760582Z 46a403bf2b51: Pulling fs layer 2025-03-14T04:05:10.5761031Z 83ec6a063b6f: Waiting 2025-03-14T04:05:10.5761444Z 567710e9eb36: Pulling fs layer 2025-03-14T04:05:10.5761862Z ffbfe8392dca: Waiting 2025-03-14T04:05:10.5762232Z 8d6eb4d15a1e: Pulling fs layer 2025-03-14T04:05:10.5762658Z 317c2ec95e89: Waiting 2025-03-14T04:05:10.5763011Z 46a403bf2b51: Waiting 2025-03-14T04:05:10.5763350Z 23e2930ed719: Pulling fs layer 2025-03-14T04:05:10.5763955Z 6775f1cd04ed: Pulling fs layer 2025-03-14T04:05:10.5764348Z 567710e9eb36: Waiting 2025-03-14T04:05:10.5764789Z 96b0e3c627d1: Pulling fs layer 2025-03-14T04:05:10.5765313Z 8d6eb4d15a1e: Waiting 2025-03-14T04:05:10.5765702Z 169f1b4c983d: Pulling fs layer 2025-03-14T04:05:10.5766174Z 23e2930ed719: Waiting 2025-03-14T04:05:10.5766576Z 4cda9e9a6e26: Pulling fs layer 2025-03-14T04:05:10.5767097Z 1f9815b2b3b1: Pulling fs layer 2025-03-14T04:05:10.5767648Z 169f1b4c983d: Waiting 2025-03-14T04:05:10.5768031Z fafa7442899b: Pulling fs layer 2025-03-14T04:05:10.5768422Z 8ac10abfa1af: Pulling fs layer 2025-03-14T04:05:10.5768925Z 07916ca736e8: Pulling fs layer 2025-03-14T04:05:10.5769310Z fafa7442899b: Waiting 2025-03-14T04:05:10.5769679Z 08d87c988dc7: Waiting 2025-03-14T04:05:10.5770050Z 8ac10abfa1af: Waiting 2025-03-14T04:05:10.5770434Z 426b4781db6d: Pulling fs layer 2025-03-14T04:05:10.5770866Z 27916e7dfc6b: Pulling fs layer 2025-03-14T04:05:10.5771265Z f3d689fa4b30: Pulling fs layer 2025-03-14T04:05:10.5771761Z b3611088a559: Pulling fs layer 2025-03-14T04:05:10.5772210Z 766763116b65: Pulling fs layer 2025-03-14T04:05:10.5772727Z 07916ca736e8: Waiting 2025-03-14T04:05:10.5773118Z 0e592153fa17: Pulling fs layer 2025-03-14T04:05:10.5773648Z d98195448b21: Pulling fs layer 2025-03-14T04:05:10.5774056Z 27916e7dfc6b: Waiting 2025-03-14T04:05:10.5774507Z 426b4781db6d: Waiting 2025-03-14T04:05:10.5774988Z 11b77c5e6a4c: Pulling fs layer 2025-03-14T04:05:10.5775389Z 09894530ccd2: Pulling fs layer 2025-03-14T04:05:10.5776104Z d98195448b21: Waiting 2025-03-14T04:05:10.5776586Z 0e592153fa17: Waiting 2025-03-14T04:05:10.5776953Z dd81d8b11712: Pulling fs layer 2025-03-14T04:05:10.5777711Z 61f09cfa492b: Pulling fs layer 2025-03-14T04:05:10.5778359Z b3611088a559: Waiting 2025-03-14T04:05:10.5779139Z 766763116b65: Waiting 2025-03-14T04:05:10.5779742Z 09894530ccd2: Waiting 2025-03-14T04:05:10.5780304Z dd81d8b11712: Waiting 2025-03-14T04:05:10.5780765Z 61f09cfa492b: Waiting 2025-03-14T04:05:10.5781143Z 37f50b3c6dc5: Pulling fs layer 2025-03-14T04:05:10.5781548Z 37f50b3c6dc5: Waiting 2025-03-14T04:05:10.5781968Z f4222d90a3b0: Pulling fs layer 2025-03-14T04:05:10.5782457Z 11b77c5e6a4c: Waiting 2025-03-14T04:05:10.5782803Z f0e09b868978: Pulling fs layer 2025-03-14T04:05:10.5783288Z f0e09b868978: Waiting 2025-03-14T04:05:10.5783720Z fea32805da6a: Pulling fs layer 2025-03-14T04:05:10.5784187Z e88ebc603e68: Pulling fs layer 2025-03-14T04:05:10.5784707Z 127286786396: Pulling fs layer 2025-03-14T04:05:10.5785121Z fea32805da6a: Waiting 2025-03-14T04:05:10.5785530Z e88ebc603e68: Waiting 2025-03-14T04:05:10.5785902Z edffc976b12a: Pulling fs layer 2025-03-14T04:05:10.5786296Z a9b1becf3ab8: Pulling fs layer 2025-03-14T04:05:10.5786745Z 8d150e46d80d: Pulling fs layer 2025-03-14T04:05:10.5787146Z edffc976b12a: Waiting 2025-03-14T04:05:10.5787518Z a9b1becf3ab8: Waiting 2025-03-14T04:05:10.5787908Z 702b72d020bb: Pulling fs layer 2025-03-14T04:05:10.5788375Z 21479af96a39: Pulling fs layer 2025-03-14T04:05:10.5788792Z 8d150e46d80d: Waiting 2025-03-14T04:05:10.5789166Z ea88b7068e4f: Pulling fs layer 2025-03-14T04:05:10.5789532Z 702b72d020bb: Waiting 2025-03-14T04:05:10.5789930Z 21479af96a39: Waiting 2025-03-14T04:05:10.5790258Z 78b28fc0ca82: Pulling fs layer 2025-03-14T04:05:10.5790638Z ef7783cc3f87: Pulling fs layer 2025-03-14T04:05:10.5791088Z c706ce4bc239: Pulling fs layer 2025-03-14T04:05:10.5791475Z ea88b7068e4f: Waiting 2025-03-14T04:05:10.5791856Z 3cbcaa230a48: Pulling fs layer 2025-03-14T04:05:10.5792273Z c706ce4bc239: Waiting 2025-03-14T04:05:10.5792702Z c4467d318427: Pulling fs layer 2025-03-14T04:05:10.5793017Z 3cbcaa230a48: Waiting 2025-03-14T04:05:10.5793281Z ef7783cc3f87: Waiting 2025-03-14T04:05:10.5793542Z 0e0314e23cf1: Pulling fs layer 2025-03-14T04:05:10.5793841Z c4467d318427: Waiting 2025-03-14T04:05:10.5794114Z 358e887b5af9: Pulling fs layer 2025-03-14T04:05:10.5794431Z 11857a6b7851: Pulling fs layer 2025-03-14T04:05:10.5794734Z 8e789f656661: Pulling fs layer 2025-03-14T04:05:10.5795029Z 0e0314e23cf1: Waiting 2025-03-14T04:05:10.5795294Z 358e887b5af9: Waiting 2025-03-14T04:05:10.5795569Z 8f116d3e883b: Pulling fs layer 2025-03-14T04:05:10.5795878Z b21e2d445d94: Pulling fs layer 2025-03-14T04:05:10.5796176Z 8f116d3e883b: Waiting 2025-03-14T04:05:10.5796438Z b21e2d445d94: Waiting 2025-03-14T04:05:10.5796696Z 8e789f656661: Waiting 2025-03-14T04:05:10.6642849Z b64eae0f9865: Verifying Checksum 2025-03-14T04:05:10.6643323Z b64eae0f9865: Download complete 2025-03-14T04:05:10.7432031Z 403180670172: Download complete 2025-03-14T04:05:10.9367535Z 86e5016c2693: Verifying Checksum 2025-03-14T04:05:10.9367940Z 86e5016c2693: Download complete 2025-03-14T04:05:11.0256330Z 0000d4c5345d: Verifying Checksum 2025-03-14T04:05:11.0256894Z 0000d4c5345d: Download complete 2025-03-14T04:05:11.1261057Z cc49a6f5bbf9: Download complete 2025-03-14T04:05:11.1904234Z 955f46363639: Verifying Checksum 2025-03-14T04:05:11.1904879Z 955f46363639: Download complete 2025-03-14T04:05:11.2951315Z 176fd07a5b37: Download complete 2025-03-14T04:05:11.3698967Z 14c6878b88e1: Verifying Checksum 2025-03-14T04:05:11.3699588Z 14c6878b88e1: Download complete 2025-03-14T04:05:11.4295605Z 44a2b2adb348: Download complete 2025-03-14T04:05:11.5436735Z 8d28e44b7173: Download complete 2025-03-14T04:05:11.5968054Z 977f9685456c: Verifying Checksum 2025-03-14T04:05:11.5968522Z 977f9685456c: Download complete 2025-03-14T04:05:11.6331230Z 0aa1896ea194: Verifying Checksum 2025-03-14T04:05:11.6331740Z 0aa1896ea194: Download complete 2025-03-14T04:05:11.6398132Z 4f4fb700ef54: Verifying Checksum 2025-03-14T04:05:11.6398859Z 4f4fb700ef54: Download complete 2025-03-14T04:05:11.7510616Z b1f6e7b115fa: Download complete 2025-03-14T04:05:11.8462171Z fe5bda901c27: Verifying Checksum 2025-03-14T04:05:11.8462845Z fe5bda901c27: Download complete 2025-03-14T04:05:11.8764987Z 86e5016c2693: Pull complete 2025-03-14T04:05:11.9224420Z 69d1681b54f4: Verifying Checksum 2025-03-14T04:05:11.9225082Z 69d1681b54f4: Download complete 2025-03-14T04:05:11.9415486Z b64eae0f9865: Pull complete 2025-03-14T04:05:12.0278389Z 4e533c6a25a5: Verifying Checksum 2025-03-14T04:05:12.0278911Z 4e533c6a25a5: Download complete 2025-03-14T04:05:12.1221125Z 8b0f88941fa0: Download complete 2025-03-14T04:05:12.1910991Z 5e8b2a6cebeb: Verifying Checksum 2025-03-14T04:05:12.1911631Z 5e8b2a6cebeb: Download complete 2025-03-14T04:05:12.2856547Z b7fb51dfb04b: Download complete 2025-03-14T04:05:12.3766483Z 83ec6a063b6f: Verifying Checksum 2025-03-14T04:05:12.3767054Z 83ec6a063b6f: Download complete 2025-03-14T04:05:12.4709446Z ffbfe8392dca: Verifying Checksum 2025-03-14T04:05:12.4709954Z ffbfe8392dca: Download complete 2025-03-14T04:05:13.7517060Z 317c2ec95e89: Verifying Checksum 2025-03-14T04:05:13.7517464Z 317c2ec95e89: Download complete 2025-03-14T04:05:13.8558248Z 08d87c988dc7: Download complete 2025-03-14T04:05:13.8829572Z fa6343415b98: Download complete 2025-03-14T04:05:13.9299195Z 46a403bf2b51: Download complete 2025-03-14T04:05:13.9777394Z 567710e9eb36: Verifying Checksum 2025-03-14T04:05:13.9777892Z 567710e9eb36: Download complete 2025-03-14T04:05:13.9957057Z 8d6eb4d15a1e: Download complete 2025-03-14T04:05:14.0631543Z 23e2930ed719: Verifying Checksum 2025-03-14T04:05:14.0632129Z 23e2930ed719: Download complete 2025-03-14T04:05:14.1261067Z 96b0e3c627d1: Verifying Checksum 2025-03-14T04:05:14.1261580Z 96b0e3c627d1: Download complete 2025-03-14T04:05:14.1975126Z 169f1b4c983d: Verifying Checksum 2025-03-14T04:05:14.3054042Z 169f1b4c983d: Download complete 2025-03-14T04:05:14.3054680Z 4cda9e9a6e26: Verifying Checksum 2025-03-14T04:05:14.3055273Z 4cda9e9a6e26: Download complete 2025-03-14T04:05:14.3835939Z 1f9815b2b3b1: Verifying Checksum 2025-03-14T04:05:14.3836495Z 1f9815b2b3b1: Download complete 2025-03-14T04:05:14.4789311Z fafa7442899b: Verifying Checksum 2025-03-14T04:05:14.4789778Z fafa7442899b: Download complete 2025-03-14T04:05:14.5589487Z 8ac10abfa1af: Verifying Checksum 2025-03-14T04:05:14.5590117Z 8ac10abfa1af: Download complete 2025-03-14T04:05:15.0638393Z 07916ca736e8: Verifying Checksum 2025-03-14T04:05:15.0638820Z 07916ca736e8: Download complete 2025-03-14T04:05:15.1600879Z 426b4781db6d: Verifying Checksum 2025-03-14T04:05:15.1601531Z 426b4781db6d: Download complete 2025-03-14T04:05:15.2412368Z 27916e7dfc6b: Verifying Checksum 2025-03-14T04:05:15.2412873Z 27916e7dfc6b: Download complete 2025-03-14T04:05:15.3292083Z f3d689fa4b30: Download complete 2025-03-14T04:05:15.3861486Z b3611088a559: Download complete 2025-03-14T04:05:15.6704392Z 766763116b65: Verifying Checksum 2025-03-14T04:05:15.6705080Z 766763116b65: Download complete 2025-03-14T04:05:15.7437418Z 0e592153fa17: Download complete 2025-03-14T04:05:15.8165773Z d98195448b21: Verifying Checksum 2025-03-14T04:05:15.8166338Z d98195448b21: Download complete 2025-03-14T04:05:15.9415002Z 11b77c5e6a4c: Verifying Checksum 2025-03-14T04:05:15.9415527Z 11b77c5e6a4c: Download complete 2025-03-14T04:05:16.0297736Z 09894530ccd2: Verifying Checksum 2025-03-14T04:05:16.0298793Z 09894530ccd2: Download complete 2025-03-14T04:05:16.1308575Z dd81d8b11712: Verifying Checksum 2025-03-14T04:05:16.2135316Z 61f09cfa492b: Download complete 2025-03-14T04:05:16.3085238Z 37f50b3c6dc5: Verifying Checksum 2025-03-14T04:05:16.3085674Z 37f50b3c6dc5: Download complete 2025-03-14T04:05:16.3839938Z f4222d90a3b0: Verifying Checksum 2025-03-14T04:05:16.3840546Z f4222d90a3b0: Download complete 2025-03-14T04:05:16.4850448Z f0e09b868978: Verifying Checksum 2025-03-14T04:05:16.4851008Z f0e09b868978: Download complete 2025-03-14T04:05:16.5740324Z fea32805da6a: Verifying Checksum 2025-03-14T04:05:16.5741235Z fea32805da6a: Download complete 2025-03-14T04:05:16.6668673Z e88ebc603e68: Download complete 2025-03-14T04:05:16.7636552Z 127286786396: Verifying Checksum 2025-03-14T04:05:16.7637054Z 127286786396: Download complete 2025-03-14T04:05:16.8467462Z edffc976b12a: Download complete 2025-03-14T04:05:16.9210696Z a9b1becf3ab8: Verifying Checksum 2025-03-14T04:05:16.9211299Z a9b1becf3ab8: Download complete 2025-03-14T04:05:17.0064428Z 8d150e46d80d: Verifying Checksum 2025-03-14T04:05:17.0065151Z 8d150e46d80d: Download complete 2025-03-14T04:05:17.0883801Z 702b72d020bb: Verifying Checksum 2025-03-14T04:05:17.0884368Z 702b72d020bb: Download complete 2025-03-14T04:05:17.1540531Z 21479af96a39: Download complete 2025-03-14T04:05:17.2746300Z ea88b7068e4f: Verifying Checksum 2025-03-14T04:05:17.2746710Z ea88b7068e4f: Download complete 2025-03-14T04:05:17.3697593Z 78b28fc0ca82: Verifying Checksum 2025-03-14T04:05:17.3698547Z 78b28fc0ca82: Download complete 2025-03-14T04:05:17.4596871Z ef7783cc3f87: Download complete 2025-03-14T04:05:17.5321382Z c706ce4bc239: Verifying Checksum 2025-03-14T04:05:17.5321773Z c706ce4bc239: Download complete 2025-03-14T04:05:18.3499876Z 6775f1cd04ed: Verifying Checksum 2025-03-14T04:05:18.3500497Z 6775f1cd04ed: Download complete 2025-03-14T04:05:18.4246257Z c4467d318427: Download complete 2025-03-14T04:05:18.5373577Z 0e0314e23cf1: Download complete 2025-03-14T04:05:18.6098387Z 358e887b5af9: Verifying Checksum 2025-03-14T04:05:18.6098972Z 358e887b5af9: Download complete 2025-03-14T04:05:18.7438356Z 11857a6b7851: Download complete 2025-03-14T04:05:18.8111176Z 8e789f656661: Verifying Checksum 2025-03-14T04:05:18.8111721Z 8e789f656661: Download complete 2025-03-14T04:05:18.9003578Z 8f116d3e883b: Download complete 2025-03-14T04:05:19.8959353Z b21e2d445d94: Verifying Checksum 2025-03-14T04:05:19.8959743Z b21e2d445d94: Download complete 2025-03-14T04:05:20.5649933Z 3cbcaa230a48: Verifying Checksum 2025-03-14T04:05:20.5650405Z 3cbcaa230a48: Download complete 2025-03-14T04:05:23.7775883Z fa6343415b98: Pull complete 2025-03-14T04:05:23.9624861Z 403180670172: Pull complete 2025-03-14T04:05:25.6300332Z 977f9685456c: Pull complete 2025-03-14T04:05:25.7836191Z 0000d4c5345d: Pull complete 2025-03-14T04:05:25.9478715Z cc49a6f5bbf9: Pull complete 2025-03-14T04:05:26.1367530Z 955f46363639: Pull complete 2025-03-14T04:05:26.2945638Z 176fd07a5b37: Pull complete 2025-03-14T04:05:26.4810633Z 14c6878b88e1: Pull complete 2025-03-14T04:05:26.6465908Z 44a2b2adb348: Pull complete 2025-03-14T04:05:26.8482638Z 8d28e44b7173: Pull complete 2025-03-14T04:05:27.0153131Z 0aa1896ea194: Pull complete 2025-03-14T04:05:55.8641974Z bd2cd6cca9d3: Verifying Checksum 2025-03-14T04:05:55.8643618Z bd2cd6cca9d3: Download complete 2025-03-14T04:06:37.8177076Z bd2cd6cca9d3: Pull complete 2025-03-14T04:06:37.9603536Z 4f4fb700ef54: Pull complete 2025-03-14T04:06:38.1240245Z b1f6e7b115fa: Pull complete 2025-03-14T04:06:38.2790971Z fe5bda901c27: Pull complete 2025-03-14T04:06:38.4292822Z 69d1681b54f4: Pull complete 2025-03-14T04:06:38.6346130Z 4e533c6a25a5: Pull complete 2025-03-14T04:06:38.8070887Z 8b0f88941fa0: Pull complete 2025-03-14T04:06:38.9570480Z 5e8b2a6cebeb: Pull complete 2025-03-14T04:06:39.0492516Z b7fb51dfb04b: Pull complete 2025-03-14T04:06:39.2216315Z 83ec6a063b6f: Pull complete 2025-03-14T04:06:39.2925330Z ffbfe8392dca: Pull complete 2025-03-14T04:06:42.1569558Z 317c2ec95e89: Pull complete 2025-03-14T04:06:42.3393119Z 08d87c988dc7: Pull complete 2025-03-14T04:06:42.5485518Z 46a403bf2b51: Pull complete 2025-03-14T04:06:42.6935787Z 567710e9eb36: Pull complete 2025-03-14T04:06:42.9199045Z 8d6eb4d15a1e: Pull complete 2025-03-14T04:06:43.1370146Z 23e2930ed719: Pull complete 2025-03-14T04:06:50.2943380Z 6775f1cd04ed: Pull complete 2025-03-14T04:06:50.5227953Z 96b0e3c627d1: Pull complete 2025-03-14T04:06:50.7408642Z 169f1b4c983d: Pull complete 2025-03-14T04:06:51.1375545Z 4cda9e9a6e26: Pull complete 2025-03-14T04:06:51.3452500Z 1f9815b2b3b1: Pull complete 2025-03-14T04:06:51.6713189Z fafa7442899b: Pull complete 2025-03-14T04:06:51.8821827Z 8ac10abfa1af: Pull complete 2025-03-14T04:06:53.6044106Z 07916ca736e8: Pull complete 2025-03-14T04:06:53.6956013Z 426b4781db6d: Pull complete 2025-03-14T04:06:53.8211437Z 27916e7dfc6b: Pull complete 2025-03-14T04:06:54.2035714Z f3d689fa4b30: Pull complete 2025-03-14T04:06:54.4024392Z b3611088a559: Pull complete 2025-03-14T04:06:54.8601326Z 766763116b65: Pull complete 2025-03-14T04:06:54.8747828Z 0e592153fa17: Pull complete 2025-03-14T04:06:54.8857806Z d98195448b21: Pull complete 2025-03-14T04:06:54.9098457Z 11b77c5e6a4c: Pull complete 2025-03-14T04:06:54.9204230Z 09894530ccd2: Pull complete 2025-03-14T04:06:54.9404648Z dd81d8b11712: Pull complete 2025-03-14T04:06:54.9507227Z 61f09cfa492b: Pull complete 2025-03-14T04:06:54.9782749Z 37f50b3c6dc5: Pull complete 2025-03-14T04:06:55.0162679Z f4222d90a3b0: Pull complete 2025-03-14T04:06:55.0803611Z f0e09b868978: Pull complete 2025-03-14T04:06:55.1237777Z fea32805da6a: Pull complete 2025-03-14T04:06:55.1446471Z e88ebc603e68: Pull complete 2025-03-14T04:06:55.1859452Z 127286786396: Pull complete 2025-03-14T04:06:55.2291666Z edffc976b12a: Pull complete 2025-03-14T04:06:55.2509039Z a9b1becf3ab8: Pull complete 2025-03-14T04:06:55.2941337Z 8d150e46d80d: Pull complete 2025-03-14T04:06:55.3357681Z 702b72d020bb: Pull complete 2025-03-14T04:06:55.3580324Z 21479af96a39: Pull complete 2025-03-14T04:06:55.4002731Z ea88b7068e4f: Pull complete 2025-03-14T04:06:55.4212144Z 78b28fc0ca82: Pull complete 2025-03-14T04:06:55.4627057Z ef7783cc3f87: Pull complete 2025-03-14T04:06:55.4845201Z c706ce4bc239: Pull complete 2025-03-14T04:07:01.5128914Z 3cbcaa230a48: Pull complete 2025-03-14T04:07:01.7383691Z c4467d318427: Pull complete 2025-03-14T04:07:01.9759633Z 0e0314e23cf1: Pull complete 2025-03-14T04:07:02.2120283Z 358e887b5af9: Pull complete 2025-03-14T04:07:02.3502386Z 11857a6b7851: Pull complete 2025-03-14T04:07:02.3604575Z 8e789f656661: Pull complete 2025-03-14T04:07:02.3813107Z 8f116d3e883b: Pull complete 2025-03-14T04:07:03.8516364Z b21e2d445d94: Pull complete 2025-03-14T04:07:03.8700307Z Digest: sha256:f3d6a3edfcad1af24cc8a256a5d3fd25be79458006d512d917d0ff8916c757ad 2025-03-14T04:07:03.8719090Z Status: Downloaded newer image for 308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-focal-py3.13-clang10:aa89d6e739080d90fa18625d57297c6734465849 2025-03-14T04:07:03.8737878Z 308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-focal-py3.13-clang10:aa89d6e739080d90fa18625d57297c6734465849 2025-03-14T04:07:03.8780615Z ##[group]Run echo "IN_CONTAINER_RUNNER=$(if [ -f /.inarc ] || [ -f /.incontainer ]; then echo true ; else echo false; fi)" >> "$GITHUB_OUTPUT" 2025-03-14T04:07:03.8781615Z echo "IN_CONTAINER_RUNNER=$(if [ -f /.inarc ] || [ -f /.incontainer ]; then echo true ; else echo false; fi)" >> "$GITHUB_OUTPUT" 2025-03-14T04:07:03.8788579Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T04:07:03.8788990Z env: 2025-03-14T04:07:03.8789242Z GIT_DEFAULT_BRANCH: main 2025-03-14T04:07:03.8789557Z ##[endgroup] 2025-03-14T04:07:03.8879762Z Prepare all required actions 2025-03-14T04:07:03.8915267Z ##[group]Run ./.github/actions/get-workflow-job-id 2025-03-14T04:07:03.8915643Z with: 2025-03-14T04:07:03.8916078Z github-token: *** 2025-03-14T04:07:03.8916330Z env: 2025-03-14T04:07:03.8916567Z GIT_DEFAULT_BRANCH: main 2025-03-14T04:07:03.8916849Z ##[endgroup] 2025-03-14T04:07:03.8935246Z ##[group]Run set -eux 2025-03-14T04:07:03.8935585Z set -eux 2025-03-14T04:07:03.8936195Z python3 .github/scripts/get_workflow_job_id.py "${GITHUB_RUN_ID}" "${RUNNER_NAME}" 2025-03-14T04:07:03.8942064Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T04:07:03.8942470Z env: 2025-03-14T04:07:03.8942708Z GIT_DEFAULT_BRANCH: main 2025-03-14T04:07:03.8943179Z GITHUB_TOKEN: *** 2025-03-14T04:07:03.8943440Z ##[endgroup] 2025-03-14T04:07:03.8965966Z + python3 .github/scripts/get_workflow_job_id.py 13849515290 i-0ef9d91641f336945 2025-03-14T04:07:05.0241526Z setting job-id=38754600544 2025-03-14T04:07:05.0242203Z setting job-name=linux-focal-py3.13-clang10 / test (dynamo_wrapped, 1, 3, lf.linux.2xlarge) 2025-03-14T04:07:05.0378735Z ##[group]Run python3 -m pip install psutil==5.9.1 nvidia-ml-py==11.525.84 dataclasses_json==0.6.7 2025-03-14T04:07:05.0379499Z python3 -m pip install psutil==5.9.1 nvidia-ml-py==11.525.84 dataclasses_json==0.6.7 2025-03-14T04:07:05.0380092Z python3 -m tools.stats.monitor > usage_log.txt 2>&1 & 2025-03-14T04:07:05.0380725Z echo "monitor-script-pid=${!}" >> "${GITHUB_OUTPUT}" 2025-03-14T04:07:05.0387229Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T04:07:05.0387610Z env: 2025-03-14T04:07:05.0387828Z GIT_DEFAULT_BRANCH: main 2025-03-14T04:07:05.0388103Z JOB_ID: 38754600544 2025-03-14T04:07:05.0388530Z JOB_NAME: linux-focal-py3.13-clang10 / test (dynamo_wrapped, 1, 3, lf.linux.2xlarge) 2025-03-14T04:07:05.0389030Z WORKFLOW_NAME: pull 2025-03-14T04:07:05.0389292Z WORKFLOW_RUN_ID: 13849515290 2025-03-14T04:07:05.0389568Z ##[endgroup] 2025-03-14T04:07:05.2909155Z Defaulting to user installation because normal site-packages is not writeable 2025-03-14T04:07:05.6563929Z Collecting psutil==5.9.1 2025-03-14T04:07:05.6797451Z Downloading psutil-5.9.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (281 kB) 2025-03-14T04:07:05.7202714Z Collecting nvidia-ml-py==11.525.84 2025-03-14T04:07:05.7239946Z Downloading nvidia_ml_py-11.525.84-py3-none-any.whl (34 kB) 2025-03-14T04:07:05.7821672Z Collecting dataclasses_json==0.6.7 2025-03-14T04:07:05.7862182Z Downloading dataclasses_json-0.6.7-py3-none-any.whl (28 kB) 2025-03-14T04:07:05.9005769Z Collecting marshmallow<4.0.0,>=3.18.0 2025-03-14T04:07:05.9047562Z Downloading marshmallow-3.26.1-py3-none-any.whl (50 kB) 2025-03-14T04:07:05.9261499Z Collecting typing-inspect<1,>=0.4.0 2025-03-14T04:07:05.9301832Z Downloading typing_inspect-0.9.0-py3-none-any.whl (8.8 kB) 2025-03-14T04:07:05.9821289Z Collecting packaging>=17.0 2025-03-14T04:07:05.9864179Z Downloading packaging-24.2-py3-none-any.whl (65 kB) 2025-03-14T04:07:06.0074543Z Collecting mypy-extensions>=0.3.0 2025-03-14T04:07:06.0121954Z Downloading mypy_extensions-1.0.0-py3-none-any.whl (4.7 kB) 2025-03-14T04:07:06.0524223Z Collecting typing-extensions>=3.7.4 2025-03-14T04:07:06.0564541Z Downloading typing_extensions-4.12.2-py3-none-any.whl (37 kB) 2025-03-14T04:07:06.1452643Z Installing collected packages: typing-extensions, packaging, mypy-extensions, typing-inspect, marshmallow, psutil, nvidia-ml-py, dataclasses-json 2025-03-14T04:07:06.4029447Z Successfully installed dataclasses-json-0.6.7 marshmallow-3.26.1 mypy-extensions-1.0.0 nvidia-ml-py-11.525.84 packaging-24.2 psutil-5.9.1 typing-extensions-4.12.2 typing-inspect-0.9.0 2025-03-14T04:07:06.4760662Z Prepare all required actions 2025-03-14T04:07:06.4761355Z Getting action download info 2025-03-14T04:07:06.6034750Z Download action repository 'seemethere/download-artifact-s3@v4' (SHA:1da556a7aa0a088e3153970611f6c432d58e80e6) 2025-03-14T04:07:06.7991488Z Download action repository 'actions/download-artifact@v4' (SHA:cc203385981b70ca67e1cc392babf9cc229d5806) 2025-03-14T04:07:07.0998805Z ##[group]Run ./.github/actions/download-build-artifacts 2025-03-14T04:07:07.0999200Z with: 2025-03-14T04:07:07.0999457Z name: linux-focal-py3.13-clang10 2025-03-14T04:07:07.0999791Z s3-bucket: gha-artifacts 2025-03-14T04:07:07.1000099Z env: 2025-03-14T04:07:07.1000335Z GIT_DEFAULT_BRANCH: main 2025-03-14T04:07:07.1000616Z ##[endgroup] 2025-03-14T04:07:07.1033226Z ##[group]Run seemethere/download-artifact-s3@v4 2025-03-14T04:07:07.1033594Z with: 2025-03-14T04:07:07.1033848Z name: linux-focal-py3.13-clang10 2025-03-14T04:07:07.1034182Z s3-bucket: gha-artifacts 2025-03-14T04:07:07.1034520Z region: us-east-1 2025-03-14T04:07:07.1034770Z env: 2025-03-14T04:07:07.1035006Z GIT_DEFAULT_BRANCH: main 2025-03-14T04:07:07.1035292Z ##[endgroup] 2025-03-14T04:07:07.5951861Z (node:130044) NOTE: We are formalizing our plans to enter AWS SDK for JavaScript (v2) into maintenance mode in 2023. 2025-03-14T04:07:07.5952410Z 2025-03-14T04:07:07.5952613Z Please migrate your code to use AWS SDK for JavaScript (v3). 2025-03-14T04:07:07.5953193Z For more information, check the migration guide at https://a.co/7PzMCcy 2025-03-14T04:07:07.5953797Z (Use `node --trace-warnings ...` to show where the warning was created) 2025-03-14T04:07:07.6953075Z Found 1 objects with prefix pytorch/pytorch/13849515290/linux-focal-py3.13-clang10/ 2025-03-14T04:07:07.6954649Z Starting download (1/1): /home/ec2-user/actions-runner/_work/pytorch/pytorch/artifacts.zip 2025-03-14T04:07:14.5591538Z Finished download (1/1): /home/ec2-user/actions-runner/_work/pytorch/pytorch/artifacts.zip 2025-03-14T04:07:14.5597711Z Artifact download has finished successfully 2025-03-14T04:07:14.5758254Z ##[group]Run unzip -o artifacts.zip 2025-03-14T04:07:14.5758641Z unzip -o artifacts.zip 2025-03-14T04:07:14.5764503Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T04:07:14.5764917Z env: 2025-03-14T04:07:14.5765162Z GIT_DEFAULT_BRANCH: main 2025-03-14T04:07:14.5765451Z ##[endgroup] 2025-03-14T04:07:14.5932230Z Archive: artifacts.zip 2025-03-14T04:07:14.5932929Z creating: dist/ 2025-03-14T04:07:15.5826577Z inflating: dist/torch-2.8.0a0+gitaed0b7a-cp313-cp313-linux_x86_64.whl 2025-03-14T04:07:15.5910138Z inflating: dist/.ninja_log 2025-03-14T04:07:15.5910586Z creating: build/custom_test_artifacts/ 2025-03-14T04:07:15.5911011Z creating: build/custom_test_artifacts/custom-op-build/ 2025-03-14T04:07:15.5911538Z creating: build/custom_test_artifacts/custom-op-build/CMakeFiles/ 2025-03-14T04:07:15.5913315Z inflating: build/custom_test_artifacts/custom-op-build/CMakeFiles/CMakeOutput.log 2025-03-14T04:07:15.5914008Z creating: build/custom_test_artifacts/custom-op-build/CMakeFiles/3.18.5/ 2025-03-14T04:07:15.5914722Z inflating: build/custom_test_artifacts/custom-op-build/CMakeFiles/3.18.5/CMakeSystem.cmake 2025-03-14T04:07:15.5915474Z creating: build/custom_test_artifacts/custom-op-build/CMakeFiles/3.18.5/CompilerIdC/ 2025-03-14T04:07:15.5916204Z creating: build/custom_test_artifacts/custom-op-build/CMakeFiles/3.18.5/CompilerIdC/tmp/ 2025-03-14T04:07:15.5917037Z inflating: build/custom_test_artifacts/custom-op-build/CMakeFiles/3.18.5/CompilerIdC/CMakeCCompilerId.c 2025-03-14T04:07:15.5917915Z inflating: build/custom_test_artifacts/custom-op-build/CMakeFiles/3.18.5/CompilerIdC/a.out 2025-03-14T04:07:15.5918682Z creating: build/custom_test_artifacts/custom-op-build/CMakeFiles/3.18.5/CompilerIdCXX/ 2025-03-14T04:07:15.5919459Z creating: build/custom_test_artifacts/custom-op-build/CMakeFiles/3.18.5/CompilerIdCXX/tmp/ 2025-03-14T04:07:15.5921499Z inflating: build/custom_test_artifacts/custom-op-build/CMakeFiles/3.18.5/CompilerIdCXX/CMakeCXXCompilerId.cpp 2025-03-14T04:07:15.5922412Z inflating: build/custom_test_artifacts/custom-op-build/CMakeFiles/3.18.5/CompilerIdCXX/a.out 2025-03-14T04:07:15.5923668Z inflating: build/custom_test_artifacts/custom-op-build/CMakeFiles/3.18.5/CMakeDetermineCompilerABI_C.bin 2025-03-14T04:07:15.5924548Z inflating: build/custom_test_artifacts/custom-op-build/CMakeFiles/3.18.5/CMakeCCompiler.cmake 2025-03-14T04:07:15.5925637Z inflating: build/custom_test_artifacts/custom-op-build/CMakeFiles/3.18.5/CMakeDetermineCompilerABI_CXX.bin 2025-03-14T04:07:15.5926608Z inflating: build/custom_test_artifacts/custom-op-build/CMakeFiles/3.18.5/CMakeCXXCompiler.cmake 2025-03-14T04:07:15.5927367Z creating: build/custom_test_artifacts/custom-op-build/CMakeFiles/CMakeTmp/ 2025-03-14T04:07:15.5928053Z inflating: build/custom_test_artifacts/custom-op-build/CMakeFiles/cmake.check_cache 2025-03-14T04:07:15.5928771Z creating: build/custom_test_artifacts/custom-op-build/CMakeFiles/custom_ops.dir/ 2025-03-14T04:07:15.5949915Z inflating: build/custom_test_artifacts/custom-op-build/CMakeFiles/custom_ops.dir/depend.make 2025-03-14T04:07:15.5950721Z inflating: build/custom_test_artifacts/custom-op-build/CMakeFiles/custom_ops.dir/link.txt 2025-03-14T04:07:15.5951543Z inflating: build/custom_test_artifacts/custom-op-build/CMakeFiles/custom_ops.dir/cmake_clean.cmake 2025-03-14T04:07:15.5952380Z inflating: build/custom_test_artifacts/custom-op-build/CMakeFiles/custom_ops.dir/build.make 2025-03-14T04:07:15.5953203Z inflating: build/custom_test_artifacts/custom-op-build/CMakeFiles/custom_ops.dir/DependInfo.cmake 2025-03-14T04:07:15.5954183Z inflating: build/custom_test_artifacts/custom-op-build/CMakeFiles/custom_ops.dir/flags.make 2025-03-14T04:07:15.5955000Z inflating: build/custom_test_artifacts/custom-op-build/CMakeFiles/custom_ops.dir/progress.make 2025-03-14T04:07:15.6004863Z inflating: build/custom_test_artifacts/custom-op-build/CMakeFiles/custom_ops.dir/CXX.includecache 2025-03-14T04:07:15.6022743Z inflating: build/custom_test_artifacts/custom-op-build/CMakeFiles/custom_ops.dir/depend.internal 2025-03-14T04:07:15.6160345Z inflating: build/custom_test_artifacts/custom-op-build/CMakeFiles/custom_ops.dir/op.cpp.o 2025-03-14T04:07:15.6161106Z creating: build/custom_test_artifacts/custom-op-build/CMakeFiles/test_custom_ops.dir/ 2025-03-14T04:07:15.6186166Z inflating: build/custom_test_artifacts/custom-op-build/CMakeFiles/test_custom_ops.dir/depend.make 2025-03-14T04:07:15.6187002Z inflating: build/custom_test_artifacts/custom-op-build/CMakeFiles/test_custom_ops.dir/link.txt 2025-03-14T04:07:15.6187886Z inflating: build/custom_test_artifacts/custom-op-build/CMakeFiles/test_custom_ops.dir/cmake_clean.cmake 2025-03-14T04:07:15.6188761Z inflating: build/custom_test_artifacts/custom-op-build/CMakeFiles/test_custom_ops.dir/build.make 2025-03-14T04:07:15.6189634Z inflating: build/custom_test_artifacts/custom-op-build/CMakeFiles/test_custom_ops.dir/DependInfo.cmake 2025-03-14T04:07:15.6190505Z inflating: build/custom_test_artifacts/custom-op-build/CMakeFiles/test_custom_ops.dir/flags.make 2025-03-14T04:07:15.6191354Z inflating: build/custom_test_artifacts/custom-op-build/CMakeFiles/test_custom_ops.dir/progress.make 2025-03-14T04:07:15.6240757Z inflating: build/custom_test_artifacts/custom-op-build/CMakeFiles/test_custom_ops.dir/CXX.includecache 2025-03-14T04:07:15.6258300Z inflating: build/custom_test_artifacts/custom-op-build/CMakeFiles/test_custom_ops.dir/depend.internal 2025-03-14T04:07:15.6305411Z inflating: build/custom_test_artifacts/custom-op-build/CMakeFiles/test_custom_ops.dir/test_custom_ops.cpp.o 2025-03-14T04:07:15.6306396Z inflating: build/custom_test_artifacts/custom-op-build/CMakeFiles/CMakeDirectoryInformation.cmake 2025-03-14T04:07:15.6307232Z inflating: build/custom_test_artifacts/custom-op-build/CMakeFiles/TargetDirectories.txt 2025-03-14T04:07:15.6308197Z extracting: build/custom_test_artifacts/custom-op-build/CMakeFiles/progress.marks 2025-03-14T04:07:15.6308904Z inflating: build/custom_test_artifacts/custom-op-build/CMakeFiles/Makefile2 2025-03-14T04:07:15.6309582Z inflating: build/custom_test_artifacts/custom-op-build/CMakeFiles/Makefile.cmake 2025-03-14T04:07:15.6310238Z inflating: build/custom_test_artifacts/custom-op-build/CMakeCache.txt 2025-03-14T04:07:15.6310826Z inflating: build/custom_test_artifacts/custom-op-build/Makefile 2025-03-14T04:07:15.6311429Z inflating: build/custom_test_artifacts/custom-op-build/cmake_install.cmake 2025-03-14T04:07:15.6439434Z inflating: build/custom_test_artifacts/custom-op-build/libcustom_ops.so 2025-03-14T04:07:15.6479028Z inflating: build/custom_test_artifacts/custom-op-build/test_custom_ops 2025-03-14T04:07:15.6479583Z creating: build/custom_test_artifacts/jit-hook-build/ 2025-03-14T04:07:15.6480095Z creating: build/custom_test_artifacts/jit-hook-build/CMakeFiles/ 2025-03-14T04:07:15.6481483Z inflating: build/custom_test_artifacts/jit-hook-build/CMakeFiles/CMakeOutput.log 2025-03-14T04:07:15.6482149Z creating: build/custom_test_artifacts/jit-hook-build/CMakeFiles/3.18.5/ 2025-03-14T04:07:15.6482844Z inflating: build/custom_test_artifacts/jit-hook-build/CMakeFiles/3.18.5/CMakeSystem.cmake 2025-03-14T04:07:15.6483582Z creating: build/custom_test_artifacts/jit-hook-build/CMakeFiles/3.18.5/CompilerIdC/ 2025-03-14T04:07:15.6484307Z creating: build/custom_test_artifacts/jit-hook-build/CMakeFiles/3.18.5/CompilerIdC/tmp/ 2025-03-14T04:07:15.6485130Z inflating: build/custom_test_artifacts/jit-hook-build/CMakeFiles/3.18.5/CompilerIdC/CMakeCCompilerId.c 2025-03-14T04:07:15.6486409Z inflating: build/custom_test_artifacts/jit-hook-build/CMakeFiles/3.18.5/CompilerIdC/a.out 2025-03-14T04:07:15.6487153Z creating: build/custom_test_artifacts/jit-hook-build/CMakeFiles/3.18.5/CompilerIdCXX/ 2025-03-14T04:07:15.6487897Z creating: build/custom_test_artifacts/jit-hook-build/CMakeFiles/3.18.5/CompilerIdCXX/tmp/ 2025-03-14T04:07:15.6488938Z inflating: build/custom_test_artifacts/jit-hook-build/CMakeFiles/3.18.5/CompilerIdCXX/CMakeCXXCompilerId.cpp 2025-03-14T04:07:15.6490233Z inflating: build/custom_test_artifacts/jit-hook-build/CMakeFiles/3.18.5/CompilerIdCXX/a.out 2025-03-14T04:07:15.6491760Z inflating: build/custom_test_artifacts/jit-hook-build/CMakeFiles/3.18.5/CMakeDetermineCompilerABI_C.bin 2025-03-14T04:07:15.6492625Z inflating: build/custom_test_artifacts/jit-hook-build/CMakeFiles/3.18.5/CMakeCCompiler.cmake 2025-03-14T04:07:15.6493688Z inflating: build/custom_test_artifacts/jit-hook-build/CMakeFiles/3.18.5/CMakeDetermineCompilerABI_CXX.bin 2025-03-14T04:07:15.6494675Z inflating: build/custom_test_artifacts/jit-hook-build/CMakeFiles/3.18.5/CMakeCXXCompiler.cmake 2025-03-14T04:07:15.6495401Z creating: build/custom_test_artifacts/jit-hook-build/CMakeFiles/CMakeTmp/ 2025-03-14T04:07:15.6496155Z inflating: build/custom_test_artifacts/jit-hook-build/CMakeFiles/cmake.check_cache 2025-03-14T04:07:15.6496868Z creating: build/custom_test_artifacts/jit-hook-build/CMakeFiles/test_jit_hooks.dir/ 2025-03-14T04:07:15.6520774Z inflating: build/custom_test_artifacts/jit-hook-build/CMakeFiles/test_jit_hooks.dir/depend.make 2025-03-14T04:07:15.6521590Z inflating: build/custom_test_artifacts/jit-hook-build/CMakeFiles/test_jit_hooks.dir/link.txt 2025-03-14T04:07:15.6522432Z inflating: build/custom_test_artifacts/jit-hook-build/CMakeFiles/test_jit_hooks.dir/cmake_clean.cmake 2025-03-14T04:07:15.6523280Z inflating: build/custom_test_artifacts/jit-hook-build/CMakeFiles/test_jit_hooks.dir/build.make 2025-03-14T04:07:15.6524128Z inflating: build/custom_test_artifacts/jit-hook-build/CMakeFiles/test_jit_hooks.dir/DependInfo.cmake 2025-03-14T04:07:15.6524969Z inflating: build/custom_test_artifacts/jit-hook-build/CMakeFiles/test_jit_hooks.dir/flags.make 2025-03-14T04:07:15.6525935Z inflating: build/custom_test_artifacts/jit-hook-build/CMakeFiles/test_jit_hooks.dir/progress.make 2025-03-14T04:07:15.6575696Z inflating: build/custom_test_artifacts/jit-hook-build/CMakeFiles/test_jit_hooks.dir/CXX.includecache 2025-03-14T04:07:15.6593641Z inflating: build/custom_test_artifacts/jit-hook-build/CMakeFiles/test_jit_hooks.dir/depend.internal 2025-03-14T04:07:15.6625484Z inflating: build/custom_test_artifacts/jit-hook-build/CMakeFiles/test_jit_hooks.dir/test_jit_hooks.cpp.o 2025-03-14T04:07:15.6626390Z inflating: build/custom_test_artifacts/jit-hook-build/CMakeFiles/CMakeDirectoryInformation.cmake 2025-03-14T04:07:15.6627199Z inflating: build/custom_test_artifacts/jit-hook-build/CMakeFiles/TargetDirectories.txt 2025-03-14T04:07:15.6627944Z extracting: build/custom_test_artifacts/jit-hook-build/CMakeFiles/progress.marks 2025-03-14T04:07:15.6628626Z inflating: build/custom_test_artifacts/jit-hook-build/CMakeFiles/Makefile2 2025-03-14T04:07:15.6629296Z inflating: build/custom_test_artifacts/jit-hook-build/CMakeFiles/Makefile.cmake 2025-03-14T04:07:15.6630044Z inflating: build/custom_test_artifacts/jit-hook-build/CMakeCache.txt 2025-03-14T04:07:15.6630788Z inflating: build/custom_test_artifacts/jit-hook-build/Makefile 2025-03-14T04:07:15.6631381Z inflating: build/custom_test_artifacts/jit-hook-build/cmake_install.cmake 2025-03-14T04:07:15.6658145Z inflating: build/custom_test_artifacts/jit-hook-build/test_jit_hooks 2025-03-14T04:07:15.6658711Z creating: build/custom_test_artifacts/custom-backend-build/ 2025-03-14T04:07:15.6659272Z creating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/ 2025-03-14T04:07:15.6661471Z inflating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/CMakeOutput.log 2025-03-14T04:07:15.6662362Z creating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/3.18.5/ 2025-03-14T04:07:15.6663112Z inflating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/3.18.5/CMakeSystem.cmake 2025-03-14T04:07:15.6663918Z creating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/3.18.5/CompilerIdC/ 2025-03-14T04:07:15.6664701Z creating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/3.18.5/CompilerIdC/tmp/ 2025-03-14T04:07:15.6665591Z inflating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/3.18.5/CompilerIdC/CMakeCCompilerId.c 2025-03-14T04:07:15.6666495Z inflating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/3.18.5/CompilerIdC/a.out 2025-03-14T04:07:15.6667308Z creating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/3.18.5/CompilerIdCXX/ 2025-03-14T04:07:15.6668114Z creating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/3.18.5/CompilerIdCXX/tmp/ 2025-03-14T04:07:15.6669145Z inflating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/3.18.5/CompilerIdCXX/CMakeCXXCompilerId.cpp 2025-03-14T04:07:15.6670632Z inflating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/3.18.5/CompilerIdCXX/a.out 2025-03-14T04:07:15.6672084Z inflating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/3.18.5/CMakeDetermineCompilerABI_C.bin 2025-03-14T04:07:15.6673020Z inflating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/3.18.5/CMakeCCompiler.cmake 2025-03-14T04:07:15.6674234Z inflating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/3.18.5/CMakeDetermineCompilerABI_CXX.bin 2025-03-14T04:07:15.6675345Z inflating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/3.18.5/CMakeCXXCompiler.cmake 2025-03-14T04:07:15.6676139Z creating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/CMakeTmp/ 2025-03-14T04:07:15.6676871Z inflating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/cmake.check_cache 2025-03-14T04:07:15.6677672Z creating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/test_custom_backend.dir/ 2025-03-14T04:07:15.6702943Z inflating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/test_custom_backend.dir/depend.make 2025-03-14T04:07:15.6704259Z inflating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/test_custom_backend.dir/link.txt 2025-03-14T04:07:15.6705433Z inflating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/test_custom_backend.dir/cmake_clean.cmake 2025-03-14T04:07:15.6706569Z inflating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/test_custom_backend.dir/build.make 2025-03-14T04:07:15.6707546Z inflating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/test_custom_backend.dir/DependInfo.cmake 2025-03-14T04:07:15.6708583Z inflating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/test_custom_backend.dir/flags.make 2025-03-14T04:07:15.6709540Z inflating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/test_custom_backend.dir/progress.make 2025-03-14T04:07:15.6757370Z inflating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/test_custom_backend.dir/CXX.includecache 2025-03-14T04:07:15.6774724Z inflating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/test_custom_backend.dir/depend.internal 2025-03-14T04:07:15.6797975Z inflating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/test_custom_backend.dir/test_custom_backend.cpp.o 2025-03-14T04:07:15.6798911Z creating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/custom_backend.dir/ 2025-03-14T04:07:15.6802473Z inflating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/custom_backend.dir/depend.make 2025-03-14T04:07:15.6803507Z inflating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/custom_backend.dir/link.txt 2025-03-14T04:07:15.6804823Z inflating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/custom_backend.dir/cmake_clean.cmake 2025-03-14T04:07:15.6805906Z inflating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/custom_backend.dir/build.make 2025-03-14T04:07:15.6806923Z inflating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/custom_backend.dir/DependInfo.cmake 2025-03-14T04:07:15.6807896Z inflating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/custom_backend.dir/flags.make 2025-03-14T04:07:15.6808803Z inflating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/custom_backend.dir/progress.make 2025-03-14T04:07:15.6812054Z inflating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/custom_backend.dir/CXX.includecache 2025-03-14T04:07:15.6815260Z inflating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/custom_backend.dir/depend.internal 2025-03-14T04:07:15.6897376Z inflating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/custom_backend.dir/custom_backend.cpp.o 2025-03-14T04:07:15.6898584Z inflating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/CMakeDirectoryInformation.cmake 2025-03-14T04:07:15.6899643Z inflating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/TargetDirectories.txt 2025-03-14T04:07:15.6900576Z extracting: build/custom_test_artifacts/custom-backend-build/CMakeFiles/progress.marks 2025-03-14T04:07:15.6901430Z inflating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/Makefile2 2025-03-14T04:07:15.6902619Z inflating: build/custom_test_artifacts/custom-backend-build/CMakeFiles/Makefile.cmake 2025-03-14T04:07:15.6904609Z inflating: build/custom_test_artifacts/custom-backend-build/CMakeCache.txt 2025-03-14T04:07:15.6905789Z inflating: build/custom_test_artifacts/custom-backend-build/Makefile 2025-03-14T04:07:15.6906677Z inflating: build/custom_test_artifacts/custom-backend-build/cmake_install.cmake 2025-03-14T04:07:15.7000537Z inflating: build/custom_test_artifacts/custom-backend-build/libcustom_backend.so 2025-03-14T04:07:15.7026273Z inflating: build/custom_test_artifacts/custom-backend-build/test_custom_backend 2025-03-14T04:07:15.7026896Z creating: build/lib/ 2025-03-14T04:07:15.7399108Z inflating: build/lib/libprotobuf.a 2025-03-14T04:07:15.7812064Z inflating: build/lib/libprotoc.a 2025-03-14T04:07:15.7883326Z inflating: build/lib/libprotobuf-lite.a 2025-03-14T04:07:15.7892219Z inflating: build/lib/libpthreadpool.a 2025-03-14T04:07:15.7899739Z inflating: build/lib/libcpuinfo.a 2025-03-14T04:07:15.7906357Z inflating: build/lib/libcpuinfo_internals.a 2025-03-14T04:07:15.7907063Z inflating: build/lib/libclog.a 2025-03-14T04:07:15.7923978Z inflating: build/lib/libpytorch_qnnpack.a 2025-03-14T04:07:15.7926410Z inflating: build/lib/libnnpack_reference_layers.a 2025-03-14T04:07:15.7942618Z inflating: build/lib/libnnpack.a 2025-03-14T04:07:15.8106889Z inflating: build/lib/libmicrokernels-prod.a 2025-03-14T04:07:15.8745155Z inflating: build/lib/libmicrokernels-all.a 2025-03-14T04:07:15.8803884Z inflating: build/lib/libgtest.a 2025-03-14T04:07:15.8814889Z inflating: build/lib/libgmock.a 2025-03-14T04:07:15.8815507Z inflating: build/lib/libgmock_main.a 2025-03-14T04:07:15.8816280Z inflating: build/lib/libgtest_main.a 2025-03-14T04:07:15.8921716Z inflating: build/lib/libXNNPACK.a 2025-03-14T04:07:15.8981354Z inflating: build/lib/libbenchmark.a 2025-03-14T04:07:15.8982205Z inflating: build/lib/libbenchmark_main.a 2025-03-14T04:07:15.8989217Z inflating: build/lib/libittnotify.a 2025-03-14T04:07:15.9048731Z inflating: build/lib/libasmjit.a 2025-03-14T04:07:15.9989122Z inflating: build/lib/libfbgemm.a 2025-03-14T04:07:16.0012682Z inflating: build/lib/libtensorpipe_uv.a 2025-03-14T04:07:16.0463583Z inflating: build/lib/libtensorpipe.a 2025-03-14T04:07:16.0542414Z inflating: build/lib/libgloo.a 2025-03-14T04:07:16.0583107Z inflating: build/lib/libonnx_proto.a 2025-03-14T04:07:16.1255605Z inflating: build/lib/libonnx.a 2025-03-14T04:07:17.3670841Z inflating: build/lib/libdnnl.a 2025-03-14T04:07:17.3687514Z inflating: build/lib/libfmt.a 2025-03-14T04:07:17.3926995Z inflating: build/lib/libkineto.a 2025-03-14T04:07:17.4023239Z inflating: build/lib/libc10.so 2025-03-14T04:07:17.4024574Z inflating: build/lib/libtorch_global_deps.so 2025-03-14T04:07:19.7753839Z inflating: build/lib/libtorch_cpu.so 2025-03-14T04:07:19.7754572Z inflating: build/lib/libtorch.so 2025-03-14T04:07:19.7760561Z inflating: build/lib/libunbox_lib.a 2025-03-14T04:07:19.7782567Z inflating: build/lib/libjitbackend_test.so 2025-03-14T04:07:19.7853573Z inflating: build/lib/libtorchbind_test.so 2025-03-14T04:07:19.7878137Z inflating: build/lib/libbackend_with_compiler.so 2025-03-14T04:07:19.7904361Z inflating: build/lib/libaoti_custom_ops.so 2025-03-14T04:07:19.7908211Z inflating: build/lib/libshm.so 2025-03-14T04:07:19.9870563Z inflating: build/lib/libtorch_python.so 2025-03-14T04:07:19.9906331Z inflating: build/lib/libnnapi_backend.so 2025-03-14T04:07:19.9906822Z creating: build/bin/ 2025-03-14T04:07:19.9907164Z creating: build/bin/CMakeFiles/ 2025-03-14T04:07:19.9907665Z inflating: build/bin/cmake_install.cmake 2025-03-14T04:07:19.9908144Z inflating: build/bin/CTestTestfile.cmake 2025-03-14T04:07:20.0265704Z inflating: build/bin/protoc-3.13.0.0 2025-03-14T04:07:20.0622409Z inflating: build/bin/protoc 2025-03-14T04:07:20.0672881Z inflating: build/bin/c10_TypeIndex_test 2025-03-14T04:07:20.0721102Z inflating: build/bin/c10_Synchronized_test 2025-03-14T04:07:20.0772055Z inflating: build/bin/c10_Metaprogramming_test 2025-03-14T04:07:20.0819229Z inflating: build/bin/c10_ConstexprCrc_test 2025-03-14T04:07:20.0868469Z inflating: build/bin/c10_ssize_test 2025-03-14T04:07:20.0921463Z inflating: build/bin/c10_LeftRight_test 2025-03-14T04:07:20.0968676Z inflating: build/bin/c10_DeadlockDetection_test 2025-03-14T04:07:20.1017061Z inflating: build/bin/c10_Half_test 2025-03-14T04:07:20.1068588Z inflating: build/bin/c10_ThreadLocal_test 2025-03-14T04:07:20.1118503Z inflating: build/bin/c10_NetworkFlow_test 2025-03-14T04:07:20.1190527Z inflating: build/bin/c10_optional_test 2025-03-14T04:07:20.1248163Z inflating: build/bin/c10_DispatchKeySet_test 2025-03-14T04:07:20.1294916Z inflating: build/bin/c10_StreamGuard_test 2025-03-14T04:07:20.1343198Z inflating: build/bin/c10_CompileTimeFunctionPointer_test 2025-03-14T04:07:20.1400978Z inflating: build/bin/c10_ordered_preserving_dict_test 2025-03-14T04:07:20.1448198Z inflating: build/bin/c10_TypeTraits_test 2025-03-14T04:07:20.1495890Z inflating: build/bin/c10_tempfile_test 2025-03-14T04:07:20.1545321Z inflating: build/bin/c10_Device_test 2025-03-14T04:07:20.1592583Z inflating: build/bin/c10_error_test 2025-03-14T04:07:20.1641436Z inflating: build/bin/c10_DeviceGuard_test 2025-03-14T04:07:20.1692539Z inflating: build/bin/c10_typeid_test 2025-03-14T04:07:20.1745619Z inflating: build/bin/c10_Scalar_test 2025-03-14T04:07:20.1809639Z inflating: build/bin/c10_cow_test 2025-03-14T04:07:20.1858310Z inflating: build/bin/c10_SymInt_test 2025-03-14T04:07:20.1908162Z inflating: build/bin/c10_Bitset_test 2025-03-14T04:07:20.1955773Z inflating: build/bin/c10_ArrayRef_test 2025-03-14T04:07:20.2008800Z inflating: build/bin/c10_SizesAndStrides_test 2025-03-14T04:07:20.2061052Z inflating: build/bin/c10_InlineStreamGuard_test 2025-03-14T04:07:20.2112038Z inflating: build/bin/c10_InlineDeviceGuard_test 2025-03-14T04:07:20.2160131Z inflating: build/bin/c10_TypeList_test 2025-03-14T04:07:20.2209891Z inflating: build/bin/c10_accumulate_test 2025-03-14T04:07:20.2256990Z inflating: build/bin/c10_string_view_test 2025-03-14T04:07:20.2304922Z inflating: build/bin/c10_bit_cast_test 2025-03-14T04:07:20.2355259Z inflating: build/bin/c10_exception_test 2025-03-14T04:07:20.2406777Z inflating: build/bin/c10_bfloat16_test 2025-03-14T04:07:20.2458359Z inflating: build/bin/c10_irange_test 2025-03-14T04:07:20.2510402Z inflating: build/bin/c10_complex_test 2025-03-14T04:07:20.2558707Z inflating: build/bin/c10_flags_test 2025-03-14T04:07:20.2606470Z inflating: build/bin/c10_generic_math_test 2025-03-14T04:07:20.2658810Z inflating: build/bin/c10_logging_test 2025-03-14T04:07:20.2713081Z inflating: build/bin/c10_complex_math_test 2025-03-14T04:07:20.2843537Z inflating: build/bin/c10_intrusive_ptr_test 2025-03-14T04:07:20.2893893Z inflating: build/bin/c10_registry_test 2025-03-14T04:07:20.3028245Z inflating: build/bin/c10_small_vector_test 2025-03-14T04:07:20.3079418Z inflating: build/bin/c10_lazy_test 2025-03-14T04:07:20.3128998Z inflating: build/bin/c10_string_util_test 2025-03-14T04:07:20.3167533Z inflating: build/bin/c10_intrusive_ptr_benchmark 2025-03-14T04:07:20.3571336Z inflating: build/bin/vec_test_all_types_AVX2 2025-03-14T04:07:20.3967476Z inflating: build/bin/vec_test_all_types_AVX512 2025-03-14T04:07:20.4360295Z inflating: build/bin/vec_test_all_types_DEFAULT 2025-03-14T04:07:20.4410457Z inflating: build/bin/HashStoreTest 2025-03-14T04:07:20.4461357Z inflating: build/bin/test_edge_op_registration 2025-03-14T04:07:20.4511608Z inflating: build/bin/FileStoreTest 2025-03-14T04:07:20.4563652Z inflating: build/bin/TCPStoreTest 2025-03-14T04:07:20.4610770Z inflating: build/bin/op_allowlist_test 2025-03-14T04:07:20.4662684Z inflating: build/bin/backend_fallback_test 2025-03-14T04:07:20.4755430Z inflating: build/bin/make_boxed_from_unboxed_functor_test 2025-03-14T04:07:20.4847460Z inflating: build/bin/kernel_function_test 2025-03-14T04:07:20.4907685Z inflating: build/bin/kernel_stackbased_test 2025-03-14T04:07:20.5030976Z inflating: build/bin/kernel_function_legacy_test 2025-03-14T04:07:20.5091793Z inflating: build/bin/KernelFunction_test 2025-03-14T04:07:20.5148579Z inflating: build/bin/IListRef_test 2025-03-14T04:07:20.5197585Z inflating: build/bin/xla_tensor_test 2025-03-14T04:07:20.5267521Z inflating: build/bin/legacy_vmap_test 2025-03-14T04:07:20.5325163Z inflating: build/bin/type_test 2025-03-14T04:07:20.5374895Z inflating: build/bin/type_ptr_test 2025-03-14T04:07:20.5452000Z inflating: build/bin/tensor_iterator_test 2025-03-14T04:07:20.5502322Z inflating: build/bin/stride_properties_test 2025-03-14T04:07:20.5554144Z inflating: build/bin/StorageUtils_test 2025-03-14T04:07:20.5609363Z inflating: build/bin/apply_utils_test 2025-03-14T04:07:20.5658606Z inflating: build/bin/weakref_test 2025-03-14T04:07:20.5711549Z inflating: build/bin/NamedTensor_test 2025-03-14T04:07:20.5766687Z inflating: build/bin/scalar_test 2025-03-14T04:07:20.5834207Z inflating: build/bin/Dict_test 2025-03-14T04:07:20.5894066Z inflating: build/bin/basic 2025-03-14T04:07:20.5945632Z inflating: build/bin/broadcast_test 2025-03-14T04:07:20.6000247Z inflating: build/bin/cpu_generator_test 2025-03-14T04:07:20.6062385Z inflating: build/bin/MaybeOwned_test 2025-03-14T04:07:20.6113901Z inflating: build/bin/test_parallel 2025-03-14T04:07:20.6164605Z inflating: build/bin/cpu_profiling_allocator_test 2025-03-14T04:07:20.6265612Z inflating: build/bin/kernel_lambda_test 2025-03-14T04:07:20.6316249Z inflating: build/bin/half_test 2025-03-14T04:07:20.6365909Z inflating: build/bin/static_runtime_bench 2025-03-14T04:07:20.6414457Z inflating: build/bin/cpu_allocator_test 2025-03-14T04:07:20.6696203Z inflating: build/bin/static_runtime_test 2025-03-14T04:07:20.6823378Z inflating: build/bin/kernel_lambda_legacy_test 2025-03-14T04:07:20.6825198Z inflating: build/bin/verify_api_visibility 2025-03-14T04:07:20.6874911Z inflating: build/bin/Dimname_test 2025-03-14T04:07:20.6963098Z inflating: build/bin/cpu_rng_test 2025-03-14T04:07:20.7019458Z inflating: build/bin/atest 2025-03-14T04:07:20.7069270Z inflating: build/bin/memory_overlapping_test 2025-03-14T04:07:20.7116969Z inflating: build/bin/dispatch_key_set_test 2025-03-14T04:07:20.7119267Z inflating: build/bin/thread_init_test 2025-03-14T04:07:20.7167695Z inflating: build/bin/operators_test 2025-03-14T04:07:20.7226555Z inflating: build/bin/inline_container_test 2025-03-14T04:07:20.7322417Z inflating: build/bin/List_test 2025-03-14T04:07:20.7370852Z inflating: build/bin/wrapdim_test 2025-03-14T04:07:20.7419144Z inflating: build/bin/dlconvertor_test 2025-03-14T04:07:20.7467822Z inflating: build/bin/operator_name_test 2025-03-14T04:07:20.7524142Z inflating: build/bin/extension_backend_test 2025-03-14T04:07:20.7575163Z inflating: build/bin/undefined_tensor_test 2025-03-14T04:07:20.7669107Z inflating: build/bin/ivalue_test 2025-03-14T04:07:20.7716510Z inflating: build/bin/lazy_tensor_test 2025-03-14T04:07:20.7767238Z inflating: build/bin/mobile_memory_cleanup 2025-03-14T04:07:20.7821335Z inflating: build/bin/scalar_tensor_test 2025-03-14T04:07:20.7868999Z inflating: build/bin/CppSignature_test 2025-03-14T04:07:20.7919288Z inflating: build/bin/math_kernel_test 2025-03-14T04:07:20.8228426Z inflating: build/bin/op_registration_test 2025-03-14T04:07:20.8278367Z inflating: build/bin/memory_format_test 2025-03-14T04:07:20.8332219Z inflating: build/bin/native_test 2025-03-14T04:07:20.8380136Z inflating: build/bin/reduce_ops_test 2025-03-14T04:07:20.8429706Z inflating: build/bin/packedtensoraccessor_test 2025-03-14T04:07:20.8496913Z inflating: build/bin/pow_test 2025-03-14T04:07:20.8550680Z inflating: build/bin/quantized_test 2025-03-14T04:07:20.8599102Z inflating: build/bin/reportMemoryUsage_test 2025-03-14T04:07:20.9589179Z inflating: build/bin/test_tensorexpr 2025-03-14T04:07:20.9604823Z inflating: build/bin/tutorial_tensorexpr 2025-03-14T04:07:20.9668618Z inflating: build/bin/ProcessGroupGlooTest 2025-03-14T04:07:20.9717704Z inflating: build/bin/BackoffTest 2025-03-14T04:07:20.9720537Z inflating: build/bin/example_allreduce 2025-03-14T04:07:21.0279873Z inflating: build/bin/test_jit 2025-03-14T04:07:21.0332672Z inflating: build/bin/test_dist_autograd 2025-03-14T04:07:21.0396743Z inflating: build/bin/test_cpp_rpc 2025-03-14T04:07:21.1659651Z inflating: build/bin/test_api 2025-03-14T04:07:21.1661806Z inflating: build/bin/parallel_benchmark 2025-03-14T04:07:21.1728467Z inflating: build/bin/test_mobile_nnc 2025-03-14T04:07:21.1737500Z inflating: build/bin/aot_model_compiler_test 2025-03-14T04:07:21.2048551Z inflating: build/bin/test_lazy 2025-03-14T04:07:21.2052451Z inflating: build/bin/torch_shm_manager 2025-03-14T04:07:21.2052832Z creating: .additional_ci_files/ 2025-03-14T04:07:21.2154615Z inflating: .additional_ci_files/test-times.json 2025-03-14T04:07:21.2556016Z inflating: .additional_ci_files/test-class-times.json 2025-03-14T04:07:21.2581423Z ##[group]Run rm artifacts.zip 2025-03-14T04:07:21.2581771Z rm artifacts.zip 2025-03-14T04:07:21.2587599Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T04:07:21.2588009Z env: 2025-03-14T04:07:21.2588256Z GIT_DEFAULT_BRANCH: main 2025-03-14T04:07:21.2588540Z ##[endgroup] 2025-03-14T04:07:21.3183062Z ##[group]Run df -H 2025-03-14T04:07:21.3183372Z df -H 2025-03-14T04:07:21.3189040Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T04:07:21.3189443Z env: 2025-03-14T04:07:21.3189680Z GIT_DEFAULT_BRANCH: main 2025-03-14T04:07:21.3189964Z ##[endgroup] 2025-03-14T04:07:21.3351816Z Filesystem Size Used Avail Use% Mounted on 2025-03-14T04:07:21.3352259Z devtmpfs 4.2M 0 4.2M 0% /dev 2025-03-14T04:07:21.3352624Z tmpfs 8.2G 0 8.2G 0% /dev/shm 2025-03-14T04:07:21.3352986Z tmpfs 3.3G 488k 3.3G 1% /run 2025-03-14T04:07:21.3353337Z /dev/nvme0n1p1 161G 25G 137G 16% / 2025-03-14T04:07:21.3354001Z tmpfs 8.2G 25k 8.2G 1% /tmp 2025-03-14T04:07:21.3354384Z /dev/nvme0n1p128 11M 1.4M 9.2M 13% /boot/efi 2025-03-14T04:07:21.3426345Z Prepare all required actions 2025-03-14T04:07:21.3426786Z Getting action download info 2025-03-14T04:07:21.4929143Z ##[group]Run ./.github/actions/download-td-artifacts 2025-03-14T04:07:21.4929728Z with: 2025-03-14T04:07:21.4930074Z env: 2025-03-14T04:07:21.4930436Z GIT_DEFAULT_BRANCH: main 2025-03-14T04:07:21.4930901Z ##[endgroup] 2025-03-14T04:07:21.5024130Z ##[group]Run seemethere/download-artifact-s3@v4 2025-03-14T04:07:21.5024509Z with: 2025-03-14T04:07:21.5024750Z name: td_results 2025-03-14T04:07:21.5025017Z s3-bucket: gha-artifacts 2025-03-14T04:07:21.5025311Z region: us-east-1 2025-03-14T04:07:21.5025575Z env: 2025-03-14T04:07:21.5025809Z GIT_DEFAULT_BRANCH: main 2025-03-14T04:07:21.5026088Z ##[endgroup] 2025-03-14T04:07:21.9669081Z (node:130065) NOTE: We are formalizing our plans to enter AWS SDK for JavaScript (v2) into maintenance mode in 2023. 2025-03-14T04:07:21.9669656Z 2025-03-14T04:07:21.9669926Z Please migrate your code to use AWS SDK for JavaScript (v3). 2025-03-14T04:07:21.9670491Z For more information, check the migration guide at https://a.co/7PzMCcy 2025-03-14T04:07:21.9671086Z (Use `node --trace-warnings ...` to show where the warning was created) 2025-03-14T04:07:22.1095763Z Found 1 objects with prefix pytorch/pytorch/13849515290/td_results/ 2025-03-14T04:07:22.1096903Z Starting download (1/1): /home/ec2-user/actions-runner/_work/pytorch/pytorch/td_results.json 2025-03-14T04:07:22.1758139Z Finished download (1/1): /home/ec2-user/actions-runner/_work/pytorch/pytorch/td_results.json 2025-03-14T04:07:22.1764337Z Artifact download has finished successfully 2025-03-14T04:07:22.2003042Z ##[group]Run mkdir -p .additional_ci_files 2025-03-14T04:07:22.2003453Z mkdir -p .additional_ci_files 2025-03-14T04:07:22.2003920Z mv td_results.json .additional_ci_files/td_results.json || true 2025-03-14T04:07:22.2009854Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T04:07:22.2010270Z env: 2025-03-14T04:07:22.2010528Z GIT_DEFAULT_BRANCH: main 2025-03-14T04:07:22.2010816Z ##[endgroup] 2025-03-14T04:07:22.2584583Z ##[group]Run .github/scripts/parse_ref.py 2025-03-14T04:07:22.2585000Z .github/scripts/parse_ref.py 2025-03-14T04:07:22.2590798Z shell: /usr/bin/bash -e {0} 2025-03-14T04:07:22.2591086Z env: 2025-03-14T04:07:22.2591326Z GIT_DEFAULT_BRANCH: main 2025-03-14T04:07:22.2591612Z ##[endgroup] 2025-03-14T04:07:22.3102314Z Prepare all required actions 2025-03-14T04:07:22.3103321Z Getting action download info 2025-03-14T04:07:22.4485400Z ##[group]Run ./.github/actions/filter-test-configs 2025-03-14T04:07:22.4485774Z with: 2025-03-14T04:07:22.4486239Z github-token: *** 2025-03-14T04:07:22.4488981Z test-matrix: {"include": [{"config": "default", "shard": 1, "num_shards": 5, "runner": "lf.linux.4xlarge"}, {"config": "default", "shard": 2, "num_shards": 5, "runner": "lf.linux.4xlarge"}, {"config": "default", "shard": 3, "num_shards": 5, "runner": "lf.linux.4xlarge"}, {"config": "default", "shard": 4, "num_shards": 5, "runner": "lf.linux.4xlarge"}, {"config": "default", "shard": 5, "num_shards": 5, "runner": "lf.linux.4xlarge"}, {"config": "crossref", "shard": 1, "num_shards": 2, "runner": "lf.linux.2xlarge"}, {"config": "crossref", "shard": 2, "num_shards": 2, "runner": "lf.linux.2xlarge"}, {"config": "dynamo_wrapped", "shard": 1, "num_shards": 3, "runner": "lf.linux.2xlarge"}, {"config": "dynamo_wrapped", "shard": 2, "num_shards": 3, "runner": "lf.linux.2xlarge"}, {"config": "dynamo_wrapped", "shard": 3, "num_shards": 3, "runner": "lf.linux.2xlarge"}]} 2025-03-14T04:07:22.4491924Z job-name: linux-focal-py3.13-clang10 / test (dynamo_wrapped, 1, 3, lf.linux.2xlarge) 2025-03-14T04:07:22.4492425Z env: 2025-03-14T04:07:22.4492664Z GIT_DEFAULT_BRANCH: main 2025-03-14T04:07:22.4492945Z ##[endgroup] 2025-03-14T04:07:22.4626126Z ##[group]Run nick-fields/retry@v3.0.0 2025-03-14T04:07:22.4626637Z with: 2025-03-14T04:07:22.4626855Z shell: bash 2025-03-14T04:07:22.4627102Z timeout_minutes: 10 2025-03-14T04:07:22.4627369Z max_attempts: 5 2025-03-14T04:07:22.4627632Z retry_wait_seconds: 30 2025-03-14T04:07:22.4628460Z command: set -eux # PyYAML 6.0 doesn't work with MacOS x86 anymore # This must run on Python-3.7 (AmazonLinux2) so can't use request=3.32.2 python3 -m pip install requests==2.27.1 pyyaml==6.0.1 2025-03-14T04:07:22.4629331Z polling_interval_seconds: 1 2025-03-14T04:07:22.4629651Z warning_on_retry: true 2025-03-14T04:07:22.4629936Z continue_on_error: false 2025-03-14T04:07:22.4630213Z env: 2025-03-14T04:07:22.4630448Z GIT_DEFAULT_BRANCH: main 2025-03-14T04:07:22.4631116Z GITHUB_TOKEN: *** 2025-03-14T04:07:22.4631377Z ##[endgroup] 2025-03-14T04:07:22.5662364Z + python3 -m pip install requests==2.27.1 pyyaml==6.0.1 2025-03-14T04:07:22.8039737Z Defaulting to user installation because normal site-packages is not writeable 2025-03-14T04:07:22.8201926Z Requirement already satisfied: requests==2.27.1 in /home/ec2-user/.local/lib/python3.9/site-packages (2.27.1) 2025-03-14T04:07:22.8206899Z Requirement already satisfied: pyyaml==6.0.1 in /home/ec2-user/.local/lib/python3.9/site-packages (6.0.1) 2025-03-14T04:07:22.8326060Z Requirement already satisfied: idna<4,>=2.5 in /usr/lib/python3.9/site-packages (from requests==2.27.1) (2.10) 2025-03-14T04:07:22.8334215Z Requirement already satisfied: charset-normalizer~=2.0.0 in /home/ec2-user/.local/lib/python3.9/site-packages (from requests==2.27.1) (2.0.12) 2025-03-14T04:07:22.8338153Z Requirement already satisfied: certifi>=2017.4.17 in /home/ec2-user/.local/lib/python3.9/site-packages (from requests==2.27.1) (2025.1.31) 2025-03-14T04:07:22.8343865Z Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/lib/python3.9/site-packages (from requests==2.27.1) (1.25.10) 2025-03-14T04:07:23.5394542Z Command completed after 1 attempt(s). 2025-03-14T04:07:23.5573935Z ##[group]Run set -x 2025-03-14T04:07:23.5574239Z set -x 2025-03-14T04:07:23.5574512Z  2025-03-14T04:07:23.5574922Z # Use relative path here as this could be checked out anywhere, not necessarily 2025-03-14T04:07:23.5575435Z # in runner workspace 2025-03-14T04:07:23.5575955Z python3 "${GITHUB_ACTION_PATH}/../../scripts/parse_ref.py" 2025-03-14T04:07:23.5582989Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T04:07:23.5583399Z env: 2025-03-14T04:07:23.5583647Z GIT_DEFAULT_BRANCH: main 2025-03-14T04:07:23.5584125Z ##[endgroup] 2025-03-14T04:07:23.5609251Z + python3 /home/ec2-user/actions-runner/_work/pytorch/pytorch/./.github/actions/filter-test-configs/../../scripts/parse_ref.py 2025-03-14T04:07:23.5973908Z ##[group]Run echo "Workflow: ${GITHUB_WORKFLOW}" 2025-03-14T04:07:23.5974775Z echo "Workflow: ${GITHUB_WORKFLOW}" 2025-03-14T04:07:23.5975168Z echo "Job name: ${JOB_NAME}" 2025-03-14T04:07:23.5975487Z  2025-03-14T04:07:23.5975963Z # Use relative path here as this could be checked out anywhere, not necessarily 2025-03-14T04:07:23.5976492Z # in runner workspace 2025-03-14T04:07:23.5976943Z python3 "${GITHUB_ACTION_PATH}/../../scripts/filter_test_configs.py" \ 2025-03-14T04:07:23.5977453Z  --workflow "${GITHUB_WORKFLOW}" \ 2025-03-14T04:07:23.5977812Z  --job-name "${JOB_NAME}" \ 2025-03-14T04:07:23.5980569Z  --test-matrix "{"include": [{"config": "default", "shard": 1, "num_shards": 5, "runner": "lf.linux.4xlarge"}, {"config": "default", "shard": 2, "num_shards": 5, "runner": "lf.linux.4xlarge"}, {"config": "default", "shard": 3, "num_shards": 5, "runner": "lf.linux.4xlarge"}, {"config": "default", "shard": 4, "num_shards": 5, "runner": "lf.linux.4xlarge"}, {"config": "default", "shard": 5, "num_shards": 5, "runner": "lf.linux.4xlarge"}, {"config": "crossref", "shard": 1, "num_shards": 2, "runner": "lf.linux.2xlarge"}, {"config": "crossref", "shard": 2, "num_shards": 2, "runner": "lf.linux.2xlarge"}, {"config": "dynamo_wrapped", "shard": 1, "num_shards": 3, "runner": "lf.linux.2xlarge"}, {"config": "dynamo_wrapped", "shard": 2, "num_shards": 3, "runner": "lf.linux.2xlarge"}, {"config": "dynamo_wrapped", "shard": 3, "num_shards": 3, "runner": "lf.linux.2xlarge"}]}" \ 2025-03-14T04:07:23.5983547Z  --selected-test-configs "" \ 2025-03-14T04:07:23.5983913Z  --pr-number "${PR_NUMBER}" \ 2025-03-14T04:07:23.5984253Z  --tag "${TAG}" \ 2025-03-14T04:07:23.5984575Z  --event-name "${EVENT_NAME}" \ 2025-03-14T04:07:23.5984921Z  --schedule "${SCHEDULE}" \ 2025-03-14T04:07:23.5985260Z  --branch "${HEAD_BRANCH}" 2025-03-14T04:07:23.5990941Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T04:07:23.5991347Z env: 2025-03-14T04:07:23.5991585Z GIT_DEFAULT_BRANCH: main 2025-03-14T04:07:23.5992087Z GITHUB_TOKEN: *** 2025-03-14T04:07:23.5992531Z JOB_NAME: linux-focal-py3.13-clang10 / test (dynamo_wrapped, 1, 3, lf.linux.2xlarge) 2025-03-14T04:07:23.5993052Z PR_NUMBER: 2025-03-14T04:07:23.5993295Z TAG: 2025-03-14T04:07:23.5993516Z EVENT_NAME: push 2025-03-14T04:07:23.5993769Z SCHEDULE: 2025-03-14T04:07:23.5994004Z HEAD_BRANCH: 2025-03-14T04:07:23.5994248Z ##[endgroup] 2025-03-14T04:07:23.6016729Z Workflow: pull 2025-03-14T04:07:23.6017176Z Job name: linux-focal-py3.13-clang10 / test (dynamo_wrapped, 1, 3, lf.linux.2xlarge) 2025-03-14T04:07:23.9349506Z ##[group]Run echo "Filtered matrix:" 2025-03-14T04:07:23.9349922Z echo "Filtered matrix:" 2025-03-14T04:07:23.9352647Z echo "{"include": [{"config": "default", "shard": 1, "num_shards": 5, "runner": "lf.linux.4xlarge"}, {"config": "default", "shard": 2, "num_shards": 5, "runner": "lf.linux.4xlarge"}, {"config": "default", "shard": 3, "num_shards": 5, "runner": "lf.linux.4xlarge"}, {"config": "default", "shard": 4, "num_shards": 5, "runner": "lf.linux.4xlarge"}, {"config": "default", "shard": 5, "num_shards": 5, "runner": "lf.linux.4xlarge"}, {"config": "crossref", "shard": 1, "num_shards": 2, "runner": "lf.linux.2xlarge"}, {"config": "crossref", "shard": 2, "num_shards": 2, "runner": "lf.linux.2xlarge"}, {"config": "dynamo_wrapped", "shard": 1, "num_shards": 3, "runner": "lf.linux.2xlarge"}, {"config": "dynamo_wrapped", "shard": 2, "num_shards": 3, "runner": "lf.linux.2xlarge"}, {"config": "dynamo_wrapped", "shard": 3, "num_shards": 3, "runner": "lf.linux.2xlarge"}]}" 2025-03-14T04:07:23.9355374Z  2025-03-14T04:07:23.9355608Z echo 2025-03-14T04:07:23.9356056Z echo "Is the current job unstable? False" 2025-03-14T04:07:23.9356422Z  2025-03-14T04:07:23.9356650Z echo 2025-03-14T04:07:23.9356933Z echo "Is keep-going label set? False" 2025-03-14T04:07:23.9357280Z  2025-03-14T04:07:23.9357508Z echo 2025-03-14T04:07:23.9357766Z echo "Renabled issues? " 2025-03-14T04:07:23.9363515Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T04:07:23.9363922Z env: 2025-03-14T04:07:23.9364180Z GIT_DEFAULT_BRANCH: main 2025-03-14T04:07:23.9364468Z ##[endgroup] 2025-03-14T04:07:23.9386907Z Filtered matrix: 2025-03-14T04:07:23.9391771Z {include: [{config: default, shard: 1, num_shards: 5, runner: lf.linux.4xlarge}, {config: default, shard: 2, num_shards: 5, runner: lf.linux.4xlarge}, {config: default, shard: 3, num_shards: 5, runner: lf.linux.4xlarge}, {config: default, shard: 4, num_shards: 5, runner: lf.linux.4xlarge}, {config: default, shard: 5, num_shards: 5, runner: lf.linux.4xlarge}, {config: crossref, shard: 1, num_shards: 2, runner: lf.linux.2xlarge}, {config: crossref, shard: 2, num_shards: 2, runner: lf.linux.2xlarge}, {config: dynamo_wrapped, shard: 1, num_shards: 3, runner: lf.linux.2xlarge}, {config: dynamo_wrapped, shard: 2, num_shards: 3, runner: lf.linux.2xlarge}, {config: dynamo_wrapped, shard: 3, num_shards: 3, runner: lf.linux.2xlarge}]} 2025-03-14T04:07:23.9396494Z 2025-03-14T04:07:23.9396721Z Is the current job unstable? False 2025-03-14T04:07:23.9398864Z 2025-03-14T04:07:23.9399067Z Is keep-going label set? False 2025-03-14T04:07:23.9399421Z 2025-03-14T04:07:23.9399593Z Renabled issues? 2025-03-14T04:07:23.9525234Z ##[group]Run echo "timeout=$((JOB_TIMEOUT-30))" >> "${GITHUB_OUTPUT}" 2025-03-14T04:07:23.9525786Z echo "timeout=$((JOB_TIMEOUT-30))" >> "${GITHUB_OUTPUT}" 2025-03-14T04:07:23.9531353Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T04:07:23.9531759Z env: 2025-03-14T04:07:23.9531997Z GIT_DEFAULT_BRANCH: main 2025-03-14T04:07:23.9532285Z JOB_TIMEOUT: 600 2025-03-14T04:07:23.9532521Z ##[endgroup] 2025-03-14T04:07:23.9652885Z ##[group]Run set -x 2025-03-14T04:07:23.9653258Z set -x 2025-03-14T04:07:23.9653509Z  2025-03-14T04:07:23.9653771Z if [[ $TEST_CONFIG == 'multigpu' ]]; then 2025-03-14T04:07:23.9654191Z  TEST_COMMAND=.ci/pytorch/multigpu-test.sh 2025-03-14T04:07:23.9654617Z elif [[ $BUILD_ENVIRONMENT == *onnx* ]]; then 2025-03-14T04:07:23.9655026Z  TEST_COMMAND=.ci/onnx/test.sh 2025-03-14T04:07:23.9655358Z else 2025-03-14T04:07:23.9655712Z  TEST_COMMAND=.ci/pytorch/test.sh 2025-03-14T04:07:23.9656051Z fi 2025-03-14T04:07:23.9656280Z  2025-03-14T04:07:23.9656564Z # Leaving 1GB for the runner and other things 2025-03-14T04:07:23.9657172Z TOTAL_AVAILABLE_MEMORY_IN_GB=$(awk '/MemTotal/ { printf "%.3f \n", $2/1024/1024 - 1 }' /proc/meminfo) 2025-03-14T04:07:23.9658102Z # https://docs.docker.com/engine/containers/resource_constraints/#--memory-swap-details, the 3GB swap 2025-03-14T04:07:23.9658842Z # comes from https://github.com/pytorch/test-infra/pull/6058 2025-03-14T04:07:23.9659405Z TOTAL_MEMORY_WITH_SWAP=$(("${TOTAL_AVAILABLE_MEMORY_IN_GB%.*}" + 3)) 2025-03-14T04:07:23.9659854Z  2025-03-14T04:07:23.9660149Z if [[ ${BUILD_ENVIRONMENT} == *"s390x"* ]]; then 2025-03-14T04:07:23.9660521Z  SHM_OPTS= 2025-03-14T04:07:23.9660796Z  JENKINS_USER= 2025-03-14T04:07:23.9661171Z  # ensure that docker container cleanly exits in 12 hours 2025-03-14T04:07:23.9661660Z  # if for some reason cleanup action doesn't stop container 2025-03-14T04:07:23.9662085Z  # when job is cancelled 2025-03-14T04:07:23.9662417Z  DOCKER_SHELL_CMD="sleep 12h" 2025-03-14T04:07:23.9662737Z  2025-03-14T04:07:23.9663124Z  # since some steps are skipped on s390x, if they are necessary, run them here 2025-03-14T04:07:23.9663692Z  env | grep '^GITHUB' >> "/tmp/github_env_${GITHUB_RUN_ID}" 2025-03-14T04:07:23.9664161Z  env | grep '^CI' >> "/tmp/github_env_${GITHUB_RUN_ID}" 2025-03-14T04:07:23.9664541Z else 2025-03-14T04:07:23.9664814Z  SHM_OPTS="--shm-size=${SHM_SIZE}" 2025-03-14T04:07:23.9665182Z  JENKINS_USER="--user jenkins" 2025-03-14T04:07:23.9665516Z  DOCKER_SHELL_CMD= 2025-03-14T04:07:23.9665800Z fi 2025-03-14T04:07:23.9666029Z  2025-03-14T04:07:23.9666387Z # detached container should get cleaned up by teardown_ec2_linux 2025-03-14T04:07:23.9666949Z # TODO: Stop building test binaries as part of the build phase 2025-03-14T04:07:23.9667594Z # Used for GPU_FLAG, SHM_OPTS, JENKINS_USER and DOCKER_SHELL_CMD since that doesn't play nice 2025-03-14T04:07:23.9668154Z # shellcheck disable=SC2086,SC2090 2025-03-14T04:07:23.9668517Z container_name=$(docker run \ 2025-03-14T04:07:23.9668847Z  ${GPU_FLAG:-} \ 2025-03-14T04:07:23.9669180Z  ${SCCACHE_SERVER_PORT_DOCKER_FLAG:-} \ 2025-03-14T04:07:23.9669549Z  -e BUILD_ENVIRONMENT \ 2025-03-14T04:07:23.9669879Z  -e PR_NUMBER \ 2025-03-14T04:07:23.9670176Z  -e GITHUB_ACTIONS \ 2025-03-14T04:07:23.9670479Z  -e GITHUB_REPOSITORY \ 2025-03-14T04:07:23.9670808Z  -e GITHUB_WORKFLOW \ 2025-03-14T04:07:23.9671121Z  -e GITHUB_JOB \ 2025-03-14T04:07:23.9671565Z  -e GITHUB_RUN_ID \ 2025-03-14T04:07:23.9671868Z  -e GITHUB_RUN_NUMBER \ 2025-03-14T04:07:23.9672191Z  -e GITHUB_RUN_ATTEMPT \ 2025-03-14T04:07:23.9672506Z  -e JOB_ID \ 2025-03-14T04:07:23.9672783Z  -e JOB_NAME \ 2025-03-14T04:07:23.9673068Z  -e BASE_SHA \ 2025-03-14T04:07:23.9673343Z  -e BRANCH \ 2025-03-14T04:07:23.9673615Z  -e SHA1 \ 2025-03-14T04:07:23.9673892Z  -e AWS_DEFAULT_REGION \ 2025-03-14T04:07:23.9674308Z  -e IN_WHEEL_TEST \ 2025-03-14T04:07:23.9674616Z  -e SHARD_NUMBER \ 2025-03-14T04:07:23.9674922Z  -e TEST_CONFIG \ 2025-03-14T04:07:23.9675228Z  -e NUM_TEST_SHARDS \ 2025-03-14T04:07:23.9675547Z  -e REENABLED_ISSUES \ 2025-03-14T04:07:23.9675879Z  -e CONTINUE_THROUGH_ERROR \ 2025-03-14T04:07:23.9676210Z  -e VERBOSE_TEST_LOGS \ 2025-03-14T04:07:23.9676538Z  -e TEST_SHOWLOCALS \ 2025-03-14T04:07:23.9676853Z  -e NO_TEST_TIMEOUT \ 2025-03-14T04:07:23.9677152Z  -e NO_TD \ 2025-03-14T04:07:23.9677435Z  -e TD_DISTRIBUTED \ 2025-03-14T04:07:23.9677740Z  -e PR_LABELS \ 2025-03-14T04:07:23.9678061Z  -e MAX_JOBS="$(nproc --ignore=2)" \ 2025-03-14T04:07:23.9678419Z  -e SCCACHE_BUCKET \ 2025-03-14T04:07:23.9678731Z  -e SCCACHE_REGION \ 2025-03-14T04:07:23.9679029Z  -e XLA_CUDA \ 2025-03-14T04:07:23.9679345Z  -e XLA_CLANG_CACHE_S3_BUCKET_NAME \ 2025-03-14T04:07:23.9679734Z  -e PYTORCH_TEST_CUDA_MEM_LEAK_CHECK \ 2025-03-14T04:07:23.9680135Z  -e PYTORCH_TEST_RERUN_DISABLED_TESTS \ 2025-03-14T04:07:23.9680525Z  -e SKIP_SCCACHE_INITIALIZATION=1 \ 2025-03-14T04:07:23.9680898Z  -e HUGGING_FACE_HUB_TOKEN \ 2025-03-14T04:07:23.9681253Z  -e SCRIBE_GRAPHQL_ACCESS_TOKEN \ 2025-03-14T04:07:23.9681603Z  -e DASHBOARD_TAG \ 2025-03-14T04:07:23.9681911Z  -e IS_A100_RUNNER \ 2025-03-14T04:07:23.9682225Z  -e ARTIFACTS_FILE_SUFFIX \ 2025-03-14T04:07:23.9682614Z  --memory="${TOTAL_AVAILABLE_MEMORY_IN_GB%.*}g" \ 2025-03-14T04:07:23.9683048Z  --memory-swap="${TOTAL_MEMORY_WITH_SWAP}g" \ 2025-03-14T04:07:23.9683489Z  --env-file="/tmp/github_env_${GITHUB_RUN_ID}" \ 2025-03-14T04:07:23.9683911Z  --security-opt seccomp=unconfined \ 2025-03-14T04:07:23.9684285Z  --cap-add=SYS_PTRACE \ 2025-03-14T04:07:23.9684609Z  --ipc=host \ 2025-03-14T04:07:23.9684899Z  ${SHM_OPTS} \ 2025-03-14T04:07:23.9685176Z  --tty \ 2025-03-14T04:07:23.9685435Z  --detach \ 2025-03-14T04:07:23.9685728Z  --name="${container_name}" \ 2025-03-14T04:07:23.9686063Z  ${JENKINS_USER} \ 2025-03-14T04:07:23.9686437Z  -v "${GITHUB_WORKSPACE}:/var/lib/jenkins/workspace" \ 2025-03-14T04:07:23.9686870Z  -w /var/lib/jenkins/workspace \ 2025-03-14T04:07:23.9687216Z  "${DOCKER_IMAGE}" \ 2025-03-14T04:07:23.9687522Z  ${DOCKER_SHELL_CMD} 2025-03-14T04:07:23.9687809Z ) 2025-03-14T04:07:23.9688119Z # Propagate download.pytorch.org IP to container 2025-03-14T04:07:23.9688822Z grep download.pytorch.org /etc/hosts | docker exec -i "${container_name}" sudo bash -c "/bin/cat >> /etc/hosts" 2025-03-14T04:07:23.9689570Z echo "DOCKER_CONTAINER_ID=${container_name}" >> "${GITHUB_ENV}" 2025-03-14T04:07:23.9690012Z  2025-03-14T04:07:23.9690300Z if [[ ${BUILD_ENVIRONMENT} == *"s390x"* ]]; then 2025-03-14T04:07:23.9690909Z  docker exec -t "${container_name}" sh -c "python3 -m pip install -r .ci/docker/requirements-ci.txt" 2025-03-14T04:07:23.9691454Z fi 2025-03-14T04:07:23.9691684Z  2025-03-14T04:07:23.9692200Z docker exec -t "${container_name}" sh -c "python3 -m pip install $(echo dist/*.whl)[opt-einsum] && ${TEST_COMMAND}" 2025-03-14T04:07:23.9698344Z shell: /usr/bin/bash -e {0} 2025-03-14T04:07:23.9698644Z env: 2025-03-14T04:07:23.9698878Z GIT_DEFAULT_BRANCH: main 2025-03-14T04:07:23.9699213Z BUILD_ENVIRONMENT: linux-focal-py3.13-clang10 2025-03-14T04:07:23.9699560Z PR_NUMBER: 2025-03-14T04:07:23.9699822Z GITHUB_REPOSITORY: pytorch/pytorch 2025-03-14T04:07:23.9700153Z GITHUB_WORKFLOW: pull 2025-03-14T04:07:23.9700423Z GITHUB_JOB: test 2025-03-14T04:07:23.9700680Z GITHUB_RUN_ID: 13849515290 2025-03-14T04:07:23.9700976Z GITHUB_RUN_NUMBER: 299021 2025-03-14T04:07:23.9701387Z GITHUB_RUN_ATTEMPT: 1 2025-03-14T04:07:23.9701658Z JOB_ID: 38754600544 2025-03-14T04:07:23.9702097Z JOB_NAME: linux-focal-py3.13-clang10 / test (dynamo_wrapped, 1, 3, lf.linux.2xlarge) 2025-03-14T04:07:23.9702595Z BRANCH: main 2025-03-14T04:07:23.9702876Z SHA1: aed0b7a742a2d7b7901790622829cbd2135049a4 2025-03-14T04:07:23.9703267Z BASE_SHA: aed0b7a742a2d7b7901790622829cbd2135049a4 2025-03-14T04:07:23.9703640Z TEST_CONFIG: dynamo_wrapped 2025-03-14T04:07:23.9703931Z SHARD_NUMBER: 1 2025-03-14T04:07:23.9704180Z NUM_TEST_SHARDS: 3 2025-03-14T04:07:23.9704442Z REENABLED_ISSUES: 2025-03-14T04:07:23.9704716Z CONTINUE_THROUGH_ERROR: False 2025-03-14T04:07:23.9705010Z VERBOSE_TEST_LOGS: False 2025-03-14T04:07:23.9705304Z TEST_SHOWLOCALS: False 2025-03-14T04:07:23.9705594Z NO_TEST_TIMEOUT: False 2025-03-14T04:07:23.9705940Z NO_TD: False 2025-03-14T04:07:23.9706189Z TD_DISTRIBUTED: False 2025-03-14T04:07:23.9706526Z SCCACHE_BUCKET: ossci-compiler-cache-circleci-v2 2025-03-14T04:07:23.9706916Z SCCACHE_REGION: us-east-1 2025-03-14T04:07:23.9707196Z SHM_SIZE: 1g 2025-03-14T04:07:23.9707877Z DOCKER_IMAGE: 308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-focal-py3.13-clang10:aa89d6e739080d90fa18625d57297c6734465849 2025-03-14T04:07:23.9708623Z XLA_CUDA: 2025-03-14T04:07:23.9709004Z XLA_CLANG_CACHE_S3_BUCKET_NAME: ossci-compiler-clang-cache-circleci-xla 2025-03-14T04:07:23.9709495Z PYTORCH_TEST_CUDA_MEM_LEAK_CHECK: 0 2025-03-14T04:07:23.9709835Z PYTORCH_TEST_RERUN_DISABLED_TESTS: 0 2025-03-14T04:07:23.9710159Z DASHBOARD_TAG: 2025-03-14T04:07:23.9710612Z HUGGING_FACE_HUB_TOKEN: *** 2025-03-14T04:07:23.9711058Z SCRIBE_GRAPHQL_ACCESS_TOKEN: *** 2025-03-14T04:07:23.9711375Z IS_A100_RUNNER: 0 2025-03-14T04:07:23.9711788Z ARTIFACTS_FILE_SUFFIX: test-dynamo_wrapped-1-3-lf.linux.2xlarge_38754600544 2025-03-14T04:07:23.9712270Z ##[endgroup] 2025-03-14T04:07:23.9734043Z + [[ dynamo_wrapped == \m\u\l\t\i\g\p\u ]] 2025-03-14T04:07:23.9734432Z + [[ linux-focal-py3.13-clang10 == *onnx* ]] 2025-03-14T04:07:23.9734792Z + TEST_COMMAND=.ci/pytorch/test.sh 2025-03-14T04:07:23.9737410Z ++ awk '/MemTotal/ { printf "%.3f \n", $2/1024/1024 - 1 }' /proc/meminfo 2025-03-14T04:07:23.9913068Z + TOTAL_AVAILABLE_MEMORY_IN_GB='14.244 ' 2025-03-14T04:07:23.9913490Z + TOTAL_MEMORY_WITH_SWAP=17 2025-03-14T04:07:23.9913967Z + [[ linux-focal-py3.13-clang10 == *\s\3\9\0\x* ]] 2025-03-14T04:07:23.9914360Z + SHM_OPTS=--shm-size=1g 2025-03-14T04:07:23.9914655Z + JENKINS_USER='--user jenkins' 2025-03-14T04:07:23.9914960Z + DOCKER_SHELL_CMD= 2025-03-14T04:07:23.9922334Z +++ nproc --ignore=2 2025-03-14T04:07:23.9990615Z ++ docker run -e BUILD_ENVIRONMENT -e PR_NUMBER -e GITHUB_ACTIONS -e GITHUB_REPOSITORY -e GITHUB_WORKFLOW -e GITHUB_JOB -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RUN_ATTEMPT -e JOB_ID -e JOB_NAME -e BASE_SHA -e BRANCH -e SHA1 -e AWS_DEFAULT_REGION -e IN_WHEEL_TEST -e SHARD_NUMBER -e TEST_CONFIG -e NUM_TEST_SHARDS -e REENABLED_ISSUES -e CONTINUE_THROUGH_ERROR -e VERBOSE_TEST_LOGS -e TEST_SHOWLOCALS -e NO_TEST_TIMEOUT -e NO_TD -e TD_DISTRIBUTED -e PR_LABELS -e MAX_JOBS=6 -e SCCACHE_BUCKET -e SCCACHE_REGION -e XLA_CUDA -e XLA_CLANG_CACHE_S3_BUCKET_NAME -e PYTORCH_TEST_CUDA_MEM_LEAK_CHECK -e PYTORCH_TEST_RERUN_DISABLED_TESTS -e SKIP_SCCACHE_INITIALIZATION=1 -e HUGGING_FACE_HUB_TOKEN -e SCRIBE_GRAPHQL_ACCESS_TOKEN -e DASHBOARD_TAG -e IS_A100_RUNNER -e ARTIFACTS_FILE_SUFFIX --memory=14g --memory-swap=17g --env-file=/tmp/github_env_13849515290 --security-opt seccomp=unconfined --cap-add=SYS_PTRACE --ipc=host --shm-size=1g --tty --detach --name= --user jenkins -v /home/ec2-user/actions-runner/_work/pytorch/pytorch:/var/lib/jenkins/workspace -w /var/lib/jenkins/workspace 308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-focal-py3.13-clang10:aa89d6e739080d90fa18625d57297c6734465849 2025-03-14T04:07:32.0988050Z + container_name=7050659e24a93ef76815bc43b96964165e9001a9eee2b0060d56f8d483e87007 2025-03-14T04:07:32.0993151Z + grep download.pytorch.org /etc/hosts 2025-03-14T04:07:32.0994022Z + docker exec -i 7050659e24a93ef76815bc43b96964165e9001a9eee2b0060d56f8d483e87007 sudo bash -c '/bin/cat >> /etc/hosts' 2025-03-14T04:07:32.2018976Z + echo DOCKER_CONTAINER_ID=7050659e24a93ef76815bc43b96964165e9001a9eee2b0060d56f8d483e87007 2025-03-14T04:07:32.2019614Z + [[ linux-focal-py3.13-clang10 == *\s\3\9\0\x* ]] 2025-03-14T04:07:32.2031244Z ++ echo dist/torch-2.8.0a0+gitaed0b7a-cp313-cp313-linux_x86_64.whl 2025-03-14T04:07:32.2032596Z + docker exec -t 7050659e24a93ef76815bc43b96964165e9001a9eee2b0060d56f8d483e87007 sh -c 'python3 -m pip install dist/torch-2.8.0a0+gitaed0b7a-cp313-cp313-linux_x86_64.whl[opt-einsum] && .ci/pytorch/test.sh' 2025-03-14T04:07:32.8386296Z Processing ./dist/torch-2.8.0a0+gitaed0b7a-cp313-cp313-linux_x86_64.whl (from torch==2.8.0a0+gitaed0b7a) 2025-03-14T04:07:33.2674576Z Requirement already satisfied: filelock in /opt/conda/envs/py_3.13/lib/python3.13/site-packages (from torch==2.8.0a0+gitaed0b7a->torch==2.8.0a0+gitaed0b7a) (3.16.1) 2025-03-14T04:07:33.2678059Z Requirement already satisfied: typing-extensions>=4.10.0 in /opt/conda/envs/py_3.13/lib/python3.13/site-packages (from torch==2.8.0a0+gitaed0b7a->torch==2.8.0a0+gitaed0b7a) (4.12.2) 2025-03-14T04:07:33.2689370Z Requirement already satisfied: setuptools in /opt/conda/envs/py_3.13/lib/python3.13/site-packages (from torch==2.8.0a0+gitaed0b7a->torch==2.8.0a0+gitaed0b7a) (75.8.0) 2025-03-14T04:07:33.2693381Z Requirement already satisfied: sympy>=1.13.3 in /opt/conda/envs/py_3.13/lib/python3.13/site-packages (from torch==2.8.0a0+gitaed0b7a->torch==2.8.0a0+gitaed0b7a) (1.13.3) 2025-03-14T04:07:33.2696846Z Requirement already satisfied: networkx in /opt/conda/envs/py_3.13/lib/python3.13/site-packages (from torch==2.8.0a0+gitaed0b7a->torch==2.8.0a0+gitaed0b7a) (2.8.8) 2025-03-14T04:07:33.2700364Z Requirement already satisfied: jinja2 in /opt/conda/envs/py_3.13/lib/python3.13/site-packages (from torch==2.8.0a0+gitaed0b7a->torch==2.8.0a0+gitaed0b7a) (3.1.6) 2025-03-14T04:07:33.2703682Z Requirement already satisfied: fsspec in /opt/conda/envs/py_3.13/lib/python3.13/site-packages (from torch==2.8.0a0+gitaed0b7a->torch==2.8.0a0+gitaed0b7a) (2024.10.0) 2025-03-14T04:07:33.2721758Z Requirement already satisfied: opt-einsum>=3.3 in /opt/conda/envs/py_3.13/lib/python3.13/site-packages (from torch==2.8.0a0+gitaed0b7a->torch==2.8.0a0+gitaed0b7a) (3.3.0) 2025-03-14T04:07:33.2742716Z Requirement already satisfied: numpy>=1.7 in /opt/conda/envs/py_3.13/lib/python3.13/site-packages (from opt-einsum>=3.3->torch==2.8.0a0+gitaed0b7a->torch==2.8.0a0+gitaed0b7a) (2.1.2) 2025-03-14T04:07:33.2763592Z Requirement already satisfied: mpmath<1.4,>=1.1.0 in /opt/conda/envs/py_3.13/lib/python3.13/site-packages (from sympy>=1.13.3->torch==2.8.0a0+gitaed0b7a->torch==2.8.0a0+gitaed0b7a) (1.3.0) 2025-03-14T04:07:33.2881459Z Requirement already satisfied: MarkupSafe>=2.0 in /opt/conda/envs/py_3.13/lib/python3.13/site-packages (from jinja2->torch==2.8.0a0+gitaed0b7a->torch==2.8.0a0+gitaed0b7a) (3.0.2) 2025-03-14T04:07:33.5373697Z Installing collected packages: torch 2025-03-14T04:07:43.5644413Z Successfully installed torch-2.8.0a0+gitaed0b7a 2025-03-14T04:07:43.6808095Z + export TERM=vt100 2025-03-14T04:07:43.6808407Z + TERM=vt100 2025-03-14T04:07:43.6809596Z ++ dirname .ci/pytorch/test.sh 2025-03-14T04:07:43.6816791Z + source .ci/pytorch/common.sh 2025-03-14T04:07:43.6825666Z +++ dirname .ci/pytorch/common.sh 2025-03-14T04:07:43.6831712Z ++ source .ci/pytorch/common_utils.sh 2025-03-14T04:07:43.6839618Z +++ declare -f -t trap_add 2025-03-14T04:07:43.6845469Z ++ set -ex -o pipefail 2025-03-14T04:07:43.6846312Z ++ [[ linux-focal-py3.13-clang10 == *rocm* ]] 2025-03-14T04:07:43.6846765Z ++ BUILD_TEST_LIBTORCH=0 2025-03-14T04:07:43.6847147Z + [[ linux-focal-py3.13-clang10 != *rocm* ]] 2025-03-14T04:07:43.6847569Z + [[ linux-focal-py3.13-clang10 != *s390x* ]] 2025-03-14T04:07:43.6847937Z + [[ -d /var/lib/jenkins/workspace ]] 2025-03-14T04:07:43.6849963Z ++ stat -c %u /var/lib/jenkins/workspace 2025-03-14T04:07:43.6860987Z + WORKSPACE_ORIGINAL_OWNER_ID=1000 2025-03-14T04:07:43.6861363Z + trap_add cleanup_workspace EXIT 2025-03-14T04:07:43.6861697Z + trap_add_cmd=cleanup_workspace 2025-03-14T04:07:43.6862001Z + shift 2025-03-14T04:07:43.6862240Z + for trap_add_name in "$@" 2025-03-14T04:07:43.6867621Z +++ trap -p EXIT 2025-03-14T04:07:43.6870050Z ++ eval 'extract_trap_cmd ' 2025-03-14T04:07:43.6870431Z +++ extract_trap_cmd 2025-03-14T04:07:43.6870781Z +++ printf '%s\n' '' 2025-03-14T04:07:43.6871069Z ++ printf '%s\n' cleanup_workspace 2025-03-14T04:07:43.6872852Z + trap -- ' 2025-03-14T04:07:43.6873116Z cleanup_workspace' EXIT 2025-03-14T04:07:43.6873443Z + sudo chown -R jenkins /var/lib/jenkins/workspace 2025-03-14T04:07:44.1867761Z + git config --global --add safe.directory /var/lib/jenkins/workspace 2025-03-14T04:07:44.1882693Z + echo 'Environment variables:' 2025-03-14T04:07:44.1883087Z Environment variables: 2025-03-14T04:07:44.1883358Z + env 2025-03-14T04:07:44.1890412Z INSTALLED_DB=yes 2025-03-14T04:07:44.1891117Z GITHUB_WORKSPACE=/home/ec2-user/actions-runner/_work/pytorch/pytorch 2025-03-14T04:07:44.1891675Z CONTINUE_THROUGH_ERROR=False 2025-03-14T04:07:44.1892184Z BUILD_ENVIRONMENT=linux-focal-py3.13-clang10 2025-03-14T04:07:44.1892669Z HOSTNAME=7050659e24a9 2025-03-14T04:07:44.1893331Z GITHUB_PATH=/home/ec2-user/actions-runner/_work/_temp/_runner_file_commands/add_path_50be0354-a767-4c16-a12f-c9954868f757 2025-03-14T04:07:44.1893993Z GITHUB_ACTION=__self 2025-03-14T04:07:44.1894302Z PYTORCH_TEST_CUDA_MEM_LEAK_CHECK=0 2025-03-14T04:07:44.1894630Z GITHUB_RUN_NUMBER=299021 2025-03-14T04:07:44.1894931Z TEST_CONFIG=dynamo_wrapped 2025-03-14T04:07:44.1895239Z GITHUB_REPOSITORY_OWNER_ID=21003710 2025-03-14T04:07:44.1895727Z TORCH_NVCC_FLAGS=-Xfatbin -compress-all 2025-03-14T04:07:44.1896137Z IS_A100_RUNNER=0 2025-03-14T04:07:44.1896658Z SCRIBE_GRAPHQL_ACCESS_TOKEN=*** 2025-03-14T04:07:44.1897045Z GITHUB_TRIGGERING_ACTOR=pytorchmergebot 2025-03-14T04:07:44.1897390Z GITHUB_REF_TYPE=branch 2025-03-14T04:07:44.1897689Z TORCH_CUDA_ARCH_LIST=Maxwell 2025-03-14T04:07:44.1898198Z BASE_SHA=aed0b7a742a2d7b7901790622829cbd2135049a4 2025-03-14T04:07:44.1898557Z XLA_CUDA= 2025-03-14T04:07:44.1898945Z HUGGING_FACE_HUB_TOKEN=*** 2025-03-14T04:07:44.1900753Z *** 2025-03-14T04:07:44.1901043Z GITHUB_REPOSITORY_ID=65600975 2025-03-14T04:07:44.1901357Z GITHUB_ACTIONS=true 2025-03-14T04:07:44.1901660Z SHA1=aed0b7a742a2d7b7901790622829cbd2135049a4 2025-03-14T04:07:44.1902083Z GITHUB_SHA=aed0b7a742a2d7b7901790622829cbd2135049a4 2025-03-14T04:07:44.1902629Z GITHUB_WORKFLOW_REF=pytorch/pytorch/.github/workflows/pull.yml@refs/heads/main 2025-03-14T04:07:44.1903127Z UCC_HOME=/usr 2025-03-14T04:07:44.1903379Z VERBOSE_TEST_LOGS=False 2025-03-14T04:07:44.1903664Z GITHUB_REF=refs/heads/main 2025-03-14T04:07:44.1903950Z SHARD_NUMBER=1 2025-03-14T04:07:44.1904208Z GITHUB_REF_PROTECTED=true 2025-03-14T04:07:44.1904497Z HOME=/var/lib/jenkins 2025-03-14T04:07:44.1904803Z GITHUB_API_URL=https://api.github.com 2025-03-14T04:07:44.1905167Z PYTORCH_TEST_RERUN_DISABLED_TESTS=0 2025-03-14T04:07:44.1905492Z UCX_COMMIT= 2025-03-14T04:07:44.1905727Z NUM_TEST_SHARDS=3 2025-03-14T04:07:44.1905976Z UCX_HOME=/usr 2025-03-14T04:07:44.1906554Z GITHUB_STATE=/home/ec2-user/actions-runner/_work/_temp/_runner_file_commands/save_state_50be0354-a767-4c16-a12f-c9954868f757 2025-03-14T04:07:44.1907399Z JOB_NAME=linux-focal-py3.13-clang10 / test (dynamo_wrapped, 1, 3, lf.linux.2xlarge) 2025-03-14T04:07:44.1908480Z GITHUB_ENV=/home/ec2-user/actions-runner/_work/_temp/_runner_file_commands/set_env_50be0354-a767-4c16-a12f-c9954868f757 2025-03-14T04:07:44.1909322Z GITHUB_EVENT_PATH=/home/ec2-user/actions-runner/_work/_temp/_github_workflow/event.json 2025-03-14T04:07:44.1909852Z GITHUB_EVENT_NAME=push 2025-03-14T04:07:44.1910121Z DASHBOARD_TAG= 2025-03-14T04:07:44.1910373Z GITHUB_RUN_ID=13849515290 2025-03-14T04:07:44.1911041Z GITHUB_STEP_SUMMARY=/home/ec2-user/actions-runner/_work/_temp/_runner_file_commands/step_summary_50be0354-a767-4c16-a12f-c9954868f757 2025-03-14T04:07:44.1911861Z GITHUB_ACTOR=pytorchmergebot 2025-03-14T04:07:44.1912160Z PR_NUMBER= 2025-03-14T04:07:44.1912392Z DESIRED_CUDA= 2025-03-14T04:07:44.1912640Z GITHUB_RUN_ATTEMPT=1 2025-03-14T04:07:44.1912920Z ANACONDA_PYTHON_VERSION=3.13 2025-03-14T04:07:44.1913284Z GITHUB_GRAPHQL_URL=https://api.github.com/graphql 2025-03-14T04:07:44.1913660Z TERM=vt100 2025-03-14T04:07:44.1913898Z INSTALLED_VISION=yes 2025-03-14T04:07:44.1914157Z BRANCH=main 2025-03-14T04:07:44.1914407Z SCCACHE_REGION=us-east-1 2025-03-14T04:07:44.1914703Z OPENSSL_ROOT_DIR=/opt/openssl 2025-03-14T04:07:44.1915032Z CUDA_PATH=/usr/local/cuda 2025-03-14T04:07:44.1915581Z GITHUB_ACTION_PATH=/home/ec2-user/actions-runner/_work/pytorch/pytorch/./.github/actions/setup-linux 2025-03-14T04:07:44.1916186Z GITHUB_SERVER_URL=https://github.com 2025-03-14T04:07:44.1916496Z UCC_COMMIT= 2025-03-14T04:07:44.1916730Z REENABLED_ISSUES= 2025-03-14T04:07:44.1916978Z DOCS= 2025-03-14T04:07:44.1917190Z SHLVL=1 2025-03-14T04:07:44.1917411Z MAX_JOBS=6 2025-03-14T04:07:44.1917650Z GITHUB_ACTOR_ID=97764156 2025-03-14T04:07:44.1918020Z GITHUB_WORKFLOW_SHA=aed0b7a742a2d7b7901790622829cbd2135049a4 2025-03-14T04:07:44.1918428Z GITHUB_REF_NAME=main 2025-03-14T04:07:44.1918832Z XLA_CLANG_CACHE_S3_BUCKET_NAME=ossci-compiler-clang-cache-circleci-xla 2025-03-14T04:07:44.1919291Z GITHUB_JOB=test 2025-03-14T04:07:44.1919544Z NO_TEST_TIMEOUT=False 2025-03-14T04:07:44.1919815Z TD_DISTRIBUTED=False 2025-03-14T04:07:44.1920102Z GITHUB_REPOSITORY=pytorch/pytorch 2025-03-14T04:07:44.1920429Z GITHUB_RETENTION_DAYS=90 2025-03-14T04:07:44.1920705Z OPENSSL_DIR=/opt/openssl 2025-03-14T04:07:44.1920997Z GITHUB_ACTION_REPOSITORY= 2025-03-14T04:07:44.1921804Z PATH=/opt/cache/bin:/usr/local/nvidia/bin:/usr/local/cuda/bin:/opt/conda/envs/py_3.13/bin:/opt/conda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 2025-03-14T04:07:44.1922633Z GITHUB_BASE_REF= 2025-03-14T04:07:44.1922886Z INSTALLED_ACL= 2025-03-14T04:07:44.1923290Z ARTIFACTS_FILE_SUFFIX=test-dynamo_wrapped-1-3-lf.linux.2xlarge_38754600544 2025-03-14T04:07:44.1923764Z CI=true 2025-03-14T04:07:44.1924007Z GITHUB_REPOSITORY_OWNER=pytorch 2025-03-14T04:07:44.1924311Z JOB_ID=38754600544 2025-03-14T04:07:44.1924569Z INSTALLED_PROTOBUF=yes 2025-03-14T04:07:44.1924843Z GITHUB_HEAD_REF= 2025-03-14T04:07:44.1925092Z GITHUB_ACTION_REF= 2025-03-14T04:07:44.1925406Z SCCACHE_BUCKET=ossci-compiler-cache-circleci-v2 2025-03-14T04:07:44.1925781Z TEST_SHOWLOCALS=False 2025-03-14T04:07:44.1926057Z GITHUB_WORKFLOW=pull 2025-03-14T04:07:44.1926339Z DEBIAN_FRONTEND=noninteractive 2025-03-14T04:07:44.1926993Z GITHUB_OUTPUT=/home/ec2-user/actions-runner/_work/_temp/_runner_file_commands/set_output_50be0354-a767-4c16-a12f-c9954868f757 2025-03-14T04:07:44.1927644Z NO_TD=False 2025-03-14T04:07:44.1927896Z SKIP_SCCACHE_INITIALIZATION=1 2025-03-14T04:07:44.1928195Z _=/usr/bin/env 2025-03-14T04:07:44.1928533Z ++ python -c 'import site; print(site.getsitepackages()[0])' 2025-03-14T04:07:44.2036956Z + TORCH_INSTALL_DIR=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch 2025-03-14T04:07:44.2037781Z + TORCH_BIN_DIR=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/bin 2025-03-14T04:07:44.2038531Z + TORCH_LIB_DIR=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/lib 2025-03-14T04:07:44.2039464Z + TORCH_TEST_DIR=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/test 2025-03-14T04:07:44.2040105Z + BUILD_DIR=build 2025-03-14T04:07:44.2040398Z + BUILD_RENAMED_DIR=build_renamed 2025-03-14T04:07:44.2040989Z + BUILD_BIN_DIR=build/bin 2025-03-14T04:07:44.2041271Z + SHARD_NUMBER=1 2025-03-14T04:07:44.2041525Z + NUM_TEST_SHARDS=3 2025-03-14T04:07:44.2041858Z + export TORCH_SERIALIZATION_DEBUG=1 2025-03-14T04:07:44.2042197Z + TORCH_SERIALIZATION_DEBUG=1 2025-03-14T04:07:44.2042548Z + export VALGRIND=ON 2025-03-14T04:07:44.2042810Z + VALGRIND=ON 2025-03-14T04:07:44.2043144Z + [[ linux-focal-py3.13-clang10 == *clang9* ]] 2025-03-14T04:07:44.2043713Z + [[ linux-focal-py3.13-clang10 == *xpu* ]] 2025-03-14T04:07:44.2044135Z + [[ linux-focal-py3.13-clang10 == *s390x* ]] 2025-03-14T04:07:44.2044618Z + [[ 0 == \1 ]] 2025-03-14T04:07:44.2044927Z + [[ False == \1 ]] 2025-03-14T04:07:44.2045222Z + [[ linux-focal-py3.13-clang10 != *bazel* ]] 2025-03-14T04:07:44.2045649Z ++ realpath build/custom_test_artifacts 2025-03-14T04:07:44.2051826Z + CUSTOM_TEST_ARTIFACT_BUILD_DIR=/var/lib/jenkins/workspace/build/custom_test_artifacts 2025-03-14T04:07:44.2052382Z + [[ -n '' ]] 2025-03-14T04:07:44.2052649Z + echo 'Environment variables' 2025-03-14T04:07:44.2052978Z Environment variables 2025-03-14T04:07:44.2053238Z + env 2025-03-14T04:07:44.2059030Z INSTALLED_DB=yes 2025-03-14T04:07:44.2059719Z GITHUB_WORKSPACE=/home/ec2-user/actions-runner/_work/pytorch/pytorch 2025-03-14T04:07:44.2060422Z CONTINUE_THROUGH_ERROR=False 2025-03-14T04:07:44.2060932Z BUILD_ENVIRONMENT=linux-focal-py3.13-clang10 2025-03-14T04:07:44.2061452Z HOSTNAME=7050659e24a9 2025-03-14T04:07:44.2062088Z GITHUB_PATH=/home/ec2-user/actions-runner/_work/_temp/_runner_file_commands/add_path_50be0354-a767-4c16-a12f-c9954868f757 2025-03-14T04:07:44.2062869Z GITHUB_ACTION=__self 2025-03-14T04:07:44.2063377Z PYTORCH_TEST_CUDA_MEM_LEAK_CHECK=0 2025-03-14T04:07:44.2063877Z GITHUB_RUN_NUMBER=299021 2025-03-14T04:07:44.2064167Z TEST_CONFIG=dynamo_wrapped 2025-03-14T04:07:44.2064559Z GITHUB_REPOSITORY_OWNER_ID=21003710 2025-03-14T04:07:44.2065065Z TORCH_NVCC_FLAGS=-Xfatbin -compress-all 2025-03-14T04:07:44.2065568Z IS_A100_RUNNER=0 2025-03-14T04:07:44.2066219Z SCRIBE_GRAPHQL_ACCESS_TOKEN=*** 2025-03-14T04:07:44.2066738Z GITHUB_TRIGGERING_ACTOR=pytorchmergebot 2025-03-14T04:07:44.2067259Z GITHUB_REF_TYPE=branch 2025-03-14T04:07:44.2067630Z TORCH_CUDA_ARCH_LIST=Maxwell 2025-03-14T04:07:44.2068114Z BASE_SHA=aed0b7a742a2d7b7901790622829cbd2135049a4 2025-03-14T04:07:44.2068664Z XLA_CUDA= 2025-03-14T04:07:44.2069114Z HUGGING_FACE_HUB_TOKEN=*** 2025-03-14T04:07:44.2069724Z *** 2025-03-14T04:07:44.2070019Z GITHUB_REPOSITORY_ID=65600975 2025-03-14T04:07:44.2070325Z GITHUB_ACTIONS=true 2025-03-14T04:07:44.2070620Z SHA1=aed0b7a742a2d7b7901790622829cbd2135049a4 2025-03-14T04:07:44.2071088Z GITHUB_SHA=aed0b7a742a2d7b7901790622829cbd2135049a4 2025-03-14T04:07:44.2071687Z GITHUB_WORKFLOW_REF=pytorch/pytorch/.github/workflows/pull.yml@refs/heads/main 2025-03-14T04:07:44.2072169Z UCC_HOME=/usr 2025-03-14T04:07:44.2072479Z TORCH_SERIALIZATION_DEBUG=1 2025-03-14T04:07:44.2072779Z VERBOSE_TEST_LOGS=False 2025-03-14T04:07:44.2073114Z GITHUB_REF=refs/heads/main 2025-03-14T04:07:44.2073404Z SHARD_NUMBER=1 2025-03-14T04:07:44.2073664Z GITHUB_REF_PROTECTED=true 2025-03-14T04:07:44.2074011Z HOME=/var/lib/jenkins 2025-03-14T04:07:44.2074310Z GITHUB_API_URL=https://api.github.com 2025-03-14T04:07:44.2074753Z PYTORCH_TEST_RERUN_DISABLED_TESTS=0 2025-03-14T04:07:44.2075068Z UCX_COMMIT= 2025-03-14T04:07:44.2075301Z NUM_TEST_SHARDS=3 2025-03-14T04:07:44.2075600Z UCX_HOME=/usr 2025-03-14T04:07:44.2076195Z GITHUB_STATE=/home/ec2-user/actions-runner/_work/_temp/_runner_file_commands/save_state_50be0354-a767-4c16-a12f-c9954868f757 2025-03-14T04:07:44.2077099Z JOB_NAME=linux-focal-py3.13-clang10 / test (dynamo_wrapped, 1, 3, lf.linux.2xlarge) 2025-03-14T04:07:44.2077920Z GITHUB_ENV=/home/ec2-user/actions-runner/_work/_temp/_runner_file_commands/set_env_50be0354-a767-4c16-a12f-c9954868f757 2025-03-14T04:07:44.2078755Z GITHUB_EVENT_PATH=/home/ec2-user/actions-runner/_work/_temp/_github_workflow/event.json 2025-03-14T04:07:44.2079340Z GITHUB_EVENT_NAME=push 2025-03-14T04:07:44.2079610Z DASHBOARD_TAG= 2025-03-14T04:07:44.2080054Z GITHUB_RUN_ID=13849515290 2025-03-14T04:07:44.2080716Z GITHUB_STEP_SUMMARY=/home/ec2-user/actions-runner/_work/_temp/_runner_file_commands/step_summary_50be0354-a767-4c16-a12f-c9954868f757 2025-03-14T04:07:44.2081442Z GITHUB_ACTOR=pytorchmergebot 2025-03-14T04:07:44.2081739Z PR_NUMBER= 2025-03-14T04:07:44.2081971Z DESIRED_CUDA= 2025-03-14T04:07:44.2082202Z GITHUB_RUN_ATTEMPT=1 2025-03-14T04:07:44.2082464Z VALGRIND=ON 2025-03-14T04:07:44.2082710Z ANACONDA_PYTHON_VERSION=3.13 2025-03-14T04:07:44.2083134Z GITHUB_GRAPHQL_URL=https://api.github.com/graphql 2025-03-14T04:07:44.2083577Z TERM=vt100 2025-03-14T04:07:44.2083813Z INSTALLED_VISION=yes 2025-03-14T04:07:44.2084075Z BRANCH=main 2025-03-14T04:07:44.2084319Z SCCACHE_REGION=us-east-1 2025-03-14T04:07:44.2084615Z OPENSSL_ROOT_DIR=/opt/openssl 2025-03-14T04:07:44.2084921Z CUDA_PATH=/usr/local/cuda 2025-03-14T04:07:44.2085470Z GITHUB_ACTION_PATH=/home/ec2-user/actions-runner/_work/pytorch/pytorch/./.github/actions/setup-linux 2025-03-14T04:07:44.2086090Z GITHUB_SERVER_URL=https://github.com 2025-03-14T04:07:44.2086412Z UCC_COMMIT= 2025-03-14T04:07:44.2086653Z REENABLED_ISSUES= 2025-03-14T04:07:44.2086888Z DOCS= 2025-03-14T04:07:44.2087107Z SHLVL=1 2025-03-14T04:07:44.2087326Z MAX_JOBS=6 2025-03-14T04:07:44.2087562Z GITHUB_ACTOR_ID=97764156 2025-03-14T04:07:44.2087928Z GITHUB_WORKFLOW_SHA=aed0b7a742a2d7b7901790622829cbd2135049a4 2025-03-14T04:07:44.2088333Z GITHUB_REF_NAME=main 2025-03-14T04:07:44.2088737Z XLA_CLANG_CACHE_S3_BUCKET_NAME=ossci-compiler-clang-cache-circleci-xla 2025-03-14T04:07:44.2089193Z GITHUB_JOB=test 2025-03-14T04:07:44.2089453Z NO_TEST_TIMEOUT=False 2025-03-14T04:07:44.2089748Z TD_DISTRIBUTED=False 2025-03-14T04:07:44.2090067Z GITHUB_REPOSITORY=pytorch/pytorch 2025-03-14T04:07:44.2090390Z GITHUB_RETENTION_DAYS=90 2025-03-14T04:07:44.2090680Z OPENSSL_DIR=/opt/openssl 2025-03-14T04:07:44.2090974Z GITHUB_ACTION_REPOSITORY= 2025-03-14T04:07:44.2091783Z PATH=/opt/cache/bin:/usr/local/nvidia/bin:/usr/local/cuda/bin:/opt/conda/envs/py_3.13/bin:/opt/conda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 2025-03-14T04:07:44.2092630Z GITHUB_BASE_REF= 2025-03-14T04:07:44.2092866Z INSTALLED_ACL= 2025-03-14T04:07:44.2093269Z ARTIFACTS_FILE_SUFFIX=test-dynamo_wrapped-1-3-lf.linux.2xlarge_38754600544 2025-03-14T04:07:44.2093739Z CI=true 2025-03-14T04:07:44.2093982Z GITHUB_REPOSITORY_OWNER=pytorch 2025-03-14T04:07:44.2094283Z JOB_ID=38754600544 2025-03-14T04:07:44.2094542Z INSTALLED_PROTOBUF=yes 2025-03-14T04:07:44.2094809Z GITHUB_HEAD_REF= 2025-03-14T04:07:44.2095060Z GITHUB_ACTION_REF= 2025-03-14T04:07:44.2095373Z SCCACHE_BUCKET=ossci-compiler-cache-circleci-v2 2025-03-14T04:07:44.2095832Z TEST_SHOWLOCALS=False 2025-03-14T04:07:44.2096108Z GITHUB_WORKFLOW=pull 2025-03-14T04:07:44.2096392Z DEBIAN_FRONTEND=noninteractive 2025-03-14T04:07:44.2097047Z GITHUB_OUTPUT=/home/ec2-user/actions-runner/_work/_temp/_runner_file_commands/set_output_50be0354-a767-4c16-a12f-c9954868f757 2025-03-14T04:07:44.2097717Z NO_TD=False 2025-03-14T04:07:44.2098269Z SKIP_SCCACHE_INITIALIZATION=1 2025-03-14T04:07:44.2098574Z _=/usr/bin/env 2025-03-14T04:07:44.2098812Z + echo 'Testing pytorch' 2025-03-14T04:07:44.2099092Z Testing pytorch 2025-03-14T04:07:44.2099353Z + export LANG=C.UTF-8 2025-03-14T04:07:44.2099613Z + LANG=C.UTF-8 2025-03-14T04:07:44.2099848Z + PR_NUMBER= 2025-03-14T04:07:44.2100106Z + [[ dynamo_wrapped == \d\e\f\a\u\l\t ]] 2025-03-14T04:07:44.2100466Z + [[ dynamo_wrapped == \d\i\s\t\r\i\b\u\t\e\d ]] 2025-03-14T04:07:44.2100823Z + [[ dynamo_wrapped == \s\l\o\w ]] 2025-03-14T04:07:44.2101204Z + [[ linux-focal-py3.13-clang10 == *slow-gradcheck* ]] 2025-03-14T04:07:44.2101615Z + [[ linux-focal-py3.13-clang10 == *cuda* ]] 2025-03-14T04:07:44.2101988Z + [[ linux-focal-py3.13-clang10 == *rocm* ]] 2025-03-14T04:07:44.2102354Z + [[ linux-focal-py3.13-clang10 == *xpu* ]] 2025-03-14T04:07:44.2102708Z + [[ dynamo_wrapped == *crossref* ]] 2025-03-14T04:07:44.2103052Z + [[ linux-focal-py3.13-clang10 == *rocm* ]] 2025-03-14T04:07:44.2103482Z + [[ linux-focal-py3.13-clang10 == *xpu* ]] 2025-03-14T04:07:44.2104023Z + [[ linux-focal-py3.13-clang10 != *-bazel-* ]] 2025-03-14T04:07:44.2104385Z + pip_install --user ninja==1.10.2 2025-03-14T04:07:44.2104800Z + pip_install_pkg='python3 -m pip install --progress-bar off' 2025-03-14T04:07:44.2105323Z + python3 -m pip install --progress-bar off --user ninja==1.10.2 2025-03-14T04:07:44.6783897Z Collecting ninja==1.10.2 2025-03-14T04:07:44.7150338Z Downloading ninja-1.10.2-py2.py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl.metadata (5.0 kB) 2025-03-14T04:07:44.7244630Z Downloading ninja-1.10.2-py2.py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl (108 kB) 2025-03-14T04:07:44.8977935Z Installing collected packages: ninja 2025-03-14T04:07:44.9054683Z  WARNING: The script ninja is installed in '/var/lib/jenkins/.local/bin' which is not on PATH. 2025-03-14T04:07:44.9055771Z Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. 2025-03-14T04:07:44.9110215Z Successfully installed ninja-1.10.2 2025-03-14T04:07:45.0115580Z + export PATH=/var/lib/jenkins/.local/bin:/opt/cache/bin:/usr/local/nvidia/bin:/usr/local/cuda/bin:/opt/conda/envs/py_3.13/bin:/opt/conda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 2025-03-14T04:07:45.0117397Z + PATH=/var/lib/jenkins/.local/bin:/opt/cache/bin:/usr/local/nvidia/bin:/usr/local/cuda/bin:/opt/conda/envs/py_3.13/bin:/opt/conda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 2025-03-14T04:07:45.0118464Z + [[ linux-focal-py3.13-clang10 == *aarch64* ]] 2025-03-14T04:07:45.0118896Z + install_tlparse 2025-03-14T04:07:45.0119181Z + pip_install --user tlparse==0.3.30 2025-03-14T04:07:45.0119645Z + pip_install_pkg='python3 -m pip install --progress-bar off' 2025-03-14T04:07:45.0120182Z + python3 -m pip install --progress-bar off --user tlparse==0.3.30 2025-03-14T04:07:45.4546295Z Collecting tlparse==0.3.30 2025-03-14T04:07:45.4936859Z Downloading tlparse-0.3.30-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.9 kB) 2025-03-14T04:07:45.5050830Z Downloading tlparse-0.3.30-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB) 2025-03-14T04:07:45.7067999Z Installing collected packages: tlparse 2025-03-14T04:07:45.7403544Z Successfully installed tlparse-0.3.30 2025-03-14T04:07:45.8354563Z ++ python -m site --user-base 2025-03-14T04:07:45.8503309Z + PATH=/var/lib/jenkins/.local/bin:/var/lib/jenkins/.local/bin:/opt/cache/bin:/usr/local/nvidia/bin:/usr/local/cuda/bin:/opt/conda/envs/py_3.13/bin:/opt/conda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 2025-03-14T04:07:45.8504879Z + [[ linux-focal-py3.13-clang10 == *asan* ]] 2025-03-14T04:07:45.8505393Z + [[ linux-focal-py3.13-clang10 == *-debug* ]] 2025-03-14T04:07:45.8505825Z + [[ linux-focal-py3.13-clang10 != *-bazel-* ]] 2025-03-14T04:07:45.8506367Z + echo 'We are not in debug mode: linux-focal-py3.13-clang10. Expect the assertion to pass' 2025-03-14T04:07:45.8507034Z We are not in debug mode: linux-focal-py3.13-clang10. Expect the assertion to pass 2025-03-14T04:07:45.8508676Z + cd test 2025-03-14T04:07:45.8509052Z + python -c 'import torch; torch._C._crash_if_debug_asserts_fail(424242)' 2025-03-14T04:07:47.4587521Z + [[ dynamo_wrapped == \n\o\g\p\u\_\N\O\_\A\V\X\2 ]] 2025-03-14T04:07:47.4587997Z + [[ dynamo_wrapped == \n\o\g\p\u\_\A\V\X\5\1\2 ]] 2025-03-14T04:07:47.4592853Z + DYNAMO_BENCHMARK_FLAGS=() 2025-03-14T04:07:47.4594650Z + [[ dynamo_wrapped == *pr_time_benchmarks* ]] 2025-03-14T04:07:47.4595169Z + [[ dynamo_wrapped == *dynamo_eager* ]] 2025-03-14T04:07:47.4595563Z + [[ dynamo_wrapped == *aot_eager* ]] 2025-03-14T04:07:47.4595970Z + [[ dynamo_wrapped == *aot_inductor* ]] 2025-03-14T04:07:47.4596347Z + [[ dynamo_wrapped == *max_autotune_inductor* ]] 2025-03-14T04:07:47.4596789Z + [[ dynamo_wrapped == *inductor* ]] 2025-03-14T04:07:47.4597128Z + [[ dynamo_wrapped == *dynamic* ]] 2025-03-14T04:07:47.4597521Z + [[ dynamo_wrapped == *cpu* ]] 2025-03-14T04:07:47.4598061Z + DYNAMO_BENCHMARK_FLAGS+=(--device cuda) 2025-03-14T04:07:47.4628313Z + [[ linux-focal-py3.13-clang10 == *libtorch* ]] 2025-03-14T04:07:47.4628801Z + [[ linux-focal-py3.13-clang10 == *-bazel-* ]] 2025-03-14T04:07:47.4631200Z + cd test 2025-03-14T04:07:47.4631679Z + python -c 'import torch; print(torch.__config__.show())' 2025-03-14T04:07:48.6411649Z PyTorch built with: 2025-03-14T04:07:48.6412085Z - GCC 4.2 2025-03-14T04:07:48.6412430Z - C++ Version: 201703 2025-03-14T04:07:48.6412830Z - clang 10.0.0 2025-03-14T04:07:48.6414068Z - Intel(R) oneAPI Math Kernel Library Version 2021.4-Product Build 20210904 for Intel(R) 64 architecture applications 2025-03-14T04:07:48.6415198Z - Intel(R) MKL-DNN v3.7.1 (Git Hash 8d263e693366ef8db40acc569cc7d8edf644556d) 2025-03-14T04:07:48.6415961Z - OpenMP 201511 (a.k.a. OpenMP 4.5) 2025-03-14T04:07:48.6416491Z - LAPACK is enabled (usually provided by MKL) 2025-03-14T04:07:48.6417006Z - NNPACK is enabled 2025-03-14T04:07:48.6417417Z - CPU capability usage: AVX512 2025-03-14T04:07:48.6426649Z - Build settings: BLAS_INFO=mkl, BUILD_TYPE=Release, COMMIT_SHA=aed0b7a742a2d7b7901790622829cbd2135049a4, CXX_COMPILER=/opt/cache/bin/clang++, CXX_FLAGS= -D_GLIBCXX_USE_CXX11_ABI=1 -fvisibility-inlines-hidden -DUSE_PTHREADPOOL -DNDEBUG -DUSE_KINETO -DLIBKINETO_NOCUPTI -DLIBKINETO_NOROCTRACER -DLIBKINETO_NOXPUPTI=ON -DUSE_FBGEMM -DUSE_PYTORCH_QNNPACK -DUSE_XNNPACK -DSYMBOLICATE_MOBILE_DEBUG_HANDLE -O2 -fPIC -Wall -Wextra -Werror=return-type -Werror=non-virtual-dtor -Werror=braced-scalar-init -Werror=range-loop-construct -Werror=bool-operation -Wnarrowing -Wno-missing-field-initializers -Wno-unknown-pragmas -Wno-unused-parameter -Wno-strict-overflow -Wno-strict-aliasing -Wvla-extension -Wnewline-eof -Winconsistent-missing-override -Winconsistent-missing-destructor-override -Wno-pass-failed -Wno-error=old-style-cast -Wconstant-conversion -Qunused-arguments -fcolor-diagnostics -faligned-new -Werror -fno-math-errno -fno-trapping-math -Werror=format, LAPACK_INFO=mkl, PERF_WITH_AVX=1, PERF_WITH_AVX2=1, TORCH_VERSION=2.8.0, USE_CUDA=OFF, USE_CUDNN=OFF, USE_CUSPARSELT=OFF, USE_GFLAGS=OFF, USE_GLOG=OFF, USE_GLOO=ON, USE_MKL=ON, USE_MKLDNN=ON, USE_MPI=OFF, USE_NCCL=OFF, USE_NNPACK=ON, USE_OPENMP=ON, USE_ROCM=OFF, USE_ROCM_KERNEL_ASSERT=OFF, 2025-03-14T04:07:48.6439845Z 2025-03-14T04:07:48.9422013Z + cd test 2025-03-14T04:07:48.9422458Z + python -c 'import torch; print(torch.__config__.parallel_info())' 2025-03-14T04:07:50.1123766Z ATen/Parallel: 2025-03-14T04:07:50.1124253Z at::get_num_threads() : 4 2025-03-14T04:07:50.1124726Z at::get_num_interop_threads() : 4 2025-03-14T04:07:50.1125264Z OpenMP 201511 (a.k.a. OpenMP 4.5) 2025-03-14T04:07:50.1125732Z omp_get_max_threads() : 4 2025-03-14T04:07:50.1126612Z Intel(R) oneAPI Math Kernel Library Version 2021.4-Product Build 20210904 for Intel(R) 64 architecture applications 2025-03-14T04:07:50.1127572Z mkl_get_max_threads() : 4 2025-03-14T04:07:50.1128182Z Intel(R) MKL-DNN v3.7.1 (Git Hash 8d263e693366ef8db40acc569cc7d8edf644556d) 2025-03-14T04:07:50.1128884Z std::thread::hardware_concurrency() : 8 2025-03-14T04:07:50.1129403Z Environment variables: 2025-03-14T04:07:50.1129817Z OMP_NUM_THREADS : [not set] 2025-03-14T04:07:50.1130235Z MKL_NUM_THREADS : [not set] 2025-03-14T04:07:50.1130684Z ATen parallel backend: OpenMP 2025-03-14T04:07:50.1130990Z 2025-03-14T04:07:50.4143064Z + [[ dynamo_wrapped == *numpy_2* ]] 2025-03-14T04:07:50.4143780Z + [[ linux-focal-py3.13-clang10 == *aarch64* ]] 2025-03-14T04:07:50.4144165Z + [[ dynamo_wrapped == *backward* ]] 2025-03-14T04:07:50.4144502Z + [[ dynamo_wrapped == *xla* ]] 2025-03-14T04:07:50.4144859Z + [[ dynamo_wrapped == *executorch* ]] 2025-03-14T04:07:50.4145218Z + [[ dynamo_wrapped == \j\i\t\_\l\e\g\a\c\y ]] 2025-03-14T04:07:50.4145603Z + [[ linux-focal-py3.13-clang10 == *libtorch* ]] 2025-03-14T04:07:50.4145979Z + [[ dynamo_wrapped == distributed ]] 2025-03-14T04:07:50.4146379Z + [[ dynamo_wrapped == *inductor_distributed* ]] 2025-03-14T04:07:50.4146859Z + [[ dynamo_wrapped == *inductor-halide* ]] 2025-03-14T04:07:50.4147695Z + [[ dynamo_wrapped == *inductor-triton-cpu* ]] 2025-03-14T04:07:50.4148112Z + [[ dynamo_wrapped == *inductor-micro-benchmark* ]] 2025-03-14T04:07:50.4148511Z + [[ dynamo_wrapped == *huggingface* ]] 2025-03-14T04:07:50.4148853Z + [[ dynamo_wrapped == *timm* ]] 2025-03-14T04:07:50.4149169Z + [[ dynamo_wrapped == cachebench ]] 2025-03-14T04:07:50.4149510Z + [[ dynamo_wrapped == verify_cachebench ]] 2025-03-14T04:07:50.4149864Z + [[ dynamo_wrapped == *torchbench* ]] 2025-03-14T04:07:50.4150224Z + [[ dynamo_wrapped == *inductor_cpp_wrapper* ]] 2025-03-14T04:07:50.4150710Z + [[ dynamo_wrapped == *inductor* ]] 2025-03-14T04:07:50.4151053Z + [[ dynamo_wrapped == *dynamo_wrapped* ]] 2025-03-14T04:07:50.4151390Z + install_torchvision 2025-03-14T04:07:50.4151661Z + local orig_preload 2025-03-14T04:07:50.4151920Z + local commit 2025-03-14T04:07:50.4152182Z ++ get_pinned_commit vision 2025-03-14T04:07:50.4152494Z ++ cat .github/ci_commit_pins/vision.txt 2025-03-14T04:07:50.4167555Z + commit=d23a6e1664d20707c11781299611436e1f0c104f 2025-03-14T04:07:50.4168093Z + orig_preload= 2025-03-14T04:07:50.4168350Z + '[' -n '' ']' 2025-03-14T04:07:50.4169010Z + pip_install --no-use-pep517 --user git+https://github.com/pytorch/vision.git@d23a6e1664d20707c11781299611436e1f0c104f 2025-03-14T04:07:50.4169752Z + pip_install_pkg='python3 -m pip install --progress-bar off' 2025-03-14T04:07:50.4170597Z + python3 -m pip install --progress-bar off --no-use-pep517 --user git+https://github.com/pytorch/vision.git@d23a6e1664d20707c11781299611436e1f0c104f 2025-03-14T04:07:50.7946975Z Collecting git+https://github.com/pytorch/vision.git@d23a6e1664d20707c11781299611436e1f0c104f 2025-03-14T04:07:50.7952438Z Cloning https://github.com/pytorch/vision.git (to revision d23a6e1664d20707c11781299611436e1f0c104f) to /tmp/pip-req-build-dxo0b7w0 2025-03-14T04:07:50.7971241Z Running command git clone --filter=blob:none --quiet https://github.com/pytorch/vision.git /tmp/pip-req-build-dxo0b7w0 2025-03-14T04:07:52.1630295Z Running command git rev-parse -q --verify 'sha^d23a6e1664d20707c11781299611436e1f0c104f' 2025-03-14T04:07:52.1653157Z Running command git fetch -q https://github.com/pytorch/vision.git d23a6e1664d20707c11781299611436e1f0c104f 2025-03-14T04:07:53.5525663Z Running command git checkout -q d23a6e1664d20707c11781299611436e1f0c104f 2025-03-14T04:07:53.8824096Z Resolved https://github.com/pytorch/vision.git to commit d23a6e1664d20707c11781299611436e1f0c104f 2025-03-14T04:07:56.0438207Z Preparing metadata (setup.py) ... [?25l- \ done 2025-03-14T04:07:56.0471766Z [?25hRequirement already satisfied: numpy in /opt/conda/envs/py_3.13/lib/python3.13/site-packages (from torchvision==0.19.0a0+d23a6e1) (2.1.2) 2025-03-14T04:07:56.0476258Z Requirement already satisfied: torch in /opt/conda/envs/py_3.13/lib/python3.13/site-packages (from torchvision==0.19.0a0+d23a6e1) (2.8.0a0+gitaed0b7a) 2025-03-14T04:07:56.0481383Z Requirement already satisfied: pillow!=8.3.*,>=5.3.0 in /opt/conda/envs/py_3.13/lib/python3.13/site-packages (from torchvision==0.19.0a0+d23a6e1) (11.0.0) 2025-03-14T04:07:56.0548202Z Requirement already satisfied: filelock in /opt/conda/envs/py_3.13/lib/python3.13/site-packages (from torch->torchvision==0.19.0a0+d23a6e1) (3.16.1) 2025-03-14T04:07:56.0552598Z Requirement already satisfied: typing-extensions>=4.10.0 in /opt/conda/envs/py_3.13/lib/python3.13/site-packages (from torch->torchvision==0.19.0a0+d23a6e1) (4.12.2) 2025-03-14T04:07:56.0564703Z Requirement already satisfied: setuptools in /opt/conda/envs/py_3.13/lib/python3.13/site-packages (from torch->torchvision==0.19.0a0+d23a6e1) (75.8.0) 2025-03-14T04:07:56.0569538Z Requirement already satisfied: sympy>=1.13.3 in /opt/conda/envs/py_3.13/lib/python3.13/site-packages (from torch->torchvision==0.19.0a0+d23a6e1) (1.13.3) 2025-03-14T04:07:56.0573140Z Requirement already satisfied: networkx in /opt/conda/envs/py_3.13/lib/python3.13/site-packages (from torch->torchvision==0.19.0a0+d23a6e1) (2.8.8) 2025-03-14T04:07:56.0576845Z Requirement already satisfied: jinja2 in /opt/conda/envs/py_3.13/lib/python3.13/site-packages (from torch->torchvision==0.19.0a0+d23a6e1) (3.1.6) 2025-03-14T04:07:56.0579807Z Requirement already satisfied: fsspec in /opt/conda/envs/py_3.13/lib/python3.13/site-packages (from torch->torchvision==0.19.0a0+d23a6e1) (2024.10.0) 2025-03-14T04:07:56.0593344Z Requirement already satisfied: mpmath<1.4,>=1.1.0 in /opt/conda/envs/py_3.13/lib/python3.13/site-packages (from sympy>=1.13.3->torch->torchvision==0.19.0a0+d23a6e1) (1.3.0) 2025-03-14T04:07:56.0697965Z Requirement already satisfied: MarkupSafe>=2.0 in /opt/conda/envs/py_3.13/lib/python3.13/site-packages (from jinja2->torch->torchvision==0.19.0a0+d23a6e1) (3.0.2) 2025-03-14T04:07:56.0799319Z Building wheels for collected packages: torchvision 2025-03-14T04:09:06.7995480Z Building wheel for torchvision (setup.py) ... [?25l- \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / done 2025-03-14T04:09:06.8033031Z [?25h Created wheel for torchvision: filename=torchvision-0.19.0a0+d23a6e1-cp313-cp313-linux_x86_64.whl size=1162260 sha256=131e307a77af283546e6db2041fbb390d1cf4ba7c6a37b194b39ab77594368a4 2025-03-14T04:09:06.8035620Z Stored in directory: /var/lib/jenkins/.cache/pip/wheels/81/60/73/f2acb628a45eebe28dd9ff5468e774a0d5e194728570f8ff6f 2025-03-14T04:09:06.8070529Z Successfully built torchvision 2025-03-14T04:09:06.9447987Z Installing collected packages: torchvision 2025-03-14T04:09:07.4015061Z Successfully installed torchvision-0.19.0a0+d23a6e1 2025-03-14T04:09:07.5267440Z + '[' -n '' ']' 2025-03-14T04:09:07.5267805Z + test_dynamo_wrapped_shard 1 2025-03-14T04:09:07.5268122Z + [[ -z 3 ]] 2025-03-14T04:09:07.5268392Z + python tools/dynamo/verify_dynamo.py 2025-03-14T04:09:08.7036332Z Python version: 3.13.2 2025-03-14T04:09:08.7036729Z `torch` version: 2.8.0a0+gitaed0b7a 2025-03-14T04:09:08.7037059Z CUDA version: None 2025-03-14T04:09:08.7037318Z ROCM version: None 2025-03-14T04:09:08.7037468Z 2025-03-14T04:09:08.7038026Z /var/lib/jenkins/workspace/tools/dynamo/verify_dynamo.py:220: UserWarning: Dynamo not yet supported in Python 3.13. Skipping check. 2025-03-14T04:09:08.7038948Z warnings.warn("Dynamo not yet supported in Python 3.13. Skipping check.") 2025-03-14T04:09:08.7039423Z All required checks passed 2025-03-14T04:09:08.9881128Z + python test/run_test.py --dynamo --exclude-inductor-tests --exclude-jit-executor --exclude-distributed-tests --exclude-torch-export-tests --exclude-aot-dispatch-tests --shard 1 3 --verbose --upload-artifacts-while-running 2025-03-14T04:09:09.0927046Z /var/lib/jenkins/workspace/test/run_test.py:24: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html 2025-03-14T04:09:09.0927963Z import pkg_resources 2025-03-14T04:09:13.7568445Z Downloading https://ossci-metrics.s3.amazonaws.com/disabled-tests-condensed.json to /var/lib/jenkins/workspace/test/.pytorch-disabled-tests.json 2025-03-14T04:09:13.8387366Z Ignoring disabled issues: [''] 2025-03-14T04:09:13.8564449Z Found test times from artifacts 2025-03-14T04:09:13.9276073Z Found test times from artifacts 2025-03-14T04:09:13.9301469Z Running all tests 2025-03-14T04:09:13.9417083Z Running parallel tests on 3 processes 2025-03-14T04:09:13.9420362Z Name: tests to run (est. time: 71.73min) 2025-03-14T04:09:13.9421018Z Serial tests (32): 2025-03-14T04:09:13.9421303Z test_ci_sanity_check_fail 1/1 2025-03-14T04:09:13.9421619Z test_reductions 1/3 2025-03-14T04:09:13.9421901Z test_reductions 3/3 2025-03-14T04:09:13.9422225Z test_autocast 1/1 2025-03-14T04:09:13.9422786Z test_autograd_fallback 1/1 2025-03-14T04:09:13.9423151Z test_python_dispatch 1/1 2025-03-14T04:09:13.9423456Z test_jit_disabled 1/1 2025-03-14T04:09:13.9423746Z test_fake_tensor 1/1 2025-03-14T04:09:13.9424007Z test_fx 1/1 2025-03-14T04:09:13.9424286Z test_cpp_extensions_mtia_backend 1/1 2025-03-14T04:09:13.9424702Z test_cpp_extensions_stream_and_event 1/1 2025-03-14T04:09:13.9425063Z test_cpp_extensions_jit 1/1 2025-03-14T04:09:13.9425604Z test_native_mha 1/1 2025-03-14T04:09:13.9425895Z test_tensor_creation_ops 1/1 2025-03-14T04:09:13.9426212Z test_sort_and_select 1/1 2025-03-14T04:09:13.9426507Z test_dispatch 1/1 2025-03-14T04:09:13.9426789Z test_cuda_primary_ctx 1/1 2025-03-14T04:09:13.9427108Z test_multiprocessing_spawn 1/1 2025-03-14T04:09:13.9427439Z nn/test_convolution 1/1 2025-03-14T04:09:13.9427737Z nn/test_pooling 1/1 2025-03-14T04:09:13.9428023Z test_mobile_optimizer 1/1 2025-03-14T04:09:13.9428318Z test_nn 1/2 2025-03-14T04:09:13.9428744Z test_nn 2/2 2025-03-14T04:09:13.9429008Z test_cuda_nvml_based_avail 1/1 2025-03-14T04:09:13.9429326Z test_cuda_trace 1/1 2025-03-14T04:09:13.9429615Z test_spectral_ops 1/1 2025-03-14T04:09:13.9429927Z distributions/test_distributions 1/2 2025-03-14T04:09:13.9430281Z distributions/test_distributions 2/2 2025-03-14T04:09:13.9430630Z test_autoload_disable 1/1 2025-03-14T04:09:13.9430929Z doctests 1/1 2025-03-14T04:09:13.9431196Z test_autoload_enable 1/1 2025-03-14T04:09:13.9431515Z test_cpp_extensions_aot_no_ninja 1/1 2025-03-14T04:09:13.9431846Z Parallel tests (32): 2025-03-14T04:09:13.9432140Z dynamo/test_graph_deduplication 1/1 2025-03-14T04:09:13.9432484Z dynamo/test_structured_trace 1/1 2025-03-14T04:09:13.9432819Z dynamo/test_fx_passes_pre_grad 1/1 2025-03-14T04:09:13.9433151Z dynamo/test_base_output 1/1 2025-03-14T04:09:13.9433454Z dynamo/test_utils 1/1 2025-03-14T04:09:13.9433734Z dynamo/test_view 1/1 2025-03-14T04:09:13.9434024Z dynamo/test_callback 1/1 2025-03-14T04:09:13.9434326Z dynamo/test_subgraphs 1/1 2025-03-14T04:09:13.9434638Z dynamo/test_deviceguard 1/1 2025-03-14T04:09:13.9435061Z dynamo/test_dynamic_shapes 1/1 2025-03-14T04:09:13.9435387Z dynamo/test_compile 1/1 2025-03-14T04:09:13.9435687Z dynamo/test_recompiles 1/1 2025-03-14T04:09:13.9435995Z dynamo/test_decorators 1/1 2025-03-14T04:09:13.9436312Z dynamo/test_base_hop 1/1 2025-03-14T04:09:13.9436609Z dynamo/test_global 1/1 2025-03-14T04:09:13.9436900Z dynamo/test_debug_utils 1/1 2025-03-14T04:09:13.9437210Z dynamo/test_exceptions 1/1 2025-03-14T04:09:13.9437513Z dynamo/test_dicts 1/1 2025-03-14T04:09:13.9437802Z dynamo/test_flat_apply 1/1 2025-03-14T04:09:13.9438107Z dynamo/test_resume 1/1 2025-03-14T04:09:13.9438395Z dynamo/test_unspec 1/1 2025-03-14T04:09:13.9438694Z dynamo/test_higher_order_ops 1/1 2025-03-14T04:09:13.9439022Z dynamo/test_torchrec 1/1 2025-03-14T04:09:13.9439327Z test_accelerator 1/1 2025-03-14T04:09:13.9439597Z dynamo/test_hooks 1/1 2025-03-14T04:09:13.9439889Z dynamo/test_subclasses 1/1 2025-03-14T04:09:13.9440194Z dynamo/test_repros 1/1 2025-03-14T04:09:13.9440485Z dynamo/test_functions 1/1 2025-03-14T04:09:13.9440781Z dynamo/test_misc 1/1 2025-03-14T04:09:13.9441064Z optim/test_swa_utils 1/1 2025-03-14T04:09:13.9441372Z dynamo/test_python_autograd 1/1 2025-03-14T04:09:13.9441700Z test_quantization 4/6 2025-03-14T04:09:13.9441994Z Name: excluded (est. time: 0.0min) 2025-03-14T04:09:13.9442303Z Serial tests (0): 2025-03-14T04:09:13.9442566Z Parallel tests (0): 2025-03-14T04:09:13.9483717Z Running test_ci_sanity_check_fail 1/1 ... [2025-03-14 04:09:13.948026] 2025-03-14T04:09:13.9484590Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T04:09:13.9488458Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'test_ci_sanity_check_fail.py', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 04:09:13.948457] 2025-03-14T04:09:25.6531695Z Running test_reductions 1/3 ... [2025-03-14 04:09:25.652832] 2025-03-14T04:09:25.6532268Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T04:09:25.6533912Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'test_reductions.py', '--shard-id=1', '--num-shards=3', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 04:09:25.653169] 2025-03-14T04:37:06.5313427Z 2025-03-14T04:37:06.5316380Z test_reductions 1/3 was successful, full logs can be found in artifacts with path test/test-reports/test_reductions_1.3_335c781e76f4ecda_.log 2025-03-14T04:37:06.5911952Z Running 1513 items in this shard: test/test_reductions.py::TestReductionsCPU::test_all_any_empty_cpu, test/test_reductions.py::TestReductionsCPU::test_all_any_vs_numpy_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_all_any_vs_numpy_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_all_any_vs_numpy_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_amin_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_aminmax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_argminmax_large_axis_cpu, test/test_reductions.py::TestReductionsCPU::test_argminmax_multiple_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_argminmax_multiple_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_bincount_cpu, test/test_reductions.py::TestReductionsCPU::test_count_nonzero_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_count_nonzero_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_count_nonzero_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_dim_arg_reduction_scalar_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_dim_default__refs_all_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default__refs_amin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default__refs_any_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default__refs_count_nonzero_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default__refs_linalg_vector_norm_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default__refs_prod_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_all_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_amax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_amin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_argmax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_keepdim__refs_any_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_keepdim__refs_linalg_vector_norm_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_keepdim__refs_std_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_keepdim_all_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_keepdim_amin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_keepdim_count_nonzero_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_keepdim_linalg_vector_norm_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_keepdim_masked_amin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_keepdim_masked_argmax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_keepdim_masked_logsumexp_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_keepdim_masked_norm_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_keepdim_masked_prod_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_keepdim_masked_std_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_keepdim_masked_sum_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_keepdim_var_unbiased_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_masked_argmax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_masked_argmin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_masked_mean_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_masked_std_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_masked_sum_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_mean_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_nanmean_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_std_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_var_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty__refs_amax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty__refs_amin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty_any_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty_keepdim__refs_amax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty_keepdim__refs_any_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty_keepdim__refs_linalg_vector_norm_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty_keepdim__refs_mean_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty_keepdim_all_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty_keepdim_amax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty_keepdim_any_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty_keepdim_masked_amax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty_keepdim_masked_amin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty_keepdim_masked_logsumexp_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty_keepdim_masked_var_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty_keepdim_nansum_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty_keepdim_std_unbiased_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty_keepdim_var_unbiased_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty_linalg_vector_norm_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty_masked_amin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty_masked_mean_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty_masked_norm_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty_masked_prod_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty_masked_std_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty_masked_var_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty_nanmean_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty_std_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty_std_unbiased_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty_sum_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi__refs_all_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi__refs_amax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi__refs_amin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi__refs_any_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi__refs_var_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_amax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_amin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_any_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_duplicate__refs_all_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_duplicate__refs_amin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_duplicate__refs_sum_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_duplicate_all_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_duplicate_masked_amax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_duplicate_masked_prod_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_duplicate_mean_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_duplicate_var_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_keepdim__refs_count_nonzero_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_keepdim__refs_var_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_keepdim_amax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_keepdim_amin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_keepdim_masked_mean_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_keepdim_masked_prod_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_keepdim_nanmean_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_masked_amax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_masked_prod_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_masked_std_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_masked_sum_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_masked_var_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_std_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_all_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_amax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_any_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_keepdim__refs_linalg_vector_norm_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_keepdim__refs_prod_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_keepdim__refs_sum_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_keepdim__refs_var_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_keepdim_all_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_keepdim_any_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_keepdim_masked_prod_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_keepdim_masked_std_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_keepdim_mean_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_keepdim_nanmean_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_keepdim_std_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_masked_amin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_masked_logsumexp_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_masked_sum_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_sum_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_var_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_var_unbiased_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsupported_argmax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsupported_masked_argmax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsupported_prod_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_ndim_limit__refs_all_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_ndim_limit__refs_mean_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_ndim_limit_all_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_ndim_limit_argmin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_ndim_limit_masked_amin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_ndim_limit_masked_logsumexp_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_ndim_limit_masked_norm_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_ndim_limit_masked_sum_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_ndim_limit_mean_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_ndim_limit_nanmean_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_ndim_limit_prod_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_ndim_limit_std_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_ndim_limit_std_unbiased_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_ndim_limit_sum_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_ndim_limit_var_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_ndim_limit_var_unbiased_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none__refs_amin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none__refs_prod_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none__refs_std_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_amax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_any_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_argmax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_count_nonzero_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_keepdim__refs_amax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_keepdim__refs_count_nonzero_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_keepdim__refs_mean_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_keepdim__refs_prod_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_keepdim_amax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_keepdim_amin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_keepdim_argmin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_keepdim_masked_amax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_keepdim_masked_argmax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_keepdim_masked_prod_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_keepdim_masked_std_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_keepdim_mean_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_keepdim_nanmean_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_keepdim_nansum_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_keepdim_prod_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_masked_norm_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_masked_prod_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_prod_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_sum_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_var_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_offbounds__refs_amin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_offbounds__refs_any_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_offbounds__refs_mean_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_offbounds_amax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_offbounds_amin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_offbounds_linalg_vector_norm_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_offbounds_masked_argmin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_offbounds_masked_norm_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_offbounds_masked_std_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_offbounds_masked_var_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_offbounds_mean_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_offbounds_nansum_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_offbounds_std_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_amax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_amax_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_amax_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_amax_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_amin_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_max_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_max_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_max_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_max_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_mean_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_mean_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_median_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_median_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_min_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_min_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_mode_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_mode_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_nanmedian_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_nanmedian_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_nanmedian_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_nanmedian_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_norm_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_norm_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_prod_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_prod_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_prod_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_std_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_std_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_sum_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_sum_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_sum_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_var_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_var_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_var_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_var_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_lastdim_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_less_than_64_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single__refs_amax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single__refs_amin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single__refs_count_nonzero_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_amin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_any_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_keepdim__refs_amax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_keepdim__refs_amin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_keepdim__refs_linalg_vector_norm_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_keepdim__refs_mean_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_keepdim__refs_prod_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_keepdim__refs_sum_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_keepdim__refs_var_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_keepdim_all_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_keepdim_amin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_keepdim_argmax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_keepdim_argmin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_keepdim_linalg_vector_norm_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_keepdim_masked_amax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_keepdim_nansum_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_keepdim_prod_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_keepdim_std_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_keepdim_var_unbiased_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_linalg_vector_norm_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_masked_argmax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_masked_logsumexp_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_masked_mean_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_masked_prod_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_masked_sum_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_masked_var_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_std_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_sum_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_empty_slice__refs_amax_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_empty_slice__refs_linalg_vector_norm_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_empty_slice__refs_mean_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_empty_slice__refs_std_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_empty_slice_amin_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_empty_slice_masked_argmax_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_empty_slice_masked_mean_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_empty_slice_masked_norm_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_empty_slice_masked_prod_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_empty_slice_masked_var_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_empty_slice_nansum_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_empty_slice_var_unbiased_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_nonempty_slice__refs_all_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_nonempty_slice__refs_amax_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_nonempty_slice__refs_mean_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_nonempty_slice__refs_std_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_nonempty_slice_count_nonzero_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_nonempty_slice_masked_amax_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_nonempty_slice_masked_argmax_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_nonempty_slice_masked_var_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_nonempty_slice_nansum_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_nonempty_slice_prod_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_nonempty_slice_sum_cpu, test/test_reductions.py::TestReductionsCPU::test_histc_cpu, test/test_reductions.py::TestReductionsCPU::test_histc_min_max_corner_cases_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_histc_min_max_corner_cases_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_histc_min_max_corner_cases_cuda_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_histc_min_max_corner_cases_cuda_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_histc_min_max_errors_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_histc_min_max_errors_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_histc_min_max_errors_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_histogram_error_handling_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_histogramdd_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_identity__refs_all_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_identity__refs_all_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_identity__refs_all_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_identity__refs_any_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_identity__refs_any_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_identity__refs_any_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_identity__refs_any_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_identity__refs_any_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_identity__refs_count_nonzero_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_identity__refs_count_nonzero_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_identity__refs_count_nonzero_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_identity__refs_count_nonzero_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_identity__refs_linalg_vector_norm_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_identity__refs_linalg_vector_norm_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_identity__refs_prod_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_identity__refs_prod_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_identity__refs_prod_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_identity__refs_prod_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_identity__refs_prod_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_identity__refs_prod_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_identity__refs_sum_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_identity__refs_sum_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_identity__refs_sum_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_identity__refs_sum_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_identity_all_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_identity_all_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_identity_all_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_identity_any_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_identity_any_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_identity_any_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_identity_any_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_identity_any_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_identity_any_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_identity_count_nonzero_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_identity_count_nonzero_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_identity_count_nonzero_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_identity_linalg_vector_norm_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_identity_linalg_vector_norm_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_identity_linalg_vector_norm_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_identity_linalg_vector_norm_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_identity_masked_norm_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_identity_masked_prod_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_identity_masked_prod_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_identity_masked_prod_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_identity_masked_prod_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_identity_masked_prod_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_identity_masked_sum_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_identity_masked_sum_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_identity_masked_sum_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_identity_masked_sum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_identity_masked_sum_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_identity_masked_sum_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_identity_nansum_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_identity_nansum_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_identity_nansum_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_identity_prod_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_identity_prod_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_identity_prod_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_identity_prod_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_identity_prod_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_identity_sum_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_identity_sum_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_identity_sum_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_identity_sum_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_identity_sum_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_invalid_0dim_aminmax_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_logcumsumexp_complex_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_logsumexp_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_max_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_mean_dim_cpu, test/test_reductions.py::TestReductionsCPU::test_mean_int_with_optdtype_cpu, test/test_reductions.py::TestReductionsCPU::test_min_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_min_with_inf_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_mode_boolean_cpu, test/test_reductions.py::TestReductionsCPU::test_mode_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_mode_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_mode_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_mode_large_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_mode_large_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_mode_large_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_mode_wrong_dtype_cpu, test/test_reductions.py::TestReductionsCPU::test_nan_policy_omit_nanmean_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_nan_policy_omit_nanmean_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_nan_policy_omit_nansum_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate__refs_amax_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate__refs_amax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate__refs_amin_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate__refs_linalg_vector_norm_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate__refs_mean_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate__refs_prod_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate__refs_prod_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate__refs_std_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate__refs_std_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate__refs_sum_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate__refs_sum_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate__refs_sum_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate__refs_sum_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate__refs_sum_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate__refs_sum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate__refs_var_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_amin_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_linalg_vector_norm_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_linalg_vector_norm_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_linalg_vector_norm_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_masked_amax_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_masked_amin_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_masked_amin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_masked_logsumexp_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_masked_logsumexp_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_masked_logsumexp_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_masked_mean_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_masked_mean_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_masked_mean_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_masked_norm_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_masked_std_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_masked_std_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_masked_sum_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_masked_sum_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_masked_var_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_masked_var_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_masked_var_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_mean_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_prod_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_std_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_std_unbiased_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_std_unbiased_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_sum_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_var_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_var_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_var_unbiased_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_var_unbiased_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_nanmean_integral_types_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_nanmean_integral_types_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_nanmean_integral_types_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_nanmean_integral_types_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_nansum_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_nansum_out_dtype_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_nansum_out_dtype_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_nansum_vs_numpy_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_nansum_vs_numpy_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_nansum_vs_numpy_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_nansum_vs_numpy_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_nansum_vs_numpy_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_all_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_all_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_all_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_all_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_amax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_amin_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_amin_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_amin_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_any_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_any_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_any_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_any_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_any_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_any_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_any_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_count_nonzero_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_count_nonzero_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_count_nonzero_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_count_nonzero_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_count_nonzero_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_count_nonzero_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_count_nonzero_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_linalg_vector_norm_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_mean_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_prod_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_prod_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_prod_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_prod_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_prod_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_prod_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_std_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_sum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_sum_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_sum_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_var_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_var_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_var_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_all_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_all_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_amax_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_amax_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_amax_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_amax_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_amin_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_amin_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_amin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_amin_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_amin_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_amin_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_any_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_any_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_argmax_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_argmax_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_argmin_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_argmin_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_argmin_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_argmin_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_count_nonzero_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_linalg_vector_norm_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_linalg_vector_norm_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_amax_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_amax_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_amax_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_amax_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_amin_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_amin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_amin_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_argmax_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_argmax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_argmin_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_argmin_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_argmin_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_logsumexp_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_logsumexp_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_logsumexp_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_mean_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_mean_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_mean_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_norm_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_prod_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_prod_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_prod_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_prod_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_prod_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_std_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_std_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_std_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_sum_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_sum_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_sum_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_sum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_var_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_var_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_var_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_var_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_var_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_mean_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_mean_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_nanmean_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_nansum_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_nansum_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_nansum_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_prod_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_prod_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_prod_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_prod_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_prod_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_std_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_sum_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_sum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_sum_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_var_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_var_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_var_unbiased_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_var_unbiased_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_all_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_all_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_all_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_all_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_all_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_amax_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_amax_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_amax_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_amin_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_amin_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_amin_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_amin_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_amin_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_any_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_any_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_any_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_any_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_count_nonzero_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_count_nonzero_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_count_nonzero_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_count_nonzero_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_linalg_vector_norm_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_linalg_vector_norm_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_mean_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_mean_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_prod_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_prod_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_prod_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_prod_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_prod_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_std_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_std_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_std_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_std_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_std_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_sum_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_sum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_var_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_all_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_all_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_amax_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_amax_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_amax_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_amax_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_amin_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_amin_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_amin_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_any_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_any_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_any_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_any_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_argmax_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_argmin_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_argmin_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_count_nonzero_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_count_nonzero_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_count_nonzero_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_count_nonzero_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_linalg_vector_norm_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_linalg_vector_norm_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_amax_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_amax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_amax_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_amax_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_amin_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_amin_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_argmax_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_argmax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_argmax_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_argmin_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_argmin_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_argmin_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_logsumexp_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_logsumexp_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_logsumexp_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_mean_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_mean_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_mean_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_norm_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_prod_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_prod_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_prod_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_prod_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_std_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_std_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_std_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_sum_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_sum_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_sum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_var_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_var_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_var_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_mean_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_mean_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_nansum_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_nansum_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_nansum_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_prod_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_prod_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_prod_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_prod_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_prod_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_std_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_std_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_std_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_std_unbiased_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_std_unbiased_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_sum_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_sum_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_sum_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_var_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_var_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_var_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_var_unbiased_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_var_unbiased_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_var_unbiased_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_var_unbiased_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_all_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_all_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_all_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_all_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_amax_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_amax_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_amax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_amin_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_amin_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_amin_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_amin_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_any_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_any_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_any_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_count_nonzero_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_count_nonzero_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_count_nonzero_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_count_nonzero_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_linalg_vector_norm_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_linalg_vector_norm_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_mean_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_prod_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_prod_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_std_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_std_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_sum_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_sum_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_sum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_sum_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_var_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_var_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_all_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_all_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_all_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_all_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_amax_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_amax_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_amin_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_amin_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_amin_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_amin_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_any_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_any_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_argmax_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_argmax_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_argmax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_argmax_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_argmax_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_argmin_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_argmin_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_argmin_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_argmin_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_count_nonzero_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_count_nonzero_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_count_nonzero_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_linalg_vector_norm_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_amax_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_amax_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_amax_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_amin_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_amin_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_amin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_amin_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_argmax_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_argmax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_argmax_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_argmin_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_argmin_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_argmin_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_argmin_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_logsumexp_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_logsumexp_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_logsumexp_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_logsumexp_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_mean_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_mean_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_norm_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_prod_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_prod_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_prod_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_std_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_std_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_std_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_sum_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_sum_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_sum_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_sum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_sum_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_sum_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_var_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_var_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_var_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_mean_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_nansum_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_nansum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_nansum_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_nansum_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_nansum_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_prod_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_std_unbiased_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_std_unbiased_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_std_unbiased_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_sum_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_sum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_sum_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_sum_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_var_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_var_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_var_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_all_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_all_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_all_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_amax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_amax_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_amax_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_amax_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_amin_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_amin_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_any_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_any_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_any_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_any_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_any_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_count_nonzero_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_count_nonzero_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_count_nonzero_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_count_nonzero_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_linalg_vector_norm_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_mean_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_mean_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_prod_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_prod_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_prod_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_prod_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_std_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_sum_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_sum_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_sum_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_var_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_var_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_all_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_all_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_all_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_all_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_amax_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_amax_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_amax_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_amin_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_amin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_amin_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_amin_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_any_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_any_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_argmin_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_argmin_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_argmin_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_count_nonzero_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_count_nonzero_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_count_nonzero_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_count_nonzero_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_count_nonzero_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_linalg_vector_norm_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_linalg_vector_norm_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_amax_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_amax_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_amax_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_amin_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_amin_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_amin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_amin_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_amin_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_argmax_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_argmin_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_argmin_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_argmin_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_argmin_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_argmin_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_logsumexp_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_logsumexp_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_logsumexp_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_logsumexp_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_mean_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_mean_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_norm_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_prod_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_std_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_std_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_std_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_sum_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_sum_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_var_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_var_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_var_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_var_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_var_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_var_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_mean_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_mean_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_nansum_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_nansum_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_nansum_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_prod_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_prod_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_std_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_std_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_std_unbiased_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_std_unbiased_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_sum_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_sum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_sum_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_var_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_var_unbiased_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_var_unbiased_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_var_unbiased_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_var_unbiased_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_var_unbiased_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_all_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_all_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_all_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_all_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_all_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_amax_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_amax_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_amax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_amax_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_amax_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_amin_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_amin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_amin_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_any_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_any_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_any_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_count_nonzero_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_count_nonzero_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_count_nonzero_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_count_nonzero_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_linalg_vector_norm_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_linalg_vector_norm_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_linalg_vector_norm_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_mean_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_prod_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_prod_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_prod_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_prod_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_prod_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_prod_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_std_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_std_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_std_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_std_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_sum_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_sum_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_sum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_sum_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_var_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_var_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_var_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_all_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_all_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_all_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_all_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_all_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_amax_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_amax_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_amax_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_amax_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_amax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_amax_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_amin_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_amin_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_any_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_any_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_any_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_any_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_any_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_argmax_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_argmax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_argmax_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_argmin_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_argmin_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_argmin_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_count_nonzero_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_count_nonzero_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_count_nonzero_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_count_nonzero_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_count_nonzero_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_linalg_vector_norm_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_amax_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_amin_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_amin_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_amin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_argmax_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_argmax_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_argmax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_argmin_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_logsumexp_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_logsumexp_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_logsumexp_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_mean_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_norm_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_prod_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_prod_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_prod_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_std_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_std_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_std_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_std_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_std_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_sum_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_sum_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_sum_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_var_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_var_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_var_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_mean_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_mean_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_mean_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_nanmean_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_nansum_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_nansum_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_nansum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_nansum_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_nansum_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_nansum_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_prod_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_prod_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_prod_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_prod_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_prod_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_std_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_std_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_std_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_std_unbiased_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_sum_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_sum_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_sum_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_sum_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_var_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_var_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_prod_integer_upcast_cpu, test/test_reductions.py::TestReductionsCPU::test_reduce_dtype_cpu, test/test_reductions.py::TestReductionsCPU::test_reduction_split_cpu, test/test_reductions.py::TestReductionsCPU::test_reduction_vectorize_along_input_corner_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_reduction_vectorize_along_output_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_all_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_all_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_all_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_all_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_amax_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_amax_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_amin_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_amin_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_any_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_any_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_any_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_any_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_any_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_any_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_count_nonzero_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_count_nonzero_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_count_nonzero_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_count_nonzero_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_prod_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_prod_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_prod_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_prod_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_prod_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_prod_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_std_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_std_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_std_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_sum_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_sum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_sum_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_sum_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_sum_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_var_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_all_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_all_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_amax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_amin_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_amin_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_amin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_amin_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_any_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_any_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_any_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_any_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_any_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_argmax_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_argmax_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_count_nonzero_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_count_nonzero_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_count_nonzero_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_amax_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_amax_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_amax_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_amin_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_amin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_amin_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_amin_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_argmax_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_argmin_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_argmin_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_argmin_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_mean_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_prod_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_prod_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_prod_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_prod_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_std_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_std_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_std_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_std_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_std_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_sum_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_sum_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_sum_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_sum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_sum_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_sum_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_var_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_var_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_mean_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_nanmean_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_nansum_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_nansum_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_nansum_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_nansum_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_prod_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_prod_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_prod_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_std_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_std_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_std_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_sum_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_sum_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_sum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_sum_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_sum_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_var_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_extremal_values__refs_all_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_extremal_values__refs_any_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_extremal_values__refs_count_nonzero_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_extremal_values__refs_count_nonzero_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_extremal_values__refs_std_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_extremal_values_count_nonzero_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_extremal_values_masked_amax_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_extremal_values_masked_sum_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_extremal_values_masked_sum_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_extremal_values_masked_var_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_extremal_values_mean_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_extremal_values_mean_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_extremal_values_nanmean_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_extremal_values_sum_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_1D__refs_count_nonzero_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_1D__refs_mean_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_1D__refs_std_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_1D__refs_sum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_1D_amax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_1D_amin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_1D_any_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_1D_argmax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_1D_argmin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_1D_masked_std_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_1D_mean_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_1D_prod_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_1D_std_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_1D_sum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_2D__refs_count_nonzero_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_2D__refs_prod_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_2D__refs_std_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_2D_all_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_2D_amin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_2D_count_nonzero_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_2D_masked_amax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_2D_masked_amin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_2D_masked_argmin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_2D_masked_prod_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_2D_nansum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_2D_std_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_64bit_indexing__refs_amax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_64bit_indexing__refs_amin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_64bit_indexing__refs_count_nonzero_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_64bit_indexing__refs_std_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_64bit_indexing__refs_var_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_64bit_indexing_all_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_64bit_indexing_any_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_64bit_indexing_masked_amax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_64bit_indexing_masked_argmax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_64bit_indexing_nanmean_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_64bit_indexing_std_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_all_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_all_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_all_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_all_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_all_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_amax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_amax_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_amin_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_amin_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_any_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_any_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_any_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_mean_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_mean_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_prod_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_prod_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_std_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_sum_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_sum_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_sum_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_sum_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_var_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_all_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_all_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_all_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_all_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_amax_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_amax_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_amax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_amax_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_amin_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_amin_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_amin_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_any_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_any_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_argmax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_argmax_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_argmax_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_argmin_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_argmin_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_argmin_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_count_nonzero_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_count_nonzero_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_count_nonzero_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_count_nonzero_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_amax_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_amax_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_amin_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_amin_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_amin_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_amin_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_argmax_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_argmin_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_mean_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_mean_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_mean_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_prod_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_prod_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_prod_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_prod_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_prod_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_prod_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_std_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_std_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_std_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_std_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_std_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_sum_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_sum_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_sum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_sum_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_sum_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_sum_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_var_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_var_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_mean_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_mean_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_nanmean_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_nanmean_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_nansum_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_nansum_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_nansum_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_nansum_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_nansum_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_prod_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_prod_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_prod_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_prod_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_sum_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_sum_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_sum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_sum_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_sum_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_var_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_var_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_all_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_all_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_amax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_amax_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_amax_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_amin_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_amin_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_amin_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_amin_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_any_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_any_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_count_nonzero_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_count_nonzero_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_count_nonzero_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_count_nonzero_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_mean_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_prod_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_prod_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_prod_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_std_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_std_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_sum_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_sum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_sum_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_sum_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_var_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_var_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_all_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_all_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_all_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_all_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_amax_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_amin_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_amin_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_amin_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_any_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_any_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_any_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_any_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_argmax_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_argmax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_argmax_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_argmin_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_argmin_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_count_nonzero_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_count_nonzero_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_count_nonzero_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_count_nonzero_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_count_nonzero_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_amax_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_amax_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_amin_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_argmax_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_argmax_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_argmin_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_argmin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_prod_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_prod_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_prod_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_std_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_std_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_std_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_std_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_sum_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_sum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_sum_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_var_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_var_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_mean_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_mean_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_nanmean_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_nansum_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_nansum_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_nansum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_nansum_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_nansum_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_prod_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_std_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_std_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_sum_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_sum_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_sum_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_sum_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_sum_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_sum_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_amax_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_amax_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_amax_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_amax_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_amax_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_amin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_amin_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_amin_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_amin_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_argmax_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_argmax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_argmax_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_argmin_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_argmin_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_argmin_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_argmin_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_argmin_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_mean_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_mean_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_mean_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_prod_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_prod_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_prod_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_prod_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_std_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_std_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_std_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_sum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_sum_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_sum_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_sum_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_var_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_var_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_var_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_all_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_all_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_all_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_all_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_all_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_all_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_amax_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_amax_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_amin_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_amin_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_any_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_any_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_any_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_any_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_count_nonzero_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_count_nonzero_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_count_nonzero_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_linalg_vector_norm_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_linalg_vector_norm_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_linalg_vector_norm_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_mean_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_mean_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_prod_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_prod_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_prod_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_prod_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_prod_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_prod_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_prod_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_prod_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_prod_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_std_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_std_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_sum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_sum_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_result_dtype_all_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_result_dtype_all_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_result_dtype_all_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_result_dtype_all_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_result_dtype_amax_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_result_dtype_amax_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_amax_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_result_dtype_amin_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_amin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_result_dtype_amin_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_result_dtype_any_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_result_dtype_any_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_any_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_result_dtype_any_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_result_dtype_argmax_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_result_dtype_argmax_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_argmax_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_result_dtype_argmin_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_argmin_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_result_dtype_argmin_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_result_dtype_argmin_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_result_dtype_count_nonzero_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_result_dtype_count_nonzero_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_result_dtype_count_nonzero_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_count_nonzero_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_result_dtype_count_nonzero_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_result_dtype_linalg_vector_norm_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_result_dtype_linalg_vector_norm_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_amax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_amin_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_amin_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_argmax_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_argmax_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_argmin_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_logsumexp_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_logsumexp_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_logsumexp_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_mean_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_prod_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_prod_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_prod_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_prod_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_prod_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_prod_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_std_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_std_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_sum_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_sum_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_sum_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_sum_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_sum_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_sum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_sum_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_var_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_var_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_var_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_result_dtype_mean_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_result_dtype_mean_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_result_dtype_mean_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_result_dtype_mean_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_result_dtype_nanmean_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_nansum_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_nansum_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_result_dtype_nansum_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_result_dtype_nansum_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_result_dtype_nansum_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_result_dtype_prod_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_prod_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_result_dtype_prod_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_prod_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_prod_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_result_dtype_prod_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_result_dtype_std_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_std_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_result_dtype_std_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_result_dtype_std_unbiased_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_std_unbiased_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_result_dtype_std_unbiased_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_std_unbiased_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_result_dtype_sum_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_result_dtype_sum_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_sum_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_sum_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_result_dtype_sum_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_result_dtype_sum_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_result_dtype_var_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_var_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_result_dtype_var_unbiased_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_var_unbiased_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_std_correction_vs_numpy_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_std_mean_all_dims_cpu, test/test_reductions.py::TestReductionsCPU::test_std_mean_correction_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_std_mean_some_dims_cpu, test/test_reductions.py::TestReductionsCPU::test_std_vs_numpy_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_std_vs_numpy_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_sum_all_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_sum_all_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_sum_cpu_device_mismatch_cpu, test/test_reductions.py::TestReductionsCPU::test_sum_dim_reduction_uint8_overflow_cpu, test/test_reductions.py::TestReductionsCPU::test_sum_vs_numpy_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_sum_vs_numpy_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_sum_vs_numpy_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_sum_vs_numpy_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_tensor_compare_ops_argmax_argmix_kthvalue_dim_empty_cpu, test/test_reductions.py::TestReductionsCPU::test_var_correction_vs_numpy_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_var_large_input_cpu, test/test_reductions.py::TestReductionsCPU::test_var_mean_correction_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_var_stability_cpu, test/test_reductions.py::TestReductionsCPU::test_warn_invalid_degrees_of_freedom_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_warn_invalid_degrees_of_freedom_cpu_float64 2025-03-14T04:37:06.6456313Z 2025-03-14T04:37:06.6456549Z Running test_reductions 3/3 ... [2025-03-14 04:37:06.533880] 2025-03-14T04:37:06.6457007Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T04:37:06.6458074Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'test_reductions.py', '--shard-id=3', '--num-shards=3', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 04:37:06.534193] 2025-03-14T04:39:28.2886795Z 2025-03-14T04:39:28.2887676Z test_reductions 3/3 was successful, full logs can be found in artifacts with path test/test-reports/test_reductions_3.3_21ffcc559b8133e3_.log 2025-03-14T04:39:28.3460224Z Running 1522 items in this shard: test/test_reductions.py::TestReductionsCPU::test_all_any_vs_numpy_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_all_any_vs_numpy_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_all_any_vs_numpy_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_all_any_vs_numpy_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_all_issue117215_cpu, test/test_reductions.py::TestReductionsCPU::test_amax_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_amax_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_amin_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_amin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_amin_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_aminmax_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_argminmax_multiple_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_argminmax_multiple_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_count_nonzero_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_count_nonzero_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_count_nonzero_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_count_nonzero_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_count_nonzero_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_count_nonzero_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_cumsum_integer_upcast_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_arg_reduction_scalar_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_dim_arg_reduction_scalar_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_dim_default__refs_amax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default__refs_mean_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default__refs_std_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default__refs_var_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_argmin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_keepdim__refs_amax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_keepdim__refs_amin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_keepdim__refs_count_nonzero_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_keepdim__refs_mean_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_keepdim__refs_sum_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_keepdim__refs_var_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_keepdim_amax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_keepdim_argmax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_keepdim_masked_amax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_keepdim_masked_argmin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_keepdim_masked_mean_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_keepdim_masked_var_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_keepdim_mean_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_keepdim_nanmean_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_keepdim_nansum_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_keepdim_std_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_keepdim_std_unbiased_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_keepdim_sum_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_keepdim_var_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_masked_logsumexp_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_masked_norm_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_masked_prod_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_default_std_unbiased_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty__refs_count_nonzero_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty__refs_var_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty_keepdim__refs_amin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty_keepdim__refs_count_nonzero_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty_keepdim__refs_prod_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty_keepdim__refs_std_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty_keepdim__refs_var_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty_keepdim_count_nonzero_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty_keepdim_masked_mean_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty_keepdim_masked_norm_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty_keepdim_masked_prod_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty_keepdim_std_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty_masked_amax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty_masked_logsumexp_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty_masked_sum_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_empty_nansum_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi__refs_std_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi__refs_sum_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_duplicate__refs_amax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_duplicate__refs_any_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_duplicate__refs_linalg_vector_norm_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_duplicate__refs_mean_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_duplicate__refs_prod_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_duplicate_amin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_duplicate_linalg_vector_norm_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_duplicate_masked_logsumexp_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_duplicate_masked_var_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_duplicate_nanmean_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_duplicate_nansum_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_duplicate_sum_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_keepdim__refs_linalg_vector_norm_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_keepdim__refs_mean_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_keepdim__refs_sum_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_keepdim_all_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_keepdim_any_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_keepdim_masked_amax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_keepdim_masked_norm_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_keepdim_masked_sum_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_keepdim_sum_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_keepdim_var_unbiased_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_masked_amin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_masked_logsumexp_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_masked_norm_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_nanmean_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_nansum_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted__refs_all_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted__refs_amax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted__refs_amin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted__refs_count_nonzero_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted__refs_linalg_vector_norm_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted__refs_mean_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted__refs_prod_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted__refs_var_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_amin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_count_nonzero_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_keepdim__refs_all_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_keepdim__refs_amax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_keepdim__refs_amin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_keepdim__refs_any_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_keepdim__refs_std_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_keepdim_amax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_keepdim_amin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_keepdim_masked_amax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_keepdim_masked_norm_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_keepdim_masked_sum_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_keepdim_masked_var_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_keepdim_sum_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_keepdim_var_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_keepdim_var_unbiased_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_linalg_vector_norm_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_masked_amax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_masked_norm_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_masked_prod_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_masked_std_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_mean_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_nanmean_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsorted_std_unbiased_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_multi_unsupported_masked_argmin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_ndim_limit__refs_amin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_ndim_limit__refs_any_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_ndim_limit__refs_prod_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_ndim_limit_amax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_ndim_limit_linalg_vector_norm_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_ndim_limit_masked_argmax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_ndim_limit_masked_argmin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_ndim_limit_masked_mean_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_ndim_limit_masked_prod_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_ndim_limit_masked_var_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_ndim_limit_nansum_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none__refs_all_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none__refs_any_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none__refs_count_nonzero_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_amin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_argmin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_keepdim__refs_all_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_keepdim__refs_any_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_keepdim__refs_linalg_vector_norm_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_keepdim__refs_sum_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_keepdim_all_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_keepdim_argmax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_keepdim_masked_argmin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_keepdim_masked_mean_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_keepdim_masked_norm_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_keepdim_masked_var_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_keepdim_sum_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_keepdim_var_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_keepdim_var_unbiased_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_masked_amax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_masked_amin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_masked_argmax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_masked_logsumexp_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_masked_var_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_std_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_std_unbiased_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_none_var_unbiased_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_offbounds__refs_amax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_offbounds__refs_count_nonzero_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_offbounds__refs_linalg_vector_norm_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_offbounds__refs_std_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_offbounds__refs_var_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_offbounds_all_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_offbounds_any_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_offbounds_argmax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_offbounds_argmin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_offbounds_masked_amin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_offbounds_masked_mean_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_offbounds_masked_prod_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_offbounds_masked_sum_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_offbounds_std_unbiased_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_offbounds_sum_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_offbounds_var_unbiased_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_amax_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_amax_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_amax_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_max_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_max_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_max_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_mean_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_mean_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_median_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_min_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_min_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_min_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_mode_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_mode_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_nanmedian_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_norm_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_norm_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_norm_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_norm_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_norm_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_prod_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_prod_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_prod_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_std_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_std_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_std_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_sum_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_sum_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_var_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_dim_reduction_fns_fn_name_var_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_dim_single__refs_all_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single__refs_any_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single__refs_linalg_vector_norm_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single__refs_prod_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single__refs_var_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_amax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_argmin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_keepdim_count_nonzero_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_keepdim_masked_argmax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_keepdim_masked_logsumexp_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_keepdim_masked_std_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_keepdim_masked_sum_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_keepdim_nanmean_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_masked_amax_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_masked_argmin_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_masked_norm_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_nansum_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_var_cpu, test/test_reductions.py::TestReductionsCPU::test_dim_single_var_unbiased_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_empty_slice__refs_all_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_empty_slice__refs_any_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_empty_slice__refs_count_nonzero_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_empty_slice__refs_prod_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_empty_slice_all_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_empty_slice_argmin_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_empty_slice_count_nonzero_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_empty_slice_linalg_vector_norm_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_empty_slice_masked_amax_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_empty_slice_masked_amin_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_empty_slice_masked_argmin_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_empty_slice_mean_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_empty_slice_nanmean_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_empty_slice_prod_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_empty_slice_std_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_empty_slice_std_unbiased_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_empty_slice_sum_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_empty_slice_var_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_nonempty_slice__refs_linalg_vector_norm_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_nonempty_slice__refs_prod_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_nonempty_slice__refs_sum_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_nonempty_slice_all_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_nonempty_slice_amax_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_nonempty_slice_argmax_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_nonempty_slice_masked_argmin_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_nonempty_slice_masked_mean_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_nonempty_slice_masked_norm_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_nonempty_slice_mean_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_nonempty_slice_nanmean_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_nonempty_slice_std_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_nonempty_slice_var_cpu, test/test_reductions.py::TestReductionsCPU::test_empty_tensor_nonempty_slice_var_unbiased_cpu, test/test_reductions.py::TestReductionsCPU::test_histc_lowp_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_histc_min_max_errors_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_identity__refs_all_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_identity__refs_any_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_identity__refs_any_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_identity__refs_any_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_identity__refs_any_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_identity__refs_any_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_identity__refs_any_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_identity__refs_count_nonzero_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_identity__refs_count_nonzero_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_identity__refs_count_nonzero_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_identity__refs_linalg_vector_norm_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_identity__refs_linalg_vector_norm_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_identity__refs_prod_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_identity__refs_sum_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_identity__refs_sum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_identity__refs_sum_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_identity__refs_sum_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_identity_all_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_identity_all_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_identity_all_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_identity_all_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_identity_any_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_identity_count_nonzero_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_identity_count_nonzero_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_identity_count_nonzero_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_identity_count_nonzero_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_identity_linalg_vector_norm_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_identity_masked_norm_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_identity_masked_norm_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_identity_masked_prod_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_identity_masked_prod_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_identity_masked_prod_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_identity_masked_prod_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_identity_masked_prod_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_identity_masked_sum_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_identity_masked_sum_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_identity_masked_sum_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_identity_nansum_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_identity_nansum_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_identity_prod_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_identity_prod_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_identity_prod_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_identity_sum_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_identity_sum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_identity_sum_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_logsumexp_dim_cpu, test/test_reductions.py::TestReductionsCPU::test_logsumexp_integral_promotion_cpu, test/test_reductions.py::TestReductionsCPU::test_max_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_max_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_max_elementwise_cpu, test/test_reductions.py::TestReductionsCPU::test_max_mixed_devices_cpu, test/test_reductions.py::TestReductionsCPU::test_max_with_inf_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_max_with_inf_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_max_with_inf_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_mean_out_is_alias_of_return_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_mean_out_is_alias_of_return_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_median_real_values_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_median_real_values_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_min_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_min_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_min_mixed_devices_cpu, test/test_reductions.py::TestReductionsCPU::test_min_with_inf_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_minmax_illegal_dtype_cpu, test/test_reductions.py::TestReductionsCPU::test_mode_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_mode_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_mode_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_mode_large_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_mode_large_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_mode_large_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_mode_wrong_device_cpu, test/test_reductions.py::TestReductionsCPU::test_nan_policy_omit_nanmean_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate__refs_amax_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate__refs_amin_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate__refs_amin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate__refs_linalg_vector_norm_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate__refs_linalg_vector_norm_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate__refs_linalg_vector_norm_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate__refs_mean_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate__refs_mean_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate__refs_mean_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate__refs_prod_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate__refs_prod_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate__refs_prod_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate__refs_std_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate__refs_std_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate__refs_var_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate__refs_var_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_amax_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_amax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_amin_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_amin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_linalg_vector_norm_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_masked_amax_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_masked_amin_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_masked_amin_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_masked_logsumexp_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_masked_mean_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_masked_norm_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_masked_prod_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_masked_prod_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_masked_prod_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_masked_std_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_masked_std_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_masked_var_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_mean_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_mean_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_mean_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_mean_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_prod_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_prod_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_std_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_std_unbiased_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_std_unbiased_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_sum_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_var_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_var_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_var_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_var_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_var_unbiased_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_nan_policy_propagate_var_unbiased_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_nansum_complex_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_nansum_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_nansum_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_nansum_out_dtype_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_nansum_out_dtype_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_nansum_out_dtype_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_nansum_out_dtype_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_nansum_out_dtype_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_nansum_out_dtype_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_nansum_vs_numpy_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_all_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_all_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_all_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_amax_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_amax_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_amax_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_amax_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_amax_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_amax_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_amin_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_amin_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_amin_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_any_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_any_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_any_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_count_nonzero_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_count_nonzero_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_count_nonzero_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_linalg_vector_norm_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_linalg_vector_norm_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_linalg_vector_norm_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_mean_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_mean_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_mean_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_prod_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_prod_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_prod_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_std_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_std_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_std_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_sum_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_sum_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_sum_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_sum_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_sum_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_sum_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all__refs_var_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_all_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_all_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_all_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_all_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_amax_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_amin_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_amin_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_any_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_any_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_argmax_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_argmax_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_argmax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_argmax_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_argmin_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_argmin_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_count_nonzero_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_count_nonzero_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_count_nonzero_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_count_nonzero_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_count_nonzero_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_count_nonzero_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_count_nonzero_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_count_nonzero_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_count_nonzero_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_linalg_vector_norm_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_linalg_vector_norm_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_linalg_vector_norm_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_amax_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_amax_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_amin_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_amin_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_amin_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_amin_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_argmax_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_argmax_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_argmax_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_argmax_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_argmin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_argmin_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_logsumexp_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_logsumexp_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_logsumexp_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_logsumexp_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_logsumexp_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_norm_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_norm_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_prod_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_prod_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_prod_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_std_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_std_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_std_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_std_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_std_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_sum_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_sum_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_sum_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_sum_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_sum_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_sum_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_var_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_var_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_var_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_masked_var_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_mean_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_mean_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_nanmean_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_nanmean_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_nansum_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_nansum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_prod_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_prod_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_prod_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_prod_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_prod_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_prod_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_std_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_std_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_std_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_std_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_std_unbiased_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_std_unbiased_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_sum_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_sum_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_sum_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_sum_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_var_unbiased_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_var_unbiased_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_var_unbiased_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_all_var_unbiased_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_all_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_all_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_all_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_amax_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_amax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_amax_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_amax_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_amin_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_amin_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_amin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_amin_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_amin_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_any_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_any_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_count_nonzero_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_count_nonzero_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_count_nonzero_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_linalg_vector_norm_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_linalg_vector_norm_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_mean_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_mean_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_mean_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_prod_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_prod_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_prod_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_prod_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_prod_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_sum_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_sum_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_sum_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded__refs_var_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_all_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_all_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_all_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_amax_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_amax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_amax_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_amax_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_amax_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_amin_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_amin_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_amin_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_amin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_amin_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_any_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_any_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_any_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_argmax_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_argmax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_argmax_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_argmax_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_argmin_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_argmin_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_argmin_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_count_nonzero_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_count_nonzero_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_count_nonzero_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_amax_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_amin_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_amin_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_amin_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_amin_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_argmax_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_argmax_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_argmax_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_argmin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_argmin_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_logsumexp_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_logsumexp_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_logsumexp_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_logsumexp_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_logsumexp_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_logsumexp_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_logsumexp_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_mean_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_mean_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_mean_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_norm_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_norm_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_prod_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_prod_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_prod_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_prod_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_prod_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_prod_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_std_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_std_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_std_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_std_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_std_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_std_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_sum_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_sum_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_sum_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_sum_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_sum_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_sum_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_sum_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_var_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_var_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_var_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_var_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_masked_var_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_mean_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_mean_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_nanmean_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_nanmean_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_nansum_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_nansum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_nansum_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_prod_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_prod_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_prod_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_std_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_std_unbiased_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_std_unbiased_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_std_unbiased_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_sum_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_sum_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_sum_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_sum_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_sum_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_sum_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_sum_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_var_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_expanded_var_unbiased_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_all_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_all_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_all_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_all_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_all_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_amax_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_amax_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_amin_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_amin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_amin_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_any_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_any_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_any_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_any_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_any_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_count_nonzero_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_count_nonzero_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_count_nonzero_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_count_nonzero_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_linalg_vector_norm_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_linalg_vector_norm_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_mean_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_mean_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_mean_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_prod_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_prod_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_std_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_std_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_sum_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_sum_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_sum_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_sum_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_sum_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_sum_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost__refs_var_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_all_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_all_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_all_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_all_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_amax_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_amax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_amin_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_amin_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_amin_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_amin_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_any_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_any_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_any_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_any_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_argmax_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_argmin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_argmin_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_argmin_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_count_nonzero_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_count_nonzero_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_count_nonzero_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_count_nonzero_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_linalg_vector_norm_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_linalg_vector_norm_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_linalg_vector_norm_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_amax_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_amax_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_amax_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_amin_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_amin_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_amin_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_argmax_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_argmax_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_argmax_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_argmin_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_argmin_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_argmin_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_argmin_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_logsumexp_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_logsumexp_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_logsumexp_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_logsumexp_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_mean_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_mean_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_norm_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_prod_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_prod_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_prod_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_prod_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_std_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_std_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_std_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_std_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_sum_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_sum_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_sum_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_var_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_var_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_var_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_masked_var_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_mean_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_mean_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_mean_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_nanmean_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_nanmean_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_nanmean_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_nansum_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_nansum_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_prod_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_prod_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_prod_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_std_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_std_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_std_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_std_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_std_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_std_unbiased_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_sum_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_sum_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_sum_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_sum_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_sum_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_var_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_var_unbiased_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_innermost_var_unbiased_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_all_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_all_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_all_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_all_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_all_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_amax_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_amax_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_amin_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_amin_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_amin_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_amin_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_any_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_any_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_any_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_any_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_any_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_count_nonzero_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_count_nonzero_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_count_nonzero_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_count_nonzero_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_linalg_vector_norm_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_linalg_vector_norm_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_linalg_vector_norm_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_linalg_vector_norm_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_mean_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_prod_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_prod_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_prod_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_prod_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_std_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_std_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_sum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_sum_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_sum_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_sum_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_var_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_var_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost__refs_var_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_all_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_all_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_all_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_amax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_amax_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_amax_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_amin_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_amin_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_any_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_any_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_any_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_any_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_any_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_argmax_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_argmax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_argmax_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_argmax_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_argmin_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_argmin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_argmin_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_count_nonzero_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_count_nonzero_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_count_nonzero_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_linalg_vector_norm_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_linalg_vector_norm_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_amax_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_amax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_amax_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_amax_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_amin_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_argmax_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_argmax_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_argmax_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_argmax_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_argmin_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_argmin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_logsumexp_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_logsumexp_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_logsumexp_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_mean_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_mean_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_mean_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_norm_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_prod_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_prod_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_prod_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_prod_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_prod_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_prod_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_prod_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_std_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_std_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_std_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_sum_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_sum_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_sum_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_sum_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_sum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_sum_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_sum_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_var_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_masked_var_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_mean_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_nanmean_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_nansum_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_nansum_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_nansum_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_prod_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_prod_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_prod_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_prod_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_std_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_std_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_std_unbiased_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_std_unbiased_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_std_unbiased_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_sum_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_sum_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_var_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_var_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_var_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_var_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_outermost_var_unbiased_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_all_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_all_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_all_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_all_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_amax_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_amax_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_amin_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_amin_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_amin_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_amin_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_any_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_any_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_any_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_any_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_any_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_any_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_count_nonzero_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_count_nonzero_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_count_nonzero_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_count_nonzero_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_count_nonzero_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_linalg_vector_norm_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_linalg_vector_norm_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_mean_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_mean_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_mean_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_prod_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_prod_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_prod_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_prod_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_std_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_std_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_sum_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_sum_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_sum_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_sum_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_var_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_var_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed__refs_var_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_all_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_all_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_all_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_all_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_all_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_all_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_all_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_amax_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_amin_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_amin_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_amin_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_any_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_any_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_any_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_argmax_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_argmax_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_argmax_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_argmin_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_argmin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_argmin_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_argmin_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_argmin_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_count_nonzero_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_count_nonzero_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_count_nonzero_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_count_nonzero_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_count_nonzero_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_linalg_vector_norm_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_amax_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_amax_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_amax_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_amax_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_amin_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_argmax_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_argmax_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_argmin_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_argmin_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_argmin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_argmin_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_argmin_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_argmin_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_logsumexp_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_logsumexp_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_logsumexp_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_mean_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_mean_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_mean_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_mean_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_mean_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_norm_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_norm_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_prod_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_prod_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_prod_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_std_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_std_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_std_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_sum_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_sum_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_sum_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_sum_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_sum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_sum_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_sum_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_var_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_var_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_masked_var_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_mean_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_mean_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_nansum_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_nansum_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_nansum_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_prod_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_prod_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_prod_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_prod_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_prod_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_std_unbiased_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_std_unbiased_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_std_unbiased_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_sum_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_sum_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_sum_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_sum_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_sum_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_var_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_var_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_var_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_var_unbiased_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_var_unbiased_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_var_unbiased_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_var_unbiased_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_noncontiguous_transposed_var_unbiased_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_prod_bool_cpu, test/test_reductions.py::TestReductionsCPU::test_prod_gpu_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_prod_lowp_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_quantile_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_quantile_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_quantile_error_cpu, test/test_reductions.py::TestReductionsCPU::test_reduction_empty_any_all_cpu, test/test_reductions.py::TestReductionsCPU::test_reduction_vectorize_along_input_corner_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_reduction_vectorize_along_input_corner_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_reduction_vectorize_along_output_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_reduction_vectorize_along_output_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_reduction_vectorize_along_output_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_reductions_large_half_tensors_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_all_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_all_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_all_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_all_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_amax_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_amax_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_amin_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_amin_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_amin_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_any_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_any_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_any_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_any_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_count_nonzero_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_count_nonzero_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_count_nonzero_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_count_nonzero_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_count_nonzero_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_mean_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_prod_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_prod_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_std_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_var_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_var_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values__refs_var_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_all_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_all_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_all_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_all_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_amax_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_amax_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_amax_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_amin_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_amin_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_any_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_any_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_any_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_any_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_argmax_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_argmax_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_argmax_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_argmax_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_argmin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_argmin_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_count_nonzero_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_count_nonzero_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_count_nonzero_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_amax_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_amax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_amax_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_amin_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_argmax_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_argmax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_argmax_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_argmax_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_argmin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_argmin_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_argmin_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_prod_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_prod_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_std_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_std_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_std_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_sum_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_sum_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_sum_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_sum_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_var_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_var_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_masked_var_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_mean_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_mean_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_nanmean_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_nanmean_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_nansum_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_prod_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_prod_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_prod_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_prod_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_prod_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_prod_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_prod_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_std_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_sum_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_sum_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_sum_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_var_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_ref_duplicate_values_var_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_extremal_values__refs_all_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_extremal_values__refs_mean_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_extremal_values__refs_prod_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_extremal_values__refs_sum_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_extremal_values__refs_sum_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_extremal_values_all_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_extremal_values_all_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_extremal_values_amax_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_extremal_values_any_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_extremal_values_argmin_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_extremal_values_count_nonzero_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_extremal_values_masked_argmax_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_extremal_values_masked_mean_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_extremal_values_masked_var_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_extremal_values_nansum_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_extremal_values_std_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_extremal_values_sum_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_1D__refs_all_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_1D__refs_any_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_1D__refs_var_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_1D_all_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_1D_count_nonzero_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_1D_masked_argmax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_1D_masked_argmin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_1D_masked_mean_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_2D__refs_amax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_2D__refs_any_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_2D__refs_mean_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_2D__refs_sum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_2D_masked_sum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_2D_masked_var_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_2D_nanmean_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_2D_prod_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_2D_sum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_2D_var_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_64bit_indexing__refs_all_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_64bit_indexing__refs_mean_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_64bit_indexing__refs_prod_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_64bit_indexing__refs_sum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_64bit_indexing_amax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_64bit_indexing_argmax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_64bit_indexing_argmin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_64bit_indexing_count_nonzero_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_64bit_indexing_masked_argmin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_64bit_indexing_masked_mean_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_64bit_indexing_masked_prod_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_64bit_indexing_masked_std_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_64bit_indexing_prod_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_large_input_64bit_indexing_sum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_all_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_all_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_amax_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_amax_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_amax_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_amin_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_amin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_amin_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_amin_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_any_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_any_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_any_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_any_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_count_nonzero_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_count_nonzero_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_count_nonzero_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_count_nonzero_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_prod_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_prod_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_prod_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_prod_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_prod_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_std_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_sum_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_sum_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_sum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_sum_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_var_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_var_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_var_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input__refs_var_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_all_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_all_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_amin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_amin_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_amin_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_any_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_any_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_any_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_any_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_argmax_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_argmax_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_argmax_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_argmin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_argmin_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_argmin_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_argmin_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_count_nonzero_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_count_nonzero_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_amax_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_amax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_amax_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_amax_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_amin_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_argmax_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_argmax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_argmax_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_argmax_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_argmax_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_argmin_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_argmin_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_mean_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_mean_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_prod_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_prod_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_prod_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_std_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_std_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_sum_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_var_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_var_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_var_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_var_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_masked_var_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_mean_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_mean_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_nanmean_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_nansum_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_nansum_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_prod_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_prod_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_std_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_std_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_std_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_sum_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_sum_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_sum_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_var_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_ref_scalar_input_var_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_all_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_all_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_all_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_all_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_amax_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_amax_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_amax_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_amin_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_amin_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_amin_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_any_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_any_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_any_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_any_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_any_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_count_nonzero_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_count_nonzero_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_count_nonzero_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_count_nonzero_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_count_nonzero_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_mean_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_mean_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_mean_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_prod_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_std_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_std_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_sum_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_sum_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_sum_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_sum_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_small_input__refs_var_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_all_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_all_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_all_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_amax_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_amax_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_amax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_amax_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_amax_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_amax_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_amin_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_amin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_amin_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_amin_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_any_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_any_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_any_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_any_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_argmax_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_argmax_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_argmax_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_argmin_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_argmin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_argmin_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_argmin_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_argmin_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_count_nonzero_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_count_nonzero_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_count_nonzero_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_count_nonzero_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_amax_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_amax_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_amax_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_amin_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_amin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_amin_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_argmax_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_argmax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_argmax_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_argmin_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_argmin_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_argmin_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_mean_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_mean_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_prod_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_prod_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_std_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_std_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_std_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_sum_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_sum_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_sum_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_sum_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_var_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_var_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_masked_var_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_mean_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_mean_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_nanmean_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_nansum_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_nansum_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_prod_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_prod_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_prod_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_prod_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_prod_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_prod_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_std_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_sum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_var_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_ref_small_input_var_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_amax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_amin_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_argmax_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_argmax_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_argmax_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_argmax_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_argmin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_argmin_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_prod_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_prod_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_prod_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_prod_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_std_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_std_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_std_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_sum_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_sum_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_sum_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_sum_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_var_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_var_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_var_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_var_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_var_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_var_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_reference_masked_masked_var_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_all_cpu_bool, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_all_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_all_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_amax_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_amax_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_amin_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_amin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_amin_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_amin_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_any_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_any_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_any_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_count_nonzero_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_count_nonzero_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_count_nonzero_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_linalg_vector_norm_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_linalg_vector_norm_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_linalg_vector_norm_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_mean_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_mean_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_mean_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_prod_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_sum_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_sum_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_sum_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_sum_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_sum_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_var_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_var_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_var_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_result_dtype__refs_var_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_result_dtype_all_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_all_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_result_dtype_all_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_all_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_all_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_result_dtype_all_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_result_dtype_amax_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_amax_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_result_dtype_amin_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_result_dtype_amin_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_amin_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_result_dtype_any_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_any_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_result_dtype_any_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_any_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_result_dtype_any_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_result_dtype_argmax_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_argmax_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_result_dtype_argmax_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_result_dtype_argmin_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_argmin_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_result_dtype_count_nonzero_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_count_nonzero_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_result_dtype_count_nonzero_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_result_dtype_linalg_vector_norm_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_amax_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_amax_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_amax_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_amax_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_amin_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_amin_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_amin_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_amin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_amin_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_argmax_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_argmax_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_argmax_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_argmax_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_argmin_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_argmin_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_argmin_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_argmin_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_argmin_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_logsumexp_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_logsumexp_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_logsumexp_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_logsumexp_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_mean_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_mean_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_norm_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_norm_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_prod_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_std_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_std_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_std_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_std_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_std_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_std_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_sum_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_sum_cpu_int16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_var_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_var_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_var_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_var_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_var_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_result_dtype_masked_var_cpu_uint8, test/test_reductions.py::TestReductionsCPU::test_result_dtype_mean_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_result_dtype_nanmean_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_result_dtype_nanmean_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_result_dtype_nansum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_result_dtype_nansum_cpu_int8, test/test_reductions.py::TestReductionsCPU::test_result_dtype_prod_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_result_dtype_std_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_result_dtype_sum_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_result_dtype_sum_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_result_dtype_sum_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_result_dtype_sum_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_result_dtype_var_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_result_dtype_var_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_result_dtype_var_unbiased_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_std_correction_vs_numpy_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_std_correction_vs_numpy_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_std_mean_correction_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_std_mean_correction_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_std_vs_numpy_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_sum_dim_cpu, test/test_reductions.py::TestReductionsCPU::test_sum_integer_upcast_cpu, test/test_reductions.py::TestReductionsCPU::test_sum_noncontig_lowp_cpu_bfloat16, test/test_reductions.py::TestReductionsCPU::test_sum_noncontig_lowp_cpu_float16, test/test_reductions.py::TestReductionsCPU::test_sum_out_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_sum_vs_numpy_cpu_int32, test/test_reductions.py::TestReductionsCPU::test_sum_vs_numpy_cpu_int64, test/test_reductions.py::TestReductionsCPU::test_tensor_reduce_ops_empty_cpu, test/test_reductions.py::TestReductionsCPU::test_var_correction_vs_numpy_cpu_complex64, test/test_reductions.py::TestReductionsCPU::test_var_mean_all_dims_cpu, test/test_reductions.py::TestReductionsCPU::test_var_mean_cpu, test/test_reductions.py::TestReductionsCPU::test_var_unbiased_cpu, test/test_reductions.py::TestReductionsCPU::test_var_vs_numpy_cpu_complex128, test/test_reductions.py::TestReductionsCPU::test_var_vs_numpy_cpu_float32, test/test_reductions.py::TestReductionsCPU::test_var_vs_numpy_cpu_float64, test/test_reductions.py::TestReductionsCPU::test_warn_invalid_degrees_of_freedom_cpu_complex64 2025-03-14T04:39:28.4015359Z 2025-03-14T04:39:28.4015628Z Running test_autocast 1/1 ... [2025-03-14 04:39:28.291023] 2025-03-14T04:39:28.4016102Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T04:39:28.4017144Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'test_autocast.py', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 04:39:28.291359] 2025-03-14T04:39:43.2822898Z 2025-03-14T04:39:43.2824152Z test_autocast 1/1 was successful, full logs can be found in artifacts with path test/test-reports/test_autocast_1.1_98b93c6de1a23f53_.log 2025-03-14T04:39:43.2834262Z Running 20 items in this shard: test/test_autocast.py::TestAutocastCPU::test_autocast_disabled_with_fp32_dtype, test/test_autocast.py::TestAutocastCPU::test_autocast_methods_expect_builtin_promote, test/test_autocast.py::TestAutocastCPU::test_autocast_nn_16, test/test_autocast.py::TestAutocastCPU::test_autocast_nn_fp32, test/test_autocast.py::TestAutocastCPU::test_autocast_rnn, test/test_autocast.py::TestAutocastCPU::test_autocast_torch_16, test/test_autocast.py::TestAutocastCPU::test_autocast_torch_expect_builtin_promote, test/test_autocast.py::TestAutocastCPU::test_autocast_torch_fp32, test/test_autocast.py::TestAutocastCPU::test_autocast_torch_need_autocast_promote, test/test_autocast.py::TestAutocastCPU::test_cpu_autocast_deprecated_warning, test/test_autocast.py::TestAutocastCPU::test_generic_autocast, test/test_autocast.py::TestAutocastGPU::test_autocast_prioritize, test/test_autocast.py::TestAutocastGPU::test_cache_disabled, test/test_autocast.py::TestAutocastGPU::test_cast_cache_is_global, test/test_autocast.py::TestAutocastMPS::test_cast_cache_is_global, test/test_autocast.py::TestAutocastMPS::test_mps_autocast_bfloat16_supported, test/test_autocast.py::TestAutocastMPS::test_mps_autocast_error_message, test/test_autocast.py::TestTorchAutocast::test_autocast_fast_dtype, test/test_autocast.py::TestTorchAutocast::test_invalid_device, test/test_autocast.py::TestTorchAutocast::test_non_string_device 2025-03-14T04:39:43.2840563Z 2025-03-14T04:39:43.2840826Z Running test_autograd_fallback 1/1 ... [2025-03-14 04:39:43.282539] 2025-03-14T04:39:43.2841281Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T04:39:43.2842354Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'test_autograd_fallback.py', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 04:39:43.282945] 2025-03-14T04:39:48.8546631Z 2025-03-14T04:39:48.8548084Z test_autograd_fallback 1/1 was successful, full logs can be found in artifacts with path test/test-reports/test_autograd_fallback_1.1_72beaec89ae7e514_.log 2025-03-14T04:39:48.8564367Z Running 28 items in this shard: test/test_autograd_fallback.py::TestAutogradFallback::test_autograd_function_registered_to_cpu_mode_nothing, test/test_autograd_fallback.py::TestAutogradFallback::test_autograd_function_registered_to_cpu_mode_warn, test/test_autograd_fallback.py::TestAutogradFallback::test_base_does_not_require_grad_mode_nothing, test/test_autograd_fallback.py::TestAutogradFallback::test_base_does_not_require_grad_mode_warn, test/test_autograd_fallback.py::TestAutogradFallback::test_composite_registered_to_cpu_mode_nothing, test/test_autograd_fallback.py::TestAutogradFallback::test_composite_registered_to_cpu_mode_warn, test/test_autograd_fallback.py::TestAutogradFallback::test_cpu_return_self_mode_nothing, test/test_autograd_fallback.py::TestAutogradFallback::test_cpu_return_self_mode_warn, test/test_autograd_fallback.py::TestAutogradFallback::test_inplace_autograd_function_registered_to_cpu_mode_nothing, test/test_autograd_fallback.py::TestAutogradFallback::test_inplace_autograd_function_registered_to_cpu_mode_warn, test/test_autograd_fallback.py::TestAutogradFallback::test_inplace_on_tensor_that_does_not_require_grad_mode_nothing, test/test_autograd_fallback.py::TestAutogradFallback::test_inplace_on_tensor_that_does_not_require_grad_mode_warn, test/test_autograd_fallback.py::TestAutogradFallback::test_no_autograd_kernel_inplace_mode_nothing, test/test_autograd_fallback.py::TestAutogradFallback::test_no_autograd_kernel_inplace_mode_warn, test/test_autograd_fallback.py::TestAutogradFallback::test_no_autograd_kernel_mode_nothing, test/test_autograd_fallback.py::TestAutogradFallback::test_no_autograd_kernel_mode_warn, test/test_autograd_fallback.py::TestAutogradFallback::test_no_grad_mode_nothing, test/test_autograd_fallback.py::TestAutogradFallback::test_no_grad_mode_warn, test/test_autograd_fallback.py::TestAutogradFallback::test_post_autograd_returns_leaf_mode_nothing, test/test_autograd_fallback.py::TestAutogradFallback::test_post_autograd_returns_leaf_mode_warn, test/test_autograd_fallback.py::TestAutogradFallback::test_post_autograd_returns_mix_of_requires_grad_tensors_mode_nothing, test/test_autograd_fallback.py::TestAutogradFallback::test_post_autograd_returns_mix_of_requires_grad_tensors_mode_warn, test/test_autograd_fallback.py::TestAutogradFallback::test_supports_tensor_lists_mode_nothing, test/test_autograd_fallback.py::TestAutogradFallback::test_supports_tensor_lists_mode_warn, test/test_autograd_fallback.py::TestAutogradFallback::test_undefined_grads_mode_nothing, test/test_autograd_fallback.py::TestAutogradFallback::test_undefined_grads_mode_warn, test/test_autograd_fallback.py::TestAutogradFallback::test_undefined_inputs_outputs_mode_nothing, test/test_autograd_fallback.py::TestAutogradFallback::test_undefined_inputs_outputs_mode_warn 2025-03-14T04:39:48.8576410Z 2025-03-14T04:39:48.8576646Z Running test_python_dispatch 1/1 ... [2025-03-14 04:39:48.854911] 2025-03-14T04:39:48.8577086Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T04:39:48.8578147Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'test_python_dispatch.py', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 04:39:48.855308] 2025-03-14T04:40:05.3924046Z 2025-03-14T04:40:05.3925195Z test_python_dispatch 1/1 was successful, full logs can be found in artifacts with path test/test-reports/test_python_dispatch_1.1_83b211632df399e6_.log 2025-03-14T04:40:05.3969192Z Running 114 items in this shard: test/test_python_dispatch.py::TestDispatcherPythonBindings::test_call_boxed, test/test_python_dispatch.py::TestPythonRegistration::test_alias_analysis, test/test_python_dispatch.py::TestPythonRegistration::test_create_new_library, test/test_python_dispatch.py::TestPythonRegistration::test_create_new_library_fragment_no_existing, test/test_python_dispatch.py::TestPythonRegistration::test_create_new_library_fragment_with_existing, test/test_python_dispatch.py::TestPythonRegistration::test_error_for_unsupported_ns_or_kind, test/test_python_dispatch.py::TestPythonRegistration::test_error_if_fn_not_callable, test/test_python_dispatch.py::TestPythonRegistration::test_extend_library_with_dispatch_key_arg, test/test_python_dispatch.py::TestPythonRegistration::test_fallback, test/test_python_dispatch.py::TestPythonRegistration::test_fallback_fallthrough, test/test_python_dispatch.py::TestPythonRegistration::test_fallback_keyset, test/test_python_dispatch.py::TestPythonRegistration::test_fallthrough_for_dense_key_with_meta_in_tls, test/test_python_dispatch.py::TestPythonRegistration::test_finalizer, test/test_python_dispatch.py::TestPythonRegistration::test_override_aten_ops_with_multiple_libraries, test/test_python_dispatch.py::TestPythonRegistration::test_override_cpu_sum, test/test_python_dispatch.py::TestPythonRegistration::test_override_cuda_with_jiterator, test/test_python_dispatch.py::TestPythonRegistration::test_register_fallthrough, test/test_python_dispatch.py::TestPythonRegistration::test_returning_symint, test/test_python_dispatch.py::TestPythonDispatch::test_all_same_mode, test/test_python_dispatch.py::TestPythonDispatch::test_autograd_in_attr, test/test_python_dispatch.py::TestPythonDispatch::test_basic, test/test_python_dispatch.py::TestPythonDispatch::test_capture_logs_with_torch_dispatch_mode, test/test_python_dispatch.py::TestPythonDispatch::test_construct_int_tensor, test/test_python_dispatch.py::TestPythonDispatch::test_custom_autograd, test/test_python_dispatch.py::TestPythonDispatch::test_custom_size_policy_dynamic_shapes, test/test_python_dispatch.py::TestPythonDispatch::test_data_ptr_respects_numel_slow_path, test/test_python_dispatch.py::TestPythonDispatch::test_deepcopy_non_wrapper_subclass, test/test_python_dispatch.py::TestPythonDispatch::test_deepcopy_wrapper_subclass, test/test_python_dispatch.py::TestPythonDispatch::test_deepcopy_wrapper_subclass_with_clone_returning_different_type, test/test_python_dispatch.py::TestPythonDispatch::test_detach_appears_twice_when_called_once, test/test_python_dispatch.py::TestPythonDispatch::test_device_slowpath, test/test_python_dispatch.py::TestPythonDispatch::test_dim_slowpath, test/test_python_dispatch.py::TestPythonDispatch::test_dispatch_super_call, test/test_python_dispatch.py::TestPythonDispatch::test_dispatch_super_call_list_arg, test/test_python_dispatch.py::TestPythonDispatch::test_dispatch_super_dont_autograd, test/test_python_dispatch.py::TestPythonDispatch::test_error_using_class_method_on_mode, test/test_python_dispatch.py::TestPythonDispatch::test_exception_handling, test/test_python_dispatch.py::TestPythonDispatch::test_fancy_strides, test/test_python_dispatch.py::TestPythonDispatch::test_format, test/test_python_dispatch.py::TestPythonDispatch::test_get_cur_mode, test/test_python_dispatch.py::TestPythonDispatch::test_get_mode_stack, test/test_python_dispatch.py::TestPythonDispatch::test_index_put_where_only_index_is_subclass, test/test_python_dispatch.py::TestPythonDispatch::test_invalid_ret, test/test_python_dispatch.py::TestPythonDispatch::test_is_contiguous_slow_path, test/test_python_dispatch.py::TestPythonDispatch::test_kwarg_only, test/test_python_dispatch.py::TestPythonDispatch::test_kwarg_only_and_positional_default, test/test_python_dispatch.py::TestPythonDispatch::test_layout_slow_path, test/test_python_dispatch.py::TestPythonDispatch::test_like, test/test_python_dispatch.py::TestPythonDispatch::test_list_ret, test/test_python_dispatch.py::TestPythonDispatch::test_make_fx_with_subclass, test/test_python_dispatch.py::TestPythonDispatch::test_make_subclass_with_modes, test/test_python_dispatch.py::TestPythonDispatch::test_make_wrapper_subclass_noalloc, test/test_python_dispatch.py::TestPythonDispatch::test_make_wrapper_subclass_propagates_metadata, test/test_python_dispatch.py::TestPythonDispatch::test_maybe_tuple_bug, test/test_python_dispatch.py::TestPythonDispatch::test_mode_detection, test/test_python_dispatch.py::TestPythonDispatch::test_mode_with_make_subclass, test/test_python_dispatch.py::TestPythonDispatch::test_multiple_ops_subclass, test/test_python_dispatch.py::TestPythonDispatch::test_nested_push_logging_tensor_mode, test/test_python_dispatch.py::TestPythonDispatch::test_nesting_same_mode, test/test_python_dispatch.py::TestPythonDispatch::test_new_ones, test/test_python_dispatch.py::TestPythonDispatch::test_none_wrapping, test/test_python_dispatch.py::TestPythonDispatch::test_notimplemented_mode, test/test_python_dispatch.py::TestPythonDispatch::test_optional_tensor_list, test/test_python_dispatch.py::TestPythonDispatch::test_out, test/test_python_dispatch.py::TestPythonDispatch::test_produce_real_type, test/test_python_dispatch.py::TestPythonDispatch::test_record_stream, test/test_python_dispatch.py::TestPythonDispatch::test_return_and_correct_aliasing_gives_correct_stride, test/test_python_dispatch.py::TestPythonDispatch::test_return_stream, test/test_python_dispatch.py::TestPythonDispatch::test_set_data, test/test_python_dispatch.py::TestPythonDispatch::test_shallow_copy_and_detach, test/test_python_dispatch.py::TestPythonDispatch::test_sizes_slow_path, test/test_python_dispatch.py::TestPythonDispatch::test_standard_is_not_subclass, test/test_python_dispatch.py::TestPythonDispatch::test_storage, test/test_python_dispatch.py::TestPythonDispatch::test_storage_can_be_converted_to_python_object, test/test_python_dispatch.py::TestPythonDispatch::test_strides_slow_path, test/test_python_dispatch.py::TestPythonDispatch::test_subclass_autograd_device_check, test/test_python_dispatch.py::TestPythonDispatch::test_subclass_creation, test/test_python_dispatch.py::TestPythonDispatch::test_subclass_priority, test/test_python_dispatch.py::TestPythonDispatch::test_sym_sizes_strides_slow_path, test/test_python_dispatch.py::TestPythonDispatch::test_tolist_numpy_with_torch_dispatch_mode, test/test_python_dispatch.py::TestPythonDispatch::test_torch_dispatch_mode_basic, test/test_python_dispatch.py::TestPythonDispatch::test_torch_dispatch_mode_respects_no_dispatch, test/test_python_dispatch.py::TestPythonDispatch::test_torch_dispatch_mode_subclass_priority, test/test_python_dispatch.py::TestPythonDispatch::test_torch_dispatch_mode_unrelated_tensors, test/test_python_dispatch.py::TestPythonDispatch::test_version, test/test_python_dispatch.py::TestPythonDispatch::test_view_returns_alias_under_torch_dispatch, test/test_python_dispatch.py::TestPythonDispatch::test_with_mode_created_separately, test/test_python_dispatch.py::TestPythonDispatch::test_with_nested_modes, test/test_python_dispatch.py::TestPythonDispatch::test_wrapper_subclass_extra_dispatch_keys, test/test_python_dispatch.py::TestPythonDispatch::test_wrapper_subclass_multiprocessing_preserves_dtype, test/test_python_dispatch.py::TestPythonDispatch::test_wrapper_subclass_reentrant_dispatch_with_mode, test/test_python_dispatch.py::TestPythonDispatch::test_wrapper_subclass_serializes, test/test_python_dispatch.py::TestPythonDispatcher::test_basic, test/test_python_dispatch.py::TestPythonDispatcher::test_lstsq, test/test_python_dispatch.py::TestWrapperSubclassAliasingCPU::test_wrapper_subclass_aliasing_cat_cpu_float32, test/test_python_dispatch.py::TestWrapperSubclassAliasingCPU::test_wrapper_subclass_aliasing_conv2d_cpu, test/test_python_dispatch.py::TestWrapperSubclassAliasingCPU::test_wrapper_subclass_aliasing_custom_NumpyCatCustomOp_cpu_float32, test/test_python_dispatch.py::TestWrapperSubclassAliasingCPU::test_wrapper_subclass_aliasing_custom_NumpyCubeCustomOp_cpu_float32, test/test_python_dispatch.py::TestWrapperSubclassAliasingCPU::test_wrapper_subclass_aliasing_custom_NumpyMulCustomOp_cpu_float32, test/test_python_dispatch.py::TestWrapperSubclassAliasingCPU::test_wrapper_subclass_aliasing_custom_NumpyMulScalarCustomOp_cpu_float32, test/test_python_dispatch.py::TestWrapperSubclassAliasingCPU::test_wrapper_subclass_aliasing_custom_NumpyNMSCustomOp_cpu_float32, test/test_python_dispatch.py::TestWrapperSubclassAliasingCPU::test_wrapper_subclass_aliasing_custom_NumpyNonzeroCustomOp_cpu_float32, test/test_python_dispatch.py::TestWrapperSubclassAliasingCPU::test_wrapper_subclass_aliasing_custom_NumpySortCustomOp_cpu_float32, test/test_python_dispatch.py::TestWrapperSubclassAliasingCPU::test_wrapper_subclass_aliasing_custom_NumpySplitCopyCustomOp_cpu_float32, test/test_python_dispatch.py::TestWrapperSubclassAliasingCPU::test_wrapper_subclass_aliasing_custom_NumpySplitCopyWithIntCustomOp_cpu_float32, test/test_python_dispatch.py::TestWrapperSubclassAliasingCPU::test_wrapper_subclass_aliasing_custom_NumpyTakeCustomOp_cpu_float32, test/test_python_dispatch.py::TestWrapperSubclassAliasingCPU::test_wrapper_subclass_aliasing_custom_NumpyViewCopyCustomOp_cpu_float32, test/test_python_dispatch.py::TestWrapperSubclassAliasingCPU::test_wrapper_subclass_aliasing_fft_fft2_cpu, test/test_python_dispatch.py::TestWrapperSubclassAliasingCPU::test_wrapper_subclass_aliasing_mul_cpu_float32, test/test_python_dispatch.py::TestWrapperSubclassAliasingCPU::test_wrapper_subclass_aliasing_native_batch_norm_cpu_float32, test/test_python_dispatch.py::TestWrapperSubclassAliasingCPU::test_wrapper_subclass_aliasing_out_op_cpu, test/test_python_dispatch.py::TestWrapperSubclassAliasingCPU::test_wrapper_subclass_aliasing_split_cpu_float32, test/test_python_dispatch.py::TestWrapperSubclassAliasingCPU::test_wrapper_subclass_aliasing_split_list_args_cpu_float32, test/test_python_dispatch.py::TestWrapperSubclassAliasingCPU::test_wrapper_subclass_aliasing_view_cpu_float32 2025-03-14T04:40:05.4012053Z 2025-03-14T04:40:05.4012270Z Running test_jit_disabled 1/1 ... [2025-03-14 04:40:05.392752] 2025-03-14T04:40:05.4012700Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T04:40:05.4013747Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'test_jit_disabled.py', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 04:40:05.393083] 2025-03-14T04:40:09.1630617Z 2025-03-14T04:40:09.1631517Z test_jit_disabled 1/1 was successful, full logs can be found in artifacts with path test/test-reports/test_jit_disabled_1.1_b657a5095d1a1281_.log 2025-03-14T04:40:09.1633223Z Running 3 items in this shard: test/test_jit_disabled.py::TestJitDisabled::test_attribute, test/test_jit_disabled.py::TestJitDisabled::test_recursive_script, test/test_jit_disabled.py::TestJitDisabled::test_script_module_construction 2025-03-14T04:40:09.1634430Z 2025-03-14T04:40:09.1634666Z Running test_fake_tensor 1/1 ... [2025-03-14 04:40:09.163196] 2025-03-14T04:40:09.1635121Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T04:40:09.1637153Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'test_fake_tensor.py', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 04:40:09.163518] 2025-03-14T04:40:34.9126997Z 2025-03-14T04:40:34.9128415Z test_fake_tensor 1/1 was successful, full logs can be found in artifacts with path test/test-reports/test_fake_tensor_1.1_668dfde1a0ad41c8_.log 2025-03-14T04:40:34.9242351Z Running 268 items in this shard: test/test_fake_tensor.py::FakeTensorTest::test__adaptive_avg_pool2d_backward, test/test_fake_tensor.py::FakeTensorTest::test_alias_call, test/test_fake_tensor.py::FakeTensorTest::test_allow_meta, test/test_fake_tensor.py::FakeTensorTest::test_aten_copy_multi_device, test/test_fake_tensor.py::FakeTensorTest::test_aten_index_multi_device, test/test_fake_tensor.py::FakeTensorTest::test_aten_slice_scatter_multi_device, test/test_fake_tensor.py::FakeTensorTest::test_basic, test/test_fake_tensor.py::FakeTensorTest::test_batch_tensor, test/test_fake_tensor.py::FakeTensorTest::test_binary_op_type_promotion, test/test_fake_tensor.py::FakeTensorTest::test_constructor, test/test_fake_tensor.py::FakeTensorTest::test_convert_fake_to_real, test/test_fake_tensor.py::FakeTensorTest::test_cpu_fallback, test/test_fake_tensor.py::FakeTensorTest::test_cuda_initialized, test/test_fake_tensor.py::FakeTensorTest::test_cuda_lstm, test/test_fake_tensor.py::FakeTensorTest::test_cudnn_rnn_with_fallback, test/test_fake_tensor.py::FakeTensorTest::test_cudnn_rnn_without_fallback, test/test_fake_tensor.py::FakeTensorTest::test_custom_op_fallback, test/test_fake_tensor.py::FakeTensorTest::test_data_dependent_operator, test/test_fake_tensor.py::FakeTensorTest::test_deepcopy, test/test_fake_tensor.py::FakeTensorTest::test_device_inplace_copy, test/test_fake_tensor.py::FakeTensorTest::test_embedding_bag_meta, test/test_fake_tensor.py::FakeTensorTest::test_export_numpy, test/test_fake_tensor.py::FakeTensorTest::test_fake_dispatch_keys, test/test_fake_tensor.py::FakeTensorTest::test_fake_grad_copy, test/test_fake_tensor.py::FakeTensorTest::test_fake_mode_error, test/test_fake_tensor.py::FakeTensorTest::test_from_numpy, test/test_fake_tensor.py::FakeTensorTest::test_fsdp_flat_param, test/test_fake_tensor.py::FakeTensorTest::test_full, test/test_fake_tensor.py::FakeTensorTest::test_index_cuda_with_cpu_complex128, test/test_fake_tensor.py::FakeTensorTest::test_index_cuda_with_cpu_complex64, test/test_fake_tensor.py::FakeTensorTest::test_index_cuda_with_cpu_float32, test/test_fake_tensor.py::FakeTensorTest::test_index_cuda_with_cpu_float64, test/test_fake_tensor.py::FakeTensorTest::test_index_cuda_with_cpu_float8_e4m3fn, test/test_fake_tensor.py::FakeTensorTest::test_index_cuda_with_cpu_float8_e4m3fnuz, test/test_fake_tensor.py::FakeTensorTest::test_index_cuda_with_cpu_float8_e5m2, test/test_fake_tensor.py::FakeTensorTest::test_index_cuda_with_cpu_float8_e5m2fnuz, test/test_fake_tensor.py::FakeTensorTest::test_index_cuda_with_cpu_int16, test/test_fake_tensor.py::FakeTensorTest::test_index_cuda_with_cpu_int32, test/test_fake_tensor.py::FakeTensorTest::test_index_cuda_with_cpu_int64, test/test_fake_tensor.py::FakeTensorTest::test_index_cuda_with_cpu_int8, test/test_fake_tensor.py::FakeTensorTest::test_index_cuda_with_cpu_uint8, test/test_fake_tensor.py::FakeTensorTest::test_index_put_error, test/test_fake_tensor.py::FakeTensorTest::test_jagged_fake_to_fake_preserved, test/test_fake_tensor.py::FakeTensorTest::test_like_constructor, test/test_fake_tensor.py::FakeTensorTest::test_mixed_real_and_fake_inputs, test/test_fake_tensor.py::FakeTensorTest::test_mode, test/test_fake_tensor.py::FakeTensorTest::test_nan_to_num, test/test_fake_tensor.py::FakeTensorTest::test_new, test/test_fake_tensor.py::FakeTensorTest::test_non_kwarg_device, test/test_fake_tensor.py::FakeTensorTest::test_non_overlapping_stride_zero, test/test_fake_tensor.py::FakeTensorTest::test_non_parameter_grad, test/test_fake_tensor.py::FakeTensorTest::test_normalize_device, test/test_fake_tensor.py::FakeTensorTest::test_out_multi_device, test/test_fake_tensor.py::FakeTensorTest::test_parameter_instantiation, test/test_fake_tensor.py::FakeTensorTest::test_parameter_view, test/test_fake_tensor.py::FakeTensorTest::test_print_in_fake_mode, test/test_fake_tensor.py::FakeTensorTest::test_randperm, test/test_fake_tensor.py::FakeTensorTest::test_recursive_invocation, test/test_fake_tensor.py::FakeTensorTest::test_repr, test/test_fake_tensor.py::FakeTensorTest::test_same_shape_env_preserved, test/test_fake_tensor.py::FakeTensorTest::test_scalar_inputs, test/test_fake_tensor.py::FakeTensorTest::test_scan_reverse_False, test/test_fake_tensor.py::FakeTensorTest::test_scan_reverse_True, test/test_fake_tensor.py::FakeTensorTest::test_setitem, test/test_fake_tensor.py::FakeTensorTest::test_shape_take_not_device, test/test_fake_tensor.py::FakeTensorTest::test_split_return_self, test/test_fake_tensor.py::FakeTensorTest::test_throw, test/test_fake_tensor.py::FakeTensorTest::test_tolist, test/test_fake_tensor.py::FakeTensorTest::test_type_as, test/test_fake_tensor.py::FakeTensorTest::test_unsqueeze_copy, test/test_fake_tensor.py::FakeTensorTest::test_upsample_bilinear_small_channels, test/test_fake_tensor.py::FakeTensorTest::test_zero_dim, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test__adaptive_avg_pool2d_backward_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_alias_call_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_allow_meta_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_aten_copy_multi_device_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_aten_index_multi_device_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_aten_slice_scatter_multi_device_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_basic_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_batch_tensor_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_binary_op_type_promotion_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_constructor_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_convert_fake_to_real_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_cpu_fallback_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_cuda_initialized_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_cuda_lstm_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_cudnn_rnn_with_fallback_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_cudnn_rnn_without_fallback_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_custom_op_fallback_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_data_dependent_operator_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_deepcopy_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_device_inplace_copy_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_embedding_bag_meta_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_export_numpy_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_fake_dispatch_keys_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_fake_grad_copy_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_fake_mode_error_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_from_numpy_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_fsdp_flat_param_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_full_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_index_cuda_with_cpu_complex128_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_index_cuda_with_cpu_complex64_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_index_cuda_with_cpu_float32_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_index_cuda_with_cpu_float64_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_index_cuda_with_cpu_float8_e4m3fn_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_index_cuda_with_cpu_float8_e4m3fnuz_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_index_cuda_with_cpu_float8_e5m2_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_index_cuda_with_cpu_float8_e5m2fnuz_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_index_cuda_with_cpu_int16_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_index_cuda_with_cpu_int32_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_index_cuda_with_cpu_int64_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_index_cuda_with_cpu_int8_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_index_cuda_with_cpu_uint8_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_index_put_error_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_jagged_fake_to_fake_preserved_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_like_constructor_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_mixed_real_and_fake_inputs_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_mode_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_nan_to_num_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_new_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_non_kwarg_device_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_non_overlapping_stride_zero_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_non_parameter_grad_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_normalize_device_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_out_multi_device_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_parameter_instantiation_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_parameter_view_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_print_in_fake_mode_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_randperm_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_recursive_invocation_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_repr_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_same_shape_env_preserved_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_scalar_inputs_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_scan_reverse_False_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_scan_reverse_True_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_setitem_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_shape_take_not_device_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_split_return_self_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_throw_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_tolist_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_type_as_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_unsqueeze_copy_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_upsample_bilinear_small_channels_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorTest::test_zero_dim_propagate_real_tensors, test/test_fake_tensor.py::FakeTensorConstHandling::test_aliased_const_write, test/test_fake_tensor.py::FakeTensorConstHandling::test_constant_invalidation, test/test_fake_tensor.py::FakeTensorConstHandling::test_constant_propagate_through_functions, test/test_fake_tensor.py::FakeTensorConstHandling::test_fake_tensor_batch_norm_cpu, test/test_fake_tensor.py::FakeTensorConstHandling::test_fake_tensor_in_intlist_repro, test/test_fake_tensor.py::FakeTensorConstHandling::test_inplace_add, test/test_fake_tensor.py::FakeTensorConstHandling::test_inplace_view_invalidation, test/test_fake_tensor.py::FakeTensorConstHandling::test_shared_storage_invalidation, test/test_fake_tensor.py::FakeTensorConstHandling::test_shared_storages, test/test_fake_tensor.py::FakeTensorConstHandling::test_simple, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorConstHandling::test_aliased_const_write_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorConstHandling::test_constant_invalidation_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorConstHandling::test_constant_propagate_through_functions_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorConstHandling::test_fake_tensor_batch_norm_cpu_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorConstHandling::test_fake_tensor_in_intlist_repro_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorConstHandling::test_inplace_add_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorConstHandling::test_inplace_view_invalidation_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorConstHandling::test_shared_storage_invalidation_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorConstHandling::test_shared_storages_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorConstHandling::test_simple_propagate_real_tensors, test/test_fake_tensor.py::FakeTensorOpInfoTestCPU::test_fake_NumpyCatCustomOp_cpu_float32, test/test_fake_tensor.py::FakeTensorOpInfoTestCPU::test_fake_NumpyCubeCustomOp_cpu_float32, test/test_fake_tensor.py::FakeTensorOpInfoTestCPU::test_fake_NumpyMulCustomOp_cpu_float32, test/test_fake_tensor.py::FakeTensorOpInfoTestCPU::test_fake_NumpyMulScalarCustomOp_cpu_float32, test/test_fake_tensor.py::FakeTensorOpInfoTestCPU::test_fake_NumpyNMSCustomOp_cpu_float32, test/test_fake_tensor.py::FakeTensorOpInfoTestCPU::test_fake_NumpyNonzeroCustomOp_cpu_float32, test/test_fake_tensor.py::FakeTensorOpInfoTestCPU::test_fake_NumpySortCustomOp_cpu_float32, test/test_fake_tensor.py::FakeTensorOpInfoTestCPU::test_fake_NumpySplitCopyCustomOp_cpu_float32, test/test_fake_tensor.py::FakeTensorOpInfoTestCPU::test_fake_NumpySplitCopyWithIntCustomOp_cpu_float32, test/test_fake_tensor.py::FakeTensorOpInfoTestCPU::test_fake_NumpyTakeCustomOp_cpu_float32, test/test_fake_tensor.py::FakeTensorOpInfoTestCPU::test_fake_NumpyViewCopyCustomOp_cpu_float32, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorOpInfoTestCPU::test_fake_propagate_real_tensors_NumpyCatCustomOp_cpu_float32, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorOpInfoTestCPU::test_fake_propagate_real_tensors_NumpyCubeCustomOp_cpu_float32, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorOpInfoTestCPU::test_fake_propagate_real_tensors_NumpyMulCustomOp_cpu_float32, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorOpInfoTestCPU::test_fake_propagate_real_tensors_NumpyMulScalarCustomOp_cpu_float32, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorOpInfoTestCPU::test_fake_propagate_real_tensors_NumpyNMSCustomOp_cpu_float32, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorOpInfoTestCPU::test_fake_propagate_real_tensors_NumpyNonzeroCustomOp_cpu_float32, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorOpInfoTestCPU::test_fake_propagate_real_tensors_NumpySortCustomOp_cpu_float32, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorOpInfoTestCPU::test_fake_propagate_real_tensors_NumpySplitCopyCustomOp_cpu_float32, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorOpInfoTestCPU::test_fake_propagate_real_tensors_NumpySplitCopyWithIntCustomOp_cpu_float32, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorOpInfoTestCPU::test_fake_propagate_real_tensors_NumpyTakeCustomOp_cpu_float32, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorOpInfoTestCPU::test_fake_propagate_real_tensors_NumpyViewCopyCustomOp_cpu_float32, test/test_fake_tensor.py::FakeTensorConverterTest::test_dead_key, test/test_fake_tensor.py::FakeTensorConverterTest::test_dead_weak_ref, test/test_fake_tensor.py::FakeTensorConverterTest::test_memoized_conversion_from_meta, test/test_fake_tensor.py::FakeTensorConverterTest::test_memoized_conversion_to_meta, test/test_fake_tensor.py::FakeTensorConverterTest::test_multiple_modes, test/test_fake_tensor.py::FakeTensorConverterTest::test_no_active_mode, test/test_fake_tensor.py::FakeTensorConverterTest::test_no_ref_cycle, test/test_fake_tensor.py::FakeTensorConverterTest::test_separate_mode_error, test/test_fake_tensor.py::FakeTensorConverterTest::test_separate_tensor_storages_non_view, test/test_fake_tensor.py::FakeTensorConverterTest::test_separate_tensor_storages_view, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorConverterTest::test_dead_key_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorConverterTest::test_dead_weak_ref_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorConverterTest::test_memoized_conversion_from_meta_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorConverterTest::test_memoized_conversion_to_meta_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorConverterTest::test_multiple_modes_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorConverterTest::test_no_active_mode_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorConverterTest::test_no_ref_cycle_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorConverterTest::test_separate_mode_error_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorConverterTest::test_separate_tensor_storages_non_view_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorConverterTest::test_separate_tensor_storages_view_propagate_real_tensors, test/test_fake_tensor.py::FakeTensorOperatorInvariants::test_conv_c1_backward, test/test_fake_tensor.py::FakeTensorOperatorInvariants::test_cross_entropy_loss, test/test_fake_tensor.py::FakeTensorOperatorInvariants::test_embedding_bag_private, test/test_fake_tensor.py::FakeTensorOperatorInvariants::test_fake_gpu_no_init, test/test_fake_tensor.py::FakeTensorOperatorInvariants::test_flash_attention, test/test_fake_tensor.py::FakeTensorOperatorInvariants::test_like_ops, test/test_fake_tensor.py::FakeTensorOperatorInvariants::test_no_dispatch_with_like_function, test/test_fake_tensor.py::FakeTensorOperatorInvariants::test_non_kwarg_only_device, test/test_fake_tensor.py::FakeTensorOperatorInvariants::test_sparse_new, test/test_fake_tensor.py::FakeTensorOperatorInvariants::test_str_storage, test/test_fake_tensor.py::FakeTensorOperatorInvariants::test_tensor_constructors_all_have_kwarg_device, test/test_fake_tensor.py::FakeTensorOperatorInvariants::test_tensor_new, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorOperatorInvariants::test_conv_c1_backward_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorOperatorInvariants::test_cross_entropy_loss_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorOperatorInvariants::test_embedding_bag_private_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorOperatorInvariants::test_fake_gpu_no_init_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorOperatorInvariants::test_flash_attention_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorOperatorInvariants::test_like_ops_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorOperatorInvariants::test_no_dispatch_with_like_function_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorOperatorInvariants::test_non_kwarg_only_device_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorOperatorInvariants::test_sparse_new_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorOperatorInvariants::test_str_storage_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorOperatorInvariants::test_tensor_constructors_all_have_kwarg_device_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorOperatorInvariants::test_tensor_new_propagate_real_tensors, test/test_fake_tensor.py::FakeTensorPropTest::test_fake_tensor_prop_on_nn_module, test/test_fake_tensor.py::FakeTensorPropTest::test_fake_tensor_prop_on_nn_module_with_optional_args, test/test_fake_tensor.py::FakeTensorPropTest::test_nonzero_stride, test/test_fake_tensor.py::FakeTensorPropTest::test_torch_load_with_fake_mode, test/test_fake_tensor.py::FakeTensorPropTest::test_unbacked_shape_realloc, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorPropTest::test_fake_tensor_prop_on_nn_module_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorPropTest::test_fake_tensor_prop_on_nn_module_with_optional_args_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorPropTest::test_nonzero_stride_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorPropTest::test_torch_load_with_fake_mode_propagate_real_tensors, test/test_fake_tensor.py::PropagateRealTensorsFakeTensorPropTest::test_unbacked_shape_realloc_propagate_real_tensors, test/test_fake_tensor.py::FakeTensorSerialization::test_serialization, test/test_fake_tensor.py::FakeTensorSerialization::test_serialization_with_tracing, test/test_fake_tensor.py::FakeTensorDispatchCache::test__upsample_bilinear2d_aa_backward_dynamic_shapes, test/test_fake_tensor.py::FakeTensorDispatchCache::test_cache_bypass, test/test_fake_tensor.py::FakeTensorDispatchCache::test_cache_default_device, test/test_fake_tensor.py::FakeTensorDispatchCache::test_cache_default_dtype, test/test_fake_tensor.py::FakeTensorDispatchCache::test_cache_dispatch_key_set, test/test_fake_tensor.py::FakeTensorDispatchCache::test_cache_hit, test/test_fake_tensor.py::FakeTensorDispatchCache::test_cache_inplace_op, test/test_fake_tensor.py::FakeTensorDispatchCache::test_cache_key_constants, test/test_fake_tensor.py::FakeTensorDispatchCache::test_cache_key_device, test/test_fake_tensor.py::FakeTensorDispatchCache::test_cache_key_dtype, test/test_fake_tensor.py::FakeTensorDispatchCache::test_cache_key_is_conj, test/test_fake_tensor.py::FakeTensorDispatchCache::test_cache_key_is_inference, test/test_fake_tensor.py::FakeTensorDispatchCache::test_cache_key_is_neg, test/test_fake_tensor.py::FakeTensorDispatchCache::test_cache_key_memory_format, test/test_fake_tensor.py::FakeTensorDispatchCache::test_cache_key_requires_grad, test/test_fake_tensor.py::FakeTensorDispatchCache::test_cache_key_shape, test/test_fake_tensor.py::FakeTensorDispatchCache::test_cache_key_storage_offset, test/test_fake_tensor.py::FakeTensorDispatchCache::test_cache_key_stride, test/test_fake_tensor.py::FakeTensorDispatchCache::test_cache_tuple_outputs, test/test_fake_tensor.py::FakeTensorDispatchCache::test_cache_view_op, test/test_fake_tensor.py::FakeTensorDispatchCache::test_fft_hfft2_issue145522, test/test_fake_tensor.py::FakeTensorDispatchCache::test_from_buffer, test/test_fake_tensor.py::FakeTensorDispatchCache::test_inference_mode, test/test_fake_tensor.py::FakeTensorDispatchCache::test_meta_tensor_to_fake_cpu, test/test_fake_tensor.py::FakeTensorDispatchCache::test_shape_env_settings, test/test_fake_tensor.py::FakeTensorDispatchCache::test_wrapper_tensor_subclass_different_device 2025-03-14T04:40:34.9348365Z 2025-03-14T04:40:34.9348546Z Running test_fx 1/1 ... [2025-03-14 04:40:34.913521] 2025-03-14T04:40:34.9348943Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T04:40:34.9349955Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'test_fx.py', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 04:40:34.913913] 2025-03-14T04:43:51.7898848Z 2025-03-14T04:43:51.7899713Z test_fx 1/1 was successful, full logs can be found in artifacts with path test/test-reports/test_fx_1.1_80b59f17ae7e5f0b_.log 2025-03-14T04:43:51.8382428Z Running 1257 items in this shard: test/test_fx.py::TestCommonPass::test_correctness_CSEPass_MutationInput_cpu, test/test_fx.py::TestCommonPass::test_correctness_CSEPass_MutationMetadata_cpu, test/test_fx.py::TestCommonPass::test_correctness_CSEPass_MutationTorchTensorCall_cpu, test/test_fx.py::TestCommonPass::test_correctness_CSEPass_Mutation_cpu, test/test_fx.py::TestCommonPass::test_correctness_CSEPass_ReturnList_cpu, test/test_fx.py::TestCommonPass::test_correctness_CSEPass_TakeList_cpu, test/test_fx.py::TestCommonPass::test_correctness_factory_CSEPass_FactoryFunctionCall_cpu, test/test_fx.py::TestCommonPass::test_correctness_factory_CSEPass_MutationFactory_cpu, test/test_fx.py::TestCSEPass::test_banned_list, test/test_fx.py::TestCSEPass::test_empty, test/test_fx.py::TestCSEPass::test_immutable_list_multiple_entries, test/test_fx.py::TestCSEPass::test_immutable_list_type, test/test_fx.py::TestCSEPass::test_kwarg, test/test_fx.py::TestCSEPass::test_nested_immutable_list_type, test/test_fx.py::TestCSEPass::test_nochange, test/test_fx.py::TestCSEPass::test_rand_like, test/test_fx.py::TestCSEPass::test_rand_n, test/test_fx.py::TestCSEPass::test_random, test/test_fx.py::TestCSEPass::test_simple, test/test_fx.py::TestCSEPass::test_simple_2, test/test_fx.py::TestCSEPass::test_simple_multiple_same_ops, test/test_fx.py::TestCSEPass::test_two_args, test/test_fx.py::TestCSEPass::test_two_args_default, test/test_fx.py::TestDCE::test_dead_chain, test/test_fx.py::TestDCE::test_dead_getattr, test/test_fx.py::TestDCE::test_dead_placeholder, test/test_fx.py::TestDCE::test_dead_placeholder_with_user, test/test_fx.py::TestDCE::test_impure_custom, test/test_fx.py::TestDCE::test_impure_kwargs, test/test_fx.py::TestDCE::test_impure_nodes_args, test/test_fx.py::TestDCE::test_keep_collectives, test/test_fx.py::TestDCE::test_keep_collectives_no_overload, test/test_fx.py::TestDCE::test_keep_module_with_side_effects, test/test_fx.py::TestDCE::test_keep_setitem, test/test_fx.py::TestDCE::test_keep_torch_assert, test/test_fx.py::TestDCE::test_simple, test/test_fx.py::TestConstFold::test_check_inline_non_const, test/test_fx.py::TestConstFold::test_check_inline_non_const_mult_return, test/test_fx.py::TestConstFold::test_check_skip_folding_quant_dequant_pattern, test/test_fx.py::TestConstFold::test_const_fold_basic_one_attr_name_collision, test/test_fx.py::TestConstFold::test_const_fold_basic_one_attr_no_name_collision, test/test_fx.py::TestConstFold::test_const_fold_basic_placeholder_reordered, test/test_fx.py::TestConstFold::test_const_fold_basic_two_attr, test/test_fx.py::TestConstFold::test_const_fold_basic_two_attr_three_input, test/test_fx.py::TestConstFold::test_const_fold_has_inlined_call_module_node, test/test_fx.py::TestConstFold::test_const_fold_module_attr, test/test_fx.py::TestConstFold::test_const_fold_multi_const_folded_attrs, test/test_fx.py::TestConstFold::test_const_fold_noop, test/test_fx.py::TestConstFold::test_const_fold_submod_hierarchy, test/test_fx.py::TestConstFold::test_const_fold_tensor_meta, test/test_fx.py::TestConstFold::test_const_fold_unused_placeholder, test/test_fx.py::TestConstFold::test_dict_output, test/test_fx.py::TestConstFold::test_fold_module, test/test_fx.py::TestConstFold::test_retain_node_meta, test/test_fx.py::TestConstFold::test_three_outputs, test/test_fx.py::TestConstFold::test_two_outputs, test/test_fx.py::TestConstParamShapeInControlFlow::test_param_dim_const, test/test_fx.py::TestConstParamShapeInControlFlow::test_param_ndim_const, test/test_fx.py::TestConstParamShapeInControlFlow::test_param_nelement_const, test/test_fx.py::TestConstParamShapeInControlFlow::test_param_numel_const, test/test_fx.py::TestConstParamShapeInControlFlow::test_param_shape_const, test/test_fx.py::TestConstParamShapeInControlFlow::test_param_size_const, test/test_fx.py::AnnotationsTest::test_annotate, test/test_fx.py::AnnotationsTest::test_annotations, test/test_fx.py::AnnotationsTest::test_broadcasting1, test/test_fx.py::AnnotationsTest::test_broadcasting2, test/test_fx.py::AnnotationsTest::test_broadcasting3, test/test_fx.py::AnnotationsTest::test_consistency, test/test_fx.py::AnnotationsTest::test_precision, test/test_fx.py::TypeCheckerTest::test_flatten_fully_static, test/test_fx.py::TypeCheckerTest::test_resnet50, test/test_fx.py::TypeCheckerTest::test_symbolic_add_with_broadcast, test/test_fx.py::TypeCheckerTest::test_symbolic_add_with_broadcast_2, test/test_fx.py::TypeCheckerTest::test_type_check_add_false, test/test_fx.py::TypeCheckerTest::test_type_check_add_true, test/test_fx.py::TypeCheckerTest::test_type_check_add_with_broadcast, test/test_fx.py::TypeCheckerTest::test_type_check_add_with_scalar, test/test_fx.py::TypeCheckerTest::test_type_check_batch_norm_2D, test/test_fx.py::TypeCheckerTest::test_type_check_batch_norm_2D_broadcast, test/test_fx.py::TypeCheckerTest::test_type_check_batch_norm_2D_false, test/test_fx.py::TypeCheckerTest::test_type_check_batch_norm_symbolic, test/test_fx.py::TypeCheckerTest::test_type_check_conv2D, test/test_fx.py::TypeCheckerTest::test_type_check_conv2D_2, test/test_fx.py::TypeCheckerTest::test_type_check_conv2D_2_fully_static, test/test_fx.py::TypeCheckerTest::test_type_check_conv2D_maxpool2d_flatten, test/test_fx.py::TypeCheckerTest::test_type_check_conv2D_types, test/test_fx.py::TypeCheckerTest::test_type_check_flatten, test/test_fx.py::TypeCheckerTest::test_type_check_flatten3, test/test_fx.py::TypeCheckerTest::test_type_check_flatten_2, test/test_fx.py::TypeCheckerTest::test_type_check_reshape_dyn_false, test/test_fx.py::TypeCheckerTest::test_type_check_reshape_dyn_true, test/test_fx.py::TypeCheckerTest::test_type_check_reshape_dyn_true_param_false, test/test_fx.py::TypeCheckerTest::test_type_check_reshape_false, test/test_fx.py::TypeCheckerTest::test_type_check_reshape_true, test/test_fx.py::TypeCheckerTest::test_type_check_symbolic_inferenceconv2D_maxpool2d_flatten, test/test_fx.py::TypeCheckerTest::test_type_check_transpose_False, test/test_fx.py::TypeCheckerTest::test_type_check_transpose_true, test/test_fx.py::TypeCheckerTest::test_type_maxpool2d_fully_static, test/test_fx.py::TypeCheckerTest::test_type_typechecl_maxpool2d_3dinput, test/test_fx.py::TypeCheckerTest::test_typecheck_basicblock, test/test_fx.py::TestMatcher::test_matcher_with_name_node_map_function, test/test_fx.py::TestMatcher::test_matcher_with_name_node_map_module, test/test_fx.py::TestMatcher::test_split_to_graph_and_name_node_map, test/test_fx.py::TestMatcher::test_subgraph_matcher_ignore_literals, test/test_fx.py::TestMatcher::test_subgraph_matcher_with_attributes, test/test_fx.py::TestMatcher::test_subgraph_matcher_with_list, test/test_fx.py::TestMatcher::test_subgraph_matcher_with_list_bad, test/test_fx.py::TestMatcher::test_variatic_arg_matching, test/test_fx.py::TestPassManager::test_pass_manager, test/test_fx.py::TestPassManager::test_pass_manager_bad_checks, test/test_fx.py::TestPassManager::test_pass_manager_checks, test/test_fx.py::TestPassManager::test_pass_manager_error, test/test_fx.py::TestPassManager::test_this_before_that_pass_constraint, test/test_fx.py::TestPassManager::test_topological_sort, test/test_fx.py::TestSourceMatcher::test_legalize_slice, test/test_fx.py::TestSourceMatcher::test_module_partitioner_conv_relu_maxpool, test/test_fx.py::TestSourceMatcher::test_module_partitioner_conv_relu_maxpool_torch_fn_export_strict_False, test/test_fx.py::TestSourceMatcher::test_module_partitioner_conv_relu_maxpool_torch_fn_export_strict_True, test/test_fx.py::TestSourceMatcher::test_module_partitioner_functional_conv_relu_conv, test/test_fx.py::TestSourceMatcher::test_module_partitioner_functional_conv_relu_conv_torch_fn_export_strict_False, test/test_fx.py::TestSourceMatcher::test_module_partitioner_functional_conv_relu_conv_torch_fn_export_strict_True, test/test_fx.py::TestSourceMatcher::test_module_partitioner_functional_linear_relu_linear, test/test_fx.py::TestSourceMatcher::test_module_partitioner_functional_linear_relu_linear_torch_fn_export_strict_False, test/test_fx.py::TestSourceMatcher::test_module_partitioner_functional_linear_relu_linear_torch_fn_export_strict_True, test/test_fx.py::TestSourceMatcher::test_module_partitioner_linear_relu_linear, test/test_fx.py::TestSourceMatcher::test_module_partitioner_linear_relu_linear_torch_fn_export_strict_False, test/test_fx.py::TestSourceMatcher::test_module_partitioner_linear_relu_linear_torch_fn_export_strict_True, test/test_fx.py::TestSourceMatcher::test_module_partitioner_weight_tied_strict_False, test/test_fx.py::TestSourceMatcher::test_module_partitioner_weight_tied_strict_True, test/test_fx.py::TestSubgraphRewriter::test_matching_pattern_with_list_type_arg, test/test_fx.py::TestSubgraphRewriter::test_matching_variable_arguments, test/test_fx.py::TestSubgraphRewriter::test_replace_pattern_with_callback, test/test_fx.py::TestSubgraphRewriter::test_replace_pattern_with_filters, test/test_fx.py::TestSubgraphRewriter::test_replaced_nodes, test/test_fx.py::TestSubgraphRewriter::test_replacement_with_attrs, test/test_fx.py::TestSubgraphRewriter::test_subgraph_rewriter_annotations_int, test/test_fx.py::TestSubgraphRewriter::test_subgraph_rewriter_call_method, test/test_fx.py::TestSubgraphRewriter::test_subgraph_rewriter_correct_output_replacement, test/test_fx.py::TestSubgraphRewriter::test_subgraph_rewriter_graph_argument_order, test/test_fx.py::TestSubgraphRewriter::test_subgraph_rewriter_internal_pattern_nodes_cannot_have_users_that_are_not_matched, test/test_fx.py::TestSubgraphRewriter::test_subgraph_rewriter_local_revert, test/test_fx.py::TestSubgraphRewriter::test_subgraph_rewriter_multiple_pattern_match, test/test_fx.py::TestSubgraphRewriter::test_subgraph_rewriter_nodes_with_kwargs, test/test_fx.py::TestSubgraphRewriter::test_subgraph_rewriter_pattern_is_entire_graph, test/test_fx.py::TestSubgraphRewriter::test_subgraph_rewriter_pattern_output_pattern_node_can_have_users_that_are_not_matched, test/test_fx.py::TestSubgraphRewriter::test_subgraph_rewriter_placeholder_matching, test/test_fx.py::TestSubgraphRewriter::test_subgraph_rewriter_preserves_logic, test/test_fx.py::TestSubgraphRewriter::test_subgraph_rewriter_replace_consecutive_submodules, test/test_fx.py::TestSubgraphRewriter::test_subgraph_rewriter_replace_with_duplicated_outputs, test/test_fx.py::TestSubgraphRewriter::test_subgraph_rewriter_replace_with_multiple_outputs, test/test_fx.py::TestSubgraphRewriter::test_subgraph_rewriter_replaces_referenced_submodules, test/test_fx.py::TestSubgraphRewriter::test_subgraph_rewriter_single_pattern_match, test/test_fx.py::TestSubgraphRewriter::test_subgraph_rewriter_traced_as_callable, test/test_fx.py::TestSubgraphRewriter::test_subgraph_rewriter_with_oneliner_pattern, test/test_fx.py::TestSubgraphRewriter::test_subgraph_rewriter_with_overlapping_matches, test/test_fx.py::TestSubgraphRewriter::test_subgraph_rewriter_with_trivial_replacement, test/test_fx.py::TestSubgraphRewriter::test_subgraph_rewriter_with_unused_args, test/test_fx.py::TestSubgraphRewriter::test_subgraph_rewriter_with_unused_results, test/test_fx.py::TestFX::test_all_input_nodes, test/test_fx.py::TestFX::test_annotation_with_future, test/test_fx.py::TestFX::test_annotations_empty_tuple, test/test_fx.py::TestFX::test_annotations_with_forward_references, test/test_fx.py::TestFX::test_annotations_with_no_forward_references, test/test_fx.py::TestFX::test_annotations_with_non_torch_reference_and_internal_forward_references, test/test_fx.py::TestFX::test_annotations_with_non_torch_reference_and_no_internal_forward_references, test/test_fx.py::TestFX::test_args_kwargs, test/test_fx.py::TestFX::test_args_kwargs_no_self, test/test_fx.py::TestFX::test_assert, test/test_fx.py::TestFX::test_ast_rewriter_reassigns_submodules, test/test_fx.py::TestFX::test_ast_rewriter_rewrites_assert, test/test_fx.py::TestFX::test_ast_rewriter_rewrites_assert_with_message, test/test_fx.py::TestFX::test_ast_rewriter_wrap, test/test_fx.py::TestFX::test_ast_rewriter_wrap_fn_directly, test/test_fx.py::TestFX::test_ast_rewriter_wrap_with_submodule, test/test_fx.py::TestFX::test_ast_rewriter_wrapped_via_decorator, test/test_fx.py::TestFX::test_ast_rewriter_wrapped_via_decorator_and_transformed, test/test_fx.py::TestFX::test_autowrap_functions, test/test_fx.py::TestFX::test_concrete_arg_none_assert, test/test_fx.py::TestFX::test_construct_root_dict, test/test_fx.py::TestFX::test_control_flow_tracing, test/test_fx.py::TestFX::test_copy_it, test/test_fx.py::TestFX::test_copy_no_remap, test/test_fx.py::TestFX::test_ctx_mgr, test/test_fx.py::TestFX::test_custom_codegen, test/test_fx.py::TestFX::test_custom_codegen_with_transformer, test/test_fx.py::TestFX::test_custom_import, test/test_fx.py::TestFX::test_custom_proxy_dynamic_value, test/test_fx.py::TestFX::test_custom_proxy_input_dependent_control_flow, test/test_fx.py::TestFX::test_custom_proxy_type, test/test_fx.py::TestFX::test_custom_proxy_type_literal, test/test_fx.py::TestFX::test_custom_traceback_not_raised_when_exception_source_is_submodule, test/test_fx.py::TestFX::test_custom_traceback_raised_when_exception_source_is_graphmodule, test/test_fx.py::TestFX::test_deepcopy_graph_with_tracer_cls, test/test_fx.py::TestFX::test_deepcopy_graphmodule, test/test_fx.py::TestFX::test_deepcopy_graphmodule_with_transform, test/test_fx.py::TestFX::test_deepcopy_no_recursion, test/test_fx.py::TestFX::test_deepcopy_recursion_depth, test/test_fx.py::TestFX::test_deepcopy_tracer, test/test_fx.py::TestFX::test_deepcopy_with_submods_params, test/test_fx.py::TestFX::test_delete_unused_submodules_leaf, test/test_fx.py::TestFX::test_delete_unused_values, test/test_fx.py::TestFX::test_dict, test/test_fx.py::TestFX::test_direct_param_use, test/test_fx.py::TestFX::test_disallow_override, test/test_fx.py::TestFX::test_ellipsis, test/test_fx.py::TestFX::test_empty_graph_codegen, test/test_fx.py::TestFX::test_enum, test/test_fx.py::TestFX::test_erase_node_error, test/test_fx.py::TestFX::test_example_shape_prop, test/test_fx.py::TestFX::test_find_uses, test/test_fx.py::TestFX::test_fn_type_annotation_empty, test/test_fx.py::TestFX::test_fn_type_annotations, test/test_fx.py::TestFX::test_fx_and_or, test/test_fx.py::TestFX::test_fx_create_arg, test/test_fx.py::TestFX::test_fx_shifts, test/test_fx.py::TestFX::test_fx_stateless, test/test_fx.py::TestFX::test_get_torch_func_signature, test/test_fx.py::TestFX::test_getitem, test/test_fx.py::TestFX::test_getitem_subproc, test/test_fx.py::TestFX::test_graph_edit_with_proxy, test/test_fx.py::TestFX::test_graph_fns, test/test_fx.py::TestFX::test_graph_module, test/test_fx.py::TestFX::test_graph_module_init_buffer_param_copied_dict_init, test/test_fx.py::TestFX::test_graph_module_init_buffer_param_copied_mod_init, test/test_fx.py::TestFX::test_graph_module_replicate_for_dp, test/test_fx.py::TestFX::test_graph_unique_names, test/test_fx.py::TestFX::test_graph_unique_names_manual, test/test_fx.py::TestFX::test_immutable_dict_pytree_ops, test/test_fx.py::TestFX::test_immutable_list_pytree_ops, test/test_fx.py::TestFX::test_imul_code_print, test/test_fx.py::TestFX::test_inf_nan, test/test_fx.py::TestFX::test_inf_nan_kwds, test/test_fx.py::TestFX::test_informative_co_filename, test/test_fx.py::TestFX::test_inline_graph, test/test_fx.py::TestFX::test_insert_arg, test/test_fx.py::TestFX::test_insertion_point, test/test_fx.py::TestFX::test_interpreter, test/test_fx.py::TestFX::test_interpreter_default_args, test/test_fx.py::TestFX::test_interpreter_gc_values, test/test_fx.py::TestFX::test_interpreter_noop_resnet18, test/test_fx.py::TestFX::test_interpreter_not_enough_args, test/test_fx.py::TestFX::test_interpreter_onthefly_swap, test/test_fx.py::TestFX::test_interpreter_other_graph, test/test_fx.py::TestFX::test_interpreter_partial_eval, test/test_fx.py::TestFX::test_interpreter_run_node_override, test/test_fx.py::TestFX::test_interpreter_star_args, test/test_fx.py::TestFX::test_interpreter_with_codegen, test/test_fx.py::TestFX::test_layout, test/test_fx.py::TestFX::test_leaf_module, test/test_fx.py::TestFX::test_lineno_map, test/test_fx.py::TestFX::test_matmul_tracing, test/test_fx.py::TestFX::test_metadata_on_ph, test/test_fx.py::TestFX::test_module_deepcopy_edit_nodes, test/test_fx.py::TestFX::test_move_before, test/test_fx.py::TestFX::test_multi_insert_point, test/test_fx.py::TestFX::test_multiple_default_args, test/test_fx.py::TestFX::test_named_tuple_inlined, test/test_fx.py::TestFX::test_namedtuple_return_qualname, test/test_fx.py::TestFX::test_namedtuple_return_trace, test/test_fx.py::TestFX::test_native_callable, test/test_fx.py::TestFX::test_nn_module_stack, test/test_fx.py::TestFX::test_no_mutation, test/test_fx.py::TestFX::test_node_tagging, test/test_fx.py::TestFX::test_nonetype_annotation, test/test_fx.py::TestFX::test_partial_trace, test/test_fx.py::TestFX::test_pickle_custom_import, test/test_fx.py::TestFX::test_pickle_graphmodule, test/test_fx.py::TestFX::test_pickle_nonetype_annotation, test/test_fx.py::TestFX::test_pickle_torch_custom_ops, test/test_fx.py::TestFX::test_prepend_self, test/test_fx.py::TestFX::test_pretty_print, test/test_fx.py::TestFX::test_pretty_print_graph, test/test_fx.py::TestFX::test_pretty_print_node, test/test_fx.py::TestFX::test_pretty_print_targets, test/test_fx.py::TestFX::test_profiler_ranges_side_effect, test/test_fx.py::TestFX::test_proxy_deepcopy_with_tracer, test/test_fx.py::TestFX::test_proxy_deepcopy_without_tracer, test/test_fx.py::TestFX::test_pytree, test/test_fx.py::TestFX::test_pytree_concrete, test/test_fx.py::TestFX::test_reassign_args_kwargs_uses, test/test_fx.py::TestFX::test_regular_and_default_args, test/test_fx.py::TestFX::test_remove_uses, test/test_fx.py::TestFX::test_remove_uses_with_custom_filter, test/test_fx.py::TestFX::test_replace_input, test/test_fx.py::TestFX::test_replace_uses, test/test_fx.py::TestFX::test_reserved_getattr, test/test_fx.py::TestFX::test_return_tuple, test/test_fx.py::TestFX::test_return_type_exists, test/test_fx.py::TestFX::test_return_type_exists_pre_pep585, test/test_fx.py::TestFX::test_script_method_trace, test/test_fx.py::TestFX::test_script_tensor_constant, test/test_fx.py::TestFX::test_sequential, test/test_fx.py::TestFX::test_shape_prop_aggregate, test/test_fx.py::TestFX::test_shape_prop_layout, test/test_fx.py::TestFX::test_shape_prop_layout_3d, test/test_fx.py::TestFX::test_shape_prop_unbacked_sym, test/test_fx.py::TestFX::test_single_default_arg, test/test_fx.py::TestFX::test_snake_case, test/test_fx.py::TestFX::test_sqrt, test/test_fx.py::TestFX::test_stack_traces, test/test_fx.py::TestFX::test_stack_traces_with_transformer, test/test_fx.py::TestFX::test_string_literal_return, test/test_fx.py::TestFX::test_submodule_manipulation_API, test/test_fx.py::TestFX::test_symbolic_trace_assert, test/test_fx.py::TestFX::test_symbolic_trace_sequential, test/test_fx.py::TestFX::test_tensor_attribute, test/test_fx.py::TestFX::test_tensor_attribute_coalseced, test/test_fx.py::TestFX::test_tensor_constant, test/test_fx.py::TestFX::test_throw_out_variant, test/test_fx.py::TestFX::test_torch_custom_ops, test/test_fx.py::TestFX::test_torch_fx_getattr, test/test_fx.py::TestFX::test_torch_fx_len, test/test_fx.py::TestFX::test_torch_op_overloads, test/test_fx.py::TestFX::test_torchbind_class_attribute_in_fx, test/test_fx.py::TestFX::test_torchbind_class_attribute_in_fx_tensor_arg, test/test_fx.py::TestFX::test_trace_buffer_slice, test/test_fx.py::TestFX::test_trace_dict_int_keys, test/test_fx.py::TestFX::test_trace_dict_proxy_keys, test/test_fx.py::TestFX::test_trace_fn_constant, test/test_fx.py::TestFX::test_trace_function, test/test_fx.py::TestFX::test_trace_multiple_funcs, test/test_fx.py::TestFX::test_trace_return_dataclass, test/test_fx.py::TestFX::test_trace_return_dataclass_nested, test/test_fx.py::TestFX::test_trace_return_namedtuple, test/test_fx.py::TestFX::test_tracing_graphmodules_as_leaf_submodules, test/test_fx.py::TestFX::test_transformer_multi_outputs, test/test_fx.py::TestFX::test_transformer_noop, test/test_fx.py::TestFX::test_transformer_op_swap, test/test_fx.py::TestFX::test_transformer_preserves_nn_module_stack_for_get_attr, test/test_fx.py::TestFX::test_tuple_no_subscript, test/test_fx.py::TestFX::test_typename_print, test/test_fx.py::TestFX::test_typename_print_pre_pep585, test/test_fx.py::TestFX::test_unpack, test/test_fx.py::TestFX::test_unpack_dict_better_error, test/test_fx.py::TestFX::test_unpack_list_better_error, test/test_fx.py::TestFX::test_update_args_api, test/test_fx.py::TestFX::test_update_args_kwargs_yells_at_you, test/test_fx.py::TestFX::test_update_kwargs_api, test/test_fx.py::TestFX::test_user_friendly_call_provenance_with_function, test/test_fx.py::TestFX::test_user_friendly_call_provenance_with_module, test/test_fx.py::TestFX::test_varargs_concrete, test/test_fx.py::TestFX::test_wrap, test/test_fx.py::TestFX::test_wrap_decorated_function, test/test_fx.py::TestFX::test_wrap_fn_directly, test/test_fx.py::TestFX::test_wrap_with_submodule, test/test_fx.py::TestFX::test_wrapped_method, test/test_fx.py::TestFX::test_wrapped_retrace, test/test_fx.py::TestFX::test_wrapped_via_decorator, test/test_fx.py::TestFX::test_wrapped_via_decorator_and_transformed, test/test_fx.py::TestFX::test_wrong_target_type, test/test_fx.py::TestFX::test_wrong_topo, test/test_fx.py::TestFXAPIBackwardCompatibility::test_adding_side_effect_function, test/test_fx.py::TestFXAPIBackwardCompatibility::test_class_member_back_compat, test/test_fx.py::TestFXAPIBackwardCompatibility::test_function_back_compat, test/test_fx.py::TestFXAPIBackwardCompatibility::test_preserve_unused_attr_after_unpickle, test/test_fx.py::TestFXAPIBackwardCompatibility::test_public_api_surface, test/test_fx.py::TestFunctionalTracing::test_nn_functional_adaptive_avg_pool1d, test/test_fx.py::TestFunctionalTracing::test_nn_functional_adaptive_avg_pool2d, test/test_fx.py::TestFunctionalTracing::test_nn_functional_adaptive_avg_pool3d, test/test_fx.py::TestFunctionalTracing::test_nn_functional_adaptive_max_pool1d, test/test_fx.py::TestFunctionalTracing::test_nn_functional_adaptive_max_pool1d_with_indices, test/test_fx.py::TestFunctionalTracing::test_nn_functional_adaptive_max_pool2d, test/test_fx.py::TestFunctionalTracing::test_nn_functional_adaptive_max_pool2d_with_indices, test/test_fx.py::TestFunctionalTracing::test_nn_functional_adaptive_max_pool3d, test/test_fx.py::TestFunctionalTracing::test_nn_functional_adaptive_max_pool3d_with_indices, test/test_fx.py::TestFunctionalTracing::test_nn_functional_affine_grid, test/test_fx.py::TestFunctionalTracing::test_nn_functional_alpha_dropout, test/test_fx.py::TestFunctionalTracing::test_nn_functional_avg_pool1d, test/test_fx.py::TestFunctionalTracing::test_nn_functional_avg_pool2d, test/test_fx.py::TestFunctionalTracing::test_nn_functional_avg_pool3d, test/test_fx.py::TestFunctionalTracing::test_nn_functional_batch_norm, test/test_fx.py::TestFunctionalTracing::test_nn_functional_bilinear, test/test_fx.py::TestFunctionalTracing::test_nn_functional_binary_cross_entropy, test/test_fx.py::TestFunctionalTracing::test_nn_functional_binary_cross_entropy_with_logits, test/test_fx.py::TestFunctionalTracing::test_nn_functional_celu, test/test_fx.py::TestFunctionalTracing::test_nn_functional_celu_, test/test_fx.py::TestFunctionalTracing::test_nn_functional_channel_shuffle, test/test_fx.py::TestFunctionalTracing::test_nn_functional_conv1d, test/test_fx.py::TestFunctionalTracing::test_nn_functional_conv2d, test/test_fx.py::TestFunctionalTracing::test_nn_functional_conv3d, test/test_fx.py::TestFunctionalTracing::test_nn_functional_conv_tbc, test/test_fx.py::TestFunctionalTracing::test_nn_functional_conv_transpose1d, test/test_fx.py::TestFunctionalTracing::test_nn_functional_conv_transpose2d, test/test_fx.py::TestFunctionalTracing::test_nn_functional_conv_transpose3d, test/test_fx.py::TestFunctionalTracing::test_nn_functional_cosine_embedding_loss, test/test_fx.py::TestFunctionalTracing::test_nn_functional_cosine_similarity, test/test_fx.py::TestFunctionalTracing::test_nn_functional_cross_entropy, test/test_fx.py::TestFunctionalTracing::test_nn_functional_ctc_loss, test/test_fx.py::TestFunctionalTracing::test_nn_functional_dropout, test/test_fx.py::TestFunctionalTracing::test_nn_functional_dropout1d, test/test_fx.py::TestFunctionalTracing::test_nn_functional_dropout2d, test/test_fx.py::TestFunctionalTracing::test_nn_functional_dropout3d, test/test_fx.py::TestFunctionalTracing::test_nn_functional_elu, test/test_fx.py::TestFunctionalTracing::test_nn_functional_elu_, test/test_fx.py::TestFunctionalTracing::test_nn_functional_embedding, test/test_fx.py::TestFunctionalTracing::test_nn_functional_embedding_bag, test/test_fx.py::TestFunctionalTracing::test_nn_functional_feature_alpha_dropout, test/test_fx.py::TestFunctionalTracing::test_nn_functional_fold, test/test_fx.py::TestFunctionalTracing::test_nn_functional_fractional_max_pool2d, test/test_fx.py::TestFunctionalTracing::test_nn_functional_fractional_max_pool2d_with_indices, test/test_fx.py::TestFunctionalTracing::test_nn_functional_fractional_max_pool3d, test/test_fx.py::TestFunctionalTracing::test_nn_functional_fractional_max_pool3d_with_indices, test/test_fx.py::TestFunctionalTracing::test_nn_functional_gaussian_nll_loss, test/test_fx.py::TestFunctionalTracing::test_nn_functional_gelu, test/test_fx.py::TestFunctionalTracing::test_nn_functional_glu, test/test_fx.py::TestFunctionalTracing::test_nn_functional_grid_sample, test/test_fx.py::TestFunctionalTracing::test_nn_functional_group_norm, test/test_fx.py::TestFunctionalTracing::test_nn_functional_gumbel_softmax, test/test_fx.py::TestFunctionalTracing::test_nn_functional_hardshrink, test/test_fx.py::TestFunctionalTracing::test_nn_functional_hardsigmoid, test/test_fx.py::TestFunctionalTracing::test_nn_functional_hardswish, test/test_fx.py::TestFunctionalTracing::test_nn_functional_hardtanh, test/test_fx.py::TestFunctionalTracing::test_nn_functional_hardtanh_, test/test_fx.py::TestFunctionalTracing::test_nn_functional_hinge_embedding_loss, test/test_fx.py::TestFunctionalTracing::test_nn_functional_huber_loss, test/test_fx.py::TestFunctionalTracing::test_nn_functional_instance_norm, test/test_fx.py::TestFunctionalTracing::test_nn_functional_interpolate, test/test_fx.py::TestFunctionalTracing::test_nn_functional_kl_div, test/test_fx.py::TestFunctionalTracing::test_nn_functional_l1_loss, test/test_fx.py::TestFunctionalTracing::test_nn_functional_layer_norm, test/test_fx.py::TestFunctionalTracing::test_nn_functional_leaky_relu, test/test_fx.py::TestFunctionalTracing::test_nn_functional_leaky_relu_, test/test_fx.py::TestFunctionalTracing::test_nn_functional_linear, test/test_fx.py::TestFunctionalTracing::test_nn_functional_local_response_norm, test/test_fx.py::TestFunctionalTracing::test_nn_functional_log_softmax, test/test_fx.py::TestFunctionalTracing::test_nn_functional_logsigmoid, test/test_fx.py::TestFunctionalTracing::test_nn_functional_lp_pool1d, test/test_fx.py::TestFunctionalTracing::test_nn_functional_lp_pool2d, test/test_fx.py::TestFunctionalTracing::test_nn_functional_lp_pool3d, test/test_fx.py::TestFunctionalTracing::test_nn_functional_margin_ranking_loss, test/test_fx.py::TestFunctionalTracing::test_nn_functional_max_pool1d, test/test_fx.py::TestFunctionalTracing::test_nn_functional_max_pool1d_with_indices, test/test_fx.py::TestFunctionalTracing::test_nn_functional_max_pool2d, test/test_fx.py::TestFunctionalTracing::test_nn_functional_max_pool2d_with_indices, test/test_fx.py::TestFunctionalTracing::test_nn_functional_max_pool3d, test/test_fx.py::TestFunctionalTracing::test_nn_functional_max_pool3d_with_indices, test/test_fx.py::TestFunctionalTracing::test_nn_functional_max_unpool1d, test/test_fx.py::TestFunctionalTracing::test_nn_functional_max_unpool2d, test/test_fx.py::TestFunctionalTracing::test_nn_functional_max_unpool3d, test/test_fx.py::TestFunctionalTracing::test_nn_functional_mish, test/test_fx.py::TestFunctionalTracing::test_nn_functional_mse_loss, test/test_fx.py::TestFunctionalTracing::test_nn_functional_multi_head_attention_forward, test/test_fx.py::TestFunctionalTracing::test_nn_functional_multi_margin_loss, test/test_fx.py::TestFunctionalTracing::test_nn_functional_multilabel_margin_loss, test/test_fx.py::TestFunctionalTracing::test_nn_functional_multilabel_soft_margin_loss, test/test_fx.py::TestFunctionalTracing::test_nn_functional_native_channel_shuffle, test/test_fx.py::TestFunctionalTracing::test_nn_functional_nll_loss, test/test_fx.py::TestFunctionalTracing::test_nn_functional_normalize, test/test_fx.py::TestFunctionalTracing::test_nn_functional_one_hot, test/test_fx.py::TestFunctionalTracing::test_nn_functional_pad, test/test_fx.py::TestFunctionalTracing::test_nn_functional_pairwise_distance, test/test_fx.py::TestFunctionalTracing::test_nn_functional_pdist, test/test_fx.py::TestFunctionalTracing::test_nn_functional_pixel_shuffle, test/test_fx.py::TestFunctionalTracing::test_nn_functional_pixel_unshuffle, test/test_fx.py::TestFunctionalTracing::test_nn_functional_poisson_nll_loss, test/test_fx.py::TestFunctionalTracing::test_nn_functional_prelu, test/test_fx.py::TestFunctionalTracing::test_nn_functional_relu, test/test_fx.py::TestFunctionalTracing::test_nn_functional_relu6, test/test_fx.py::TestFunctionalTracing::test_nn_functional_relu_, test/test_fx.py::TestFunctionalTracing::test_nn_functional_rms_norm, test/test_fx.py::TestFunctionalTracing::test_nn_functional_rrelu, test/test_fx.py::TestFunctionalTracing::test_nn_functional_rrelu_, test/test_fx.py::TestFunctionalTracing::test_nn_functional_scaled_dot_product_attention, test/test_fx.py::TestFunctionalTracing::test_nn_functional_selu, test/test_fx.py::TestFunctionalTracing::test_nn_functional_selu_, test/test_fx.py::TestFunctionalTracing::test_nn_functional_silu, test/test_fx.py::TestFunctionalTracing::test_nn_functional_smooth_l1_loss, test/test_fx.py::TestFunctionalTracing::test_nn_functional_soft_margin_loss, test/test_fx.py::TestFunctionalTracing::test_nn_functional_softmax, test/test_fx.py::TestFunctionalTracing::test_nn_functional_softmin, test/test_fx.py::TestFunctionalTracing::test_nn_functional_softplus, test/test_fx.py::TestFunctionalTracing::test_nn_functional_softshrink, test/test_fx.py::TestFunctionalTracing::test_nn_functional_threshold, test/test_fx.py::TestFunctionalTracing::test_nn_functional_threshold_, test/test_fx.py::TestFunctionalTracing::test_nn_functional_triplet_margin_loss, test/test_fx.py::TestFunctionalTracing::test_nn_functional_triplet_margin_with_distance_loss, test/test_fx.py::TestFunctionalTracing::test_nn_functional_unfold, test/test_fx.py::TestFunctionalTracing::test_nn_functional_upsample, test/test_fx.py::TestFunctionalTracing::test_nn_functional_upsample_bilinear, test/test_fx.py::TestFunctionalTracing::test_nn_functional_upsample_nearest, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_H_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_T_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive___getitem___cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive___radd___cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive___rdiv___cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive___rmatmul___cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive___rmod___cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive___rmul___cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive___rpow___cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive___rsub___cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive__batch_norm_with_update_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive__chunk_cat_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive__native_batch_norm_legit_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive__segment_reduce_lengths_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive__segment_reduce_offsets_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive__softmax_backward_data_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive__unsafe_masked_index_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive__unsafe_masked_index_put_accumulate_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive__upsample_bilinear2d_aa_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_abs_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_acos_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_acosh_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_add_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_addbmm_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_addcdiv_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_addcmul_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_addmm_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_addmm_decomposed_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_addmv_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_addr_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_alias_copy_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_all_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_allclose_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_amax_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_amin_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_aminmax_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_angle_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_any_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_arange_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_argmax_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_argmin_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_argsort_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_argwhere_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_as_strided_copy_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_as_strided_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_as_strided_partial_views_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_as_strided_scatter_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_asin_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_asinh_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_atan2_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_atan_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_atanh_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_atleast_1d_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_atleast_2d_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_atleast_3d_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_baddbmm_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_bernoulli_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_bfloat16_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_block_diag_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_bmm_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_bool_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_broadcast_shapes_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_broadcast_tensors_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_broadcast_to_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_bucketize_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_byte_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_cartesian_prod_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_cat_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_cauchy_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_cdist_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_cdouble_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_ceil_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_cfloat_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_chalf_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_char_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_cholesky_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_cholesky_inverse_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_cholesky_solve_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_chunk_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_clamp_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_clamp_max_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_clamp_min_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_clone_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_column_stack_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_combinations_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_complex_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_conj_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_conj_physical_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_constant_pad_nd_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_contiguous_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_copysign_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_corrcoef_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_cos_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_cosh_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_count_nonzero_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_cov_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_cross_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_cummax_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_cummin_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_cumprod_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_cumsum_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_cumulative_trapezoid_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_deg2rad_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_diag_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_diag_embed_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_diagflat_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_diagonal_copy_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_diagonal_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_diagonal_scatter_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_diff_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_digamma_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_dist_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_div_floor_rounding_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_div_no_rounding_mode_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_div_trunc_rounding_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_dot_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_double_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_dsplit_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_dstack_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_einsum_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_empty_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_empty_like_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_empty_permuted_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_empty_strided_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_eq_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_equal_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_erf_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_erfc_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_erfinv_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_exp2_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_exp_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_expand_as_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_expand_copy_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_expand_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_expm1_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_exponential_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_eye_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_fft_fft2_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_fft_fft_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_fft_fftn_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_fft_fftshift_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_fft_hfft2_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_fft_hfft_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_fft_hfftn_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_fft_ifft2_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_fft_ifft_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_fft_ifftn_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_fft_ifftshift_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_fft_ihfft2_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_fft_ihfft_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_fft_ihfftn_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_fft_irfft2_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_fft_irfft_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_fft_irfftn_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_fft_rfft2_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_fft_rfft_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_fft_rfftn_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_fill_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_flatten_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_flip_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_fliplr_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_flipud_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_float_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_float_power_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_floor_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_floor_divide_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_fmax_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_fmin_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_fmod_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_frac_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_frexp_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_full_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_full_like_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_gather_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_ge_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_geometric_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_geqrf_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_gradient_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_grid_sampler_2d_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_gt_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_half_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_heaviside_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_histc_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_histogram_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_histogramdd_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_hsplit_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_hstack_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_hypot_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_i0_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_igamma_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_igammac_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_index_add_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_index_copy_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_index_fill_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_index_put_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_index_reduce_amax_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_index_reduce_amin_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_index_reduce_mean_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_index_reduce_prod_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_index_select_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_inner_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_int_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_isclose_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_isfinite_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_isin_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_isinf_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_isnan_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_isneginf_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_isposinf_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_isreal_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_item_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_jiterator_2inputs_2outputs_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_jiterator_4inputs_with_extra_args_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_jiterator_binary_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_jiterator_binary_return_by_ref_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_jiterator_unary_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_kron_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_kthvalue_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_ldexp_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_le_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_lerp_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_lgamma_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_cholesky_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_cholesky_ex_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_cond_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_cross_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_det_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_diagonal_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_eig_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_eigh_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_eigvals_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_eigvalsh_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_householder_product_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_inv_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_inv_ex_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_ldl_factor_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_ldl_factor_ex_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_ldl_solve_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_lstsq_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_lstsq_grad_oriented_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_lu_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_lu_factor_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_lu_factor_ex_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_lu_solve_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_matrix_norm_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_matrix_power_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_matrix_rank_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_matrix_rank_hermitian_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_multi_dot_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_norm_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_norm_subgradients_at_zero_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_pinv_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_pinv_hermitian_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_pinv_singular_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_qr_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_slogdet_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_solve_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_solve_ex_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_solve_triangular_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_svd_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_svdvals_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_tensorinv_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_tensorsolve_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_vander_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_vecdot_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linalg_vector_norm_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linspace_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_linspace_tensor_overload_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_log10_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_log1p_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_log2_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_log_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_log_normal_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_log_softmax_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_log_softmax_with_dtype_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_logaddexp2_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_logaddexp_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_logcumsumexp_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_logdet_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_logical_and_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_logical_not_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_logical_or_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_logical_xor_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_logit_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_logspace_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_logspace_tensor_overload_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_logsumexp_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_long_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_lt_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_lu_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_lu_solve_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_lu_unpack_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_mH_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_mT_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_masked_amax_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_masked_amin_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_masked_argmax_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_masked_argmin_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_masked_cumprod_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_masked_cumsum_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_masked_fill_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_masked_log_softmax_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_masked_logaddexp_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_masked_logsumexp_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_masked_mean_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_masked_median_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_masked_norm_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_masked_normalize_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_masked_prod_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_masked_scatter_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_masked_select_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_masked_softmax_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_masked_softmin_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_masked_std_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_masked_sum_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_masked_var_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_matmul_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_matrix_exp_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_max_binary_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_max_pool2d_with_indices_backward_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_max_reduction_no_dim_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_max_reduction_with_dim_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_maximum_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_mean_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_median_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_meshgrid_list_of_tensors_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_meshgrid_variadic_tensors_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_min_binary_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_min_reduction_no_dim_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_min_reduction_with_dim_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_minimum_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_mm_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_mode_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_movedim_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_msort_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_mul_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_multinomial_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_mv_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_mvlgamma_mvlgamma_p_1_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_mvlgamma_mvlgamma_p_3_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_mvlgamma_mvlgamma_p_5_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nan_to_num_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nanmean_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nanmedian_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nanquantile_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nansum_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_narrow_copy_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_narrow_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_native_batch_norm_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_native_dropout_backward_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_native_layer_norm_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_ne_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_neg_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_new_empty_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_new_empty_strided_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_new_full_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_new_ones_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_new_zeros_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nextafter_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_adaptive_avg_pool1d_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_adaptive_avg_pool2d_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_adaptive_avg_pool3d_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_adaptive_max_pool1d_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_adaptive_max_pool2d_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_adaptive_max_pool3d_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_alpha_dropout_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_avg_pool1d_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_avg_pool2d_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_avg_pool3d_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_batch_norm_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_bilinear_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_binary_cross_entropy_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_binary_cross_entropy_with_logits_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_celu_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_channel_shuffle_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_conv1d_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_conv2d_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_conv3d_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_conv_transpose1d_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_conv_transpose2d_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_conv_transpose3d_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_cosine_embedding_loss_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_cosine_similarity_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_cross_entropy_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_ctc_loss_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_dropout2d_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_dropout3d_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_dropout_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_elu_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_embedding_bag_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_embedding_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_feature_alpha_dropout_with_train_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_feature_alpha_dropout_without_train_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_fractional_max_pool2d_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_fractional_max_pool3d_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_gaussian_nll_loss_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_gelu_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_glu_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_grid_sample_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_group_norm_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_hardshrink_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_hardsigmoid_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_hardswish_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_hardtanh_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_hinge_embedding_loss_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_huber_loss_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_instance_norm_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_interpolate_area_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_interpolate_bicubic_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_interpolate_bilinear_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_interpolate_linear_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_interpolate_nearest-exact_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_interpolate_nearest_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_interpolate_trilinear_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_kl_div_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_l1_loss_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_layer_norm_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_leaky_relu_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_linear_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_local_response_norm_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_logsigmoid_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_margin_ranking_loss_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_max_pool1d_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_max_pool2d_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_max_pool3d_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_max_unpool1d_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_max_unpool1d_grad_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_max_unpool2d_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_max_unpool2d_grad_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_max_unpool3d_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_max_unpool3d_grad_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_mish_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_mse_loss_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_multi_head_attention_forward_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_multi_margin_loss_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_multilabel_margin_loss_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_multilabel_soft_margin_loss_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_nll_loss_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_normalize_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_pad_circular_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_pad_constant_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_pad_reflect_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_pad_replicate_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_pad_replicate_negative_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_pairwise_distance_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_pdist_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_pixel_shuffle_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_pixel_unshuffle_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_poisson_nll_loss_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_prelu_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_relu6_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_relu_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_rms_norm_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_rrelu_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_scaled_dot_product_attention_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_selu_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_silu_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_smooth_l1_loss_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_soft_margin_loss_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_softmin_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_softmin_with_dtype_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_softplus_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_softshrink_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_softsign_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_tanhshrink_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_threshold_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_triplet_margin_loss_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_triplet_margin_with_distance_loss_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_unfold_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_upsample_bilinear_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nn_functional_upsample_nearest_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nonzero_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_nonzero_static_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_norm_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_norm_fro_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_norm_inf_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_norm_nuc_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_normal_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_normal_in_place_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_normal_number_mean_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_ones_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_ones_like_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_ormqr_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_outer_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_pca_lowrank_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_permute_copy_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_permute_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_pinverse_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_polar_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_polygamma_polygamma_n_0_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_polygamma_polygamma_n_1_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_polygamma_polygamma_n_2_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_polygamma_polygamma_n_3_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_polygamma_polygamma_n_4_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_positive_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_pow_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_prod_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_put_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_qr_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_quantile_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_rad2deg_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_rand_like_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_randint_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_randint_like_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_randn_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_randn_like_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_ravel_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_real_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_reciprocal_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_remainder_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_renorm_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_repeat_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_repeat_interleave_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_reshape_as_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_reshape_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_resize__cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_resize_as__cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_resolve_conj_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_resolve_neg_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_roll_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_rot90_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_round_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_round_decimals_0_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_round_decimals_3_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_round_decimals_neg_3_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_rsqrt_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_rsub_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_scalar_tensor_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_scatter_add_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_scatter_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_scatter_reduce_amax_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_scatter_reduce_amin_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_scatter_reduce_mean_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_scatter_reduce_prod_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_scatter_reduce_sum_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_searchsorted_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_select_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_select_scatter_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_sgn_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_short_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_sigmoid_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_sign_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_signal_windows_bartlett_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_signal_windows_blackman_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_signal_windows_cosine_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_signal_windows_exponential_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_signal_windows_gaussian_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_signal_windows_general_cosine_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_signal_windows_general_hamming_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_signal_windows_hamming_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_signal_windows_hann_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_signal_windows_kaiser_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_signal_windows_nuttall_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_signbit_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_sin_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_sinc_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_sinh_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_slice_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_slice_scatter_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_softmax_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_softmax_with_dtype_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_sort_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_sparse_mm_reduce_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_sparse_sampled_addmm_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_special_airy_ai_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_special_bessel_j0_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_special_bessel_j1_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_special_bessel_y0_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_special_bessel_y1_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_special_chebyshev_polynomial_t_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_special_chebyshev_polynomial_u_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_special_chebyshev_polynomial_v_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_special_chebyshev_polynomial_w_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_special_entr_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_special_erfcx_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_special_hermite_polynomial_h_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_special_hermite_polynomial_he_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_special_i0e_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_special_i1_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_special_i1e_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_special_laguerre_polynomial_l_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_special_legendre_polynomial_p_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_special_log_ndtr_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_special_modified_bessel_i0_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_special_modified_bessel_i1_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_special_modified_bessel_k0_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_special_modified_bessel_k1_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_special_ndtr_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_special_ndtri_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_special_polygamma_special_polygamma_n_0_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_special_scaled_modified_bessel_k0_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_special_scaled_modified_bessel_k1_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_special_shifted_chebyshev_polynomial_t_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_special_shifted_chebyshev_polynomial_u_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_special_shifted_chebyshev_polynomial_v_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_special_shifted_chebyshev_polynomial_w_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_special_spherical_bessel_j0_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_special_xlog1py_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_special_zeta_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_split_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_split_list_args_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_split_with_sizes_copy_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_split_with_sizes_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_sqrt_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_square_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_squeeze_copy_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_squeeze_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_squeeze_multiple_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_stack_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_std_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_std_mean_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_std_mean_unbiased_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_std_unbiased_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_stft_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_sub_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_sum_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_sum_to_size_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_svd_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_svd_lowrank_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_t_copy_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_t_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_take_along_dim_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_take_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_tan_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_tanh_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_tensor_split_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_tensordot_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_tile_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_to_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_to_sparse_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_topk_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_torch_ops_aten__safe_softmax_default_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_trace_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_transpose_copy_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_transpose_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_trapezoid_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_trapz_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_triangular_solve_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_tril_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_triu_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_true_divide_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_trunc_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_unbind_copy_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_unbind_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_unflatten_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_unfold_copy_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_unfold_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_uniform_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_unique_consecutive_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_unique_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_unsafe_chunk_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_unsafe_split_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_unsqueeze_copy_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_unsqueeze_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_var_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_var_mean_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_var_mean_unbiased_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_var_unbiased_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_vdot_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_view_as_complex_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_view_as_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_view_copy_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_view_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_vsplit_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_vstack_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_where_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_xlogy_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_zero__cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_zeros_cpu_float32, test/test_fx.py::TestOperatorSignaturesCPU::test_get_torch_func_signature_exhaustive_zeros_like_cpu_float32, test/test_fx.py::TestVisionTracing::test_torchvision_models_alexnet, test/test_fx.py::TestVisionTracing::test_torchvision_models_convnext_base, test/test_fx.py::TestVisionTracing::test_torchvision_models_convnext_large, test/test_fx.py::TestVisionTracing::test_torchvision_models_convnext_small, test/test_fx.py::TestVisionTracing::test_torchvision_models_convnext_tiny, test/test_fx.py::TestVisionTracing::test_torchvision_models_densenet121, test/test_fx.py::TestVisionTracing::test_torchvision_models_densenet161, test/test_fx.py::TestVisionTracing::test_torchvision_models_densenet169, test/test_fx.py::TestVisionTracing::test_torchvision_models_densenet201, test/test_fx.py::TestVisionTracing::test_torchvision_models_detection_fasterrcnn_mobilenet_v3_large_320_fpn, test/test_fx.py::TestVisionTracing::test_torchvision_models_detection_fasterrcnn_mobilenet_v3_large_fpn, test/test_fx.py::TestVisionTracing::test_torchvision_models_detection_fasterrcnn_resnet50_fpn, test/test_fx.py::TestVisionTracing::test_torchvision_models_detection_fasterrcnn_resnet50_fpn_v2, test/test_fx.py::TestVisionTracing::test_torchvision_models_detection_fcos_resnet50_fpn, test/test_fx.py::TestVisionTracing::test_torchvision_models_detection_keypointrcnn_resnet50_fpn, test/test_fx.py::TestVisionTracing::test_torchvision_models_detection_maskrcnn_resnet50_fpn, test/test_fx.py::TestVisionTracing::test_torchvision_models_detection_maskrcnn_resnet50_fpn_v2, test/test_fx.py::TestVisionTracing::test_torchvision_models_detection_retinanet_resnet50_fpn, test/test_fx.py::TestVisionTracing::test_torchvision_models_detection_retinanet_resnet50_fpn_v2, test/test_fx.py::TestVisionTracing::test_torchvision_models_detection_ssd300_vgg16, test/test_fx.py::TestVisionTracing::test_torchvision_models_detection_ssdlite320_mobilenet_v3_large, test/test_fx.py::TestVisionTracing::test_torchvision_models_efficientnet_b0, test/test_fx.py::TestVisionTracing::test_torchvision_models_efficientnet_b1, test/test_fx.py::TestVisionTracing::test_torchvision_models_efficientnet_b2, test/test_fx.py::TestVisionTracing::test_torchvision_models_efficientnet_b3, test/test_fx.py::TestVisionTracing::test_torchvision_models_efficientnet_b4, test/test_fx.py::TestVisionTracing::test_torchvision_models_efficientnet_b5, test/test_fx.py::TestVisionTracing::test_torchvision_models_efficientnet_b6, test/test_fx.py::TestVisionTracing::test_torchvision_models_efficientnet_b7, test/test_fx.py::TestVisionTracing::test_torchvision_models_efficientnet_v2_l, test/test_fx.py::TestVisionTracing::test_torchvision_models_efficientnet_v2_m, test/test_fx.py::TestVisionTracing::test_torchvision_models_efficientnet_v2_s, test/test_fx.py::TestVisionTracing::test_torchvision_models_googlenet, test/test_fx.py::TestVisionTracing::test_torchvision_models_inception_v3, test/test_fx.py::TestVisionTracing::test_torchvision_models_maxvit_t, test/test_fx.py::TestVisionTracing::test_torchvision_models_mnasnet0_5, test/test_fx.py::TestVisionTracing::test_torchvision_models_mnasnet0_75, test/test_fx.py::TestVisionTracing::test_torchvision_models_mnasnet1_0, test/test_fx.py::TestVisionTracing::test_torchvision_models_mnasnet1_3, test/test_fx.py::TestVisionTracing::test_torchvision_models_mobilenet_v2, test/test_fx.py::TestVisionTracing::test_torchvision_models_mobilenet_v3_large, test/test_fx.py::TestVisionTracing::test_torchvision_models_mobilenet_v3_small, test/test_fx.py::TestVisionTracing::test_torchvision_models_regnet_x_16gf, test/test_fx.py::TestVisionTracing::test_torchvision_models_regnet_x_1_6gf, test/test_fx.py::TestVisionTracing::test_torchvision_models_regnet_x_32gf, test/test_fx.py::TestVisionTracing::test_torchvision_models_regnet_x_3_2gf, test/test_fx.py::TestVisionTracing::test_torchvision_models_regnet_x_400mf, test/test_fx.py::TestVisionTracing::test_torchvision_models_regnet_x_800mf, test/test_fx.py::TestVisionTracing::test_torchvision_models_regnet_x_8gf, test/test_fx.py::TestVisionTracing::test_torchvision_models_regnet_y_128gf, test/test_fx.py::TestVisionTracing::test_torchvision_models_regnet_y_16gf, test/test_fx.py::TestVisionTracing::test_torchvision_models_regnet_y_1_6gf, test/test_fx.py::TestVisionTracing::test_torchvision_models_regnet_y_32gf, test/test_fx.py::TestVisionTracing::test_torchvision_models_regnet_y_3_2gf, test/test_fx.py::TestVisionTracing::test_torchvision_models_regnet_y_400mf, test/test_fx.py::TestVisionTracing::test_torchvision_models_regnet_y_800mf, test/test_fx.py::TestVisionTracing::test_torchvision_models_regnet_y_8gf, test/test_fx.py::TestVisionTracing::test_torchvision_models_resnet101, test/test_fx.py::TestVisionTracing::test_torchvision_models_resnet152, test/test_fx.py::TestVisionTracing::test_torchvision_models_resnet18, test/test_fx.py::TestVisionTracing::test_torchvision_models_resnet34, test/test_fx.py::TestVisionTracing::test_torchvision_models_resnet50, test/test_fx.py::TestVisionTracing::test_torchvision_models_resnext101_32x8d, test/test_fx.py::TestVisionTracing::test_torchvision_models_resnext101_64x4d, test/test_fx.py::TestVisionTracing::test_torchvision_models_resnext50_32x4d, test/test_fx.py::TestVisionTracing::test_torchvision_models_segmentation_deeplabv3_mobilenet_v3_large, test/test_fx.py::TestVisionTracing::test_torchvision_models_segmentation_deeplabv3_resnet101, test/test_fx.py::TestVisionTracing::test_torchvision_models_segmentation_deeplabv3_resnet50, test/test_fx.py::TestVisionTracing::test_torchvision_models_segmentation_fcn_resnet101, test/test_fx.py::TestVisionTracing::test_torchvision_models_segmentation_fcn_resnet50, test/test_fx.py::TestVisionTracing::test_torchvision_models_segmentation_lraspp_mobilenet_v3_large, test/test_fx.py::TestVisionTracing::test_torchvision_models_shufflenet_v2_x0_5, test/test_fx.py::TestVisionTracing::test_torchvision_models_shufflenet_v2_x1_0, test/test_fx.py::TestVisionTracing::test_torchvision_models_shufflenet_v2_x1_5, test/test_fx.py::TestVisionTracing::test_torchvision_models_shufflenet_v2_x2_0, test/test_fx.py::TestVisionTracing::test_torchvision_models_squeezenet1_0, test/test_fx.py::TestVisionTracing::test_torchvision_models_squeezenet1_1, test/test_fx.py::TestVisionTracing::test_torchvision_models_swin_b, test/test_fx.py::TestVisionTracing::test_torchvision_models_swin_s, test/test_fx.py::TestVisionTracing::test_torchvision_models_swin_t, test/test_fx.py::TestVisionTracing::test_torchvision_models_swin_v2_b, test/test_fx.py::TestVisionTracing::test_torchvision_models_swin_v2_s, test/test_fx.py::TestVisionTracing::test_torchvision_models_swin_v2_t, test/test_fx.py::TestVisionTracing::test_torchvision_models_vgg11, test/test_fx.py::TestVisionTracing::test_torchvision_models_vgg11_bn, test/test_fx.py::TestVisionTracing::test_torchvision_models_vgg13, test/test_fx.py::TestVisionTracing::test_torchvision_models_vgg13_bn, test/test_fx.py::TestVisionTracing::test_torchvision_models_vgg16, test/test_fx.py::TestVisionTracing::test_torchvision_models_vgg16_bn, test/test_fx.py::TestVisionTracing::test_torchvision_models_vgg19, test/test_fx.py::TestVisionTracing::test_torchvision_models_vgg19_bn, test/test_fx.py::TestVisionTracing::test_torchvision_models_video_mc3_18, test/test_fx.py::TestVisionTracing::test_torchvision_models_video_mvit_v1_b, test/test_fx.py::TestVisionTracing::test_torchvision_models_video_mvit_v2_s, test/test_fx.py::TestVisionTracing::test_torchvision_models_video_r2plus1d_18, test/test_fx.py::TestVisionTracing::test_torchvision_models_video_r3d_18, test/test_fx.py::TestVisionTracing::test_torchvision_models_video_s3d, test/test_fx.py::TestVisionTracing::test_torchvision_models_video_swin3d_b, test/test_fx.py::TestVisionTracing::test_torchvision_models_video_swin3d_s, test/test_fx.py::TestVisionTracing::test_torchvision_models_video_swin3d_t, test/test_fx.py::TestVisionTracing::test_torchvision_models_vit_b_16, test/test_fx.py::TestVisionTracing::test_torchvision_models_vit_b_32, test/test_fx.py::TestVisionTracing::test_torchvision_models_vit_h_14, test/test_fx.py::TestVisionTracing::test_torchvision_models_vit_l_16, test/test_fx.py::TestVisionTracing::test_torchvision_models_vit_l_32, test/test_fx.py::TestVisionTracing::test_torchvision_models_wide_resnet101_2, test/test_fx.py::TestVisionTracing::test_torchvision_models_wide_resnet50_2 2025-03-14T04:43:51.8853791Z 2025-03-14T04:43:51.8854070Z Running test_cpp_extensions_mtia_backend 1/1 ... [2025-03-14 04:43:51.791809] 2025-03-14T04:43:51.8854611Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T04:43:51.8856156Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'test_cpp_extensions_mtia_backend.py', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 04:43:51.792142] 2025-03-14T04:43:56.0622325Z 2025-03-14T04:43:56.0623669Z test_cpp_extensions_mtia_backend 1/1 was successful, full logs can be found in artifacts with path test/test-reports/test_cpp_extensions_mtia_backend_1.1_50dc271f9a704ddc_.log 2025-03-14T04:43:56.0626724Z Running 5 items in this shard: test/test_cpp_extensions_mtia_backend.py::TestCppExtensionMTIABackend::test_device_context, test/test_cpp_extensions_mtia_backend.py::TestCppExtensionMTIABackend::test_get_device_module, test/test_cpp_extensions_mtia_backend.py::TestCppExtensionMTIABackend::test_stream_basic, test/test_cpp_extensions_mtia_backend.py::TestCppExtensionMTIABackend::test_stream_context, test/test_cpp_extensions_mtia_backend.py::TestCppExtensionMTIABackend::test_stream_context_different_device 2025-03-14T04:43:56.0629082Z 2025-03-14T04:43:56.0629366Z Running test_cpp_extensions_stream_and_event 1/1 ... [2025-03-14 04:43:56.062415] 2025-03-14T04:43:56.0629862Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T04:43:56.0630988Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'test_cpp_extensions_stream_and_event.py', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 04:43:56.062731] 2025-03-14T04:44:00.0824159Z 2025-03-14T04:44:00.0825224Z test_cpp_extensions_stream_and_event 1/1 was successful, full logs can be found in artifacts with path test/test-reports/test_cpp_extensions_stream_and_event_1.1_c8a8747cc54a8efe_.log 2025-03-14T04:44:00.0826570Z Running 1 items in this shard: test/test_cpp_extensions_stream_and_event.py::TestCppExtensionStreamAndEvent::test_stream_event 2025-03-14T04:44:00.0827194Z 2025-03-14T04:44:00.0827456Z Running test_cpp_extensions_jit 1/1 ... [2025-03-14 04:44:00.082558] 2025-03-14T04:44:00.0827963Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T04:44:00.0830897Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'test_cpp_extensions_jit.py', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 04:44:00.082873] 2025-03-14T04:44:37.7006459Z 2025-03-14T04:44:37.7007420Z test_cpp_extensions_jit 1/1 was successful, full logs can be found in artifacts with path test/test-reports/test_cpp_extensions_jit_1.1_1b6794369fceb684_.log 2025-03-14T04:44:37.7019874Z Running 29 items in this shard: test/test_cpp_extensions_jit.py::TestCppExtensionJIT::test_autograd_from_cpp, test/test_cpp_extensions_jit.py::TestCppExtensionJIT::test_compilation_error_formatting, test/test_cpp_extensions_jit.py::TestCppExtensionJIT::test_cpp_frontend_module_has_same_output_as_python, test/test_cpp_extensions_jit.py::TestCppExtensionJIT::test_cpp_frontend_module_has_up_to_date_attributes, test/test_cpp_extensions_jit.py::TestCppExtensionJIT::test_cpp_frontend_module_python_inter_op, test/test_cpp_extensions_jit.py::TestCppExtensionJIT::test_cpp_frontend_module_python_inter_op_with_cuda, test/test_cpp_extensions_jit.py::TestCppExtensionJIT::test_custom_compound_op_autograd, test/test_cpp_extensions_jit.py::TestCppExtensionJIT::test_custom_functorch_error, test/test_cpp_extensions_jit.py::TestCppExtensionJIT::test_gen_extension_h_pch, test/test_cpp_extensions_jit.py::TestCppExtensionJIT::test_half_support, test/test_cpp_extensions_jit.py::TestCppExtensionJIT::test_inline_jit_compile_custom_op_cuda, test/test_cpp_extensions_jit.py::TestCppExtensionJIT::test_inline_jit_compile_extension_cuda, test/test_cpp_extensions_jit.py::TestCppExtensionJIT::test_inline_jit_compile_extension_multiple_sources_and_no_functions, test/test_cpp_extensions_jit.py::TestCppExtensionJIT::test_inline_jit_compile_extension_throws_when_functions_is_bad, test/test_cpp_extensions_jit.py::TestCppExtensionJIT::test_inline_jit_compile_extension_with_functions_as_dict, test/test_cpp_extensions_jit.py::TestCppExtensionJIT::test_inline_jit_compile_extension_with_functions_as_list, test/test_cpp_extensions_jit.py::TestCppExtensionJIT::test_inline_jit_compile_extension_xpu, test/test_cpp_extensions_jit.py::TestCppExtensionJIT::test_jit_compile_extension, test/test_cpp_extensions_jit.py::TestCppExtensionJIT::test_jit_cuda_archflags, test/test_cpp_extensions_jit.py::TestCppExtensionJIT::test_jit_cuda_extension, test/test_cpp_extensions_jit.py::TestCppExtensionJIT::test_jit_cudnn_extension, test/test_cpp_extensions_jit.py::TestCppExtensionJIT::test_jit_xpu_extension, test/test_cpp_extensions_jit.py::TestCppExtensionJIT::test_lenient_flag_handling_in_jit_extensions, test/test_cpp_extensions_jit.py::TestCppExtensionJIT::test_load_with_non_platform_default_encoding, test/test_cpp_extensions_jit.py::TestCppExtensionJIT::test_mps_extension, test/test_cpp_extensions_jit.py::TestCppExtensionJIT::test_reload_jit_extension, test/test_cpp_extensions_jit.py::TestCppExtensionJIT::test_returns_shared_library_path_when_is_python_module_is_true, test/test_cpp_extensions_jit.py::TestCppExtensionJIT::test_set_default_type_also_changes_aten_default_type, test/test_cpp_extensions_jit.py::TestCppExtensionJIT::test_warning 2025-03-14T04:44:37.7031212Z 2025-03-14T04:44:37.7031404Z Running test_native_mha 1/1 ... [2025-03-14 04:44:37.700942] 2025-03-14T04:44:37.7031824Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T04:44:37.7032856Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'test_native_mha.py', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 04:44:37.701268] 2025-03-14T04:45:03.1011487Z 2025-03-14T04:45:03.1012825Z test_native_mha 1/1 was successful, full logs can be found in artifacts with path test/test-reports/test_native_mha_1.1_a3a6f18e54f95a18_.log 2025-03-14T04:45:03.1038033Z Running 28 items in this shard: test/test_native_mha.py::TestMHADeviceTypeCPU::test_native_multihead_attention_cpu_float32, test/test_native_mha.py::TestMHADeviceTypeCPU::test_native_multihead_encoder_decoder_attention_cpu_float32, test/test_native_mha.py::TestMHADeviceTypeCPU::test_native_multihead_self_attention_use_nt_False_use_padding_False_pad_all_False_need_weights_False_average_attn_weights_False_fused_False_cpu_float32, test/test_native_mha.py::TestMHADeviceTypeCPU::test_native_multihead_self_attention_use_nt_False_use_padding_False_pad_all_False_need_weights_False_average_attn_weights_False_fused_True_cpu_float32, test/test_native_mha.py::TestMHADeviceTypeCPU::test_native_multihead_self_attention_use_nt_False_use_padding_False_pad_all_False_need_weights_False_average_attn_weights_True_fused_False_cpu_float32, test/test_native_mha.py::TestMHADeviceTypeCPU::test_native_multihead_self_attention_use_nt_False_use_padding_False_pad_all_False_need_weights_False_average_attn_weights_True_fused_True_cpu_float32, test/test_native_mha.py::TestMHADeviceTypeCPU::test_native_multihead_self_attention_use_nt_False_use_padding_True_pad_all_False_need_weights_False_average_attn_weights_False_fused_False_cpu_float32, test/test_native_mha.py::TestMHADeviceTypeCPU::test_native_multihead_self_attention_use_nt_False_use_padding_True_pad_all_False_need_weights_False_average_attn_weights_False_fused_True_cpu_float32, test/test_native_mha.py::TestMHADeviceTypeCPU::test_native_multihead_self_attention_use_nt_False_use_padding_True_pad_all_False_need_weights_False_average_attn_weights_True_fused_False_cpu_float32, test/test_native_mha.py::TestMHADeviceTypeCPU::test_native_multihead_self_attention_use_nt_False_use_padding_True_pad_all_False_need_weights_False_average_attn_weights_True_fused_True_cpu_float32, test/test_native_mha.py::TestMHADeviceTypeCPU::test_native_multihead_self_attention_use_nt_False_use_padding_True_pad_all_True_need_weights_False_average_attn_weights_False_fused_False_cpu_float32, test/test_native_mha.py::TestMHADeviceTypeCPU::test_native_multihead_self_attention_use_nt_False_use_padding_True_pad_all_True_need_weights_False_average_attn_weights_False_fused_True_cpu_float32, test/test_native_mha.py::TestMHADeviceTypeCPU::test_native_multihead_self_attention_use_nt_False_use_padding_True_pad_all_True_need_weights_False_average_attn_weights_True_fused_False_cpu_float32, test/test_native_mha.py::TestMHADeviceTypeCPU::test_native_multihead_self_attention_use_nt_False_use_padding_True_pad_all_True_need_weights_False_average_attn_weights_True_fused_True_cpu_float32, test/test_native_mha.py::TestMHADeviceTypeCPU::test_native_multihead_self_attention_use_nt_True_use_padding_False_pad_all_False_need_weights_False_average_attn_weights_False_fused_False_cpu_float32, test/test_native_mha.py::TestMHADeviceTypeCPU::test_native_multihead_self_attention_use_nt_True_use_padding_False_pad_all_False_need_weights_False_average_attn_weights_False_fused_True_cpu_float32, test/test_native_mha.py::TestMHADeviceTypeCPU::test_native_multihead_self_attention_use_nt_True_use_padding_False_pad_all_False_need_weights_False_average_attn_weights_True_fused_False_cpu_float32, test/test_native_mha.py::TestMHADeviceTypeCPU::test_native_multihead_self_attention_use_nt_True_use_padding_False_pad_all_False_need_weights_False_average_attn_weights_True_fused_True_cpu_float32, test/test_native_mha.py::TestMHADeviceTypeCPU::test_native_multihead_self_attention_use_nt_True_use_padding_True_pad_all_False_need_weights_False_average_attn_weights_False_fused_False_cpu_float32, test/test_native_mha.py::TestMHADeviceTypeCPU::test_native_multihead_self_attention_use_nt_True_use_padding_True_pad_all_False_need_weights_False_average_attn_weights_False_fused_True_cpu_float32, test/test_native_mha.py::TestMHADeviceTypeCPU::test_native_multihead_self_attention_use_nt_True_use_padding_True_pad_all_False_need_weights_False_average_attn_weights_True_fused_False_cpu_float32, test/test_native_mha.py::TestMHADeviceTypeCPU::test_native_multihead_self_attention_use_nt_True_use_padding_True_pad_all_False_need_weights_False_average_attn_weights_True_fused_True_cpu_float32, test/test_native_mha.py::TestMHADeviceTypeCPU::test_native_multihead_self_attention_use_nt_True_use_padding_True_pad_all_True_need_weights_False_average_attn_weights_False_fused_False_cpu_float32, test/test_native_mha.py::TestMHADeviceTypeCPU::test_native_multihead_self_attention_use_nt_True_use_padding_True_pad_all_True_need_weights_False_average_attn_weights_False_fused_True_cpu_float32, test/test_native_mha.py::TestMHADeviceTypeCPU::test_native_multihead_self_attention_use_nt_True_use_padding_True_pad_all_True_need_weights_False_average_attn_weights_True_fused_False_cpu_float32, test/test_native_mha.py::TestMHADeviceTypeCPU::test_native_multihead_self_attention_use_nt_True_use_padding_True_pad_all_True_need_weights_False_average_attn_weights_True_fused_True_cpu_float32, test/test_native_mha.py::TestMHADeviceTypeCPU::test_transform_bias_rescale_qkv_cpu_float32, test/test_native_mha.py::TestMHADeviceTypeCPU::test_transform_bias_rescale_qkv_nested_cpu_float32 2025-03-14T04:45:03.1058713Z 2025-03-14T04:45:03.1058967Z Running test_tensor_creation_ops 1/1 ... [2025-03-14 04:45:03.101440] 2025-03-14T04:45:03.1059433Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T04:45:03.1060598Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'test_tensor_creation_ops.py', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 04:45:03.101840] 2025-03-14T04:49:13.1701639Z 2025-03-14T04:49:13.1702627Z test_tensor_creation_ops 1/1 was successful, full logs can be found in artifacts with path test/test-reports/test_tensor_creation_ops_1.1_3051d458e7ffba46_.log 2025-03-14T04:49:13.1947091Z Running 640 items in this shard: test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_arange_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_arange_device_vs_cpu_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_arange_device_vs_cpu_cpu_float64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_arange_device_vs_cpu_cpu_int32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_arange_device_vs_cpu_cpu_int64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_arange_inference_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_arange_lowp_cpu_bfloat16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_arange_lowp_cpu_float16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_as_strided_neg_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_as_tensor_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_block_diag_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_block_diag_scipy_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_cartesian_prod_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_cat2_cpu_float16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_cat2_cpu_float64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_cat2_cpu_int32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_cat_all_dtypes_and_devices_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_cat_big_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_cat_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_cat_empty_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_cat_empty_legacy_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_cat_in_channels_last_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_cat_mem_overlap_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_cat_out_channels_last_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_cat_out_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_cat_out_fast_path_dim0_dim1_cpu_complex128, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_cat_out_fast_path_dim0_dim1_cpu_complex64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_cat_out_fast_path_dim0_dim1_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_cat_out_fast_path_dim0_dim1_cpu_float64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_cat_out_fast_path_dim0_dim1_cpu_int16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_cat_out_fast_path_dim0_dim1_cpu_int32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_cat_out_fast_path_dim0_dim1_cpu_int64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_cat_out_fast_path_dim0_dim1_cpu_int8, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_cat_out_fast_path_dim0_dim1_cpu_uint16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_cat_out_fast_path_dim0_dim1_cpu_uint32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_cat_out_fast_path_dim0_dim1_cpu_uint64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_cat_out_fast_path_dim0_dim1_cpu_uint8, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_cat_out_memory_format_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_cat_preserve_channels_last_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_cat_stack_cross_devices_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_combinations_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_complex_type_conversions_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_constructor_device_legacy_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_constructor_dtypes_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_ctor_with_numpy_array_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_device_rounding_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_device_rounding_cpu_float64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_diag_embed_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_diagflat_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_dsplit_cpu_complex64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_dsplit_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_dsplit_cpu_int64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_dstack_cpu_complex128, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_dstack_cpu_complex64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_dstack_cpu_float16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_dstack_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_dstack_cpu_float64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_dstack_cpu_int16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_dstack_cpu_int32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_dstack_cpu_int64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_dstack_cpu_int8, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_dstack_cpu_uint8, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_empty_full_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_empty_overflow_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_empty_strided_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_empty_tensor_props_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_eye_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_fill_all_dtypes_and_devices_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_float_to_int_conversion_finite_cpu_bool, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_float_to_int_conversion_finite_cpu_int16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_float_to_int_conversion_finite_cpu_int32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_float_to_int_conversion_finite_cpu_int64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_float_to_int_conversion_finite_cpu_int8, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_float_to_int_conversion_finite_cpu_uint8, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_float_to_int_conversion_nonfinite_cpu_bool, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_float_to_int_conversion_nonfinite_cpu_int16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_float_to_int_conversion_nonfinite_cpu_int32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_float_to_int_conversion_nonfinite_cpu_int64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_float_to_int_conversion_nonfinite_cpu_int8, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_float_to_int_conversion_nonfinite_cpu_uint8, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_from_file_shared_False_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_from_file_shared_True_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_full_inference_cpu_float16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_full_inference_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_full_inference_cpu_float64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_full_out_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_hsplit_cpu_complex64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_hsplit_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_hsplit_cpu_int64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_hstack_column_stack_cpu_complex128, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_hstack_column_stack_cpu_complex64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_hstack_column_stack_cpu_float16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_hstack_column_stack_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_hstack_column_stack_cpu_float64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_hstack_column_stack_cpu_int16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_hstack_column_stack_cpu_int32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_hstack_column_stack_cpu_int64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_hstack_column_stack_cpu_int8, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_hstack_column_stack_cpu_uint8, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_kaiser_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_kaiser_cpu_float64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_kaiser_window_cpu_bfloat16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_kaiser_window_cpu_float16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_kaiser_window_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_kaiser_window_cpu_float64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_kaiser_window_cpu_int64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_large_linspace_cpu_int32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_large_linspace_cpu_int64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_like_fn_stride_proparation_vs_tensoriterator_unary_op_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_linlogspace_mem_overlap_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_linspace_cpu_bfloat16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_linspace_cpu_complex128, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_linspace_cpu_complex64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_linspace_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_linspace_cpu_float64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_linspace_cpu_int16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_linspace_cpu_int32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_linspace_cpu_int64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_linspace_cpu_int8, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_linspace_cpu_uint8, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_linspace_deduction_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_linspace_device_vs_cpu_cpu_bfloat16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_linspace_device_vs_cpu_cpu_complex128, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_linspace_device_vs_cpu_cpu_complex64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_linspace_device_vs_cpu_cpu_float16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_linspace_device_vs_cpu_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_linspace_device_vs_cpu_cpu_float64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_linspace_special_steps_cpu_bfloat16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_linspace_special_steps_cpu_complex128, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_linspace_special_steps_cpu_complex64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_linspace_special_steps_cpu_float16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_linspace_special_steps_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_linspace_special_steps_cpu_float64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_linspace_vs_numpy_complex_cpu_complex64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_linspace_vs_numpy_cpu_complex128, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_linspace_vs_numpy_cpu_complex64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_linspace_vs_numpy_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_linspace_vs_numpy_cpu_float64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_linspace_vs_numpy_integral_cpu_int16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_linspace_vs_numpy_integral_cpu_int32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_linspace_vs_numpy_integral_cpu_int64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_linspace_vs_numpy_integral_cpu_int8, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_linspace_vs_numpy_integral_cpu_uint8, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_logspace_base2_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_logspace_base2_cpu_float64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_logspace_cpu_bfloat16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_logspace_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_logspace_cpu_float64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_logspace_cpu_int16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_logspace_cpu_int32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_logspace_cpu_int64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_logspace_cpu_int8, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_logspace_cpu_uint8, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_logspace_deduction_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_logspace_device_vs_cpu_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_logspace_device_vs_cpu_cpu_float64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_logspace_special_steps_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_logspace_special_steps_cpu_float64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_logspace_vs_numpy_complex_cpu_complex64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_logspace_vs_numpy_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_logspace_vs_numpy_cpu_float64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_meshgrid_default_indexing_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_meshgrid_empty_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_meshgrid_ij_indexing_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_meshgrid_ij_indexing_is_default_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_meshgrid_inconsistent_device_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_meshgrid_inconsistent_dtype_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_meshgrid_non_1d_tensor_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_meshgrid_unsupported_indexing_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_meshgrid_vs_numpy_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_meshgrid_warns_if_no_indexing_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_meshgrid_xy_indexing_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_new_empty_strided_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_new_methods_requires_grad_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_new_tensor_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_new_tensor_device_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_offset_scalar_cast_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_ones_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_bool_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_cpu_float64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_cpu_int16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_cpu_int32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_cpu_int64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_cpu_int8, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_default_cpu_bfloat16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_default_cpu_float16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_default_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_default_cpu_float64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_default_cpu_int16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_default_cpu_int32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_default_cpu_int64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_default_cpu_int8, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_default_cpu_uint8, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_from_to_bool_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_from_to_cpu_bfloat16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_from_to_cpu_float16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_from_to_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_from_to_cpu_float64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_from_to_cpu_int16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_from_to_cpu_int32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_from_to_cpu_int64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_from_to_cpu_int8, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_from_to_cpu_uint16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_from_to_cpu_uint32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_from_to_cpu_uint8, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_full_range_cpu_bfloat16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_full_range_cpu_float16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_full_range_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_full_range_cpu_float64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_full_range_cpu_int16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_full_range_cpu_int32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_full_range_cpu_int64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_full_range_cpu_int8, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_full_range_cpu_uint16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_full_range_cpu_uint32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_full_range_cpu_uint8, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_to_cpu_bfloat16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_to_cpu_float16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_to_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_to_cpu_float64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_to_cpu_int16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_to_cpu_int32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_to_cpu_int64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_to_cpu_int8, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_to_cpu_uint16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_to_cpu_uint32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_random_to_cpu_uint8, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_range_cpu_bfloat16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_range_cpu_float16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_range_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_range_factories_64bit_indexing_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_range_warning_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_refs_tensor_cpu_bfloat16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_refs_tensor_cpu_bool, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_refs_tensor_cpu_complex128, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_refs_tensor_cpu_complex64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_refs_tensor_cpu_float16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_refs_tensor_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_refs_tensor_cpu_float64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_refs_tensor_cpu_int16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_refs_tensor_cpu_int32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_refs_tensor_cpu_int64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_refs_tensor_cpu_int8, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_refs_tensor_cpu_uint8, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_repeat_interleave_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_roll_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_signal_window_functions_window_bartlett_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_signal_window_functions_window_bartlett_cpu_float64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_signal_window_functions_window_bartlett_cpu_int64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_signal_window_functions_window_blackman_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_signal_window_functions_window_blackman_cpu_float64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_signal_window_functions_window_blackman_cpu_int64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_signal_window_functions_window_hamming_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_signal_window_functions_window_hamming_cpu_float64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_signal_window_functions_window_hamming_cpu_int64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_signal_window_functions_window_hann_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_signal_window_functions_window_hann_cpu_float64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_signal_window_functions_window_hann_cpu_int64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_signal_windows_functions_window_bartlett_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_signal_windows_functions_window_bartlett_cpu_float64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_signal_windows_functions_window_blackman_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_signal_windows_functions_window_blackman_cpu_float64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_signal_windows_functions_window_cosine_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_signal_windows_functions_window_cosine_cpu_float64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_signal_windows_functions_window_hamming_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_signal_windows_functions_window_hamming_cpu_float64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_signal_windows_functions_window_hann_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_signal_windows_functions_window_hann_cpu_float64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_signal_windows_functions_window_nuttall_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_signal_windows_functions_window_nuttall_cpu_float64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_simple_scalar_cast_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_stack_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_stack_out_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_storage_filename_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_strided_mismatched_stride_shape_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_tensor_ctor_device_inference_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_tensor_device_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_tensor_factories_empty_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_tensor_factory_copy_var_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_tensor_factory_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_tensor_factory_gpu_type_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_tensor_factory_gpu_type_inference_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_tensor_factory_type_inference_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_tensor_from_non_writable_numpy_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_tensor_from_sequence_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_torch_complex_cpu_float16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_torch_complex_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_torch_complex_cpu_float64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_torch_complex_floating_dtype_error_cpu_bool, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_torch_complex_floating_dtype_error_cpu_complex128, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_torch_complex_floating_dtype_error_cpu_complex64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_torch_complex_floating_dtype_error_cpu_int16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_torch_complex_floating_dtype_error_cpu_int32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_torch_complex_floating_dtype_error_cpu_int64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_torch_complex_floating_dtype_error_cpu_int8, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_torch_complex_floating_dtype_error_cpu_uint8, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_torch_complex_out_dtype_error_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_torch_complex_out_dtype_error_cpu_float64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_torch_complex_same_dtype_error_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_torch_complex_same_dtype_error_cpu_float64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_torch_polar_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_torch_polar_cpu_float64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_unpack_double_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_unpack_double_cpu_float64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_vander_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_vander_types_cpu_bool, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_vander_types_cpu_complex128, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_vander_types_cpu_complex64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_vander_types_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_vander_types_cpu_float64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_vander_types_cpu_int16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_vander_types_cpu_int32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_vander_types_cpu_int64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_vander_types_cpu_int8, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_vander_types_cpu_uint8, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_vsplit_cpu_complex64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_vsplit_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_vsplit_cpu_int64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_vstack_row_stack_cpu_complex128, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_vstack_row_stack_cpu_complex64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_vstack_row_stack_cpu_float16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_vstack_row_stack_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_vstack_row_stack_cpu_float64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_vstack_row_stack_cpu_int16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_vstack_row_stack_cpu_int32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_vstack_row_stack_cpu_int64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_vstack_row_stack_cpu_int8, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_vstack_row_stack_cpu_uint8, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_zeros_cpu, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_zeros_dtype_layout_device_match_cpu_bool, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_zeros_dtype_layout_device_match_cpu_complex64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_zeros_dtype_layout_device_match_cpu_float16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_zeros_dtype_layout_device_match_cpu_float32, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_zeros_dtype_layout_device_match_cpu_int16, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_zeros_dtype_layout_device_match_cpu_int64, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_zeros_dtype_layout_device_match_cpu_uint8, test/test_tensor_creation_ops.py::TestTensorCreationCPU::test_zeros_out_cpu, test/test_tensor_creation_ops.py::TestRandomTensorCreationCPU::test_normal_cpu_float32, test/test_tensor_creation_ops.py::TestRandomTensorCreationCPU::test_normal_cpu_float64, test/test_tensor_creation_ops.py::TestRandomTensorCreationCPU::test_normal_std_error_cpu, test/test_tensor_creation_ops.py::TestRandomTensorCreationCPU::test_rand_cpu_complex128, test/test_tensor_creation_ops.py::TestRandomTensorCreationCPU::test_rand_cpu_complex32, test/test_tensor_creation_ops.py::TestRandomTensorCreationCPU::test_rand_cpu_complex64, test/test_tensor_creation_ops.py::TestRandomTensorCreationCPU::test_rand_cpu_float32, test/test_tensor_creation_ops.py::TestRandomTensorCreationCPU::test_rand_cpu_float64, test/test_tensor_creation_ops.py::TestRandomTensorCreationCPU::test_randint_cpu, test/test_tensor_creation_ops.py::TestRandomTensorCreationCPU::test_randint_distribution_cpu, test/test_tensor_creation_ops.py::TestRandomTensorCreationCPU::test_randint_inference_cpu, test/test_tensor_creation_ops.py::TestRandomTensorCreationCPU::test_randn_cpu_bfloat16, test/test_tensor_creation_ops.py::TestRandomTensorCreationCPU::test_randn_cpu_complex128, test/test_tensor_creation_ops.py::TestRandomTensorCreationCPU::test_randn_cpu_complex32, test/test_tensor_creation_ops.py::TestRandomTensorCreationCPU::test_randn_cpu_complex64, test/test_tensor_creation_ops.py::TestRandomTensorCreationCPU::test_randn_cpu_float16, test/test_tensor_creation_ops.py::TestRandomTensorCreationCPU::test_randn_cpu_float32, test/test_tensor_creation_ops.py::TestRandomTensorCreationCPU::test_randn_cpu_float64, test/test_tensor_creation_ops.py::TestRandomTensorCreationCPU::test_random_neg_values_cpu, test/test_tensor_creation_ops.py::TestRandomTensorCreationCPU::test_randperm_cpu, test/test_tensor_creation_ops.py::TestRandomTensorCreationCPU::test_randperm_device_compatibility_cpu, test/test_tensor_creation_ops.py::TestRandomTensorCreationCPU::test_randperm_large_cpu, test/test_tensor_creation_ops.py::TestRandomTensorCreationCPU::test_uniform_from_to_cpu_float16, test/test_tensor_creation_ops.py::TestRandomTensorCreationCPU::test_uniform_from_to_cpu_float32, test/test_tensor_creation_ops.py::TestRandomTensorCreationCPU::test_uniform_from_to_cpu_float64, test/test_tensor_creation_ops.py::TestLikeTensorCreationCPU::test_empty_like_cpu, test/test_tensor_creation_ops.py::TestLikeTensorCreationCPU::test_full_like_inference_cpu, test/test_tensor_creation_ops.py::TestLikeTensorCreationCPU::test_ones_like_cpu, test/test_tensor_creation_ops.py::TestLikeTensorCreationCPU::test_ones_like_multiple_device_cpu, test/test_tensor_creation_ops.py::TestLikeTensorCreationCPU::test_zeros_like_cpu, test/test_tensor_creation_ops.py::TestLikeTensorCreationCPU::test_zeros_like_multiple_device_cpu, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_byte_to_int_cpu, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_invalid_positional_args_cpu_bool, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_invalid_positional_args_cpu_complex128, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_invalid_positional_args_cpu_complex64, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_invalid_positional_args_cpu_float16, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_invalid_positional_args_cpu_float32, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_invalid_positional_args_cpu_float64, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_invalid_positional_args_cpu_int16, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_invalid_positional_args_cpu_int32, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_invalid_positional_args_cpu_int64, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_invalid_positional_args_cpu_int8, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_invalid_positional_args_cpu_uint16, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_invalid_positional_args_cpu_uint32, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_invalid_positional_args_cpu_uint64, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_invalid_positional_args_cpu_uint8, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_non_writable_buffer_cpu_bool, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_non_writable_buffer_cpu_complex128, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_non_writable_buffer_cpu_complex64, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_non_writable_buffer_cpu_float16, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_non_writable_buffer_cpu_float32, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_non_writable_buffer_cpu_float64, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_non_writable_buffer_cpu_int16, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_non_writable_buffer_cpu_int32, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_non_writable_buffer_cpu_int64, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_non_writable_buffer_cpu_int8, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_non_writable_buffer_cpu_uint16, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_non_writable_buffer_cpu_uint32, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_non_writable_buffer_cpu_uint64, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_non_writable_buffer_cpu_uint8, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_not_a_buffer_cpu_bool, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_not_a_buffer_cpu_complex128, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_not_a_buffer_cpu_complex64, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_not_a_buffer_cpu_float16, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_not_a_buffer_cpu_float32, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_not_a_buffer_cpu_float64, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_not_a_buffer_cpu_int16, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_not_a_buffer_cpu_int32, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_not_a_buffer_cpu_int64, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_not_a_buffer_cpu_int8, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_not_a_buffer_cpu_uint16, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_not_a_buffer_cpu_uint32, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_not_a_buffer_cpu_uint64, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_not_a_buffer_cpu_uint8, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_requires_grad_cpu_bool, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_requires_grad_cpu_complex128, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_requires_grad_cpu_complex64, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_requires_grad_cpu_float16, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_requires_grad_cpu_float32, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_requires_grad_cpu_float64, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_requires_grad_cpu_int16, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_requires_grad_cpu_int32, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_requires_grad_cpu_int64, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_requires_grad_cpu_int8, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_requires_grad_cpu_uint16, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_requires_grad_cpu_uint32, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_requires_grad_cpu_uint64, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_requires_grad_cpu_uint8, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_same_type_cpu_bool, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_same_type_cpu_complex128, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_same_type_cpu_complex64, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_same_type_cpu_float16, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_same_type_cpu_float32, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_same_type_cpu_float64, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_same_type_cpu_int16, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_same_type_cpu_int32, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_same_type_cpu_int64, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_same_type_cpu_int8, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_same_type_cpu_uint16, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_same_type_cpu_uint32, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_same_type_cpu_uint64, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_same_type_cpu_uint8, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_shared_buffer_cpu_bool, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_shared_buffer_cpu_complex128, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_shared_buffer_cpu_complex64, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_shared_buffer_cpu_float16, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_shared_buffer_cpu_float32, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_shared_buffer_cpu_float64, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_shared_buffer_cpu_int16, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_shared_buffer_cpu_int32, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_shared_buffer_cpu_int64, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_shared_buffer_cpu_int8, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_shared_buffer_cpu_uint16, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_shared_buffer_cpu_uint32, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_shared_buffer_cpu_uint64, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_shared_buffer_cpu_uint8, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_count_and_offset_cpu_bool, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_count_and_offset_cpu_complex128, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_count_and_offset_cpu_complex64, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_count_and_offset_cpu_float16, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_count_and_offset_cpu_float32, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_count_and_offset_cpu_float64, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_count_and_offset_cpu_int16, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_count_and_offset_cpu_int32, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_count_and_offset_cpu_int64, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_count_and_offset_cpu_int8, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_count_and_offset_cpu_uint16, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_count_and_offset_cpu_uint32, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_count_and_offset_cpu_uint64, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_count_and_offset_cpu_uint8, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_count_cpu_bool, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_count_cpu_complex128, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_count_cpu_complex64, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_count_cpu_float16, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_count_cpu_float32, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_count_cpu_float64, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_count_cpu_int16, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_count_cpu_int32, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_count_cpu_int64, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_count_cpu_int8, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_count_cpu_uint16, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_count_cpu_uint32, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_count_cpu_uint64, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_count_cpu_uint8, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_offset_cpu_bool, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_offset_cpu_complex128, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_offset_cpu_complex64, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_offset_cpu_float16, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_offset_cpu_float32, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_offset_cpu_float64, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_offset_cpu_int16, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_offset_cpu_int32, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_offset_cpu_int64, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_offset_cpu_int8, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_offset_cpu_uint16, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_offset_cpu_uint32, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_offset_cpu_uint64, test/test_tensor_creation_ops.py::TestBufferProtocolCPU::test_with_offset_cpu_uint8, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_buffer_cpu_bool, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_buffer_cpu_complex128, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_buffer_cpu_complex64, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_buffer_cpu_float16, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_buffer_cpu_float32, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_buffer_cpu_float64, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_buffer_cpu_int16, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_buffer_cpu_int32, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_buffer_cpu_int64, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_buffer_cpu_int8, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_buffer_cpu_uint16, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_buffer_cpu_uint32, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_buffer_cpu_uint64, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_buffer_cpu_uint8, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_dlpack_cpu_bfloat16, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_dlpack_cpu_complex128, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_dlpack_cpu_complex64, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_dlpack_cpu_float16, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_dlpack_cpu_float32, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_dlpack_cpu_float64, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_dlpack_cpu_int16, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_dlpack_cpu_int32, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_dlpack_cpu_int64, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_dlpack_cpu_int8, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_dlpack_cpu_uint8, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_numpy_cpu_bool, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_numpy_cpu_complex128, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_numpy_cpu_complex64, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_numpy_cpu_float16, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_numpy_cpu_float32, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_numpy_cpu_float64, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_numpy_cpu_int16, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_numpy_cpu_int32, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_numpy_cpu_int64, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_numpy_cpu_int8, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_numpy_cpu_uint16, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_numpy_cpu_uint32, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_numpy_cpu_uint64, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_numpy_cpu_uint8, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_tensor_cpu_bfloat16, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_tensor_cpu_bool, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_tensor_cpu_complex128, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_tensor_cpu_complex64, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_tensor_cpu_float16, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_tensor_cpu_float32, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_tensor_cpu_float64, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_tensor_cpu_int16, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_tensor_cpu_int32, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_tensor_cpu_int64, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_tensor_cpu_int8, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_alias_from_tensor_cpu_uint8, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_astensor_consistency_cpu, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_buffer_cpu_bool, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_buffer_cpu_complex128, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_buffer_cpu_complex64, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_buffer_cpu_float16, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_buffer_cpu_float32, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_buffer_cpu_float64, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_buffer_cpu_int16, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_buffer_cpu_int32, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_buffer_cpu_int64, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_buffer_cpu_int8, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_buffer_cpu_uint16, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_buffer_cpu_uint32, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_buffer_cpu_uint64, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_buffer_cpu_uint8, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_dlpack_cpu_bfloat16, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_dlpack_cpu_complex128, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_dlpack_cpu_complex64, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_dlpack_cpu_float16, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_dlpack_cpu_float32, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_dlpack_cpu_float64, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_dlpack_cpu_int16, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_dlpack_cpu_int32, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_dlpack_cpu_int64, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_dlpack_cpu_int8, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_dlpack_cpu_uint8, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_dlpack_mult_devices_cpu_bfloat16, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_dlpack_mult_devices_cpu_complex128, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_dlpack_mult_devices_cpu_complex64, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_dlpack_mult_devices_cpu_float16, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_dlpack_mult_devices_cpu_float32, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_dlpack_mult_devices_cpu_float64, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_dlpack_mult_devices_cpu_int16, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_dlpack_mult_devices_cpu_int32, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_dlpack_mult_devices_cpu_int64, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_dlpack_mult_devices_cpu_int8, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_dlpack_mult_devices_cpu_uint8, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_numpy_cpu_bool, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_numpy_cpu_complex128, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_numpy_cpu_complex64, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_numpy_cpu_float16, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_numpy_cpu_float32, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_numpy_cpu_float64, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_numpy_cpu_int16, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_numpy_cpu_int32, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_numpy_cpu_int64, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_numpy_cpu_int8, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_numpy_cpu_uint16, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_numpy_cpu_uint32, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_numpy_cpu_uint64, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_numpy_cpu_uint8, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_tensor_mult_devices_cpu_bfloat16, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_tensor_mult_devices_cpu_complex128, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_tensor_mult_devices_cpu_complex64, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_tensor_mult_devices_cpu_float16, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_tensor_mult_devices_cpu_float32, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_tensor_mult_devices_cpu_float64, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_tensor_mult_devices_cpu_int16, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_tensor_mult_devices_cpu_int32, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_tensor_mult_devices_cpu_int64, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_tensor_mult_devices_cpu_int8, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_from_tensor_mult_devices_cpu_uint8, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_list_cpu_bfloat16, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_list_cpu_bool, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_list_cpu_complex128, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_list_cpu_complex64, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_list_cpu_float16, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_list_cpu_float32, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_list_cpu_float64, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_list_cpu_int16, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_list_cpu_int32, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_list_cpu_int64, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_list_cpu_int8, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_list_cpu_uint8, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_tensor_cpu_bfloat16, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_tensor_cpu_bool, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_tensor_cpu_complex128, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_tensor_cpu_complex64, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_tensor_cpu_float16, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_tensor_cpu_float32, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_tensor_cpu_float64, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_tensor_cpu_int16, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_tensor_cpu_int32, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_tensor_cpu_int64, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_tensor_cpu_int8, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_copy_tensor_cpu_uint8, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_default_device_cpu, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_device_without_index_cpu, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_numpy_scalars_cpu, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_retain_autograd_history_cpu_complex64, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_retain_autograd_history_cpu_float32, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_unsupported_alias_cpu_float32, test/test_tensor_creation_ops.py::TestAsArrayCPU::test_unsupported_alias_mult_devices_cpu_float32 2025-03-14T04:49:13.2288272Z 2025-03-14T04:49:13.2288657Z Running test_sort_and_select 1/1 ... [2025-03-14 04:49:13.171647] 2025-03-14T04:49:13.2289483Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T04:49:13.2291492Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'test_sort_and_select.py', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 04:49:13.171981] 2025-03-14T04:50:40.3549139Z 2025-03-14T04:50:40.3550317Z test_sort_and_select 1/1 was successful, full logs can be found in artifacts with path test/test-reports/test_sort_and_select_1.1_f5303dfbf618c265_.log 2025-03-14T04:50:40.3592448Z Running 113 items in this shard: test/test_sort_and_select.py::TestSortAndSelectCPU::test_complex_unsupported_cpu_cpu, test/test_sort_and_select.py::TestSortAndSelectCPU::test_isin_cpu_float32, test/test_sort_and_select.py::TestSortAndSelectCPU::test_isin_cpu_float64, test/test_sort_and_select.py::TestSortAndSelectCPU::test_isin_cpu_int16, test/test_sort_and_select.py::TestSortAndSelectCPU::test_isin_cpu_int32, test/test_sort_and_select.py::TestSortAndSelectCPU::test_isin_cpu_int64, test/test_sort_and_select.py::TestSortAndSelectCPU::test_isin_cpu_int8, test/test_sort_and_select.py::TestSortAndSelectCPU::test_isin_cpu_uint8, test/test_sort_and_select.py::TestSortAndSelectCPU::test_isin_different_devices_cpu_float32, test/test_sort_and_select.py::TestSortAndSelectCPU::test_isin_different_devices_cpu_float64, test/test_sort_and_select.py::TestSortAndSelectCPU::test_isin_different_devices_cpu_int16, test/test_sort_and_select.py::TestSortAndSelectCPU::test_isin_different_devices_cpu_int32, test/test_sort_and_select.py::TestSortAndSelectCPU::test_isin_different_devices_cpu_int64, test/test_sort_and_select.py::TestSortAndSelectCPU::test_isin_different_devices_cpu_int8, test/test_sort_and_select.py::TestSortAndSelectCPU::test_isin_different_devices_cpu_uint8, test/test_sort_and_select.py::TestSortAndSelectCPU::test_isin_different_dtypes_cpu, test/test_sort_and_select.py::TestSortAndSelectCPU::test_kthvalue_cpu_float64, test/test_sort_and_select.py::TestSortAndSelectCPU::test_kthvalue_scalar_cpu_float32, test/test_sort_and_select.py::TestSortAndSelectCPU::test_msort_cpu_bfloat16, test/test_sort_and_select.py::TestSortAndSelectCPU::test_msort_cpu_float16, test/test_sort_and_select.py::TestSortAndSelectCPU::test_msort_cpu_float32, test/test_sort_and_select.py::TestSortAndSelectCPU::test_msort_cpu_float64, test/test_sort_and_select.py::TestSortAndSelectCPU::test_msort_cpu_int16, test/test_sort_and_select.py::TestSortAndSelectCPU::test_msort_cpu_int32, test/test_sort_and_select.py::TestSortAndSelectCPU::test_msort_cpu_int64, test/test_sort_and_select.py::TestSortAndSelectCPU::test_msort_cpu_int8, test/test_sort_and_select.py::TestSortAndSelectCPU::test_msort_cpu_uint8, test/test_sort_and_select.py::TestSortAndSelectCPU::test_sort_1d_output_discontiguous_cpu_float32, test/test_sort_and_select.py::TestSortAndSelectCPU::test_sort_1d_parallel_cpu_int16, test/test_sort_and_select.py::TestSortAndSelectCPU::test_sort_1d_parallel_cpu_int32, test/test_sort_and_select.py::TestSortAndSelectCPU::test_sort_1d_parallel_cpu_int64, test/test_sort_and_select.py::TestSortAndSelectCPU::test_sort_1d_parallel_cpu_int8, test/test_sort_and_select.py::TestSortAndSelectCPU::test_sort_1d_parallel_cpu_uint8, test/test_sort_and_select.py::TestSortAndSelectCPU::test_sort_cpu, test/test_sort_and_select.py::TestSortAndSelectCPU::test_sort_discontiguous_cpu_float32, test/test_sort_and_select.py::TestSortAndSelectCPU::test_sort_discontiguous_slow_cpu_float32, test/test_sort_and_select.py::TestSortAndSelectCPU::test_sort_expanded_tensor_cpu_float32, test/test_sort_and_select.py::TestSortAndSelectCPU::test_sort_large_cpu_uint8, test/test_sort_and_select.py::TestSortAndSelectCPU::test_sort_large_slice_cpu, test/test_sort_and_select.py::TestSortAndSelectCPU::test_sort_overflow_cpu_int16, test/test_sort_and_select.py::TestSortAndSelectCPU::test_sort_overflow_cpu_int32, test/test_sort_and_select.py::TestSortAndSelectCPU::test_sort_overflow_cpu_int64, test/test_sort_and_select.py::TestSortAndSelectCPU::test_sort_overflow_cpu_int8, test/test_sort_and_select.py::TestSortAndSelectCPU::test_sort_overflow_cpu_uint8, test/test_sort_and_select.py::TestSortAndSelectCPU::test_sort_restride_cpu_float32, test/test_sort_and_select.py::TestSortAndSelectCPU::test_sort_stable_none_cpu, test/test_sort_and_select.py::TestSortAndSelectCPU::test_stable_sort_against_numpy_cpu_bfloat16, test/test_sort_and_select.py::TestSortAndSelectCPU::test_stable_sort_against_numpy_cpu_bool, test/test_sort_and_select.py::TestSortAndSelectCPU::test_stable_sort_against_numpy_cpu_float16, test/test_sort_and_select.py::TestSortAndSelectCPU::test_stable_sort_against_numpy_cpu_float32, test/test_sort_and_select.py::TestSortAndSelectCPU::test_stable_sort_against_numpy_cpu_float64, test/test_sort_and_select.py::TestSortAndSelectCPU::test_stable_sort_against_numpy_cpu_int16, test/test_sort_and_select.py::TestSortAndSelectCPU::test_stable_sort_against_numpy_cpu_int32, test/test_sort_and_select.py::TestSortAndSelectCPU::test_stable_sort_against_numpy_cpu_int64, test/test_sort_and_select.py::TestSortAndSelectCPU::test_stable_sort_against_numpy_cpu_int8, test/test_sort_and_select.py::TestSortAndSelectCPU::test_stable_sort_against_numpy_cpu_uint8, test/test_sort_and_select.py::TestSortAndSelectCPU::test_stable_sort_cpu_bfloat16, test/test_sort_and_select.py::TestSortAndSelectCPU::test_stable_sort_cpu_bool, test/test_sort_and_select.py::TestSortAndSelectCPU::test_stable_sort_cpu_float16, test/test_sort_and_select.py::TestSortAndSelectCPU::test_stable_sort_cpu_float32, test/test_sort_and_select.py::TestSortAndSelectCPU::test_stable_sort_cpu_float64, test/test_sort_and_select.py::TestSortAndSelectCPU::test_stable_sort_cpu_int16, test/test_sort_and_select.py::TestSortAndSelectCPU::test_stable_sort_cpu_int32, test/test_sort_and_select.py::TestSortAndSelectCPU::test_stable_sort_cpu_int64, test/test_sort_and_select.py::TestSortAndSelectCPU::test_stable_sort_cpu_int8, test/test_sort_and_select.py::TestSortAndSelectCPU::test_stable_sort_cpu_uint8, test/test_sort_and_select.py::TestSortAndSelectCPU::test_topk_1d_output_discontiguous_cpu_float32, test/test_sort_and_select.py::TestSortAndSelectCPU::test_topk_4d_cpu, test/test_sort_and_select.py::TestSortAndSelectCPU::test_topk_arguments_cpu, test/test_sort_and_select.py::TestSortAndSelectCPU::test_topk_cpu, test/test_sort_and_select.py::TestSortAndSelectCPU::test_topk_integral_cpu_int16, test/test_sort_and_select.py::TestSortAndSelectCPU::test_topk_integral_cpu_int32, test/test_sort_and_select.py::TestSortAndSelectCPU::test_topk_integral_cpu_int64, test/test_sort_and_select.py::TestSortAndSelectCPU::test_topk_integral_cpu_int8, test/test_sort_and_select.py::TestSortAndSelectCPU::test_topk_integral_cpu_uint8, test/test_sort_and_select.py::TestSortAndSelectCPU::test_topk_lower_precision_cpu_bfloat16, test/test_sort_and_select.py::TestSortAndSelectCPU::test_topk_lower_precision_cpu_float16, test/test_sort_and_select.py::TestSortAndSelectCPU::test_topk_noncontiguous_gpu_cpu, test/test_sort_and_select.py::TestSortAndSelectCPU::test_topk_nonfinite_cpu_bfloat16, test/test_sort_and_select.py::TestSortAndSelectCPU::test_topk_nonfinite_cpu_float16, test/test_sort_and_select.py::TestSortAndSelectCPU::test_topk_nonfinite_cpu_float32, test/test_sort_and_select.py::TestSortAndSelectCPU::test_topk_nonfinite_cpu_float64, test/test_sort_and_select.py::TestSortAndSelectCPU::test_topk_quantized_scalar_input_cpu, test/test_sort_and_select.py::TestSortAndSelectCPU::test_topk_zero_cpu_bfloat16, test/test_sort_and_select.py::TestSortAndSelectCPU::test_topk_zero_cpu_float16, test/test_sort_and_select.py::TestSortAndSelectCPU::test_topk_zero_cpu_float32, test/test_sort_and_select.py::TestSortAndSelectCPU::test_topk_zero_cpu_float64, test/test_sort_and_select.py::TestSortAndSelectCPU::test_topk_zero_cpu_int16, test/test_sort_and_select.py::TestSortAndSelectCPU::test_topk_zero_cpu_int32, test/test_sort_and_select.py::TestSortAndSelectCPU::test_topk_zero_cpu_int64, test/test_sort_and_select.py::TestSortAndSelectCPU::test_topk_zero_cpu_int8, test/test_sort_and_select.py::TestSortAndSelectCPU::test_topk_zero_cpu_uint8, test/test_sort_and_select.py::TestSortAndSelectCPU::test_unique_consecutive_cpu_bfloat16, test/test_sort_and_select.py::TestSortAndSelectCPU::test_unique_consecutive_cpu_bool, test/test_sort_and_select.py::TestSortAndSelectCPU::test_unique_consecutive_cpu_float16, test/test_sort_and_select.py::TestSortAndSelectCPU::test_unique_consecutive_cpu_float32, test/test_sort_and_select.py::TestSortAndSelectCPU::test_unique_consecutive_cpu_float64, test/test_sort_and_select.py::TestSortAndSelectCPU::test_unique_consecutive_cpu_int16, test/test_sort_and_select.py::TestSortAndSelectCPU::test_unique_consecutive_cpu_int32, test/test_sort_and_select.py::TestSortAndSelectCPU::test_unique_consecutive_cpu_int64, test/test_sort_and_select.py::TestSortAndSelectCPU::test_unique_consecutive_cpu_int8, test/test_sort_and_select.py::TestSortAndSelectCPU::test_unique_consecutive_cpu_uint8, test/test_sort_and_select.py::TestSortAndSelectCPU::test_unique_cpu_bfloat16, test/test_sort_and_select.py::TestSortAndSelectCPU::test_unique_cpu_bool, test/test_sort_and_select.py::TestSortAndSelectCPU::test_unique_cpu_float16, test/test_sort_and_select.py::TestSortAndSelectCPU::test_unique_cpu_float32, test/test_sort_and_select.py::TestSortAndSelectCPU::test_unique_cpu_float64, test/test_sort_and_select.py::TestSortAndSelectCPU::test_unique_cpu_int16, test/test_sort_and_select.py::TestSortAndSelectCPU::test_unique_cpu_int32, test/test_sort_and_select.py::TestSortAndSelectCPU::test_unique_cpu_int64, test/test_sort_and_select.py::TestSortAndSelectCPU::test_unique_cpu_int8, test/test_sort_and_select.py::TestSortAndSelectCPU::test_unique_cpu_uint8, test/test_sort_and_select.py::TestSortAndSelectCPU::test_unique_dim_cpu 2025-03-14T04:50:40.3630586Z 2025-03-14T04:50:40.3630809Z Running test_dispatch 1/1 ... [2025-03-14 04:50:40.355316] 2025-03-14T04:50:40.3631224Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T04:50:40.3632260Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'test_dispatch.py', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 04:50:40.355627] 2025-03-14T04:51:36.3496616Z 2025-03-14T04:51:36.3497540Z test_dispatch 1/1 was successful, full logs can be found in artifacts with path test/test-reports/test_dispatch_1.1_724495563006484d_.log 2025-03-14T04:51:36.3509035Z Running 32 items in this shard: test/test_dispatch.py::TestDispatch::test_all_invariants, test/test_dispatch.py::TestDispatch::test_computed_table, test/test_dispatch.py::TestDispatch::test_computed_table_with_ambiguous_autogradother, test/test_dispatch.py::TestDispatch::test_computed_table_with_autograd, test/test_dispatch.py::TestDispatch::test_computed_table_with_cpu_autograd_defaultbackend, test/test_dispatch.py::TestDispatch::test_computed_table_with_cpu_autograd_math, test/test_dispatch.py::TestDispatch::test_computed_table_with_cpu_autograd_math_defaultbackend, test/test_dispatch.py::TestDispatch::test_computed_table_with_cpu_defaultbackend, test/test_dispatch.py::TestDispatch::test_computed_table_with_cpu_math, test/test_dispatch.py::TestDispatch::test_computed_table_with_cpu_math_autogradcpu_fallthrough, test/test_dispatch.py::TestDispatch::test_computed_table_with_math, test/test_dispatch.py::TestDispatch::test_def, test/test_dispatch.py::TestDispatch::test_def_impl_schema_mismatch, test/test_dispatch.py::TestDispatch::test_def_only, test/test_dispatch.py::TestDispatch::test_def_with_explicit_alias, test/test_dispatch.py::TestDispatch::test_def_with_inference, test/test_dispatch.py::TestDispatch::test_dispatch_print_registrations_for_dispatch_key_invalid, test/test_dispatch.py::TestDispatch::test_find_dangling_impls, test/test_dispatch.py::TestDispatch::test_find_dangling_impls_ext, test/test_dispatch.py::TestDispatch::test_impl_only, test/test_dispatch.py::TestDispatch::test_multiple_def_alias_defaulting, test/test_dispatch.py::TestDispatch::test_multiple_def_alias_mismatch, test/test_dispatch.py::TestDispatch::test_multiple_def_error, test/test_dispatch.py::TestDispatch::test_multiple_fallback, test/test_dispatch.py::TestDispatch::test_overwrite_math, test/test_dispatch.py::TestPythonDispatcher::test_autogradother, test/test_dispatch.py::TestPythonDispatcher::test_basic, test/test_dispatch.py::TestPythonDispatcher::test_defaultbackend_autogradcpu, test/test_dispatch.py::TestPythonDispatcher::test_defaultbackend_math, test/test_dispatch.py::TestPythonDispatcher::test_duplicate_registrations, test/test_dispatch.py::TestPythonDispatcher::test_math_autogradcpu, test/test_dispatch.py::TestPythonDispatcher::test_quantized_structured_not_implemented 2025-03-14T04:51:36.3518812Z 2025-03-14T04:51:36.3519046Z Running test_cuda_primary_ctx 1/1 ... [2025-03-14 04:51:36.349904] 2025-03-14T04:51:36.3519496Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T04:51:36.3520610Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'test_cuda_primary_ctx.py', '--shard-id=1', '--num-shards=1', '-v', '--subprocess', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 04:51:36.350228] 2025-03-14T04:51:39.7808067Z 2025-03-14T04:51:39.7809493Z test_cuda_primary_ctx 1/1 was successful, full logs can be found in artifacts with path test/test-reports/test_cuda_primary_ctx_1.1_60e4720bfada1467_.log 2025-03-14T04:51:39.7810769Z Running 0 items in this shard: 2025-03-14T04:51:39.7811077Z 2025-03-14T04:51:39.7812309Z Running test_multiprocessing_spawn 1/1 ... [2025-03-14 04:51:39.781051] 2025-03-14T04:51:39.7813027Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T04:51:39.7817753Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'test_multiprocessing_spawn.py', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 04:51:39.781459] 2025-03-14T04:54:04.3446607Z 2025-03-14T04:54:04.3447717Z test_multiprocessing_spawn 1/1 was successful, full logs can be found in artifacts with path test/test-reports/test_multiprocessing_spawn_1.1_a9f5122385d4f669_.log 2025-03-14T04:54:04.3460096Z Running 31 items in this shard: test/test_multiprocessing_spawn.py::SpawnTest::test_exception_all, test/test_multiprocessing_spawn.py::SpawnTest::test_exception_raises, test/test_multiprocessing_spawn.py::SpawnTest::test_exception_single, test/test_multiprocessing_spawn.py::SpawnTest::test_first_argument_index, test/test_multiprocessing_spawn.py::SpawnTest::test_signal_raises, test/test_multiprocessing_spawn.py::SpawnTest::test_success, test/test_multiprocessing_spawn.py::SpawnTest::test_success_first_then_exception, test/test_multiprocessing_spawn.py::SpawnTest::test_success_non_blocking, test/test_multiprocessing_spawn.py::SpawnTest::test_terminate_exit_grace_period0, test/test_multiprocessing_spawn.py::SpawnTest::test_terminate_exit_grace_period_5, test/test_multiprocessing_spawn.py::SpawnTest::test_terminate_signal, test/test_multiprocessing_spawn.py::ForkTest::test_exception_all, test/test_multiprocessing_spawn.py::ForkTest::test_exception_single, test/test_multiprocessing_spawn.py::ForkTest::test_first_argument_index, test/test_multiprocessing_spawn.py::ForkTest::test_success, test/test_multiprocessing_spawn.py::ForkTest::test_success_first_then_exception, test/test_multiprocessing_spawn.py::ForkTest::test_success_non_blocking, test/test_multiprocessing_spawn.py::ForkTest::test_terminate_exit_grace_period0, test/test_multiprocessing_spawn.py::ForkTest::test_terminate_exit_grace_period_5, test/test_multiprocessing_spawn.py::ForkTest::test_terminate_signal, test/test_multiprocessing_spawn.py::ParallelForkServerShouldWorkTest::test_exception_all, test/test_multiprocessing_spawn.py::ParallelForkServerShouldWorkTest::test_exception_single, test/test_multiprocessing_spawn.py::ParallelForkServerShouldWorkTest::test_first_argument_index, test/test_multiprocessing_spawn.py::ParallelForkServerShouldWorkTest::test_success, test/test_multiprocessing_spawn.py::ParallelForkServerShouldWorkTest::test_success_first_then_exception, test/test_multiprocessing_spawn.py::ParallelForkServerShouldWorkTest::test_success_non_blocking, test/test_multiprocessing_spawn.py::ParallelForkServerShouldWorkTest::test_terminate_exit_grace_period0, test/test_multiprocessing_spawn.py::ParallelForkServerShouldWorkTest::test_terminate_exit_grace_period_5, test/test_multiprocessing_spawn.py::ParallelForkServerShouldWorkTest::test_terminate_signal, test/test_multiprocessing_spawn.py::ParallelForkServerPerfTest::test_forkserver_perf, test/test_multiprocessing_spawn.py::ErrorTest::test_errors_pickleable 2025-03-14T04:54:04.3470992Z 2025-03-14T04:54:04.3471200Z Running nn/test_convolution 1/1 ... [2025-03-14 04:54:04.344596] 2025-03-14T04:54:04.3471636Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T04:54:04.3472702Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'nn/test_convolution.py', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 04:54:04.344949] 2025-03-14T04:58:26.8669093Z 2025-03-14T04:58:26.8670103Z nn/test_convolution 1/1 was successful, full logs can be found in artifacts with path test/test-reports/nn.test_convolution_1.1_3546463a49c82617_.log 2025-03-14T04:58:26.9013123Z Running 588 items in this shard: test/nn/test_convolution.py::TestConvolutionNN::test_Conv1d_module_same_padding, test/nn/test_convolution.py::TestConvolutionNN::test_Conv2d_1x1, test/nn/test_convolution.py::TestConvolutionNN::test_Conv2d_OneDNN, test/nn/test_convolution.py::TestConvolutionNN::test_Conv2d_backward_twice, test/nn/test_convolution.py::TestConvolutionNN::test_Conv2d_groups_nobias, test/nn/test_convolution.py::TestConvolutionNN::test_Conv2d_groups_nobias_v2, test/nn/test_convolution.py::TestConvolutionNN::test_Conv2d_inconsistent_types, test/nn/test_convolution.py::TestConvolutionNN::test_Conv2d_inconsistent_types_on_GPU_with_cudnn, test/nn/test_convolution.py::TestConvolutionNN::test_Conv2d_inconsistent_types_on_GPU_without_cudnn, test/nn/test_convolution.py::TestConvolutionNN::test_Conv2d_missing_argument, test/nn/test_convolution.py::TestConvolutionNN::test_Conv2d_module_same_padding, test/nn/test_convolution.py::TestConvolutionNN::test_Conv3d_groups_nobias, test/nn/test_convolution.py::TestConvolutionNN::test_Conv3d_groups_wbias, test/nn/test_convolution.py::TestConvolutionNN::test_Conv3d_module_same_padding, test/nn/test_convolution.py::TestConvolutionNN::test_ConvTranspose2d_half_cublas_gemm, test/nn/test_convolution.py::TestConvolutionNN::test_ConvTranspose2d_output_size, test/nn/test_convolution.py::TestConvolutionNN::test_ConvTranspose2d_output_size_downsample_upsample, test/nn/test_convolution.py::TestConvolutionNN::test_ConvTranspose3d_correct_output_size, test/nn/test_convolution.py::TestConvolutionNN::test_conv1d_issue_120547, test/nn/test_convolution.py::TestConvolutionNN::test_conv2d_discontiguous_weight, test/nn/test_convolution.py::TestConvolutionNN::test_conv3d_issue_120406, test/nn/test_convolution.py::TestConvolutionNN::test_conv_backcompat, test/nn/test_convolution.py::TestConvolutionNN::test_conv_cudnn_memory_layout_dominance, test/nn/test_convolution.py::TestConvolutionNN::test_conv_invalid_groups, test/nn/test_convolution.py::TestConvolutionNN::test_conv_modules_raise_error_on_incorrect_input_size, test/nn/test_convolution.py::TestConvolutionNN::test_conv_padding_mode, test/nn/test_convolution.py::TestConvolutionNN::test_conv_shapecheck, test/nn/test_convolution.py::TestConvolutionNN::test_conv_tbc, test/nn/test_convolution.py::TestConvolutionNN::test_cudnn_non_contiguous, test/nn/test_convolution.py::TestConvolutionNN::test_cudnn_noncontiguous_weight, test/nn/test_convolution.py::TestConvolutionNN::test_cudnn_not_mutate_stride, test/nn/test_convolution.py::TestConvolutionNN::test_functional_grad_conv, test/nn/test_convolution.py::TestConvolutionNN::test_functional_grad_conv2d, test/nn/test_convolution.py::TestConvolutionNN::test_grad_conv1d_input, test/nn/test_convolution.py::TestConvolutionNN::test_grad_conv1d_weight, test/nn/test_convolution.py::TestConvolutionNN::test_grad_conv2d_input, test/nn/test_convolution.py::TestConvolutionNN::test_grad_conv2d_weight, test/nn/test_convolution.py::TestConvolutionNN::test_grad_conv3d_input, test/nn/test_convolution.py::TestConvolutionNN::test_grad_conv3d_weight, test/nn/test_convolution.py::TestConvolutionNN::test_grouped_conv_cudnn_nhwc_support, test/nn/test_convolution.py::TestConvolutionNN::test_invalid_conv1d, test/nn/test_convolution.py::TestConvolutionNN::test_invalid_conv2d, test/nn/test_convolution.py::TestConvolutionNN::test_invalid_conv3d, test/nn/test_convolution.py::TestConvolutionNN::test_mismatch_shape_conv2d, test/nn/test_convolution.py::TestConvolutionNN::test_nnpack_conv, test/nn/test_convolution.py::TestConvolutionNN::test_permute_conv2d_issue_120211, test/nn/test_convolution.py::TestConvolutionNN::test_thnn_conv_strided_padded_dilated, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_Conv2d_backward_depthwise_cpu_complex128, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_Conv2d_backward_depthwise_cpu_float64, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_Conv2d_depthwise_naive_groups_cpu_float16, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_Conv2d_depthwise_naive_groups_cpu_float32, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_Conv2d_depthwise_naive_groups_cpu_float64, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_Conv2d_deterministic_cudnn_cpu_complex128, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_Conv2d_deterministic_cudnn_cpu_complex64, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_Conv2d_deterministic_cudnn_cpu_float16, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_Conv2d_deterministic_cudnn_cpu_float32, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_Conv2d_deterministic_cudnn_cpu_float64, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_Conv2d_large_workspace_cpu_float16, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_Conv2d_large_workspace_cpu_float32, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_Conv2d_large_workspace_cpu_float64, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_Conv2d_naive_groups_cpu_float32, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_Conv2d_size_1_kernel_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_Conv3d_depthwise_naive_groups_cpu_float16, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_Conv3d_depthwise_naive_groups_cpu_float32, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_Conv3d_depthwise_naive_groups_cpu_float64, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_ConvTranspose2d_large_output_padding_cpu_float16, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_ConvTranspose2d_large_output_padding_cpu_float32, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_ConvTranspose2d_size_1_kernel_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_ConvTranspose3d_size_1_kernel_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_contig_wrong_stride_cudnn_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv1d_same_padding_backward_cpu_complex64, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv1d_same_padding_backward_cpu_float32, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv1d_same_padding_cpu_complex64, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv1d_same_padding_cpu_float32, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv1d_valid_padding_backward_cpu_complex64, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv1d_valid_padding_backward_cpu_float32, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv1d_valid_padding_cpu_complex64, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv1d_valid_padding_cpu_float32, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv1d_vs_scipy_mode_same_cpu_complex64, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv1d_vs_scipy_mode_same_cpu_float32, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv1d_vs_scipy_mode_valid_cpu_complex64, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv1d_vs_scipy_mode_valid_cpu_float32, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv2d_no_grad_cpu_float32, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv2d_same_padding_backward_cpu_complex64, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv2d_same_padding_backward_cpu_float32, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv2d_same_padding_cpu_complex64, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv2d_same_padding_cpu_float32, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv2d_valid_padding_backward_cpu_complex64, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv2d_valid_padding_backward_cpu_float32, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv2d_valid_padding_cpu_complex64, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv2d_valid_padding_cpu_float32, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv2d_vs_scipy_mode_same_cpu_complex64, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv2d_vs_scipy_mode_same_cpu_float32, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv2d_vs_scipy_mode_valid_cpu_complex64, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv2d_vs_scipy_mode_valid_cpu_float32, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv3d_64bit_indexing_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv3d_large_batch_1_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv3d_same_padding_backward_cpu_complex128, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv3d_same_padding_backward_cpu_float64, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv3d_same_padding_cpu_complex64, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv3d_same_padding_cpu_float32, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv3d_valid_padding_backward_cpu_complex128, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv3d_valid_padding_backward_cpu_float64, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv3d_valid_padding_cpu_complex64, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv3d_valid_padding_cpu_float32, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv3d_vs_scipy_mode_same_cpu_complex64, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv3d_vs_scipy_mode_same_cpu_float32, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv3d_vs_scipy_mode_valid_cpu_complex64, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv3d_vs_scipy_mode_valid_cpu_float32, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_convTranspose_empty_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cuda_depthwise1d_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cuda_depthwise1d_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cuda_depthwise1d_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cuda_depthwise1d_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cuda_depthwise1d_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cuda_depthwise1d_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cuda_depthwise1d_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cuda_depthwise1d_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cuda_depthwise2d_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cuda_depthwise2d_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cuda_depthwise2d_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cuda_depthwise2d_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cuda_depthwise2d_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cuda_depthwise2d_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cuda_depthwise2d_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cuda_depthwise2d_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cuda_depthwise3d_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cuda_depthwise3d_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cuda_depthwise3d_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cuda_depthwise3d_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cuda_depthwise3d_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cuda_depthwise3d_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cuda_depthwise3d_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cuda_depthwise3d_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cudnn1d_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cudnn1d_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cudnn1d_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cudnn1d_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cudnn1d_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cudnn1d_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cudnn1d_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cudnn1d_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cudnn1d_transposed_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cudnn1d_transposed_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cudnn1d_transposed_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cudnn1d_transposed_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cudnn1d_transposed_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cudnn1d_transposed_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cudnn1d_transposed_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cudnn1d_transposed_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cudnn2d_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cudnn2d_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cudnn2d_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cudnn2d_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cudnn2d_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cudnn2d_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cudnn2d_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cudnn2d_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cudnn2d_transposed_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cudnn2d_transposed_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cudnn2d_transposed_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cudnn2d_transposed_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cudnn2d_transposed_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cudnn2d_transposed_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cudnn2d_transposed_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cudnn2d_transposed_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cudnn3d_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cudnn3d_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cudnn3d_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cudnn3d_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cudnn3d_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cudnn3d_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cudnn3d_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_cudnn3d_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch1d_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch1d_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch1d_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch1d_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch1d_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch1d_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch1d_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch1d_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch2d_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch2d_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch2d_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch2d_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch2d_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch2d_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch2d_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch2d_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch3d_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch3d_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch3d_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch3d_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch3d_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch3d_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch3d_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch3d_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch_channel1d_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch_channel1d_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch_channel1d_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch_channel1d_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch_channel1d_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch_channel1d_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch_channel1d_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch_channel1d_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch_channel2d_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch_channel2d_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch_channel2d_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch_channel2d_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch_channel2d_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch_channel2d_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch_channel2d_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch_channel2d_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch_channel3d_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch_channel3d_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch_channel3d_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch_channel3d_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch_channel3d_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch_channel3d_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch_channel3d_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_batch_channel3d_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_channel1d_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_channel1d_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_channel1d_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_channel1d_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_channel1d_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_channel1d_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_channel1d_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_channel1d_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_channel2d_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_channel2d_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_channel2d_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_channel2d_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_channel2d_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_channel2d_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_channel2d_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_channel2d_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_channel3d_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_channel3d_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_channel3d_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_channel3d_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_channel3d_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_channel3d_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_channel3d_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_empty_channel3d_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen1d_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen1d_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen1d_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen1d_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen1d_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen1d_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen1d_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen1d_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen1d_transposed_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen1d_transposed_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen1d_transposed_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen1d_transposed_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen1d_transposed_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen1d_transposed_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen1d_transposed_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen1d_transposed_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen2d_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen2d_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen2d_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen2d_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen2d_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen2d_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen2d_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen2d_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen2d_transposed_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen2d_transposed_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen2d_transposed_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen2d_transposed_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen2d_transposed_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen2d_transposed_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen2d_transposed_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen2d_transposed_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen3d_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen3d_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen3d_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen3d_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen3d_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen3d_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen3d_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen3d_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen3d_transposed_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen3d_transposed_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen3d_transposed_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen3d_transposed_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen3d_transposed_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen3d_transposed_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen3d_transposed_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen3d_transposed_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen_depthwise1d_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen_depthwise1d_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen_depthwise1d_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen_depthwise1d_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen_depthwise1d_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen_depthwise1d_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen_depthwise1d_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen_depthwise1d_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen_depthwise2d_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen_depthwise2d_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen_depthwise2d_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen_depthwise2d_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen_depthwise2d_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen_depthwise2d_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen_depthwise2d_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen_depthwise2d_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen_depthwise3d_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen_depthwise3d_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen_depthwise3d_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen_depthwise3d_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen_depthwise3d_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen_depthwise3d_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen_depthwise3d_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_miopen_depthwise3d_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn1d_cpu_input_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn1d_cpu_input_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn1d_cpu_input_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn1d_cpu_input_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn1d_cpu_input_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn1d_cpu_input_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn1d_cpu_input_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn1d_cpu_input_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn1d_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn1d_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn1d_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn1d_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn1d_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn1d_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn1d_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn1d_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn1d_transposed_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn1d_transposed_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn1d_transposed_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn1d_transposed_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn1d_transposed_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn1d_transposed_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn1d_transposed_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn1d_transposed_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn2d_cpu_input_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn2d_cpu_input_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn2d_cpu_input_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn2d_cpu_input_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn2d_cpu_input_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn2d_cpu_input_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn2d_cpu_input_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn2d_cpu_input_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn2d_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn2d_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn2d_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn2d_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn2d_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn2d_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn2d_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn2d_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn2d_transposed_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn2d_transposed_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn2d_transposed_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn2d_transposed_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn2d_transposed_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn2d_transposed_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn2d_transposed_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn2d_transposed_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn3d_cpu_input_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn3d_cpu_input_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn3d_cpu_input_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn3d_cpu_input_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn3d_cpu_input_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn3d_cpu_input_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn3d_cpu_input_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn3d_cpu_input_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn3d_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn3d_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn3d_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn3d_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn3d_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn3d_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn3d_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn3d_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn3d_transposed_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn3d_transposed_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn3d_transposed_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn3d_transposed_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn3d_transposed_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn3d_transposed_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn3d_transposed_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn3d_transposed_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch1d_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch1d_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch1d_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch1d_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch1d_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch1d_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch1d_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch1d_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch2d_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch2d_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch2d_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch2d_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch2d_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch2d_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch2d_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch2d_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch3d_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch3d_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch3d_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch3d_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch3d_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch3d_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch3d_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch3d_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch_channel1d_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch_channel1d_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch_channel1d_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch_channel1d_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch_channel1d_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch_channel1d_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch_channel1d_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch_channel1d_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch_channel2d_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch_channel2d_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch_channel2d_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch_channel2d_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch_channel2d_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch_channel2d_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch_channel2d_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch_channel2d_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch_channel3d_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch_channel3d_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch_channel3d_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch_channel3d_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch_channel3d_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch_channel3d_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch_channel3d_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_batch_channel3d_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_channel1d_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_channel1d_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_channel1d_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_channel1d_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_channel1d_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_channel1d_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_channel1d_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_channel1d_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_channel2d_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_channel2d_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_channel2d_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_channel2d_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_channel2d_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_channel2d_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_channel2d_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_channel2d_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_channel3d_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_channel3d_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_channel3d_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_channel3d_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_channel3d_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_channel3d_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_channel3d_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_mkldnn_empty_channel3d_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow1d_dilated_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow1d_dilated_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow1d_dilated_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow1d_dilated_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow1d_dilated_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow1d_dilated_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow1d_dilated_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow1d_dilated_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow1d_dilated_transposed_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow1d_dilated_transposed_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow1d_dilated_transposed_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow1d_dilated_transposed_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow1d_dilated_transposed_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow1d_dilated_transposed_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow1d_dilated_transposed_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow1d_dilated_transposed_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow1d_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow1d_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow1d_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow1d_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow1d_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow1d_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow1d_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow1d_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow1d_transposed_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow1d_transposed_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow1d_transposed_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow1d_transposed_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow1d_transposed_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow1d_transposed_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow1d_transposed_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow1d_transposed_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow2d_dilated_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow2d_dilated_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow2d_dilated_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow2d_dilated_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow2d_dilated_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow2d_dilated_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow2d_dilated_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow2d_dilated_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow2d_dilated_transposed_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow2d_dilated_transposed_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow2d_dilated_transposed_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow2d_dilated_transposed_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow2d_dilated_transposed_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow2d_dilated_transposed_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow2d_dilated_transposed_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow2d_dilated_transposed_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow2d_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow2d_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow2d_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow2d_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow2d_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow2d_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow2d_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow2d_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow2d_transposed_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow2d_transposed_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow2d_transposed_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow2d_transposed_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow2d_transposed_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow2d_transposed_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow2d_transposed_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow2d_transposed_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow3d_cpu_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow3d_cpu_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow3d_cpu_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow3d_cpu_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow3d_cpu_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow3d_cpu_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow3d_cpu_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow3d_cpu_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow3d_cuda_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow3d_cuda_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow3d_cuda_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow3d_cuda_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow3d_cuda_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow3d_cuda_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow3d_cuda_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow3d_cuda_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow3d_dilated_has_bias_False_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow3d_dilated_has_bias_False_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow3d_dilated_has_bias_False_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow3d_dilated_has_bias_False_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow3d_dilated_has_bias_True_strided_False_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow3d_dilated_has_bias_True_strided_False_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow3d_dilated_has_bias_True_strided_True_contiguous_False_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_backend_slow3d_dilated_has_bias_True_strided_True_contiguous_True_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_contiguous_for_oneDNN_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_cudnn_mismatch_memory_format_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_cudnn_ndhwc_cpu_float16, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_cudnn_ndhwc_cpu_float32, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_cudnn_nhwc_cpu_complex64, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_cudnn_nhwc_cpu_float16, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_cudnn_nhwc_cpu_float32, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_cudnn_nhwc_support_cpu_float32, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_cudnn_nhwc_support_cpu_float64, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_double_backward_cpu_float64, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_double_backward_groups_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_double_backward_no_bias_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_double_backward_stride_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_double_backward_strided_with_3D_input_and_weight_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_empty_channel_cpu_complex64, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_empty_channel_cpu_float32, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_ic1_channels_last_for_oneDNN_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_large_batch_1_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_large_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_large_nosplit_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_noncontig_weights_and_bias_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_noncontig_weights_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_thnn_nhwc_cpu_float32, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_thnn_nhwc_cpu_float64, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_transpose_with_output_size_and_no_batch_dim_ConvTranspose2d_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_transpose_with_output_size_and_no_batch_dim_ConvTranspose3d_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_conv_transposed_large_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_convert_conv2d_weight_memory_format_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_convert_conv3d_weight_memory_format_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_cudnn_convolution_add_relu_cpu_float16, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_cudnn_convolution_add_relu_cpu_float32, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_cudnn_convolution_relu_cpu_float16, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_cudnn_convolution_relu_cpu_float32, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_group_convTranspose_empty_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_group_conv_empty_cpu, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_noncontig_conv_grad_cpu_float16, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_noncontig_conv_grad_cpu_float32, test/nn/test_convolution.py::TestConvolutionNNDeviceTypeCPU::test_noncontig_conv_grad_cpu_float64 2025-03-14T04:58:26.9341263Z 2025-03-14T04:58:26.9341505Z Running nn/test_pooling 1/1 ... [2025-03-14 04:58:26.868418] 2025-03-14T04:58:26.9341933Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T04:58:26.9342977Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'nn/test_pooling.py', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 04:58:26.868774] 2025-03-14T04:59:29.3882871Z 2025-03-14T04:59:29.3884076Z nn/test_pooling 1/1 was successful, full logs can be found in artifacts with path test/test-reports/nn.test_pooling_1.1_3a5b5ccd2a6e43cd_.log 2025-03-14T04:59:29.3924819Z Running 104 items in this shard: test/nn/test_pooling.py::TestAvgPool::test_avg_pool1d_ceil_mode, test/nn/test_pooling.py::TestAvgPool::test_avg_pool2d_ceil_mode, test/nn/test_pooling.py::TestAvgPool::test_avg_pool3d_ceil_mode, test/nn/test_pooling.py::TestAvgPool::test_doubletensor_avg_pool2d, test/nn/test_pooling.py::TestAvgPool::test_doubletensor_avg_pool2d_with_divisor, test/nn/test_pooling.py::TestAvgPool::test_doubletensor_avg_pool3d, test/nn/test_pooling.py::TestAvgPool::test_doubletensor_avg_pool3d_with_divisor, test/nn/test_pooling.py::TestPoolingNN::test_MaxUnpool2d_output_size, test/nn/test_pooling.py::TestPoolingNN::test_adaptive_avg_pooling_nhwc_overflow, test/nn/test_pooling.py::TestPoolingNN::test_adaptive_avg_pooling_overflow, test/nn/test_pooling.py::TestPoolingNN::test_adaptive_pooling_avg_nhwc, test/nn/test_pooling.py::TestPoolingNN::test_adaptive_pooling_avg_nhwc_launch_config_backward, test/nn/test_pooling.py::TestPoolingNN::test_adaptive_pooling_avg_nhwc_launch_config_forward, test/nn/test_pooling.py::TestPoolingNN::test_adaptive_pooling_avg_nhwc_non_contiguous, test/nn/test_pooling.py::TestPoolingNN::test_adaptive_pooling_lower_precision, test/nn/test_pooling.py::TestPoolingNN::test_adaptive_pooling_size_none, test/nn/test_pooling.py::TestPoolingNN::test_adaptive_pooling_size_overflow, test/nn/test_pooling.py::TestPoolingNN::test_max_unpool, test/nn/test_pooling.py::TestPoolingNN::test_max_unpool2d_nhwc_cpu, test/nn/test_pooling.py::TestPoolingNN::test_max_unpool3d_input_check, test/nn/test_pooling.py::TestPoolingNN::test_quantized_max_pool1d_empty_kernel, test/nn/test_pooling.py::TestPoolingNN::test_quantized_max_pool3d, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_AdaptiveMaxPool1d_indices_cpu_float32, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_AdaptiveMaxPool2d_indices_cpu_float32, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_AdaptiveMaxPool3d_indices_cpu_float32, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_AdaptiveMaxPool_zero_batch_dim_cpu, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_AvgPool2d_empty_cpu, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_AvgPool3d_backward_after_cat_dim1_device_cpu, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_FractionalMaxPool2d_zero_batch_cpu, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_FractionalMaxPool2d_zero_out_size_cpu, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_FractionalMaxPool2d_zero_samples_cpu, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_FractionalMaxPool3d_zero_batch_cpu, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_FractionalMaxPool3d_zero_out_size_cpu, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_FractionalMaxPool3d_zero_samples_cpu, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_MaxPool1d_indices_cpu_float32, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_MaxPool2d_indices_cpu_float32, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_MaxPool3d_indices_cpu_float32, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_MaxPool_zero_batch_dim_cpu, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_MaxUnpool_index_errors_case10_cpu, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_MaxUnpool_index_errors_case1_cpu, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_MaxUnpool_index_errors_case2_cpu, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_MaxUnpool_index_errors_case3_cpu, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_MaxUnpool_index_errors_case4_cpu, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_MaxUnpool_index_errors_case5_cpu, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_MaxUnpool_index_errors_case6_cpu, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_MaxUnpool_index_errors_case7_cpu, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_MaxUnpool_index_errors_case8_cpu, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_MaxUnpool_index_errors_case9_cpu, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_MaxUnpool_zero_batch_dim_cpu, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_adaptive_avg_pool2d_output_size_one_cpu, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_adaptive_avg_pool3d_output_size_one_cpu, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_adaptive_pool_odd_size_cpu, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_adaptive_pooling_backward_fails_cpu, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_adaptive_pooling_empty_output_size_cpu_float32, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_adaptive_pooling_empty_output_size_cpu_float64, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_adaptive_pooling_max_nhwc_cpu_float32, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_adaptive_pooling_max_nhwc_cpu_float64, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_adaptive_pooling_no_suppot_input_cpu_int16, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_adaptive_pooling_no_suppot_input_cpu_int32, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_adaptive_pooling_no_suppot_input_cpu_int64, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_adaptive_pooling_no_suppot_input_cpu_int8, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_adaptive_pooling_no_suppot_input_cpu_uint8, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_adaptive_pooling_zero_batch_cpu_float32, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_adaptive_pooling_zero_batch_cpu_float64, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_avg_pool2d_nhwc_cpu_float32, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_avg_pool2d_nhwc_cpu_float64, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_avg_pool2d_reduced_floating_cpu_bfloat16, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_avg_pool2d_reduced_floating_cpu_float16, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_fractional_max_pool2d_backward_fails_cpu, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_fractional_max_pool2d_cpu, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_fractional_max_pool3d_cpu, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_fractional_max_pool_nan_inf_cpu_float32, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_max_pool1d_corner_cases_cpu_float32, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_max_pool1d_corner_cases_cpu_float64, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_max_pool1d_cpu_float32, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_max_pool1d_cpu_float64, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_max_pool2d_corner_cases_cpu_int32, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_max_pool2d_corner_cases_cpu_int64, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_max_pool2d_cpu, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_max_pool2d_indices_cpu, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_max_pool2d_nhwc_cpu_bfloat16, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_max_pool2d_nhwc_cpu_float16, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_max_pool2d_nhwc_cpu_float32, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_max_pool2d_nhwc_cpu_float64, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_max_pool2d_with_indices_backward_fails_cpu, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_max_pool3d_ndhwc_cpu_bfloat16, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_max_pool3d_ndhwc_cpu_float16, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_max_pool3d_ndhwc_cpu_float32, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_max_pool3d_ndhwc_cpu_float64, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_max_pool_bfloat16_half_cpu_bfloat16, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_max_pool_bfloat16_half_cpu_float16, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_max_pool_nan_inf_cpu_float32, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_maxpool3d_non_square_backward_cpu, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_maxpool_indices_no_batch_dim_cpu_float32, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_pool3d_large_size_int64_cpu, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_pool3d_size_one_feature_dim_cpu, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_pool_invalid_size_cpu_float32, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_pool_large_size_cpu_float32, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_pooling_bfloat16_cpu, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_pooling_large_cpu, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_pooling_max_nhwc_cpu_float32, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_pooling_max_nhwc_cpu_float64, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_pooling_shape_cpu, test/nn/test_pooling.py::TestPoolingNNDeviceTypeCPU::test_pooling_zero_stride_cpu 2025-03-14T04:59:29.3973406Z 2025-03-14T04:59:29.3973734Z Running test_mobile_optimizer 1/1 ... [2025-03-14 04:59:29.388707] 2025-03-14T04:59:29.3974201Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T04:59:29.3975404Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'test_mobile_optimizer.py', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 04:59:29.389049] 2025-03-14T04:59:39.4760236Z 2025-03-14T04:59:39.4760997Z test_mobile_optimizer 1/1 was successful, full logs can be found in artifacts with path test/test-reports/test_mobile_optimizer_1.1_63ba20070f86bad4_.log 2025-03-14T04:59:39.4764323Z Running 7 items in this shard: test/test_mobile_optimizer.py::TestOptimizer::test_clone_module_with_class, test/test_mobile_optimizer.py::TestOptimizer::test_generate_mobile_module_lints, test/test_mobile_optimizer.py::TestOptimizer::test_hoist_conv_packed_params, test/test_mobile_optimizer.py::TestOptimizer::test_mobilenet_optimize_for_mobile, test/test_mobile_optimizer.py::TestOptimizer::test_optimize_for_mobile, test/test_mobile_optimizer.py::TestOptimizer::test_preserve_bundled_inputs_methods, test/test_mobile_optimizer.py::TestOptimizer::test_quantized_conv_no_asan_failures 2025-03-14T04:59:39.4766858Z 2025-03-14T04:59:39.4767056Z Running test_nn 1/2 ... [2025-03-14 04:59:39.476167] 2025-03-14T04:59:39.4767451Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T04:59:39.4768525Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'test_nn.py', '--shard-id=1', '--num-shards=2', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 04:59:39.476480] 2025-03-14T05:06:39.4976309Z 2025-03-14T05:06:39.4977331Z test_nn 1/2 was successful, full logs can be found in artifacts with path test/test-reports/test_nn_1.2_ce62a71fc0bda020_.log 2025-03-14T05:06:39.5536560Z Running 1055 items in this shard: test/test_nn.py::TestNN::test_AdaptiveLogSoftmax, test/test_nn.py::TestNN::test_AdaptiveLogSoftmax_cuda, test/test_nn.py::TestNN::test_BCELoss_no_batch_dim_mean_cuda_double, test/test_nn.py::TestNN::test_BCELoss_no_batch_dim_mean_cuda_half, test/test_nn.py::TestNN::test_BCELoss_no_batch_dim_none, test/test_nn.py::TestNN::test_BCELoss_no_batch_dim_none_cuda_double, test/test_nn.py::TestNN::test_BCELoss_no_batch_dim_none_cuda_half, test/test_nn.py::TestNN::test_BCELoss_no_batch_dim_sum_cuda_float, test/test_nn.py::TestNN::test_BCELoss_no_batch_dim_sum_cuda_half, test/test_nn.py::TestNN::test_BCELoss_no_reduce_cuda, test/test_nn.py::TestNN::test_BCELoss_weights_no_reduce, test/test_nn.py::TestNN::test_BCELoss_weights_no_reduce_cuda, test/test_nn.py::TestNN::test_BCELoss_weights_no_reduce_scalar_cuda, test/test_nn.py::TestNN::test_BCEWithLogitsLoss_legacy_enum_cuda, test/test_nn.py::TestNN::test_BCEWithLogitsLoss_no_batch_dim_mean_cuda_double, test/test_nn.py::TestNN::test_BCEWithLogitsLoss_no_batch_dim_mean_cuda_float, test/test_nn.py::TestNN::test_BCEWithLogitsLoss_no_batch_dim_mean_cuda_half, test/test_nn.py::TestNN::test_BCEWithLogitsLoss_no_batch_dim_none_cuda_float, test/test_nn.py::TestNN::test_BCEWithLogitsLoss_no_batch_dim_sum_cuda_double, test/test_nn.py::TestNN::test_BCEWithLogitsLoss_no_reduce_cuda, test/test_nn.py::TestNN::test_BCEWithLogitsLoss_no_reduce_scalar_cuda, test/test_nn.py::TestNN::test_CELU_no_batch_dim, test/test_nn.py::TestNN::test_CELU_no_batch_dim_cuda, test/test_nn.py::TestNN::test_CTCLoss_zero_lengths, test/test_nn.py::TestNN::test_Conv1d, test/test_nn.py::TestNN::test_Conv1d_circular_stride2_pad2_cuda, test/test_nn.py::TestNN::test_Conv1d_dilated, test/test_nn.py::TestNN::test_Conv1d_dilated_cuda, test/test_nn.py::TestNN::test_Conv1d_groups_cuda, test/test_nn.py::TestNN::test_Conv1d_pad1, test/test_nn.py::TestNN::test_Conv1d_pad1_cuda, test/test_nn.py::TestNN::test_Conv1d_pad1size1_cuda, test/test_nn.py::TestNN::test_Conv1d_pad2_cuda, test/test_nn.py::TestNN::test_Conv1d_pad_same2, test/test_nn.py::TestNN::test_Conv1d_pad_same_cuda, test/test_nn.py::TestNN::test_Conv1d_pad_same_dilated, test/test_nn.py::TestNN::test_Conv1d_pad_same_dilated_cuda, test/test_nn.py::TestNN::test_Conv1d_pad_valid_cuda, test/test_nn.py::TestNN::test_Conv1d_replicate_stride2_pad2_cuda, test/test_nn.py::TestNN::test_Conv1d_stride, test/test_nn.py::TestNN::test_Conv1d_zero_batch_cuda, test/test_nn.py::TestNN::test_Conv1d_zeros_stride2_pad2, test/test_nn.py::TestNN::test_Conv2d_circular_stride2_pad2_cuda, test/test_nn.py::TestNN::test_Conv2d_cuda, test/test_nn.py::TestNN::test_Conv2d_depthwise, test/test_nn.py::TestNN::test_Conv2d_depthwise_cuda, test/test_nn.py::TestNN::test_Conv2d_depthwise_dilated, test/test_nn.py::TestNN::test_Conv2d_depthwise_padded_cuda, test/test_nn.py::TestNN::test_Conv2d_depthwise_strided, test/test_nn.py::TestNN::test_Conv2d_depthwise_strided_cuda, test/test_nn.py::TestNN::test_Conv2d_depthwise_with_multiplier_cuda, test/test_nn.py::TestNN::test_Conv2d_dilated, test/test_nn.py::TestNN::test_Conv2d_dilated_cuda, test/test_nn.py::TestNN::test_Conv2d_dilated_with_long_tensor, test/test_nn.py::TestNN::test_Conv2d_groups, test/test_nn.py::TestNN::test_Conv2d_groups_cuda, test/test_nn.py::TestNN::test_Conv2d_groups_thnn, test/test_nn.py::TestNN::test_Conv2d_groups_thnn_cuda, test/test_nn.py::TestNN::test_Conv2d_groups_thnn_with_long_tensor, test/test_nn.py::TestNN::test_Conv2d_groups_with_long_tensor, test/test_nn.py::TestNN::test_Conv2d_no_bias, test/test_nn.py::TestNN::test_Conv2d_no_bias_with_long_tensor, test/test_nn.py::TestNN::test_Conv2d_pad_same, test/test_nn.py::TestNN::test_Conv2d_pad_same_cuda, test/test_nn.py::TestNN::test_Conv2d_reflect_stride2_pad2, test/test_nn.py::TestNN::test_Conv2d_replicate_stride2_pad2_cuda, test/test_nn.py::TestNN::test_Conv2d_strided_cuda, test/test_nn.py::TestNN::test_Conv2d_with_long_tensor_cuda, test/test_nn.py::TestNN::test_Conv2d_zero_batch_with_long_tensor, test/test_nn.py::TestNN::test_Conv2d_zero_batch_with_long_tensor_cuda, test/test_nn.py::TestNN::test_Conv2d_zeros_stride2_pad2_cuda, test/test_nn.py::TestNN::test_Conv3d_1x1x1_no_bias_cuda, test/test_nn.py::TestNN::test_Conv3d_circular_stride2_pad2, test/test_nn.py::TestNN::test_Conv3d_circular_stride2_pad2_cuda, test/test_nn.py::TestNN::test_Conv3d_cuda, test/test_nn.py::TestNN::test_Conv3d_dilated_strided_cuda, test/test_nn.py::TestNN::test_Conv3d_groups_cuda, test/test_nn.py::TestNN::test_Conv3d_groups_with_long_tensor_cuda, test/test_nn.py::TestNN::test_Conv3d_no_bias_cuda, test/test_nn.py::TestNN::test_Conv3d_no_bias_with_long_tensor, test/test_nn.py::TestNN::test_Conv3d_pad_same, test/test_nn.py::TestNN::test_Conv3d_pad_same_cuda, test/test_nn.py::TestNN::test_Conv3d_pad_valid, test/test_nn.py::TestNN::test_Conv3d_pad_valid_cuda, test/test_nn.py::TestNN::test_Conv3d_replicate_stride2_pad2_cuda, test/test_nn.py::TestNN::test_Conv3d_stride, test/test_nn.py::TestNN::test_Conv3d_stride_padding, test/test_nn.py::TestNN::test_Conv3d_stride_padding_cuda, test/test_nn.py::TestNN::test_Conv3d_stride_padding_with_long_tensor_cuda, test/test_nn.py::TestNN::test_Conv3d_with_long_tensor, test/test_nn.py::TestNN::test_Conv3d_zero_batch, test/test_nn.py::TestNN::test_Conv3d_zero_batch_cuda, test/test_nn.py::TestNN::test_Conv3d_zeros_stride2_pad2_cuda, test/test_nn.py::TestNN::test_ConvTranspose1d, test/test_nn.py::TestNN::test_ConvTranspose1d_dilated, test/test_nn.py::TestNN::test_ConvTranspose1d_dilated_cuda, test/test_nn.py::TestNN::test_ConvTranspose1d_groups, test/test_nn.py::TestNN::test_ConvTranspose1d_no_bias, test/test_nn.py::TestNN::test_ConvTranspose1d_no_bias_cuda, test/test_nn.py::TestNN::test_ConvTranspose2d_cuda, test/test_nn.py::TestNN::test_ConvTranspose2d_dilated_cuda, test/test_nn.py::TestNN::test_ConvTranspose2d_groups, test/test_nn.py::TestNN::test_ConvTranspose2d_groups_cuda, test/test_nn.py::TestNN::test_ConvTranspose2d_groups_with_long_tensor, test/test_nn.py::TestNN::test_ConvTranspose2d_groups_with_long_tensor_cuda, test/test_nn.py::TestNN::test_ConvTranspose2d_no_bias, test/test_nn.py::TestNN::test_ConvTranspose2d_no_bias_with_long_tensor_cuda, test/test_nn.py::TestNN::test_ConvTranspose2d_with_long_tensor, test/test_nn.py::TestNN::test_ConvTranspose2d_with_long_tensor_cuda, test/test_nn.py::TestNN::test_ConvTranspose3d_cuda, test/test_nn.py::TestNN::test_ConvTranspose3d_dilated, test/test_nn.py::TestNN::test_CosineEmbeddingLoss_no_batch_dim_mean_cuda_float, test/test_nn.py::TestNN::test_CosineEmbeddingLoss_no_batch_dim_none, test/test_nn.py::TestNN::test_CosineEmbeddingLoss_no_batch_dim_none_cuda_float, test/test_nn.py::TestNN::test_CosineEmbeddingLoss_no_batch_dim_sum, test/test_nn.py::TestNN::test_CosineEmbeddingLoss_no_batch_dim_sum_cuda_float, test/test_nn.py::TestNN::test_CrossMapLRN2d, test/test_nn.py::TestNN::test_ELU_no_batch_dim_cuda, test/test_nn.py::TestNN::test_EmbeddingBag_discontiguous_cuda, test/test_nn.py::TestNN::test_EmbeddingBag_max_cuda, test/test_nn.py::TestNN::test_EmbeddingBag_mean, test/test_nn.py::TestNN::test_EmbeddingBag_mean_cuda, test/test_nn.py::TestNN::test_EmbeddingBag_mean_padding_idx, test/test_nn.py::TestNN::test_EmbeddingBag_sparse, test/test_nn.py::TestNN::test_EmbeddingBag_sparse_cuda, test/test_nn.py::TestNN::test_EmbeddingBag_sum, test/test_nn.py::TestNN::test_Embedding_discontiguous, test/test_nn.py::TestNN::test_Embedding_discontiguous_cuda, test/test_nn.py::TestNN::test_Embedding_sparse, test/test_nn.py::TestNN::test_Flatten_cuda, test/test_nn.py::TestNN::test_Fold_cuda, test/test_nn.py::TestNN::test_Fold_no_batch_dim_input, test/test_nn.py::TestNN::test_Fold_no_batch_dim_int_input, test/test_nn.py::TestNN::test_Fold_no_batch_dim_int_input_cuda, test/test_nn.py::TestNN::test_GELU_no_batch_dim_cuda, test/test_nn.py::TestNN::test_Hardshrink_no_batch_dim_cuda, test/test_nn.py::TestNN::test_Hardswish_no_batch_dim, test/test_nn.py::TestNN::test_HingeEmbeddingLoss_no_batch_dim_mean_cuda_float, test/test_nn.py::TestNN::test_HingeEmbeddingLoss_no_batch_dim_none, test/test_nn.py::TestNN::test_HingeEmbeddingLoss_no_batch_dim_sum, test/test_nn.py::TestNN::test_HingeEmbeddingLoss_no_batch_dim_sum_cuda_double, test/test_nn.py::TestNN::test_HuberLoss_no_batch_dim_mean, test/test_nn.py::TestNN::test_HuberLoss_no_batch_dim_mean_cuda_float, test/test_nn.py::TestNN::test_HuberLoss_no_batch_dim_mean_cuda_half, test/test_nn.py::TestNN::test_HuberLoss_no_batch_dim_none, test/test_nn.py::TestNN::test_HuberLoss_no_batch_dim_none_cuda_double, test/test_nn.py::TestNN::test_HuberLoss_no_batch_dim_none_cuda_float, test/test_nn.py::TestNN::test_HuberLoss_no_batch_dim_none_cuda_half, test/test_nn.py::TestNN::test_HuberLoss_no_batch_dim_sum, test/test_nn.py::TestNN::test_KLDivLoss_batch_mean, test/test_nn.py::TestNN::test_KLDivLoss_batch_mean_log_target, test/test_nn.py::TestNN::test_KLDivLoss_no_batch_dim_mean_cuda_double, test/test_nn.py::TestNN::test_KLDivLoss_no_batch_dim_mean_cuda_float, test/test_nn.py::TestNN::test_KLDivLoss_no_batch_dim_none, test/test_nn.py::TestNN::test_KLDivLoss_no_batch_dim_none_cuda_double, test/test_nn.py::TestNN::test_KLDivLoss_no_batch_dim_none_cuda_half, test/test_nn.py::TestNN::test_KLDivLoss_no_batch_dim_sum_cuda_float, test/test_nn.py::TestNN::test_KLDivLoss_no_reduce_cuda, test/test_nn.py::TestNN::test_KLDivLoss_no_reduce_scalar, test/test_nn.py::TestNN::test_KLDivLoss_no_reduce_scalar_log_target, test/test_nn.py::TestNN::test_KLDivLoss_no_reduce_scalar_log_target_cuda, test/test_nn.py::TestNN::test_KLDivLoss_with_log_target_no_reduce, test/test_nn.py::TestNN::test_KLDivLoss_with_target_no_reduce, test/test_nn.py::TestNN::test_KLDivLoss_with_target_no_reduce_cuda, test/test_nn.py::TestNN::test_L1Loss_no_batch_dim_mean, test/test_nn.py::TestNN::test_L1Loss_no_batch_dim_mean_cuda_float, test/test_nn.py::TestNN::test_L1Loss_no_batch_dim_none, test/test_nn.py::TestNN::test_L1Loss_no_batch_dim_none_cuda_double, test/test_nn.py::TestNN::test_L1Loss_no_batch_dim_none_cuda_half, test/test_nn.py::TestNN::test_L1Loss_no_batch_dim_sum, test/test_nn.py::TestNN::test_L1Loss_no_batch_dim_sum_cuda_double, test/test_nn.py::TestNN::test_L1Loss_no_reduce, test/test_nn.py::TestNN::test_L1Loss_no_reduce_complex_cuda, test/test_nn.py::TestNN::test_L1Loss_no_reduce_scalar, test/test_nn.py::TestNN::test_LSTM_cell, test/test_nn.py::TestNN::test_LSTM_cell_forward_input_size, test/test_nn.py::TestNN::test_LayerNorm_3d_no_affine_large_feature_cuda, test/test_nn.py::TestNN::test_LeakyReLU_no_batch_dim_cuda, test/test_nn.py::TestNN::test_Linear_no_bias_cuda, test/test_nn.py::TestNN::test_LogSigmoid_no_batch_dim_cuda, test/test_nn.py::TestNN::test_MSELoss_no_batch_dim_mean, test/test_nn.py::TestNN::test_MSELoss_no_batch_dim_mean_cuda_double, test/test_nn.py::TestNN::test_MSELoss_no_batch_dim_mean_cuda_half, test/test_nn.py::TestNN::test_MSELoss_no_batch_dim_none, test/test_nn.py::TestNN::test_MSELoss_no_batch_dim_none_cuda_double, test/test_nn.py::TestNN::test_MSELoss_no_batch_dim_sum, test/test_nn.py::TestNN::test_MSELoss_no_reduce, test/test_nn.py::TestNN::test_MarginRankingLoss_no_batch_dim_mean, test/test_nn.py::TestNN::test_MarginRankingLoss_no_batch_dim_mean_cuda_half, test/test_nn.py::TestNN::test_MarginRankingLoss_no_batch_dim_none_cuda_double, test/test_nn.py::TestNN::test_MarginRankingLoss_no_batch_dim_none_cuda_half, test/test_nn.py::TestNN::test_MarginRankingLoss_no_batch_dim_sum_cuda_half, test/test_nn.py::TestNN::test_MaxUnpool1d_net_cuda, test/test_nn.py::TestNN::test_MaxUnpool1d_net_no_batch_dim, test/test_nn.py::TestNN::test_MaxUnpool1d_net_no_batch_dim_cuda, test/test_nn.py::TestNN::test_MaxUnpool2d_net_cuda, test/test_nn.py::TestNN::test_MaxUnpool2d_net_no_batch_dim, test/test_nn.py::TestNN::test_MaxUnpool3d_net, test/test_nn.py::TestNN::test_MaxUnpool3d_net_cuda, test/test_nn.py::TestNN::test_MaxUnpool3d_net_no_batch_dim_cuda, test/test_nn.py::TestNN::test_Mish_no_batch_dim_cuda, test/test_nn.py::TestNN::test_ModuleList, test/test_nn.py::TestNN::test_MultiLabelMarginLoss_1d_no_reduce, test/test_nn.py::TestNN::test_MultiLabelMarginLoss_index_neg_cuda, test/test_nn.py::TestNN::test_MultiLabelMarginLoss_no_batch_dim_mean_cuda_half, test/test_nn.py::TestNN::test_MultiLabelMarginLoss_no_batch_dim_none_cuda_double, test/test_nn.py::TestNN::test_MultiLabelMarginLoss_no_batch_dim_none_cuda_float, test/test_nn.py::TestNN::test_MultiLabelMarginLoss_no_batch_dim_none_cuda_half, test/test_nn.py::TestNN::test_MultiLabelMarginLoss_no_batch_dim_sum_cuda_double, test/test_nn.py::TestNN::test_MultiLabelMarginLoss_no_batch_dim_sum_cuda_half, test/test_nn.py::TestNN::test_MultiLabelMarginLoss_no_reduce, test/test_nn.py::TestNN::test_MultiLabelMarginLoss_no_reduce_cuda, test/test_nn.py::TestNN::test_MultiLabelSoftMarginLoss_no_batch_dim_mean, test/test_nn.py::TestNN::test_MultiLabelSoftMarginLoss_no_batch_dim_mean_cuda_double, test/test_nn.py::TestNN::test_MultiLabelSoftMarginLoss_no_batch_dim_none, test/test_nn.py::TestNN::test_MultiLabelSoftMarginLoss_no_batch_dim_none_cuda_double, test/test_nn.py::TestNN::test_MultiLabelSoftMarginLoss_no_batch_dim_none_cuda_half, test/test_nn.py::TestNN::test_MultiLabelSoftMarginLoss_no_batch_dim_sum_cuda_float, test/test_nn.py::TestNN::test_MultiLabelSoftMarginLoss_no_reduce, test/test_nn.py::TestNN::test_MultiLabelSoftMarginLoss_no_reduce_cuda, test/test_nn.py::TestNN::test_MultiLabelSoftMarginLoss_weights_no_reduce, test/test_nn.py::TestNN::test_MultiLabelSoftMarginLoss_weights_no_reduce_cuda, test/test_nn.py::TestNN::test_MultiMarginLoss_1d_no_reduce, test/test_nn.py::TestNN::test_MultiMarginLoss_margin_no_reduce, test/test_nn.py::TestNN::test_MultiMarginLoss_weights_no_reduce, test/test_nn.py::TestNN::test_MultiMarginLoss_weights_no_reduce_cuda, test/test_nn.py::TestNN::test_NLLLoss2d_no_reduce_cuda, test/test_nn.py::TestNN::test_NLLLoss2d_no_reduce_weights, test/test_nn.py::TestNN::test_NLLLossNd_no_reduce_ignore_index, test/test_nn.py::TestNN::test_NLLLossNd_no_reduce_weights, test/test_nn.py::TestNN::test_NLLLoss_no_batch_dim_mean, test/test_nn.py::TestNN::test_NLLLoss_no_batch_dim_mean_cuda_double, test/test_nn.py::TestNN::test_NLLLoss_no_batch_dim_mean_cuda_float, test/test_nn.py::TestNN::test_NLLLoss_no_batch_dim_mean_cuda_half, test/test_nn.py::TestNN::test_NLLLoss_no_batch_dim_none_cuda_double, test/test_nn.py::TestNN::test_NLLLoss_no_reduce, test/test_nn.py::TestNN::test_NLLLoss_no_reduce_cuda, test/test_nn.py::TestNN::test_NLLLoss_no_reduce_ignore_index, test/test_nn.py::TestNN::test_NLLLoss_no_reduce_weights_ignore_index, test/test_nn.py::TestNN::test_NLLLoss_no_reduce_weights_ignore_index_cuda, test/test_nn.py::TestNN::test_NLLLoss_no_reduce_weights_ignore_index_neg_cuda, test/test_nn.py::TestNN::test_PReLU_no_batch_dim, test/test_nn.py::TestNN::test_PReLU_no_batch_dim_cuda, test/test_nn.py::TestNN::test_PairwiseDistance, test/test_nn.py::TestNN::test_PairwiseDistance_with_non_default_args_cuda, test/test_nn.py::TestNN::test_ParameterDict, test/test_nn.py::TestNN::test_ParameterList, test/test_nn.py::TestNN::test_ParameterList_meta, test/test_nn.py::TestNN::test_PixelShuffle_cuda, test/test_nn.py::TestNN::test_PixelUnshuffle, test/test_nn.py::TestNN::test_PixelUnshuffle_cuda, test/test_nn.py::TestNN::test_PoissonNLLLoss_no_batch_dim_mean, test/test_nn.py::TestNN::test_PoissonNLLLoss_no_batch_dim_mean_cuda_double, test/test_nn.py::TestNN::test_PoissonNLLLoss_no_batch_dim_sum, test/test_nn.py::TestNN::test_PoissonNLLLoss_no_batch_dim_sum_cuda_double, test/test_nn.py::TestNN::test_PoissonNLLLoss_no_batch_dim_sum_cuda_float, test/test_nn.py::TestNN::test_PoissonNLLLoss_no_batch_dim_sum_cuda_half, test/test_nn.py::TestNN::test_PoissonNLLLoss_no_reduce, test/test_nn.py::TestNN::test_RNN_cell_forward_zero_hidden_size, test/test_nn.py::TestNN::test_RNN_cell_no_broadcasting, test/test_nn.py::TestNN::test_RNN_dropout_state, test/test_nn.py::TestNN::test_RReLU_cuda, test/test_nn.py::TestNN::test_RReLU_no_batch_dim, test/test_nn.py::TestNN::test_RReLU_no_batch_dim_cuda, test/test_nn.py::TestNN::test_RReLU_with_up_down_cuda, test/test_nn.py::TestNN::test_RReLU_with_up_down_scalar, test/test_nn.py::TestNN::test_ReLU_no_batch_dim_cuda, test/test_nn.py::TestNN::test_ReplicationPad3d_complex_cuda, test/test_nn.py::TestNN::test_ReplicationPad3d_cuda, test/test_nn.py::TestNN::test_ReplicationPad3d_no_batch_dim_cuda, test/test_nn.py::TestNN::test_SELU_no_batch_dim_cuda, test/test_nn.py::TestNN::test_Sequential_extend, test/test_nn.py::TestNN::test_Sequential_getitem, test/test_nn.py::TestNN::test_Sequential_iadd, test/test_nn.py::TestNN::test_Sequential_rmul, test/test_nn.py::TestNN::test_SiLU_no_batch_dim_cuda, test/test_nn.py::TestNN::test_Sigmoid_no_batch_dim_cuda, test/test_nn.py::TestNN::test_SmoothL1Loss_beta, test/test_nn.py::TestNN::test_SmoothL1Loss_beta_cuda, test/test_nn.py::TestNN::test_SmoothL1Loss_no_batch_dim_mean_cuda_double, test/test_nn.py::TestNN::test_SmoothL1Loss_no_batch_dim_mean_cuda_float, test/test_nn.py::TestNN::test_SmoothL1Loss_no_batch_dim_mean_cuda_half, test/test_nn.py::TestNN::test_SmoothL1Loss_no_batch_dim_none, test/test_nn.py::TestNN::test_SmoothL1Loss_no_batch_dim_sum_cuda_double, test/test_nn.py::TestNN::test_SmoothL1Loss_no_reduce, test/test_nn.py::TestNN::test_SmoothL1Loss_no_reduce_cuda, test/test_nn.py::TestNN::test_SmoothL1Loss_no_reduce_scalar_cuda, test/test_nn.py::TestNN::test_SmoothL1Loss_zero_beta_cuda, test/test_nn.py::TestNN::test_SoftMarginLoss_no_batch_dim_mean_cuda_double, test/test_nn.py::TestNN::test_SoftMarginLoss_no_batch_dim_mean_cuda_float, test/test_nn.py::TestNN::test_SoftMarginLoss_no_batch_dim_sum_cuda_float, test/test_nn.py::TestNN::test_SoftMarginLoss_no_reduce_cuda, test/test_nn.py::TestNN::test_Softplus_no_batch_dim_cuda, test/test_nn.py::TestNN::test_Softshrink_no_batch_dim, test/test_nn.py::TestNN::test_Softsign_no_batch_dim_cuda, test/test_nn.py::TestNN::test_Tanhshrink_no_batch_dim_cuda, test/test_nn.py::TestNN::test_TransformerDecoderLayer_relu_activation_cuda, test/test_nn.py::TestNN::test_TransformerEncoderLayer_gelu_activation, test/test_nn.py::TestNN::test_TransformerEncoderLayer_relu_activation_cuda, test/test_nn.py::TestNN::test_Transformer_cell, test/test_nn.py::TestNN::test_Transformer_multilayer_coder, test/test_nn.py::TestNN::test_Transformer_multilayer_coder_cuda, test/test_nn.py::TestNN::test_TripletMarginLoss_no_batch_dim_mean, test/test_nn.py::TestNN::test_TripletMarginLoss_no_batch_dim_mean_cuda_double, test/test_nn.py::TestNN::test_TripletMarginLoss_no_batch_dim_mean_cuda_half, test/test_nn.py::TestNN::test_TripletMarginLoss_no_batch_dim_none_cuda_float, test/test_nn.py::TestNN::test_TripletMarginLoss_no_batch_dim_none_cuda_half, test/test_nn.py::TestNN::test_TripletMarginLoss_no_batch_dim_sum, test/test_nn.py::TestNN::test_TripletMarginLoss_no_batch_dim_sum_cuda_double, test/test_nn.py::TestNN::test_TripletMarginLoss_no_batch_dim_sum_cuda_float, test/test_nn.py::TestNN::test_Unfold, test/test_nn.py::TestNN::test_Unfold_cuda, test/test_nn.py::TestNN::test_add_module_raises_error_if_attr_exists, test/test_nn.py::TestNN::test_affine_grid_3d, test/test_nn.py::TestNN::test_affine_grid_backward_cl_cf_consistency_device_cpu_nd_2, test/test_nn.py::TestNN::test_affine_grid_error_checking, test/test_nn.py::TestNN::test_assignment, test/test_nn.py::TestNN::test_batch_norm_update_stats, test/test_nn.py::TestNN::test_batchnorm_buffer_update_when_stats_are_not_tracked, test/test_nn.py::TestNN::test_batchnorm_cudnn_half, test/test_nn.py::TestNN::test_batchnorm_cudnn_nhwc, test/test_nn.py::TestNN::test_batchnorm_load_state_dict, test/test_nn.py::TestNN::test_batchnorm_nhwc_cpu, test/test_nn.py::TestNN::test_batchnorm_nhwc_cuda, test/test_nn.py::TestNN::test_batchnorm_non_contig_cpu_BatchNorm2d, test/test_nn.py::TestNN::test_batchnorm_nonaffine_cuda_half_input, test/test_nn.py::TestNN::test_batchnorm_raises_error_if_bias_is_not_same_size_as_input, test/test_nn.py::TestNN::test_batchnorm_raises_error_if_less_than_one_value_per_channel, test/test_nn.py::TestNN::test_bce_with_logits_broadcasts_weights, test/test_nn.py::TestNN::test_bce_with_logits_gives_same_result_as_sigmoid_and_bce_loss, test/test_nn.py::TestNN::test_bce_with_logits_gives_same_result_as_sigmoid_and_bce_loss_large_tensors_with_grad, test/test_nn.py::TestNN::test_bce_with_logits_has_correct_forward_grad, test/test_nn.py::TestNN::test_bce_with_logits_ones_in_pos_weights_are_the_same_as_none, test/test_nn.py::TestNN::test_bce_with_logits_with_pos_weight_has_correct_grad_at_zero, test/test_nn.py::TestNN::test_bilinear, test/test_nn.py::TestNN::test_broadcast_double_backwards_gpu, test/test_nn.py::TestNN::test_broadcast_no_grad, test/test_nn.py::TestNN::test_buffer_bad_module_subclass, test/test_nn.py::TestNN::test_buffer_not_persistent_load, test/test_nn.py::TestNN::test_buffers_and_named_buffers, test/test_nn.py::TestNN::test_cosine_embedding_loss_margin_no_reduce, test/test_nn.py::TestNN::test_cosine_embedding_loss_no_reduce, test/test_nn.py::TestNN::test_cosine_embedding_loss_with_diff_type, test/test_nn.py::TestNN::test_cross_entropy_loss_precision, test/test_nn.py::TestNN::test_cudnn_rnn_dropout_states_device, test/test_nn.py::TestNN::test_cudnn_weight_tying, test/test_nn.py::TestNN::test_extra_state, test/test_nn.py::TestNN::test_extra_state_missing_set_extra_state, test/test_nn.py::TestNN::test_fb_fc_packed, test/test_nn.py::TestNN::test_flatten, test/test_nn.py::TestNN::test_fractional_max_pool2d_invalid_output_ratio, test/test_nn.py::TestNN::test_gaussian_nll_loss_args, test/test_nn.py::TestNN::test_gaussian_nll_loss_broadcasting, test/test_nn.py::TestNN::test_gaussian_nll_loss_scalar_var, test/test_nn.py::TestNN::test_get_buffer, test/test_nn.py::TestNN::test_grid_sample, test/test_nn.py::TestNN::test_grid_sample_3d, test/test_nn.py::TestNN::test_grid_sample_error_checking, test/test_nn.py::TestNN::test_hardtanh_backward, test/test_nn.py::TestNN::test_hardtanh_inplace_gradgrad, test/test_nn.py::TestNN::test_huber_loss_invalid_delta, test/test_nn.py::TestNN::test_inplace_thnn, test/test_nn.py::TestNN::test_interpolate_bicubic_2d_cuda, test/test_nn.py::TestNN::test_interpolate_bicubic_2d_zero_dim, test/test_nn.py::TestNN::test_interpolate_bicubic_scale_2d, test/test_nn.py::TestNN::test_interpolate_bicubic_scale_tuple_shared_2d, test/test_nn.py::TestNN::test_interpolate_bicubic_scale_tuple_shared_2d_cuda, test/test_nn.py::TestNN::test_interpolate_bicubic_scale_tuple_skewed_2d_align_corners, test/test_nn.py::TestNN::test_interpolate_bicubic_scale_tuple_skewed_2d_align_corners_cuda, test/test_nn.py::TestNN::test_interpolate_bicubic_scale_tuple_skewed_2d_cuda, test/test_nn.py::TestNN::test_interpolate_bicubic_tuple_2d, test/test_nn.py::TestNN::test_interpolate_bicubic_tuple_2d_align_corners, test/test_nn.py::TestNN::test_interpolate_bicubic_tuple_2d_align_corners_cuda, test/test_nn.py::TestNN::test_interpolate_bicubic_tuple_2d_cuda, test/test_nn.py::TestNN::test_interpolate_bilinear_2d, test/test_nn.py::TestNN::test_interpolate_bilinear_2d_cuda, test/test_nn.py::TestNN::test_interpolate_bilinear_2d_zero_dim, test/test_nn.py::TestNN::test_interpolate_bilinear_scale_tuple_skewed_2d_align_corners_cuda, test/test_nn.py::TestNN::test_interpolate_bilinear_scale_tuple_skewed_2d_cuda, test/test_nn.py::TestNN::test_interpolate_bilinear_tuple_2d_align_corners_cuda, test/test_nn.py::TestNN::test_interpolate_linear_1d_align_corners, test/test_nn.py::TestNN::test_interpolate_linear_1d_cuda, test/test_nn.py::TestNN::test_interpolate_linear_1d_zero_dim, test/test_nn.py::TestNN::test_interpolate_linear_1d_zero_dim_cuda, test/test_nn.py::TestNN::test_interpolate_linear_scale_1d_align_corners, test/test_nn.py::TestNN::test_interpolate_linear_scale_1d_align_corners_cuda, test/test_nn.py::TestNN::test_interpolate_linear_tuple_1d_cuda, test/test_nn.py::TestNN::test_interpolate_nearest_1d_cuda, test/test_nn.py::TestNN::test_interpolate_nearest_1d_zero_dim, test/test_nn.py::TestNN::test_interpolate_nearest_2d_launch_configs, test/test_nn.py::TestNN::test_interpolate_nearest_2d_launch_configs_cuda, test/test_nn.py::TestNN::test_interpolate_nearest_2d_zero_dim, test/test_nn.py::TestNN::test_interpolate_nearest_3d, test/test_nn.py::TestNN::test_interpolate_nearest_3d_cuda, test/test_nn.py::TestNN::test_interpolate_nearest_3d_zero_dim, test/test_nn.py::TestNN::test_interpolate_nearest_3d_zero_dim_cuda, test/test_nn.py::TestNN::test_interpolate_nearest_scale_1d_cuda, test/test_nn.py::TestNN::test_interpolate_nearest_scale_2d, test/test_nn.py::TestNN::test_interpolate_nearest_scale_2d_cuda, test/test_nn.py::TestNN::test_interpolate_nearest_scale_3d, test/test_nn.py::TestNN::test_interpolate_nearest_scale_3d_cuda, test/test_nn.py::TestNN::test_interpolate_nearest_tuple_1d, test/test_nn.py::TestNN::test_interpolate_nearest_tuple_1d_cuda, test/test_nn.py::TestNN::test_interpolate_nearest_tuple_2d, test/test_nn.py::TestNN::test_interpolate_nearest_tuple_3d_cuda, test/test_nn.py::TestNN::test_interpolate_trilinear_3d, test/test_nn.py::TestNN::test_interpolate_trilinear_3d_zero_dim_cuda, test/test_nn.py::TestNN::test_interpolate_trilinear_scale_3d_align_corners, test/test_nn.py::TestNN::test_interpolate_trilinear_tuple_3d_align_corners, test/test_nn.py::TestNN::test_interpolate_trilinear_tuple_3d_align_corners_cuda, test/test_nn.py::TestNN::test_interpolate_trilinear_tuple_3d_cuda, test/test_nn.py::TestNN::test_interpolate_undefined_behavior_casting, test/test_nn.py::TestNN::test_l1_loss_correct, test/test_nn.py::TestNN::test_layer_norm_grads_with_create_graph_flag, test/test_nn.py::TestNN::test_layer_norm_large_tensor, test/test_nn.py::TestNN::test_linear_autograd_device_cpu_bias_weightCSR, test/test_nn.py::TestNN::test_linear_autograd_device_cpu_nobias_weightCOO, test/test_nn.py::TestNN::test_linear_autograd_device_cpu_nobias_weightStrided, test/test_nn.py::TestNN::test_log_softmax_scalar, test/test_nn.py::TestNN::test_log_softmax_spatial_special_cuda, test/test_nn.py::TestNN::test_loss_equal_input_target_shape, test/test_nn.py::TestNN::test_margin_ranking_loss_no_reduce, test/test_nn.py::TestNN::test_module_backcompat, test/test_nn.py::TestNN::test_module_super_init, test/test_nn.py::TestNN::test_modules, test/test_nn.py::TestNN::test_multimarginloss_1d_input_0d_target_no_reduce, test/test_nn.py::TestNN::test_named_modules, test/test_nn.py::TestNN::test_named_parameters_remove_duplicate, test/test_nn.py::TestNN::test_nested_tensor_from_mask, test/test_nn.py::TestNN::test_overwrite_module_params_on_conversion, test/test_nn.py::TestNN::test_pack_sequence_batch_sizes_throw, test/test_nn.py::TestNN::test_padding_list, test/test_nn.py::TestNN::test_parameterlistdict_setting_attributes, test/test_nn.py::TestNN::test_pdist_empty_col, test/test_nn.py::TestNN::test_pickle_module_no_weights_only_warning, test/test_nn.py::TestNN::test_pixel_shuffle_nhwc_cpu, test/test_nn.py::TestNN::test_pixel_shuffle_unshuffle, test/test_nn.py::TestNN::test_pointwise_loss_broadcast, test/test_nn.py::TestNN::test_projections_errors_on_gru_and_rnn, test/test_nn.py::TestNN::test_projections_lstm_args_check, test/test_nn.py::TestNN::test_projections_lstm_initial_hidden_state, test/test_nn.py::TestNN::test_register_buffer_allows_overwriting_with_same_name, test/test_nn.py::TestNN::test_register_buffer_raises_error_if_attr_exists, test/test_nn.py::TestNN::test_register_parameter_raises_error_if_name_is_not_string, test/test_nn.py::TestNN::test_relu_inplace_on_view, test/test_nn.py::TestNN::test_rnn_check_device, test/test_nn.py::TestNN::test_rnn_initial_hidden_state, test/test_nn.py::TestNN::test_rnn_weight_norm, test/test_nn.py::TestNN::test_set_submodule, test/test_nn.py::TestNN::test_smoothl1loss_intergral_target, test/test_nn.py::TestNN::test_softmax_functional_dim0, test/test_nn.py::TestNN::test_softmax_functional_dim0_cuda, test/test_nn.py::TestNN::test_softmax_functional_dim3, test/test_nn.py::TestNN::test_softmax_lastdim, test/test_nn.py::TestNN::test_softmax_lastdim_dtype, test/test_nn.py::TestNN::test_softmax_spatial, test/test_nn.py::TestNN::test_softmax_spatial_dtype_cuda, test/test_nn.py::TestNN::test_softmax_spatial_special, test/test_nn.py::TestNN::test_softmin, test/test_nn.py::TestNN::test_spectral_norm, test/test_nn.py::TestNN::test_spectral_norm_dim, test/test_nn.py::TestNN::test_spectral_norm_forward, test/test_nn.py::TestNN::test_spectral_norm_load_state_dict, test/test_nn.py::TestNN::test_spectral_norm_pickle, test/test_nn.py::TestNN::test_state_dict, test/test_nn.py::TestNN::test_swap_module_params_poisons_acc_grad, test/test_nn.py::TestNN::test_to, test/test_nn.py::TestNN::test_transformer_args_check, test/test_nn.py::TestNN::test_transformerdecoderlayer_gelu, test/test_nn.py::TestNN::test_triplet_margin_loss_no_reduce, test/test_nn.py::TestNN::test_triplet_margin_loss_swap, test/test_nn.py::TestNN::test_type, test/test_nn.py::TestNN::test_unflatten, test/test_nn.py::TestNN::test_unfold_invalid_arg, test/test_nn.py::TestNN::test_upsamplingBilinear2d_spatial_invariance, test/test_nn.py::TestNN::test_upsamplingLinear1d_spatial_invariance, test/test_nn.py::TestNN::test_upsampling_bfloat16, test/test_nn.py::TestNN::test_upsampling_not_recompute_scale_factor, test/test_nn.py::TestNN::test_upsampling_small_scale, test/test_nn.py::TestNN::test_weighted_huber_loss, test/test_nn.py::TestNN::test_weighted_l1_loss_with_weights, test/test_nn.py::TestNN::test_weighted_mse_loss, test/test_nn.py::TestFusionEval::test_fuse_module_eval_numerics, test/test_nn.py::TestConstantPadNd::test_constant_pad_nd, test/test_nn.py::TestAddRelu::test_add_relu, test/test_nn.py::TestFunctionalPickle::test_pickle_softsign, test/test_nn.py::TestFusionUtils::test_fuse_linear_bn_requires_grad, test/test_nn.py::TestUtils::test_consume_prefix_in_state_dict_if_present, test/test_nn.py::TestNNDeviceTypeCPU::test_CTCLoss_no_batch_dim_reduction_mean_use_module_form_False_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_CTCLoss_no_batch_dim_reduction_none_use_module_form_True_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_CTCLoss_no_batch_dim_reduction_sum_use_module_form_False_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_CTCLoss_no_batch_dim_reduction_sum_use_module_form_True_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_GroupNorm_empty_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_GroupNorm_general_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_GroupNorm_memory_format_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_GroupNorm_numeric_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_InstanceNorm1d_general_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_InstanceNorm2d_general_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_InstanceNorm3d_general_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_LSTM_differentiable_backward_using_oneDNN_cpu_bfloat16, test/test_nn.py::TestNNDeviceTypeCPU::test_LSTM_grad_and_gradgrad_cpu_float64, test/test_nn.py::TestNNDeviceTypeCPU::test_LayerNorm_general_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_MarginLoss_empty_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_MarginLoss_warnings_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_ReflectionPad2d_large_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_ReflectionPad_empty_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_ReplicationPad2d_large_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_ReplicationPad_empty_cpu_complex128, test/test_nn.py::TestNNDeviceTypeCPU::test_TransformerEncoder_empty_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_Unfold_empty_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_activations_bfloat16_half_cpu_cpu_bfloat16, test/test_nn.py::TestNNDeviceTypeCPU::test_activations_bfloat16_half_cpu_cpu_float16, test/test_nn.py::TestNNDeviceTypeCPU::test_adaptiveavg_pool1d_shmem_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_affine_2d_rotate0_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_affine_3d_rotateRandom_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_avg_pool_large_tensor2_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_avg_pool_large_tensor_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_batchnorm_affine_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_batchnorm_affine_mixed_cpu_bfloat16, test/test_nn.py::TestNNDeviceTypeCPU::test_batchnorm_affine_mixed_cpu_float16, test/test_nn.py::TestNNDeviceTypeCPU::test_batchnorm_eval_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_batchnorm_eval_mixed_cpu_bfloat16, test/test_nn.py::TestNNDeviceTypeCPU::test_batchnorm_eval_mixed_cpu_float16, test/test_nn.py::TestNNDeviceTypeCPU::test_batchnorm_grad_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_batchnorm_simple_average_mixed_cpu_bfloat16, test/test_nn.py::TestNNDeviceTypeCPU::test_clip_grad_norm_foreach_False_norm_type_0_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_clip_grad_norm_foreach_False_norm_type_1_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_clip_grad_norm_foreach_False_norm_type_2_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_clip_grad_norm_foreach_False_norm_type_inf_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_clip_grad_norm_foreach_True_norm_type_0_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_clip_grad_norm_foreach_True_norm_type_2_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_clip_grad_norm_multi_device_foreach_True_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_clip_grad_value_foreach_False_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_clip_grad_value_foreach_True_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_conv_empty_input_cpu_bfloat16, test/test_nn.py::TestNNDeviceTypeCPU::test_conv_empty_input_cpu_complex128, test/test_nn.py::TestNNDeviceTypeCPU::test_cross_entropy_64bit_reduction_none_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_cross_entropy_label_smoothing_errors_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_cross_entropy_label_smoothing_weight_ignore_indices_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_cross_entropy_large_tensor_reduction_none_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_cross_entropy_large_tensor_reduction_sum_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_cross_entropy_loss_one_hot_target_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_cross_entropy_loss_prob_target_no_batch_dim_reduction_mean_weighted_True_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_cross_entropy_loss_prob_target_no_batch_dim_reduction_none_weighted_False_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_cross_entropy_loss_prob_target_no_batch_dim_reduction_sum_weighted_False_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_cross_entropy_loss_prob_target_no_batch_dim_reduction_sum_weighted_True_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_ctc_loss_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_ctc_loss_cudnn_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_elu_inplace_overlap_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_elu_inplace_with_neg_alpha_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_glu_bfloat16_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_grid_sample_nan_inf_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_groupnorm_nhwc_cpu_float16, test/test_nn.py::TestNNDeviceTypeCPU::test_groupnorm_nhwc_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_groupnorm_nhwc_cpu_float64, test/test_nn.py::TestNNDeviceTypeCPU::test_gumbel_softmax_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_gumbel_softmax_cpu_float64, test/test_nn.py::TestNNDeviceTypeCPU::test_hardswish_inplace_overlap_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_instancenorm_raises_error_for_single_spatial_element_during_training_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_instancenorm_raises_error_if_input_channels_is_not_num_features_InstanceNorm2d_no_batch_dim_False_affine_True_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_instancenorm_raises_error_if_input_channels_is_not_num_features_InstanceNorm3d_no_batch_dim_False_affine_False_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_instancenorm_raises_error_if_input_channels_is_not_num_features_InstanceNorm3d_no_batch_dim_False_affine_True_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_instancenorm_raises_error_if_input_channels_is_not_num_features_InstanceNorm3d_no_batch_dim_True_affine_False_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_instancenorm_raises_error_if_less_than_one_value_per_channel_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_invalid_reduction_strings_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_leaky_relu_inplace_overlap_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_leaky_relu_inplace_with_neg_slope_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_leaky_relu_inplace_with_zero_slope_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_linear_empty_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_log_softmax_big_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_log_softmax_cpu_cpu_bfloat16, test/test_nn.py::TestNNDeviceTypeCPU::test_masked_softmax_forward_with_nans_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_masked_softmax_transformer_layout_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_module_to_empty_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_module_to_empty_cpu_float64, test/test_nn.py::TestNNDeviceTypeCPU::test_nll_loss_byte_target_matches_long_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_nll_loss_invalid_weights_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_nll_loss_large_tensor_reduction_mean_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_nll_loss_large_tensor_reduction_none_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_nll_loss_out_of_bounds_ignore_index_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_nll_loss_total_weight_is_zero_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_nn_scalars_reductions_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_nonlinearity_propagate_nan_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_one_hot_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_overwrite_module_params_on_conversion_cpu_device_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_pad_cpu_complex128, test/test_nn.py::TestNNDeviceTypeCPU::test_prelu_backward_32bit_indexing_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_rmsnorm_numeric_cpu_float16, test/test_nn.py::TestNNDeviceTypeCPU::test_rnn_fused_cpu_float64, test/test_nn.py::TestNNDeviceTypeCPU::test_skip_init_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_smooth_l1_loss_vs_huber_loss_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_softmax_backward_unaligned_grad_output_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_softmax_cpu_cpu_bfloat16, test/test_nn.py::TestNNDeviceTypeCPU::test_softmax_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_softmax_double_cpu_float64, test/test_nn.py::TestNNDeviceTypeCPU::test_softmax_results_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_threshold_inplace_overlap_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_to_complex_cpu_complex128, test/test_nn.py::TestNNDeviceTypeCPU::test_to_complex_cpu_complex64, test/test_nn.py::TestNNDeviceTypeCPU::test_to_complex_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_transformerencoderlayer_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_transformerencoderlayer_fast_path_cpu_float64, test/test_nn.py::TestNNDeviceTypeCPU::test_triplet_margin_with_distance_loss_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_triplet_margin_with_distance_loss_default_parity_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiLinear2d_consistency_interp_size_bug_memory_format0_align_corners_False_input_size_403_output_size_377_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiLinear2d_consistency_interp_size_bug_memory_format1_align_corners_False_input_size_399_output_size_437_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiLinear2d_consistency_interp_size_bug_memory_format1_align_corners_True_input_size_399_output_size_437_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiLinear2d_consistency_interp_size_bug_memory_format1_align_corners_True_input_size_403_output_size_377_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_antialias_False_align_corners_False_mode_bicubic_memory_format0_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_antialias_False_align_corners_True_mode_bicubic_memory_format0_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_antialias_False_align_corners_True_mode_bilinear_memory_format0_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_antialias_True_align_corners_False_mode_bicubic_memory_format0_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_antialias_True_align_corners_False_mode_bilinear_memory_format1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_antialias_True_align_corners_True_mode_bicubic_memory_format1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_antialias_True_align_corners_True_mode_bilinear_memory_format1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_3_mode_bicubic_int32_cpu_int32, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_3_mode_bicubic_int64_cpu_int64, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_3_mode_bicubic_uint8_cpu_uint8, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_3_mode_bilinear_float32_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_3_mode_bilinear_int64_cpu_int64, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_3_mode_bilinear_int8_cpu_int8, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_3_mode_nearest-exact_float64_cpu_float64, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_3_mode_nearest-exact_int16_cpu_int16, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_3_mode_nearest-exact_int32_cpu_int32, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_3_mode_nearest-exact_int8_cpu_int8, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_3_mode_nearest_float32_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_3_mode_nearest_int16_cpu_int16, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_3_mode_nearest_int32_cpu_int32, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_3_mode_nearest_int64_cpu_int64, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_3_mode_nearest_uint8_cpu_uint8, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_5_mode_bicubic_float32_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_5_mode_bicubic_int32_cpu_int32, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_5_mode_bicubic_int8_cpu_int8, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_5_mode_bilinear_float32_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_5_mode_bilinear_int32_cpu_int32, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_5_mode_bilinear_int64_cpu_int64, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_5_mode_bilinear_uint8_cpu_uint8, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_5_mode_nearest-exact_float64_cpu_float64, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_5_mode_nearest-exact_int32_cpu_int32, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_5_mode_nearest-exact_int64_cpu_int64, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_5_mode_nearest_float32_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_5_mode_nearest_float64_cpu_float64, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_5_mode_nearest_int16_cpu_int16, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_5_mode_nearest_int32_cpu_int32, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_5_mode_nearest_uint8_cpu_uint8, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_3_mode_bicubic_float32_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_3_mode_bicubic_int16_cpu_int16, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_3_mode_bicubic_int32_cpu_int32, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_3_mode_bicubic_int8_cpu_int8, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_3_mode_bicubic_uint8_cpu_uint8, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_3_mode_bilinear_float64_cpu_float64, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_3_mode_bilinear_int16_cpu_int16, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_3_mode_bilinear_int64_cpu_int64, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_3_mode_bilinear_uint8_cpu_uint8, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_3_mode_nearest-exact_float32_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_3_mode_nearest-exact_int16_cpu_int16, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_3_mode_nearest-exact_uint8_cpu_uint8, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_3_mode_nearest_float32_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_3_mode_nearest_float64_cpu_float64, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_3_mode_nearest_int64_cpu_int64, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_3_mode_nearest_uint8_cpu_uint8, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_5_mode_bicubic_int16_cpu_int16, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_5_mode_bicubic_uint8_cpu_uint8, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_5_mode_bilinear_int16_cpu_int16, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_5_mode_bilinear_int8_cpu_int8, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_5_mode_nearest-exact_float32_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_5_mode_nearest-exact_int32_cpu_int32, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_5_mode_nearest-exact_uint8_cpu_uint8, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_5_mode_nearest_float32_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBicubic2d_correctness_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBilinear2d_aa_correctness_memory_format1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingNearest1d_correctness_isize_20_osize_11_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingNearest2d_correctness_memory_format0_isize_10_osize_15_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingNearest2d_correctness_memory_format1_isize_20_osize_11_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingNearest2d_launch_fail_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingNearest2d_launch_rocm_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingNearest2d_memory_format0_mode_nearest_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingNearest2d_memory_format1_mode_nearest-exact_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingNearest2d_memory_format1_mode_nearest_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingNearest3d_correctness_memory_format0_isize_10_osize_15_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingNearest3d_correctness_memory_format0_isize_20_osize_11_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingNearest3d_correctness_memory_format1_isize_10_osize_15_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingNearest3d_launch_config_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingNearestExact1d_correctness_isize_10_osize_15_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingNearestExact1d_correctness_isize_20_osize_11_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingNearestExact2d_correctness_memory_format0_isize_20_osize_11_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingNearestExact2d_correctness_memory_format1_isize_10_osize_15_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingNearestExact3d_correctness_memory_format0_isize_10_osize_15_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingNearestExact3d_correctness_memory_format0_isize_20_osize_11_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingNearestExact3d_correctness_memory_format1_isize_10_osize_15_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingNearestExact3d_correctness_memory_format1_isize_20_osize_11_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsampling_64bit_indexing_channels_last_cpu_float16, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingnearest2d_backward_64bit_indexing_cpu_float16, test/test_nn.py::TestNNDeviceTypeCPU::test_variable_sequence_cpu_float32 2025-03-14T05:06:39.6076611Z 2025-03-14T05:06:39.6076814Z Running test_nn 2/2 ... [2025-03-14 05:06:39.499867] 2025-03-14T05:06:39.6077213Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:06:39.6078220Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'test_nn.py', '--shard-id=2', '--num-shards=2', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:06:39.500185] 2025-03-14T05:12:39.0483314Z 2025-03-14T05:12:39.0484193Z test_nn 2/2 was successful, full logs can be found in artifacts with path test/test-reports/test_nn_2.2_8b01c7e4cae93d5a_.log 2025-03-14T05:12:39.1102629Z Running 1138 items in this shard: test/test_nn.py::TestNN::test_BCELoss_no_batch_dim_mean, test/test_nn.py::TestNN::test_BCELoss_no_batch_dim_mean_cuda_float, test/test_nn.py::TestNN::test_BCELoss_no_batch_dim_none_cuda_float, test/test_nn.py::TestNN::test_BCELoss_no_batch_dim_sum, test/test_nn.py::TestNN::test_BCELoss_no_batch_dim_sum_cuda_double, test/test_nn.py::TestNN::test_BCELoss_no_reduce, test/test_nn.py::TestNN::test_BCELoss_no_reduce_scalar, test/test_nn.py::TestNN::test_BCELoss_no_reduce_scalar_cuda, test/test_nn.py::TestNN::test_BCELoss_weights_no_reduce_scalar, test/test_nn.py::TestNN::test_BCEWithLogitsLoss_legacy_enum, test/test_nn.py::TestNN::test_BCEWithLogitsLoss_no_batch_dim_mean, test/test_nn.py::TestNN::test_BCEWithLogitsLoss_no_batch_dim_none, test/test_nn.py::TestNN::test_BCEWithLogitsLoss_no_batch_dim_none_cuda_double, test/test_nn.py::TestNN::test_BCEWithLogitsLoss_no_batch_dim_none_cuda_half, test/test_nn.py::TestNN::test_BCEWithLogitsLoss_no_batch_dim_sum, test/test_nn.py::TestNN::test_BCEWithLogitsLoss_no_batch_dim_sum_cuda_float, test/test_nn.py::TestNN::test_BCEWithLogitsLoss_no_batch_dim_sum_cuda_half, test/test_nn.py::TestNN::test_BCEWithLogitsLoss_no_reduce, test/test_nn.py::TestNN::test_BCEWithLogitsLoss_no_reduce_scalar, test/test_nn.py::TestNN::test_CTCLoss_critical_target_len, test/test_nn.py::TestNN::test_CTCLoss_lengthchecks_cpu, test/test_nn.py::TestNN::test_CTCLoss_lengthchecks_cuda, test/test_nn.py::TestNN::test_CTCLoss_long_targets, test/test_nn.py::TestNN::test_CTCLoss_typechecks, test/test_nn.py::TestNN::test_CTCLoss_zero_infinity, test/test_nn.py::TestNN::test_Conv1d_circular_stride2_pad2, test/test_nn.py::TestNN::test_Conv1d_cuda, test/test_nn.py::TestNN::test_Conv1d_groups, test/test_nn.py::TestNN::test_Conv1d_pad1size1, test/test_nn.py::TestNN::test_Conv1d_pad2, test/test_nn.py::TestNN::test_Conv1d_pad2size1, test/test_nn.py::TestNN::test_Conv1d_pad2size1_cuda, test/test_nn.py::TestNN::test_Conv1d_pad_same, test/test_nn.py::TestNN::test_Conv1d_pad_same2_cuda, test/test_nn.py::TestNN::test_Conv1d_pad_valid, test/test_nn.py::TestNN::test_Conv1d_reflect_stride2_pad2, test/test_nn.py::TestNN::test_Conv1d_reflect_stride2_pad2_cuda, test/test_nn.py::TestNN::test_Conv1d_replicate_stride2_pad2, test/test_nn.py::TestNN::test_Conv1d_stride_cuda, test/test_nn.py::TestNN::test_Conv1d_zero_batch, test/test_nn.py::TestNN::test_Conv1d_zeros_stride2_pad2_cuda, test/test_nn.py::TestNN::test_Conv2d, test/test_nn.py::TestNN::test_Conv2d_circular_stride2_pad2, test/test_nn.py::TestNN::test_Conv2d_depthwise_dilated_cuda, test/test_nn.py::TestNN::test_Conv2d_depthwise_padded, test/test_nn.py::TestNN::test_Conv2d_depthwise_with_multiplier, test/test_nn.py::TestNN::test_Conv2d_dilated_with_long_tensor_cuda, test/test_nn.py::TestNN::test_Conv2d_groups_thnn_with_long_tensor_cuda, test/test_nn.py::TestNN::test_Conv2d_groups_with_long_tensor_cuda, test/test_nn.py::TestNN::test_Conv2d_no_bias_cuda, test/test_nn.py::TestNN::test_Conv2d_no_bias_with_long_tensor_cuda, test/test_nn.py::TestNN::test_Conv2d_pad_same_dilated, test/test_nn.py::TestNN::test_Conv2d_pad_same_dilated_cuda, test/test_nn.py::TestNN::test_Conv2d_pad_valid, test/test_nn.py::TestNN::test_Conv2d_pad_valid_cuda, test/test_nn.py::TestNN::test_Conv2d_padding, test/test_nn.py::TestNN::test_Conv2d_padding_cuda, test/test_nn.py::TestNN::test_Conv2d_padding_with_long_tensor, test/test_nn.py::TestNN::test_Conv2d_padding_with_long_tensor_cuda, test/test_nn.py::TestNN::test_Conv2d_reflect_stride2_pad2_cuda, test/test_nn.py::TestNN::test_Conv2d_replicate_stride2_pad2, test/test_nn.py::TestNN::test_Conv2d_strided, test/test_nn.py::TestNN::test_Conv2d_strided_with_long_tensor, test/test_nn.py::TestNN::test_Conv2d_strided_with_long_tensor_cuda, test/test_nn.py::TestNN::test_Conv2d_with_long_tensor, test/test_nn.py::TestNN::test_Conv2d_zero_batch, test/test_nn.py::TestNN::test_Conv2d_zero_batch_cuda, test/test_nn.py::TestNN::test_Conv2d_zeros_stride2_pad2, test/test_nn.py::TestNN::test_Conv3d, test/test_nn.py::TestNN::test_Conv3d_1x1x1_no_bias, test/test_nn.py::TestNN::test_Conv3d_1x1x1_no_bias_with_long_tensor, test/test_nn.py::TestNN::test_Conv3d_1x1x1_no_bias_with_long_tensor_cuda, test/test_nn.py::TestNN::test_Conv3d_dilated, test/test_nn.py::TestNN::test_Conv3d_dilated_cuda, test/test_nn.py::TestNN::test_Conv3d_dilated_strided, test/test_nn.py::TestNN::test_Conv3d_groups, test/test_nn.py::TestNN::test_Conv3d_groups_with_long_tensor, test/test_nn.py::TestNN::test_Conv3d_no_bias, test/test_nn.py::TestNN::test_Conv3d_no_bias_with_long_tensor_cuda, test/test_nn.py::TestNN::test_Conv3d_pad_same_dilated, test/test_nn.py::TestNN::test_Conv3d_pad_same_dilated_cuda, test/test_nn.py::TestNN::test_Conv3d_replicate_stride2_pad2, test/test_nn.py::TestNN::test_Conv3d_stride_cuda, test/test_nn.py::TestNN::test_Conv3d_stride_padding_with_long_tensor, test/test_nn.py::TestNN::test_Conv3d_stride_with_long_tensor, test/test_nn.py::TestNN::test_Conv3d_stride_with_long_tensor_cuda, test/test_nn.py::TestNN::test_Conv3d_with_long_tensor_cuda, test/test_nn.py::TestNN::test_Conv3d_zero_batch_with_long_tensor, test/test_nn.py::TestNN::test_Conv3d_zero_batch_with_long_tensor_cuda, test/test_nn.py::TestNN::test_Conv3d_zeros_stride2_pad2, test/test_nn.py::TestNN::test_ConvTranspose1d_cuda, test/test_nn.py::TestNN::test_ConvTranspose1d_groups_cuda, test/test_nn.py::TestNN::test_ConvTranspose2d, test/test_nn.py::TestNN::test_ConvTranspose2d_dilated, test/test_nn.py::TestNN::test_ConvTranspose2d_dilated_with_long_tensor, test/test_nn.py::TestNN::test_ConvTranspose2d_dilated_with_long_tensor_cuda, test/test_nn.py::TestNN::test_ConvTranspose2d_no_bias_cuda, test/test_nn.py::TestNN::test_ConvTranspose2d_no_bias_with_long_tensor, test/test_nn.py::TestNN::test_ConvTranspose3d, test/test_nn.py::TestNN::test_ConvTranspose3d_dilated_cuda, test/test_nn.py::TestNN::test_CosineEmbeddingLoss_no_batch_dim_mean, test/test_nn.py::TestNN::test_CosineEmbeddingLoss_no_batch_dim_mean_cuda_double, test/test_nn.py::TestNN::test_CosineEmbeddingLoss_no_batch_dim_mean_cuda_half, test/test_nn.py::TestNN::test_CosineEmbeddingLoss_no_batch_dim_none_cuda_double, test/test_nn.py::TestNN::test_CosineEmbeddingLoss_no_batch_dim_none_cuda_half, test/test_nn.py::TestNN::test_CosineEmbeddingLoss_no_batch_dim_sum_cuda_double, test/test_nn.py::TestNN::test_CosineEmbeddingLoss_no_batch_dim_sum_cuda_half, test/test_nn.py::TestNN::test_CrossMapLRN2d_cuda, test/test_nn.py::TestNN::test_ELU_no_batch_dim, test/test_nn.py::TestNN::test_Embedding, test/test_nn.py::TestNN::test_EmbeddingBag_discontiguous, test/test_nn.py::TestNN::test_EmbeddingBag_max, test/test_nn.py::TestNN::test_EmbeddingBag_max_padding_idx, test/test_nn.py::TestNN::test_EmbeddingBag_max_padding_idx_cuda, test/test_nn.py::TestNN::test_EmbeddingBag_mean_padding_idx_cuda, test/test_nn.py::TestNN::test_EmbeddingBag_sum_cuda, test/test_nn.py::TestNN::test_EmbeddingBag_sum_padding_idx, test/test_nn.py::TestNN::test_EmbeddingBag_sum_padding_idx_cuda, test/test_nn.py::TestNN::test_Embedding_cuda, test/test_nn.py::TestNN::test_Embedding_sparse_cuda, test/test_nn.py::TestNN::test_Flatten, test/test_nn.py::TestNN::test_Flatten_no_batch_dim, test/test_nn.py::TestNN::test_Flatten_no_batch_dim_cuda, test/test_nn.py::TestNN::test_Fold, test/test_nn.py::TestNN::test_Fold_int_input, test/test_nn.py::TestNN::test_Fold_int_input_cuda, test/test_nn.py::TestNN::test_Fold_no_batch_dim_input_cuda, test/test_nn.py::TestNN::test_GELU_no_batch_dim, test/test_nn.py::TestNN::test_GLU_no_batch_dim, test/test_nn.py::TestNN::test_GLU_no_batch_dim_cuda, test/test_nn.py::TestNN::test_Hardshrink_no_batch_dim, test/test_nn.py::TestNN::test_Hardsigmoid_no_batch_dim, test/test_nn.py::TestNN::test_Hardsigmoid_no_batch_dim_cuda, test/test_nn.py::TestNN::test_Hardswish_no_batch_dim_cuda, test/test_nn.py::TestNN::test_Hardtanh_no_batch_dim, test/test_nn.py::TestNN::test_Hardtanh_no_batch_dim_cuda, test/test_nn.py::TestNN::test_HingeEmbeddingLoss_margin_no_reduce, test/test_nn.py::TestNN::test_HingeEmbeddingLoss_margin_no_reduce_cuda, test/test_nn.py::TestNN::test_HingeEmbeddingLoss_no_batch_dim_mean, test/test_nn.py::TestNN::test_HingeEmbeddingLoss_no_batch_dim_mean_cuda_double, test/test_nn.py::TestNN::test_HingeEmbeddingLoss_no_batch_dim_mean_cuda_half, test/test_nn.py::TestNN::test_HingeEmbeddingLoss_no_batch_dim_none_cuda_double, test/test_nn.py::TestNN::test_HingeEmbeddingLoss_no_batch_dim_none_cuda_float, test/test_nn.py::TestNN::test_HingeEmbeddingLoss_no_batch_dim_none_cuda_half, test/test_nn.py::TestNN::test_HingeEmbeddingLoss_no_batch_dim_sum_cuda_float, test/test_nn.py::TestNN::test_HingeEmbeddingLoss_no_batch_dim_sum_cuda_half, test/test_nn.py::TestNN::test_HingeEmbeddingLoss_no_reduce, test/test_nn.py::TestNN::test_HingeEmbeddingLoss_no_reduce_cuda, test/test_nn.py::TestNN::test_HuberLoss_delta, test/test_nn.py::TestNN::test_HuberLoss_delta_cuda, test/test_nn.py::TestNN::test_HuberLoss_no_batch_dim_mean_cuda_double, test/test_nn.py::TestNN::test_HuberLoss_no_batch_dim_sum_cuda_double, test/test_nn.py::TestNN::test_HuberLoss_no_batch_dim_sum_cuda_float, test/test_nn.py::TestNN::test_HuberLoss_no_batch_dim_sum_cuda_half, test/test_nn.py::TestNN::test_KLDivLoss_no_batch_dim_mean, test/test_nn.py::TestNN::test_KLDivLoss_no_batch_dim_mean_cuda_half, test/test_nn.py::TestNN::test_KLDivLoss_no_batch_dim_none_cuda_float, test/test_nn.py::TestNN::test_KLDivLoss_no_batch_dim_sum, test/test_nn.py::TestNN::test_KLDivLoss_no_batch_dim_sum_cuda_double, test/test_nn.py::TestNN::test_KLDivLoss_no_batch_dim_sum_cuda_half, test/test_nn.py::TestNN::test_KLDivLoss_no_reduce, test/test_nn.py::TestNN::test_KLDivLoss_no_reduce_log_target, test/test_nn.py::TestNN::test_KLDivLoss_no_reduce_log_target_cuda, test/test_nn.py::TestNN::test_KLDivLoss_no_reduce_scalar_cuda, test/test_nn.py::TestNN::test_KLDivLoss_with_log_target_no_reduce_cuda, test/test_nn.py::TestNN::test_L1Loss_no_batch_dim_mean_cuda_double, test/test_nn.py::TestNN::test_L1Loss_no_batch_dim_mean_cuda_half, test/test_nn.py::TestNN::test_L1Loss_no_batch_dim_none_cuda_float, test/test_nn.py::TestNN::test_L1Loss_no_batch_dim_sum_cuda_float, test/test_nn.py::TestNN::test_L1Loss_no_batch_dim_sum_cuda_half, test/test_nn.py::TestNN::test_L1Loss_no_reduce_complex, test/test_nn.py::TestNN::test_L1Loss_no_reduce_cuda, test/test_nn.py::TestNN::test_L1Loss_no_reduce_scalar_cuda, test/test_nn.py::TestNN::test_LSTM_cell_forward_hidden_size, test/test_nn.py::TestNN::test_LayerNorm_3d_no_affine_large_feature, test/test_nn.py::TestNN::test_LayerNorm_3d_no_affine_large_feature_eval, test/test_nn.py::TestNN::test_LayerNorm_3d_no_affine_large_feature_eval_cuda, test/test_nn.py::TestNN::test_LeakyReLU_no_batch_dim, test/test_nn.py::TestNN::test_Linear, test/test_nn.py::TestNN::test_Linear_cuda, test/test_nn.py::TestNN::test_Linear_no_batch_dim, test/test_nn.py::TestNN::test_Linear_no_batch_dim_cuda, test/test_nn.py::TestNN::test_Linear_no_bias, test/test_nn.py::TestNN::test_LogSigmoid_no_batch_dim, test/test_nn.py::TestNN::test_MSELoss_no_batch_dim_mean_cuda_float, test/test_nn.py::TestNN::test_MSELoss_no_batch_dim_none_cuda_float, test/test_nn.py::TestNN::test_MSELoss_no_batch_dim_none_cuda_half, test/test_nn.py::TestNN::test_MSELoss_no_batch_dim_sum_cuda_double, test/test_nn.py::TestNN::test_MSELoss_no_batch_dim_sum_cuda_float, test/test_nn.py::TestNN::test_MSELoss_no_batch_dim_sum_cuda_half, test/test_nn.py::TestNN::test_MSELoss_no_reduce_cuda, test/test_nn.py::TestNN::test_MSELoss_no_reduce_scalar, test/test_nn.py::TestNN::test_MSELoss_no_reduce_scalar_cuda, test/test_nn.py::TestNN::test_MarginRankingLoss_no_batch_dim_mean_cuda_double, test/test_nn.py::TestNN::test_MarginRankingLoss_no_batch_dim_mean_cuda_float, test/test_nn.py::TestNN::test_MarginRankingLoss_no_batch_dim_none, test/test_nn.py::TestNN::test_MarginRankingLoss_no_batch_dim_none_cuda_float, test/test_nn.py::TestNN::test_MarginRankingLoss_no_batch_dim_sum, test/test_nn.py::TestNN::test_MarginRankingLoss_no_batch_dim_sum_cuda_double, test/test_nn.py::TestNN::test_MarginRankingLoss_no_batch_dim_sum_cuda_float, test/test_nn.py::TestNN::test_MaxUnpool1d_net, test/test_nn.py::TestNN::test_MaxUnpool2d_net, test/test_nn.py::TestNN::test_MaxUnpool2d_net_no_batch_dim_cuda, test/test_nn.py::TestNN::test_MaxUnpool3d_net_no_batch_dim, test/test_nn.py::TestNN::test_Mish_no_batch_dim, test/test_nn.py::TestNN::test_ModuleDict, test/test_nn.py::TestNN::test_MultiLabelMarginLoss_0d_no_reduce, test/test_nn.py::TestNN::test_MultiLabelMarginLoss_0d_no_reduce_cuda, test/test_nn.py::TestNN::test_MultiLabelMarginLoss_1d_no_reduce_cuda, test/test_nn.py::TestNN::test_MultiLabelMarginLoss_index_neg, test/test_nn.py::TestNN::test_MultiLabelMarginLoss_no_batch_dim_mean, test/test_nn.py::TestNN::test_MultiLabelMarginLoss_no_batch_dim_mean_cuda_double, test/test_nn.py::TestNN::test_MultiLabelMarginLoss_no_batch_dim_mean_cuda_float, test/test_nn.py::TestNN::test_MultiLabelMarginLoss_no_batch_dim_none, test/test_nn.py::TestNN::test_MultiLabelMarginLoss_no_batch_dim_sum, test/test_nn.py::TestNN::test_MultiLabelMarginLoss_no_batch_dim_sum_cuda_float, test/test_nn.py::TestNN::test_MultiLabelSoftMarginLoss_no_batch_dim_mean_cuda_float, test/test_nn.py::TestNN::test_MultiLabelSoftMarginLoss_no_batch_dim_mean_cuda_half, test/test_nn.py::TestNN::test_MultiLabelSoftMarginLoss_no_batch_dim_none_cuda_float, test/test_nn.py::TestNN::test_MultiLabelSoftMarginLoss_no_batch_dim_sum, test/test_nn.py::TestNN::test_MultiLabelSoftMarginLoss_no_batch_dim_sum_cuda_double, test/test_nn.py::TestNN::test_MultiLabelSoftMarginLoss_no_batch_dim_sum_cuda_half, test/test_nn.py::TestNN::test_MultiMarginLoss_1d_no_reduce_cuda, test/test_nn.py::TestNN::test_MultiMarginLoss_margin_no_reduce_cuda, test/test_nn.py::TestNN::test_MultiMarginLoss_no_reduce, test/test_nn.py::TestNN::test_MultiMarginLoss_no_reduce_cuda, test/test_nn.py::TestNN::test_MultiMarginLoss_p_no_reduce, test/test_nn.py::TestNN::test_MultiMarginLoss_p_no_reduce_cuda, test/test_nn.py::TestNN::test_NLLLoss2d_no_reduce, test/test_nn.py::TestNN::test_NLLLoss2d_no_reduce_ignore_index, test/test_nn.py::TestNN::test_NLLLoss2d_no_reduce_ignore_index_cuda, test/test_nn.py::TestNN::test_NLLLoss2d_no_reduce_weights_cuda, test/test_nn.py::TestNN::test_NLLLossNd_no_reduce, test/test_nn.py::TestNN::test_NLLLossNd_no_reduce_cuda, test/test_nn.py::TestNN::test_NLLLossNd_no_reduce_ignore_index_cuda, test/test_nn.py::TestNN::test_NLLLossNd_no_reduce_weights_cuda, test/test_nn.py::TestNN::test_NLLLoss_no_batch_dim_none, test/test_nn.py::TestNN::test_NLLLoss_no_batch_dim_none_cuda_float, test/test_nn.py::TestNN::test_NLLLoss_no_batch_dim_none_cuda_half, test/test_nn.py::TestNN::test_NLLLoss_no_batch_dim_sum, test/test_nn.py::TestNN::test_NLLLoss_no_batch_dim_sum_cuda_double, test/test_nn.py::TestNN::test_NLLLoss_no_batch_dim_sum_cuda_float, test/test_nn.py::TestNN::test_NLLLoss_no_batch_dim_sum_cuda_half, test/test_nn.py::TestNN::test_NLLLoss_no_reduce_ignore_index_cuda, test/test_nn.py::TestNN::test_NLLLoss_no_reduce_weights, test/test_nn.py::TestNN::test_NLLLoss_no_reduce_weights_cuda, test/test_nn.py::TestNN::test_NLLLoss_no_reduce_weights_ignore_index_neg, test/test_nn.py::TestNN::test_PReLU_backward_requires_grad_false, test/test_nn.py::TestNN::test_PairwiseDistance_broadcast_lhs, test/test_nn.py::TestNN::test_PairwiseDistance_broadcast_lhs_cuda, test/test_nn.py::TestNN::test_PairwiseDistance_broadcast_rhs, test/test_nn.py::TestNN::test_PairwiseDistance_broadcast_rhs_cuda, test/test_nn.py::TestNN::test_PairwiseDistance_cuda, test/test_nn.py::TestNN::test_PairwiseDistance_no_batch_dim, test/test_nn.py::TestNN::test_PairwiseDistance_no_batch_dim_cuda, test/test_nn.py::TestNN::test_PairwiseDistance_with_non_default_args, test/test_nn.py::TestNN::test_ParameterDict_replication, test/test_nn.py::TestNN::test_ParameterList_replication, test/test_nn.py::TestNN::test_PixelShuffle, test/test_nn.py::TestNN::test_PoissonNLLLoss_no_batch_dim_mean_cuda_float, test/test_nn.py::TestNN::test_PoissonNLLLoss_no_batch_dim_mean_cuda_half, test/test_nn.py::TestNN::test_PoissonNLLLoss_no_batch_dim_none, test/test_nn.py::TestNN::test_PoissonNLLLoss_no_batch_dim_none_cuda_double, test/test_nn.py::TestNN::test_PoissonNLLLoss_no_batch_dim_none_cuda_float, test/test_nn.py::TestNN::test_PoissonNLLLoss_no_batch_dim_none_cuda_half, test/test_nn.py::TestNN::test_PoissonNLLLoss_no_reduce_cuda, test/test_nn.py::TestNN::test_RNN_cell, test/test_nn.py::TestNN::test_RNN_change_dropout, test/test_nn.py::TestNN::test_RNN_cpu_vs_cudnn_no_dropout, test/test_nn.py::TestNN::test_RNN_cpu_vs_cudnn_with_dropout, test/test_nn.py::TestNN::test_RNN_cudnn_weight_norm, test/test_nn.py::TestNN::test_RNN_dropout, test/test_nn.py::TestNN::test_RNN_input_size_zero, test/test_nn.py::TestNN::test_RNN_nonlinearity, test/test_nn.py::TestNN::test_RNN_nonlinearity_passed_as_arg, test/test_nn.py::TestNN::test_RReLU, test/test_nn.py::TestNN::test_RReLU_with_up_down, test/test_nn.py::TestNN::test_RReLU_with_up_down_scalar_cuda, test/test_nn.py::TestNN::test_ReLU6_no_batch_dim, test/test_nn.py::TestNN::test_ReLU6_no_batch_dim_cuda, test/test_nn.py::TestNN::test_ReLU_no_batch_dim, test/test_nn.py::TestNN::test_ReplicationPad3d, test/test_nn.py::TestNN::test_ReplicationPad3d_complex, test/test_nn.py::TestNN::test_ReplicationPad3d_no_batch_dim, test/test_nn.py::TestNN::test_SELU_no_batch_dim, test/test_nn.py::TestNN::test_Sequential_add, test/test_nn.py::TestNN::test_Sequential_append, test/test_nn.py::TestNN::test_Sequential_delitem, test/test_nn.py::TestNN::test_Sequential_imul, test/test_nn.py::TestNN::test_Sequential_insert, test/test_nn.py::TestNN::test_Sequential_insert_fail_case, test/test_nn.py::TestNN::test_Sequential_mul, test/test_nn.py::TestNN::test_Sequential_pop, test/test_nn.py::TestNN::test_Sequential_setitem, test/test_nn.py::TestNN::test_Sequential_setitem_named, test/test_nn.py::TestNN::test_SiLU_no_batch_dim, test/test_nn.py::TestNN::test_Sigmoid_no_batch_dim, test/test_nn.py::TestNN::test_SmoothL1Loss_no_batch_dim_mean, test/test_nn.py::TestNN::test_SmoothL1Loss_no_batch_dim_none_cuda_double, test/test_nn.py::TestNN::test_SmoothL1Loss_no_batch_dim_none_cuda_float, test/test_nn.py::TestNN::test_SmoothL1Loss_no_batch_dim_none_cuda_half, test/test_nn.py::TestNN::test_SmoothL1Loss_no_batch_dim_sum, test/test_nn.py::TestNN::test_SmoothL1Loss_no_batch_dim_sum_cuda_float, test/test_nn.py::TestNN::test_SmoothL1Loss_no_batch_dim_sum_cuda_half, test/test_nn.py::TestNN::test_SmoothL1Loss_no_reduce_scalar, test/test_nn.py::TestNN::test_SmoothL1Loss_zero_beta, test/test_nn.py::TestNN::test_SoftMarginLoss_no_batch_dim_mean, test/test_nn.py::TestNN::test_SoftMarginLoss_no_batch_dim_mean_cuda_half, test/test_nn.py::TestNN::test_SoftMarginLoss_no_batch_dim_none, test/test_nn.py::TestNN::test_SoftMarginLoss_no_batch_dim_none_cuda_double, test/test_nn.py::TestNN::test_SoftMarginLoss_no_batch_dim_none_cuda_float, test/test_nn.py::TestNN::test_SoftMarginLoss_no_batch_dim_none_cuda_half, test/test_nn.py::TestNN::test_SoftMarginLoss_no_batch_dim_sum, test/test_nn.py::TestNN::test_SoftMarginLoss_no_batch_dim_sum_cuda_double, test/test_nn.py::TestNN::test_SoftMarginLoss_no_batch_dim_sum_cuda_half, test/test_nn.py::TestNN::test_SoftMarginLoss_no_reduce, test/test_nn.py::TestNN::test_Softplus_no_batch_dim, test/test_nn.py::TestNN::test_Softshrink_no_batch_dim_cuda, test/test_nn.py::TestNN::test_Softsign_no_batch_dim, test/test_nn.py::TestNN::test_Tanh_no_batch_dim, test/test_nn.py::TestNN::test_Tanh_no_batch_dim_cuda, test/test_nn.py::TestNN::test_Tanhshrink_no_batch_dim, test/test_nn.py::TestNN::test_Threshold_no_batch_dim, test/test_nn.py::TestNN::test_Threshold_no_batch_dim_cuda, test/test_nn.py::TestNN::test_TransformerDecoderLayer_gelu_activation, test/test_nn.py::TestNN::test_TransformerDecoderLayer_gelu_activation_cuda, test/test_nn.py::TestNN::test_TransformerDecoderLayer_relu_activation, test/test_nn.py::TestNN::test_TransformerEncoderLayer_gelu_activation_cuda, test/test_nn.py::TestNN::test_TransformerEncoderLayer_relu_activation, test/test_nn.py::TestNN::test_TripletMarginLoss_no_batch_dim_mean_cuda_float, test/test_nn.py::TestNN::test_TripletMarginLoss_no_batch_dim_none, test/test_nn.py::TestNN::test_TripletMarginLoss_no_batch_dim_none_cuda_double, test/test_nn.py::TestNN::test_TripletMarginLoss_no_batch_dim_sum_cuda_half, test/test_nn.py::TestNN::test_Unflatten_no_batch_dim, test/test_nn.py::TestNN::test_Unflatten_no_batch_dim_cuda, test/test_nn.py::TestNN::test_Unfold_int_input, test/test_nn.py::TestNN::test_Unfold_int_input_cuda, test/test_nn.py::TestNN::test_adaptive_log_softmax, test/test_nn.py::TestNN::test_add_module, test/test_nn.py::TestNN::test_affine_grid, test/test_nn.py::TestNN::test_affine_grid_backward_cl_cf_consistency_device_cpu_nd_3, test/test_nn.py::TestNN::test_batchnorm_half_overflow, test/test_nn.py::TestNN::test_batchnorm_non_contig_cpu_SyncBatchNorm, test/test_nn.py::TestNN::test_batchnorm_raises_error_if_running_mean_is_not_same_size_as_input, test/test_nn.py::TestNN::test_batchnorm_raises_error_if_running_var_is_not_same_size_as_input, test/test_nn.py::TestNN::test_batchnorm_raises_error_if_running_var_or_running_mean_have_forward_grad, test/test_nn.py::TestNN::test_batchnorm_raises_error_if_weight_is_not_same_size_as_input, test/test_nn.py::TestNN::test_bce_loss_always_nonnegative, test/test_nn.py::TestNN::test_bce_loss_broadcasts_weights, test/test_nn.py::TestNN::test_bce_loss_input_range, test/test_nn.py::TestNN::test_bce_loss_size_mismatch, test/test_nn.py::TestNN::test_bce_with_logits_broadcasts_pos_weights, test/test_nn.py::TestNN::test_bce_with_logits_has_correct_grad_at_zero, test/test_nn.py::TestNN::test_bce_with_logits_raises_if_target_and_input_are_different_size, test/test_nn.py::TestNN::test_bce_with_logits_stability, test/test_nn.py::TestNN::test_bilinear_broadcasting, test/test_nn.py::TestNN::test_bilinear_no_bias, test/test_nn.py::TestNN::test_bilinear_non_contiguous, test/test_nn.py::TestNN::test_broadcast_not_requiring_grad, test/test_nn.py::TestNN::test_buffer_not_persistent, test/test_nn.py::TestNN::test_buffer_not_persistent_assign, test/test_nn.py::TestNN::test_buffer_not_persistent_del, test/test_nn.py::TestNN::test_buffer_not_persistent_overwrite, test/test_nn.py::TestNN::test_call_supports_python_dict_output, test/test_nn.py::TestNN::test_channel_shuffle_return_alias_of_self, test/test_nn.py::TestNN::test_children, test/test_nn.py::TestNN::test_container_copy, test/test_nn.py::TestNN::test_convert_sync_batchnorm, test/test_nn.py::TestNN::test_cosine_embedding_loss_error_on_diff_shapes, test/test_nn.py::TestNN::test_cosine_embedding_loss_error_on_nonexpandable_shapes, test/test_nn.py::TestNN::test_cosine_embedding_loss_invalid_shape, test/test_nn.py::TestNN::test_cosine_similarity, test/test_nn.py::TestNN::test_cross_entropy_loss, test/test_nn.py::TestNN::test_cross_entropy_loss_zero_div, test/test_nn.py::TestNN::test_cudnn_forward_exception, test/test_nn.py::TestNN::test_cudnn_weight_format, test/test_nn.py::TestNN::test_dir, test/test_nn.py::TestNN::test_dir_digit, test/test_nn.py::TestNN::test_elu_inplace_gradgrad, test/test_nn.py::TestNN::test_elu_inplace_on_view, test/test_nn.py::TestNN::test_error_RNN_seq_len_zero, test/test_nn.py::TestNN::test_extra_state_missing_get_extra_state, test/test_nn.py::TestNN::test_extra_state_non_dict, test/test_nn.py::TestNN::test_fold_invalid_arg, test/test_nn.py::TestNN::test_get_buffer_from_submodules, test/test_nn.py::TestNN::test_getattr_with_property, test/test_nn.py::TestNN::test_grid_sample_nearest_neighbor_rounding_mode_consistency, test/test_nn.py::TestNN::test_interpolate, test/test_nn.py::TestNN::test_interpolate_bicubic_2d, test/test_nn.py::TestNN::test_interpolate_bicubic_2d_zero_dim_cuda, test/test_nn.py::TestNN::test_interpolate_bicubic_scale_2d_cuda, test/test_nn.py::TestNN::test_interpolate_bicubic_scale_tuple_skewed_2d, test/test_nn.py::TestNN::test_interpolate_bilinear_2d_zero_dim_cuda, test/test_nn.py::TestNN::test_interpolate_bilinear_scale_2d, test/test_nn.py::TestNN::test_interpolate_bilinear_scale_2d_cuda, test/test_nn.py::TestNN::test_interpolate_bilinear_scale_tuple_shared_2d, test/test_nn.py::TestNN::test_interpolate_bilinear_scale_tuple_shared_2d_cuda, test/test_nn.py::TestNN::test_interpolate_bilinear_scale_tuple_skewed_2d, test/test_nn.py::TestNN::test_interpolate_bilinear_scale_tuple_skewed_2d_align_corners, test/test_nn.py::TestNN::test_interpolate_bilinear_tuple_2d, test/test_nn.py::TestNN::test_interpolate_bilinear_tuple_2d_align_corners, test/test_nn.py::TestNN::test_interpolate_bilinear_tuple_2d_cuda, test/test_nn.py::TestNN::test_interpolate_buffer_overflow, test/test_nn.py::TestNN::test_interpolate_illegal_memory_access, test/test_nn.py::TestNN::test_interpolate_linear_1d, test/test_nn.py::TestNN::test_interpolate_linear_1d_align_corners_cuda, test/test_nn.py::TestNN::test_interpolate_linear_scale_1d, test/test_nn.py::TestNN::test_interpolate_linear_scale_1d_cuda, test/test_nn.py::TestNN::test_interpolate_linear_tuple_1d, test/test_nn.py::TestNN::test_interpolate_nearest_1d, test/test_nn.py::TestNN::test_interpolate_nearest_1d_zero_dim_cuda, test/test_nn.py::TestNN::test_interpolate_nearest_2d, test/test_nn.py::TestNN::test_interpolate_nearest_2d_cuda, test/test_nn.py::TestNN::test_interpolate_nearest_2d_zero_dim_cuda, test/test_nn.py::TestNN::test_interpolate_nearest_scale_1d, test/test_nn.py::TestNN::test_interpolate_nearest_tuple_2d_cuda, test/test_nn.py::TestNN::test_interpolate_nearest_tuple_3d, test/test_nn.py::TestNN::test_interpolate_trilinear_3d_cuda, test/test_nn.py::TestNN::test_interpolate_trilinear_3d_zero_dim, test/test_nn.py::TestNN::test_interpolate_trilinear_scale_3d, test/test_nn.py::TestNN::test_interpolate_trilinear_scale_3d_align_corners_cuda, test/test_nn.py::TestNN::test_interpolate_trilinear_scale_3d_cuda, test/test_nn.py::TestNN::test_interpolate_trilinear_tuple_3d, test/test_nn.py::TestNN::test_kl_div_log_softmax_target, test/test_nn.py::TestNN::test_kl_div_with_diff_type, test/test_nn.py::TestNN::test_kl_div_with_diff_type_log_target, test/test_nn.py::TestNN::test_layer_norm_eps, test/test_nn.py::TestNN::test_linear_autograd_device_cpu_bias_weightCOO, test/test_nn.py::TestNN::test_linear_autograd_device_cpu_bias_weightCSC, test/test_nn.py::TestNN::test_linear_autograd_device_cpu_bias_weightStrided, test/test_nn.py::TestNN::test_linear_autograd_device_cpu_nobias_weightCSC, test/test_nn.py::TestNN::test_linear_autograd_device_cpu_nobias_weightCSR, test/test_nn.py::TestNN::test_linear_broadcasting, test/test_nn.py::TestNN::test_linear_raise_on_scalar_input, test/test_nn.py::TestNN::test_log_softmax_dim0, test/test_nn.py::TestNN::test_log_softmax_dim0_cuda, test/test_nn.py::TestNN::test_log_softmax_dim3, test/test_nn.py::TestNN::test_log_softmax_dim3_cuda, test/test_nn.py::TestNN::test_log_softmax_lastdim, test/test_nn.py::TestNN::test_log_softmax_lastdim_cuda, test/test_nn.py::TestNN::test_log_softmax_scalar_cuda, test/test_nn.py::TestNN::test_log_softmax_spatial, test/test_nn.py::TestNN::test_log_softmax_spatial_cuda, test/test_nn.py::TestNN::test_log_softmax_spatial_special, test/test_nn.py::TestNN::test_margin_ranking_loss_margin_no_reduce, test/test_nn.py::TestNN::test_max_pool1d_invalid_output_size, test/test_nn.py::TestNN::test_module_apply_inplace_op, test/test_nn.py::TestNN::test_module_to_argparse, test/test_nn.py::TestNN::test_mse_loss_size_warning, test/test_nn.py::TestNN::test_multimarginloss_1d_input_0d_target_no_reduce_cuda, test/test_nn.py::TestNN::test_named_children, test/test_nn.py::TestNN::test_native_channel_shuffle_return_alias_of_self, test/test_nn.py::TestNN::test_nested_tensor_from_mask_error, test/test_nn.py::TestNN::test_no_grad, test/test_nn.py::TestNN::test_non_leaf_parameters, test/test_nn.py::TestNN::test_normalize, test/test_nn.py::TestNN::test_pad_scalar_error, test/test_nn.py::TestNN::test_pairwise_distance, test/test_nn.py::TestNN::test_parameter_assignment, test/test_nn.py::TestNN::test_parameterlistdict_pickle, test/test_nn.py::TestNN::test_parameters_and_named_parameters, test/test_nn.py::TestNN::test_parameters_to_vector, test/test_nn.py::TestNN::test_parse_to, test/test_nn.py::TestNN::test_partial_flat_weights, test/test_nn.py::TestNN::test_pdist, test/test_nn.py::TestNN::test_pdist_cpu_gradgrad_unimplemented, test/test_nn.py::TestNN::test_pdist_cuda_gradgrad_unimplemented, test/test_nn.py::TestNN::test_pdist_empty_row, test/test_nn.py::TestNN::test_pdist_large, test/test_nn.py::TestNN::test_pdist_zeros, test/test_nn.py::TestNN::test_pointwise_loss_target_grad_none_reduction, test/test_nn.py::TestNN::test_projections_lstm_check_device, test/test_nn.py::TestNN::test_register_buffer_raises_error_if_name_is_not_string, test/test_nn.py::TestNN::test_register_buffer_raises_error_if_not_tensor, test/test_nn.py::TestNN::test_register_parameter_allows_overwriting_with_same_name, test/test_nn.py::TestNN::test_register_parameter_raises_error_if_attr_exists, test/test_nn.py::TestNN::test_repr, test/test_nn.py::TestNN::test_requires_grad_, test/test_nn.py::TestNN::test_rnn_args_check, test/test_nn.py::TestNN::test_share_memory, test/test_nn.py::TestNN::test_smoothl1loss_negative_beta_not_supported, test/test_nn.py::TestNN::test_softmax_functional_dim3_cuda, test/test_nn.py::TestNN::test_softmax_functional_scalar, test/test_nn.py::TestNN::test_softmax_functional_scalar_cuda, test/test_nn.py::TestNN::test_softmax_lastdim_cuda, test/test_nn.py::TestNN::test_softmax_lastdim_dtype_cuda, test/test_nn.py::TestNN::test_softmax_spatial_cuda, test/test_nn.py::TestNN::test_softmax_spatial_dtype, test/test_nn.py::TestNN::test_softmax_spatial_special_cuda, test/test_nn.py::TestNN::test_sync_batchnorm_accuracy_cuda, test/test_nn.py::TestNN::test_sync_batchnorm_backward_elemt, test/test_nn.py::TestNN::test_threshold_bfloat16_half, test/test_nn.py::TestNN::test_threshold_int, test/test_nn.py::TestNN::test_train_errors_for_invalid_mode, test/test_nn.py::TestNN::test_transformer_layer_args_check, test/test_nn.py::TestNN::test_transformerdecoder, test/test_nn.py::TestNN::test_transformerdecoderlayer, test/test_nn.py::TestNN::test_triplet_margin_loss, test/test_nn.py::TestNN::test_triplet_margin_loss_swap_no_reduce, test/test_nn.py::TestNN::test_unflatten_invalid_arg, test/test_nn.py::TestNN::test_upsamplingLinear1d, test/test_nn.py::TestNN::test_upsamplingTrilinear3d_spatial_invariance, test/test_nn.py::TestNN::test_vector_to_parameters, test/test_nn.py::TestNN::test_weight_norm, test/test_nn.py::TestNN::test_weight_norm_pickle, test/test_nn.py::TestNN::test_zero_grad, test/test_nn.py::TestConstantPadNd::test_preserves_memory_format, test/test_nn.py::TestAddRelu::test_add_relu_broadcasting, test/test_nn.py::TestFusionUtils::test_fuse_conv_bn_requires_grad, test/test_nn.py::TestNNDeviceTypeCPU::test_BatchNorm_empty_cpu_float64, test/test_nn.py::TestNNDeviceTypeCPU::test_Bilinear_empty_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_CTCLoss_cudnn_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_CTCLoss_empty_target_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_CTCLoss_no_batch_dim_reduction_mean_use_module_form_True_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_CTCLoss_no_batch_dim_reduction_none_use_module_form_False_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_GRU_grad_and_gradgrad_cpu_float64, test/test_nn.py::TestNNDeviceTypeCPU::test_GroupNorm_raises_error_if_one_value_per_group_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_LSTM_differentiable_backward_using_oneDNN_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_LayerNorm_numeric_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_LocalResponseNorm_empty_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_MarginLoss_empty_cpu_float64, test/test_nn.py::TestNNDeviceTypeCPU::test_ReflectionPad2d_large_deterministic_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_ReflectionPad3d_large_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_ReflectionPad_empty_cpu_complex64, test/test_nn.py::TestNNDeviceTypeCPU::test_ReflectionPad_fails_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_ReplicationPad1d_large_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_ReplicationPad3d_large_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_ReplicationPad_empty_cpu_float64, test/test_nn.py::TestNNDeviceTypeCPU::test_TransformerDecoderLayer_empty_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_TransformerDecoder_empty_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_TransformerEncoderLayer_empty_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_Transformer_empty_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_activations_bfloat16_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_affine_2d_rotate45_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_affine_2d_rotate90_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_affine_2d_rotateRandom_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_batchnorm_large_batch_cpu_float16, test/test_nn.py::TestNNDeviceTypeCPU::test_batchnorm_large_batch_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_batchnorm_simple_average_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_batchnorm_simple_average_mixed_cpu_float16, test/test_nn.py::TestNNDeviceTypeCPU::test_batchnorm_update_stats_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_channel_shuffle_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_clip_grad_norm_error_if_nonfinite_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_clip_grad_norm_foreach_False_norm_type_4_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_clip_grad_norm_foreach_True_norm_type_1_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_clip_grad_norm_foreach_True_norm_type_4_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_clip_grad_norm_foreach_True_norm_type_inf_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_clip_grad_norm_multi_device_foreach_False_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_conv_empty_input_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_conv_empty_input_cpu_float64, test/test_nn.py::TestNNDeviceTypeCPU::test_cross_entropy_64bit_reduction_mean_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_cross_entropy_64bit_reduction_sum_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_cross_entropy_label_smoothing_consistent_index_target_and_probs_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_cross_entropy_label_smoothing_with_probs_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_cross_entropy_large_tensor_reduction_mean_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_cross_entropy_loss_2d_out_of_bounds_class_index_cpu_float16, test/test_nn.py::TestNNDeviceTypeCPU::test_cross_entropy_loss_2d_out_of_bounds_class_index_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_cross_entropy_loss_index_target_unit_weights_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_cross_entropy_loss_prob_target_all_reductions_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_cross_entropy_loss_prob_target_no_batch_dim_reduction_mean_weighted_False_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_cross_entropy_loss_prob_target_no_batch_dim_reduction_none_weighted_True_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_cross_entropy_loss_prob_target_unit_weights_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_ctc_loss_cudnn_tensor_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_device_mask_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_fold_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_grid_sample_bfloat16_precision_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_grid_sample_half_precision_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_grid_sample_large_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_grid_sample_large_index_2d_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_grid_sample_large_index_2d_cpu_float64, test/test_nn.py::TestNNDeviceTypeCPU::test_grid_sample_large_index_3d_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_grid_sample_large_index_3d_cpu_float64, test/test_nn.py::TestNNDeviceTypeCPU::test_grid_sample_nan_inf_cpu_float64, test/test_nn.py::TestNNDeviceTypeCPU::test_groupnorm_nhwc_cpu_bfloat16, test/test_nn.py::TestNNDeviceTypeCPU::test_hardsigmoid_grad_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_hardswish_grad_corner_cpu_bfloat16, test/test_nn.py::TestNNDeviceTypeCPU::test_hardswish_grad_corner_cpu_float16, test/test_nn.py::TestNNDeviceTypeCPU::test_hardswish_grad_corner_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_hardswish_grad_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_instancenorm_raises_error_if_input_channels_is_not_num_features_InstanceNorm1d_no_batch_dim_False_affine_False_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_instancenorm_raises_error_if_input_channels_is_not_num_features_InstanceNorm1d_no_batch_dim_False_affine_True_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_instancenorm_raises_error_if_input_channels_is_not_num_features_InstanceNorm1d_no_batch_dim_True_affine_False_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_instancenorm_raises_error_if_input_channels_is_not_num_features_InstanceNorm1d_no_batch_dim_True_affine_True_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_instancenorm_raises_error_if_input_channels_is_not_num_features_InstanceNorm2d_no_batch_dim_False_affine_False_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_instancenorm_raises_error_if_input_channels_is_not_num_features_InstanceNorm2d_no_batch_dim_True_affine_False_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_instancenorm_raises_error_if_input_channels_is_not_num_features_InstanceNorm2d_no_batch_dim_True_affine_True_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_instancenorm_raises_error_if_input_channels_is_not_num_features_InstanceNorm3d_no_batch_dim_True_affine_True_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_layernorm_half_precision_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_layernorm_weight_bias_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_log_softmax_cpu_cpu_float16, test/test_nn.py::TestNNDeviceTypeCPU::test_logsigmoid_out_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_lstmcell_backward_only_one_output_grad_cpu_float64, test/test_nn.py::TestNNDeviceTypeCPU::test_masked_softmax_TxT_layout_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_masked_softmax_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_masked_softmax_devices_parity_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_masked_softmax_grad_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_masked_softmax_lowp_cpu_bfloat16, test/test_nn.py::TestNNDeviceTypeCPU::test_masked_softmax_lowp_cpu_float16, test/test_nn.py::TestNNDeviceTypeCPU::test_masked_softmax_mask_types_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_mish_inplace_overlap_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_module_to_empty_non_recursive_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_nll_loss_all_ignored_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_nll_loss_empty_tensor_reduction_mean_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_nll_loss_empty_tensor_reduction_none_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_nll_loss_empty_tensor_reduction_sum_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_nll_loss_invalid_target_dim_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_nll_loss_large_tensor_reduction_sum_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_nll_loss_mismatched_batch_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_nn_empty_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_nn_scalars_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_pad_cpu_float64, test/test_nn.py::TestNNDeviceTypeCPU::test_replicatepad_64bit_indexing_cpu_float16, test/test_nn.py::TestNNDeviceTypeCPU::test_rmsnorm_numeric_cpu_bfloat16, test/test_nn.py::TestNNDeviceTypeCPU::test_rnn_fused_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_rnn_retain_variables_cpu_float64, test/test_nn.py::TestNNDeviceTypeCPU::test_save_lstm_compatibility_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_silu_inplace_overlap_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_smooth_l1_loss_bfloat16_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_smoothl1loss_backward_zero_beta_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_softmax_64bit_indexing_cpu_float16, test/test_nn.py::TestNNDeviceTypeCPU::test_softmax_backward_64bit_indexing_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_softmax_backward_smem_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_softmax_backward_unaligned_output_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_softmax_backward_without_fully_vectorized_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_softmax_bfloat16_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_softmax_cpu_cpu_float16, test/test_nn.py::TestNNDeviceTypeCPU::test_softmax_cpu_float16, test/test_nn.py::TestNNDeviceTypeCPU::test_softmax_forward_64bit_indexing_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_softplus_inplace_overlap_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_softplus_low_threshold_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_softshrink_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_softshrink_inplace_overlap_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_softshrink_negative_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_transformerencoderlayer_gelu_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiLinear2d_consistency_interp_size_bug_memory_format0_align_corners_False_input_size_399_output_size_437_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiLinear2d_consistency_interp_size_bug_memory_format0_align_corners_True_input_size_399_output_size_437_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiLinear2d_consistency_interp_size_bug_memory_format0_align_corners_True_input_size_403_output_size_377_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiLinear2d_consistency_interp_size_bug_memory_format1_align_corners_False_input_size_403_output_size_377_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_antialias_False_align_corners_False_mode_bicubic_memory_format1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_antialias_False_align_corners_False_mode_bilinear_memory_format0_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_antialias_False_align_corners_False_mode_bilinear_memory_format1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_antialias_False_align_corners_True_mode_bicubic_memory_format1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_antialias_False_align_corners_True_mode_bilinear_memory_format1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_antialias_True_align_corners_False_mode_bicubic_memory_format1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_antialias_True_align_corners_False_mode_bilinear_memory_format0_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_antialias_True_align_corners_True_mode_bicubic_memory_format0_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_antialias_True_align_corners_True_mode_bilinear_memory_format0_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format0_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bicubic_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_False_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_False_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_3_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_32_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_False_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_restrided_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_False_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_restrided_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_consistency_memory_format1_mode_bilinear_antialias_True_align_corners_True_num_channels_5_output_size_600_check_as_unsqueezed_3d_tensor_True_non_contig_sliced_batch_size_5_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_3_mode_bicubic_float32_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_3_mode_bicubic_float64_cpu_float64, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_3_mode_bicubic_int16_cpu_int16, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_3_mode_bicubic_int8_cpu_int8, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_3_mode_bilinear_float64_cpu_float64, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_3_mode_bilinear_int16_cpu_int16, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_3_mode_bilinear_int32_cpu_int32, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_3_mode_bilinear_uint8_cpu_uint8, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_3_mode_nearest-exact_float32_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_3_mode_nearest-exact_int64_cpu_int64, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_3_mode_nearest-exact_uint8_cpu_uint8, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_3_mode_nearest_float64_cpu_float64, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_3_mode_nearest_int8_cpu_int8, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_5_mode_bicubic_float64_cpu_float64, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_5_mode_bicubic_int16_cpu_int16, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_5_mode_bicubic_int64_cpu_int64, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_5_mode_bicubic_uint8_cpu_uint8, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_5_mode_bilinear_float64_cpu_float64, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_5_mode_bilinear_int16_cpu_int16, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_5_mode_bilinear_int8_cpu_int8, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_5_mode_nearest-exact_float32_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_5_mode_nearest-exact_int16_cpu_int16, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_5_mode_nearest-exact_int8_cpu_int8, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_5_mode_nearest-exact_uint8_cpu_uint8, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_5_mode_nearest_int64_cpu_int64, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_False_num_channels_5_mode_nearest_int8_cpu_int8, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_3_mode_bicubic_float64_cpu_float64, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_3_mode_bicubic_int64_cpu_int64, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_3_mode_bilinear_float32_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_3_mode_bilinear_int32_cpu_int32, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_3_mode_bilinear_int8_cpu_int8, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_3_mode_nearest-exact_float64_cpu_float64, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_3_mode_nearest-exact_int32_cpu_int32, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_3_mode_nearest-exact_int64_cpu_int64, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_3_mode_nearest-exact_int8_cpu_int8, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_3_mode_nearest_int16_cpu_int16, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_3_mode_nearest_int32_cpu_int32, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_3_mode_nearest_int8_cpu_int8, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_5_mode_bicubic_float32_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_5_mode_bicubic_float64_cpu_float64, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_5_mode_bicubic_int32_cpu_int32, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_5_mode_bicubic_int64_cpu_int64, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_5_mode_bicubic_int8_cpu_int8, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_5_mode_bilinear_float32_cpu_float32, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_5_mode_bilinear_float64_cpu_float64, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_5_mode_bilinear_int32_cpu_int32, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_5_mode_bilinear_int64_cpu_int64, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_5_mode_bilinear_uint8_cpu_uint8, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_5_mode_nearest-exact_float64_cpu_float64, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_5_mode_nearest-exact_int16_cpu_int16, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_5_mode_nearest-exact_int64_cpu_int64, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_5_mode_nearest-exact_int8_cpu_int8, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_5_mode_nearest_float64_cpu_float64, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_5_mode_nearest_int16_cpu_int16, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_5_mode_nearest_int32_cpu_int32, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_5_mode_nearest_int64_cpu_int64, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_5_mode_nearest_int8_cpu_int8, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBiMode2d_nonsupported_dtypes_antialias_True_num_channels_5_mode_nearest_uint8_cpu_uint8, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBicubic2d_aa_correctness_memory_format0_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBicubic2d_aa_correctness_memory_format1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingBilinear2d_aa_correctness_memory_format0_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingNearest1d_correctness_isize_10_osize_15_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingNearest1d_launch_config_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingNearest1d_mode_nearest-exact_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingNearest1d_mode_nearest_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingNearest2d_correctness_memory_format0_isize_20_osize_11_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingNearest2d_correctness_memory_format1_isize_10_osize_15_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingNearest2d_launch_config_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingNearest2d_memory_format0_mode_nearest-exact_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingNearest3d_correctness_memory_format1_isize_20_osize_11_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingNearest3d_memory_format0_mode_nearest-exact_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingNearest3d_memory_format0_mode_nearest_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingNearest3d_memory_format1_mode_nearest-exact_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingNearest3d_memory_format1_mode_nearest_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingNearestExact1d_rescale_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingNearestExact2d_correctness_memory_format0_isize_10_osize_15_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingNearestExact2d_correctness_memory_format1_isize_20_osize_11_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingTrilinear3d_align_corners_False_memory_format0_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingTrilinear3d_align_corners_False_memory_format1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingTrilinear3d_align_corners_True_memory_format0_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsamplingTrilinear3d_align_corners_True_memory_format1_cpu, test/test_nn.py::TestNNDeviceTypeCPU::test_upsampling_64bit_indexing_channels_last_cpu_bfloat16, test/test_nn.py::TestNNDeviceTypeCPU::test_warp_softmax_64bit_indexing_cpu_float16, test/test_nn.py::TestNNDeviceTypeCPU::test_warp_softmax_64bit_indexing_cpu_float32 2025-03-14T05:12:39.1710681Z 2025-03-14T05:12:39.1710950Z Running test_cuda_nvml_based_avail 1/1 ... [2025-03-14 05:12:39.050480] 2025-03-14T05:12:39.1711432Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:12:39.1712574Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'test_cuda_nvml_based_avail.py', '--shard-id=1', '--num-shards=1', '-v', '--subprocess', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:12:39.050893] 2025-03-14T05:12:42.5883633Z 2025-03-14T05:12:42.5885102Z test_cuda_nvml_based_avail 1/1 was successful, full logs can be found in artifacts with path test/test-reports/test_cuda_nvml_based_avail_1.1_21708d248e318eeb_.log 2025-03-14T05:12:42.5886441Z Running 0 items in this shard: 2025-03-14T05:12:42.5886764Z 2025-03-14T05:12:42.5888285Z Running test_cuda_trace 1/1 ... [2025-03-14 05:12:42.588619] 2025-03-14T05:12:42.5888939Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:12:42.5893359Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'test_cuda_trace.py', '--shard-id=1', '--num-shards=1', '-v', '--subprocess', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:12:42.589024] 2025-03-14T05:12:45.9988075Z 2025-03-14T05:12:45.9989030Z test_cuda_trace 1/1 was successful, full logs can be found in artifacts with path test/test-reports/test_cuda_trace_1.1_7ae58f9ad4b7bc6c_.log 2025-03-14T05:12:45.9989791Z Running 0 items in this shard: 2025-03-14T05:12:45.9990029Z 2025-03-14T05:12:45.9991810Z Running test_spectral_ops 1/1 ... [2025-03-14 05:12:45.999003] 2025-03-14T05:12:45.9992306Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:12:45.9995659Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'test_spectral_ops.py', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:12:45.999317] 2025-03-14T05:13:20.4662222Z 2025-03-14T05:13:20.4663715Z test_spectral_ops 1/1 was successful, full logs can be found in artifacts with path test/test-reports/test_spectral_ops_1.1_2cb068aa5cfc25c5_.log 2025-03-14T05:13:20.4755097Z Running 281 items in this shard: test/test_spectral_ops.py::TestFFTCPU::test_batch_istft_cpu, test/test_spectral_ops.py::TestFFTCPU::test_complex_istft_real_equiv_cpu_complex128, test/test_spectral_ops.py::TestFFTCPU::test_complex_stft_definition_cpu_complex128, test/test_spectral_ops.py::TestFFTCPU::test_complex_stft_onesided_cpu, test/test_spectral_ops.py::TestFFTCPU::test_complex_stft_real_equiv_cpu_complex128, test/test_spectral_ops.py::TestFFTCPU::test_complex_stft_roundtrip_cpu_complex128, test/test_spectral_ops.py::TestFFTCPU::test_complex_stft_roundtrip_cpu_float64, test/test_spectral_ops.py::TestFFTCPU::test_cufft_context_cpu_complex128, test/test_spectral_ops.py::TestFFTCPU::test_cufft_context_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_cufft_plan_cache_cpu_float64, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft__refs_fft_fft2_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft__refs_fft_fft2_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft__refs_fft_fft_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft__refs_fft_fft_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft__refs_fft_fftn_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft__refs_fft_fftn_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft__refs_fft_hfft2_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft__refs_fft_hfft2_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft__refs_fft_hfft_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft__refs_fft_hfft_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft__refs_fft_hfftn_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft__refs_fft_hfftn_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft__refs_fft_ifft2_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft__refs_fft_ifft2_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft__refs_fft_ifft_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft__refs_fft_ifft_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft__refs_fft_ifftn_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft__refs_fft_ifftn_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft__refs_fft_ihfft2_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft__refs_fft_ihfft_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft__refs_fft_ihfftn_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft__refs_fft_irfft2_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft__refs_fft_irfft2_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft__refs_fft_irfft_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft__refs_fft_irfft_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft__refs_fft_irfftn_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft__refs_fft_irfftn_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft__refs_fft_rfft2_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft__refs_fft_rfft_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft__refs_fft_rfftn_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft_fft_fft2_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft_fft_fft2_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft_fft_fft_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft_fft_fft_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft_fft_fftn_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft_fft_fftn_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft_fft_hfft2_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft_fft_hfft2_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft_fft_hfft_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft_fft_hfft_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft_fft_hfftn_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft_fft_hfftn_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft_fft_ifft2_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft_fft_ifft2_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft_fft_ifft_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft_fft_ifft_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft_fft_ifftn_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft_fft_ifftn_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft_fft_ihfft2_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft_fft_ihfft_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft_fft_ihfftn_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft_fft_irfft2_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft_fft_irfft2_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft_fft_irfft_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft_fft_irfft_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft_fft_irfftn_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft_fft_irfftn_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft_fft_rfft2_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft_fft_rfft_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_empty_fft_fft_rfftn_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_empty_ifft_cpu, test/test_spectral_ops.py::TestFFTCPU::test_fft2_fftn_equivalence_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_fft2_fftn_equivalence_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_fft2_invalid_cpu, test/test_spectral_ops.py::TestFFTCPU::test_fft2_numpy_cpu_complex128, test/test_spectral_ops.py::TestFFTCPU::test_fft2_numpy_cpu_float64, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors__refs_fft_fft2_cpu_bfloat16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors__refs_fft_fft2_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors__refs_fft_fft_cpu_bfloat16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors__refs_fft_fft_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors__refs_fft_fftn_cpu_bfloat16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors__refs_fft_fftn_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors__refs_fft_hfft2_cpu_bfloat16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors__refs_fft_hfft2_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors__refs_fft_hfft_cpu_bfloat16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors__refs_fft_hfft_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors__refs_fft_hfftn_cpu_bfloat16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors__refs_fft_hfftn_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors__refs_fft_ifft2_cpu_bfloat16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors__refs_fft_ifft2_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors__refs_fft_ifft_cpu_bfloat16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors__refs_fft_ifft_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors__refs_fft_ifftn_cpu_bfloat16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors__refs_fft_ifftn_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors__refs_fft_ihfft2_cpu_bfloat16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors__refs_fft_ihfft2_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors__refs_fft_ihfft_cpu_bfloat16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors__refs_fft_ihfft_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors__refs_fft_ihfftn_cpu_bfloat16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors__refs_fft_ihfftn_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors__refs_fft_irfft2_cpu_bfloat16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors__refs_fft_irfft2_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors__refs_fft_irfft_cpu_bfloat16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors__refs_fft_irfft_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors__refs_fft_irfftn_cpu_bfloat16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors__refs_fft_irfftn_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors__refs_fft_rfft2_cpu_bfloat16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors__refs_fft_rfft2_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors__refs_fft_rfft_cpu_bfloat16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors__refs_fft_rfft_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors__refs_fft_rfftn_cpu_bfloat16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors__refs_fft_rfftn_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors_fft_fft2_cpu_bfloat16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors_fft_fft2_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors_fft_fft_cpu_bfloat16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors_fft_fft_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors_fft_fftn_cpu_bfloat16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors_fft_fftn_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors_fft_hfft2_cpu_bfloat16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors_fft_hfft2_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors_fft_hfft_cpu_bfloat16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors_fft_hfft_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors_fft_hfftn_cpu_bfloat16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors_fft_hfftn_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors_fft_ifft2_cpu_bfloat16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors_fft_ifft2_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors_fft_ifft_cpu_bfloat16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors_fft_ifft_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors_fft_ifftn_cpu_bfloat16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors_fft_ifftn_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors_fft_ihfft2_cpu_bfloat16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors_fft_ihfft2_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors_fft_ihfft_cpu_bfloat16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors_fft_ihfft_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors_fft_ihfftn_cpu_bfloat16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors_fft_ihfftn_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors_fft_irfft2_cpu_bfloat16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors_fft_irfft2_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors_fft_irfft_cpu_bfloat16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors_fft_irfft_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors_fft_irfftn_cpu_bfloat16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors_fft_irfftn_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors_fft_rfft2_cpu_bfloat16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors_fft_rfft2_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors_fft_rfft_cpu_bfloat16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors_fft_rfft_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors_fft_rfftn_cpu_bfloat16, test/test_spectral_ops.py::TestFFTCPU::test_fft_half_and_bfloat16_errors_fft_rfftn_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_fft_ifft_rfft_irfft_cpu_float64, test/test_spectral_ops.py::TestFFTCPU::test_fft_input_modification_cpu, test/test_spectral_ops.py::TestFFTCPU::test_fft_invalid_dtypes_cpu, test/test_spectral_ops.py::TestFFTCPU::test_fft_plan_repeatable_cpu, test/test_spectral_ops.py::TestFFTCPU::test_fft_round_trip_cpu_complex128, test/test_spectral_ops.py::TestFFTCPU::test_fft_round_trip_cpu_complex32, test/test_spectral_ops.py::TestFFTCPU::test_fft_round_trip_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_fft_round_trip_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_fft_round_trip_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_fft_round_trip_cpu_float64, test/test_spectral_ops.py::TestFFTCPU::test_fft_type_promotion_cpu_complex128, test/test_spectral_ops.py::TestFFTCPU::test_fft_type_promotion_cpu_complex32, test/test_spectral_ops.py::TestFFTCPU::test_fft_type_promotion_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_fft_type_promotion_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_fft_type_promotion_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_fft_type_promotion_cpu_float64, test/test_spectral_ops.py::TestFFTCPU::test_fft_type_promotion_cpu_int8, test/test_spectral_ops.py::TestFFTCPU::test_fftfreq_numpy_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_fftfreq_numpy_cpu_float64, test/test_spectral_ops.py::TestFFTCPU::test_fftfreq_out_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_fftfreq_out_cpu_float64, test/test_spectral_ops.py::TestFFTCPU::test_fftn_invalid__refs_fft_fftn_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_fftn_invalid__refs_fft_fftn_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_fftn_invalid__refs_fft_hfftn_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_fftn_invalid__refs_fft_hfftn_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_fftn_invalid__refs_fft_ifftn_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_fftn_invalid__refs_fft_ifftn_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_fftn_invalid__refs_fft_ihfftn_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_fftn_invalid__refs_fft_irfftn_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_fftn_invalid__refs_fft_irfftn_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_fftn_invalid__refs_fft_rfftn_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_fftn_invalid_fft_fftn_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_fftn_invalid_fft_fftn_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_fftn_invalid_fft_hfftn_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_fftn_invalid_fft_hfftn_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_fftn_invalid_fft_ifftn_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_fftn_invalid_fft_ifftn_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_fftn_invalid_fft_ihfftn_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_fftn_invalid_fft_irfftn_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_fftn_invalid_fft_irfftn_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_fftn_invalid_fft_rfftn_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_fftn_noop_transform_cpu_complex128, test/test_spectral_ops.py::TestFFTCPU::test_fftn_noop_transform_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_fftn_noop_transform_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_fftn_noop_transform_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_fftn_noop_transform_cpu_float64, test/test_spectral_ops.py::TestFFTCPU::test_fftn_round_trip_cpu_complex128, test/test_spectral_ops.py::TestFFTCPU::test_fftn_round_trip_cpu_complex32, test/test_spectral_ops.py::TestFFTCPU::test_fftn_round_trip_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_fftn_round_trip_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_fftn_round_trip_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_fftn_round_trip_cpu_float64, test/test_spectral_ops.py::TestFFTCPU::test_fftshift_frequencies_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_fftshift_frequencies_cpu_float64, test/test_spectral_ops.py::TestFFTCPU::test_fftshift_numpy_cpu_complex128, test/test_spectral_ops.py::TestFFTCPU::test_fftshift_numpy_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_fftshift_numpy_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_fftshift_numpy_cpu_float64, test/test_spectral_ops.py::TestFFTCPU::test_hfftn_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_hfftn_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_hfftn_cpu_float64, test/test_spectral_ops.py::TestFFTCPU::test_ihfftn_cpu_float16, test/test_spectral_ops.py::TestFFTCPU::test_ihfftn_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_ihfftn_cpu_float64, test/test_spectral_ops.py::TestFFTCPU::test_istft_against_librosa_cpu_float64, test/test_spectral_ops.py::TestFFTCPU::test_istft_linearity_cpu_float64, test/test_spectral_ops.py::TestFFTCPU::test_istft_of_sine_cpu_float64, test/test_spectral_ops.py::TestFFTCPU::test_istft_requires_window_cpu, test/test_spectral_ops.py::TestFFTCPU::test_istft_round_trip_simple_cases_cpu_float64, test/test_spectral_ops.py::TestFFTCPU::test_istft_round_trip_various_params_cpu_float64, test/test_spectral_ops.py::TestFFTCPU::test_istft_round_trip_with_padding_cpu_float64, test/test_spectral_ops.py::TestFFTCPU::test_istft_throws_cpu, test/test_spectral_ops.py::TestFFTCPU::test_reference_1d__refs_fft_fft_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_reference_1d__refs_fft_fft_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_reference_1d__refs_fft_hfft_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_reference_1d__refs_fft_hfft_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_reference_1d__refs_fft_ifft_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_reference_1d__refs_fft_ifft_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_reference_1d__refs_fft_ihfft_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_reference_1d__refs_fft_irfft_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_reference_1d__refs_fft_irfft_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_reference_1d__refs_fft_rfft_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_reference_1d_fft_fft_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_reference_1d_fft_fft_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_reference_1d_fft_hfft_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_reference_1d_fft_hfft_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_reference_1d_fft_ifft_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_reference_1d_fft_ifft_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_reference_1d_fft_ihfft_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_reference_1d_fft_irfft_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_reference_1d_fft_irfft_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_reference_1d_fft_rfft_cpu_float32, test/test_spectral_ops.py::TestFFTCPU::test_reference_nd__refs_fft_fftn_cpu_complex128, test/test_spectral_ops.py::TestFFTCPU::test_reference_nd__refs_fft_fftn_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_reference_nd__refs_fft_hfftn_cpu_complex128, test/test_spectral_ops.py::TestFFTCPU::test_reference_nd__refs_fft_hfftn_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_reference_nd__refs_fft_ifftn_cpu_complex128, test/test_spectral_ops.py::TestFFTCPU::test_reference_nd__refs_fft_ifftn_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_reference_nd__refs_fft_irfftn_cpu_complex128, test/test_spectral_ops.py::TestFFTCPU::test_reference_nd__refs_fft_irfftn_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_reference_nd_fft_fftn_cpu_complex128, test/test_spectral_ops.py::TestFFTCPU::test_reference_nd_fft_fftn_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_reference_nd_fft_hfftn_cpu_complex128, test/test_spectral_ops.py::TestFFTCPU::test_reference_nd_fft_hfftn_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_reference_nd_fft_ifftn_cpu_complex128, test/test_spectral_ops.py::TestFFTCPU::test_reference_nd_fft_ifftn_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_reference_nd_fft_irfftn_cpu_complex128, test/test_spectral_ops.py::TestFFTCPU::test_reference_nd_fft_irfftn_cpu_complex64, test/test_spectral_ops.py::TestFFTCPU::test_stft_align_to_window_only_requires_non_center_cpu, test/test_spectral_ops.py::TestFFTCPU::test_stft_cpu_float64, test/test_spectral_ops.py::TestFFTCPU::test_stft_requires_complex_cpu, test/test_spectral_ops.py::TestFFTCPU::test_stft_requires_window_cpu, test/test_spectral_ops.py::TestFFTCPU::test_stft_roundtrip_complex_window_cpu_complex128, test/test_spectral_ops.py::TestFFTCPU::test_stft_roundtrip_complex_window_cpu_float64, test/test_spectral_ops.py::TestFFTCPU::test_stft_window_device_cpu, test/test_spectral_ops.py::TestFFTDocExamplesCPU::test_fft2_cpu, test/test_spectral_ops.py::TestFFTDocExamplesCPU::test_fft_cpu, test/test_spectral_ops.py::TestFFTDocExamplesCPU::test_fftfreq_cpu, test/test_spectral_ops.py::TestFFTDocExamplesCPU::test_fftn_cpu, test/test_spectral_ops.py::TestFFTDocExamplesCPU::test_fftshift_cpu, test/test_spectral_ops.py::TestFFTDocExamplesCPU::test_hfft_cpu, test/test_spectral_ops.py::TestFFTDocExamplesCPU::test_ifft2_cpu, test/test_spectral_ops.py::TestFFTDocExamplesCPU::test_ifft_cpu, test/test_spectral_ops.py::TestFFTDocExamplesCPU::test_ifftn_cpu, test/test_spectral_ops.py::TestFFTDocExamplesCPU::test_ifftshift_cpu, test/test_spectral_ops.py::TestFFTDocExamplesCPU::test_ihfft_cpu, test/test_spectral_ops.py::TestFFTDocExamplesCPU::test_irfft2_cpu, test/test_spectral_ops.py::TestFFTDocExamplesCPU::test_irfft_cpu, test/test_spectral_ops.py::TestFFTDocExamplesCPU::test_irfftn_cpu, test/test_spectral_ops.py::TestFFTDocExamplesCPU::test_rfft2_cpu, test/test_spectral_ops.py::TestFFTDocExamplesCPU::test_rfft_cpu, test/test_spectral_ops.py::TestFFTDocExamplesCPU::test_rfftfreq_cpu, test/test_spectral_ops.py::TestFFTDocExamplesCPU::test_rfftn_cpu 2025-03-14T05:13:20.4844579Z 2025-03-14T05:13:20.4844850Z Running distributions/test_distributions 1/2 ... [2025-03-14 05:13:20.466727] 2025-03-14T05:13:20.4845362Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:13:20.4846502Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'distributions/test_distributions.py', '--shard-id=1', '--num-shards=2', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:13:20.467033] 2025-03-14T05:18:39.6124638Z 2025-03-14T05:18:39.6125979Z distributions/test_distributions 1/2 was successful, full logs can be found in artifacts with path test/test-reports/distributions.test_distributions_1.2_2ae01474f93c7b6b_.log 2025-03-14T05:18:39.6178103Z Running 130 items in this shard: test/distributions/test_distributions.py::TestDistributions::test_argmax_relaxed_categorical, test/distributions/test_distributions.py::TestDistributions::test_bernoulli, test/distributions/test_distributions.py::TestDistributions::test_bernoulli_3d, test/distributions/test_distributions.py::TestDistributions::test_bernoulli_enumerate_support, test/distributions/test_distributions.py::TestDistributions::test_beta_log_prob, test/distributions/test_distributions.py::TestDistributions::test_beta_underflow, test/distributions/test_distributions.py::TestDistributions::test_binomial, test/distributions/test_distributions.py::TestDistributions::test_binomial_half, test/distributions/test_distributions.py::TestDistributions::test_binomial_log_prob_vectorized_count, test/distributions/test_distributions.py::TestDistributions::test_binomial_vectorized_count, test/distributions/test_distributions.py::TestDistributions::test_categorical_1d, test/distributions/test_distributions.py::TestDistributions::test_categorical_2d, test/distributions/test_distributions.py::TestDistributions::test_categorical_enumerate_support, test/distributions/test_distributions.py::TestDistributions::test_cauchy, test/distributions/test_distributions.py::TestDistributions::test_cdf_icdf_inverse, test/distributions/test_distributions.py::TestDistributions::test_cdf_log_prob, test/distributions/test_distributions.py::TestDistributions::test_chi2_shape, test/distributions/test_distributions.py::TestDistributions::test_continuous_bernoulli, test/distributions/test_distributions.py::TestDistributions::test_continuous_bernoulli_3d, test/distributions/test_distributions.py::TestDistributions::test_distribution_expand, test/distributions/test_distributions.py::TestDistributions::test_enumerate_support_type, test/distributions/test_distributions.py::TestDistributions::test_exponential, test/distributions/test_distributions.py::TestDistributions::test_exponential_sample, test/distributions/test_distributions.py::TestDistributions::test_fishersnedecor, test/distributions/test_distributions.py::TestDistributions::test_gamma_sample, test/distributions/test_distributions.py::TestDistributions::test_gamma_shape, test/distributions/test_distributions.py::TestDistributions::test_geometric, test/distributions/test_distributions.py::TestDistributions::test_geometric_log_prob_and_entropy, test/distributions/test_distributions.py::TestDistributions::test_geometric_sample, test/distributions/test_distributions.py::TestDistributions::test_gumbel_sample, test/distributions/test_distributions.py::TestDistributions::test_halfcauchy, test/distributions/test_distributions.py::TestDistributions::test_halfnormal, test/distributions/test_distributions.py::TestDistributions::test_halfnormal_logprob, test/distributions/test_distributions.py::TestDistributions::test_has_examples, test/distributions/test_distributions.py::TestDistributions::test_independent_expand, test/distributions/test_distributions.py::TestDistributions::test_independent_shape, test/distributions/test_distributions.py::TestDistributions::test_invalid_parameter_broadcasting, test/distributions/test_distributions.py::TestDistributions::test_inversegamma, test/distributions/test_distributions.py::TestDistributions::test_inversegamma_sample, test/distributions/test_distributions.py::TestDistributions::test_kumaraswamy_mean_variance, test/distributions/test_distributions.py::TestDistributions::test_kumaraswamy_shape, test/distributions/test_distributions.py::TestDistributions::test_lkj_cholesky_log_prob, test/distributions/test_distributions.py::TestDistributions::test_logisticnormal_logprob, test/distributions/test_distributions.py::TestDistributions::test_logisticnormal_sample, test/distributions/test_distributions.py::TestDistributions::test_lognormal_logprob, test/distributions/test_distributions.py::TestDistributions::test_lognormal_sample, test/distributions/test_distributions.py::TestDistributions::test_lowrank_multivariate_normal_log_prob, test/distributions/test_distributions.py::TestDistributions::test_lowrank_multivariate_normal_moments, test/distributions/test_distributions.py::TestDistributions::test_lowrank_multivariate_normal_shape, test/distributions/test_distributions.py::TestDistributions::test_mixture_same_family_log_prob, test/distributions/test_distributions.py::TestDistributions::test_multinomial_1d_log_prob_and_entropy, test/distributions/test_distributions.py::TestDistributions::test_multinomial_2d, test/distributions/test_distributions.py::TestDistributions::test_multivariate_normal_log_prob, test/distributions/test_distributions.py::TestDistributions::test_multivariate_normal_moments, test/distributions/test_distributions.py::TestDistributions::test_multivariate_normal_properties, test/distributions/test_distributions.py::TestDistributions::test_multivariate_normal_shape, test/distributions/test_distributions.py::TestDistributions::test_negative_binomial, test/distributions/test_distributions.py::TestDistributions::test_normal, test/distributions/test_distributions.py::TestDistributions::test_normal_sample, test/distributions/test_distributions.py::TestDistributions::test_one_hot_categorical_2d, test/distributions/test_distributions.py::TestDistributions::test_pareto, test/distributions/test_distributions.py::TestDistributions::test_pareto_sample, test/distributions/test_distributions.py::TestDistributions::test_poisson_forward_ad, test/distributions/test_distributions.py::TestDistributions::test_poisson_log_prob, test/distributions/test_distributions.py::TestDistributions::test_repr, test/distributions/test_distributions.py::TestDistributions::test_rounded_relaxed_bernoulli, test/distributions/test_distributions.py::TestDistributions::test_studentT, test/distributions/test_distributions.py::TestDistributions::test_studentT_log_prob, test/distributions/test_distributions.py::TestDistributions::test_studentT_sample, test/distributions/test_distributions.py::TestDistributions::test_support_attributes, test/distributions/test_distributions.py::TestDistributions::test_vonmises_logprob, test/distributions/test_distributions.py::TestDistributions::test_vonmises_sample, test/distributions/test_distributions.py::TestDistributions::test_wishart_log_prob, test/distributions/test_distributions.py::TestDistributions::test_wishart_moments, test/distributions/test_distributions.py::TestDistributions::test_wishart_properties, test/distributions/test_distributions.py::TestDistributions::test_wishart_sample, test/distributions/test_distributions.py::TestDistributions::test_wishart_stable_with_precision_matrix, test/distributions/test_distributions.py::TestDistributions::test_zero_excluded_binomial, test/distributions/test_distributions.py::TestRsample::test_beta_wrt_alpha, test/distributions/test_distributions.py::TestRsample::test_beta_wrt_beta, test/distributions/test_distributions.py::TestRsample::test_dirichlet_on_diagonal, test/distributions/test_distributions.py::TestRsample::test_dirichlet_tangent_field, test/distributions/test_distributions.py::TestDistributionShapes::test_bernoulli_shape_tensor_params, test/distributions/test_distributions.py::TestDistributionShapes::test_beta_shape_scalar_params, test/distributions/test_distributions.py::TestDistributionShapes::test_binomial_shape, test/distributions/test_distributions.py::TestDistributionShapes::test_binomial_shape_vectorized_n, test/distributions/test_distributions.py::TestDistributionShapes::test_categorical_shape, test/distributions/test_distributions.py::TestDistributionShapes::test_cauchy_shape_scalar_params, test/distributions/test_distributions.py::TestDistributionShapes::test_cauchy_shape_tensor_params, test/distributions/test_distributions.py::TestDistributionShapes::test_chi2_shape_tensor_params, test/distributions/test_distributions.py::TestDistributionShapes::test_exponential_shape_scalar_param, test/distributions/test_distributions.py::TestDistributionShapes::test_exponential_shape_tensor_param, test/distributions/test_distributions.py::TestDistributionShapes::test_gamma_shape_scalar_params, test/distributions/test_distributions.py::TestDistributionShapes::test_gamma_shape_tensor_params, test/distributions/test_distributions.py::TestDistributionShapes::test_gumbel_shape_scalar_params, test/distributions/test_distributions.py::TestDistributionShapes::test_laplace_shape_tensor_params, test/distributions/test_distributions.py::TestDistributionShapes::test_mixture_same_family_mean_shape, test/distributions/test_distributions.py::TestDistributionShapes::test_multinomial_shape, test/distributions/test_distributions.py::TestDistributionShapes::test_normal_shape_scalar_params, test/distributions/test_distributions.py::TestDistributionShapes::test_one_hot_categorical_shape, test/distributions/test_distributions.py::TestDistributionShapes::test_studentT_shape_scalar_params, test/distributions/test_distributions.py::TestDistributionShapes::test_studentT_shape_tensor_params, test/distributions/test_distributions.py::TestDistributionShapes::test_uniform_shape_scalar_params, test/distributions/test_distributions.py::TestDistributionShapes::test_uniform_shape_tensor_params, test/distributions/test_distributions.py::TestDistributionShapes::test_vonmises_shape_scalar_params, test/distributions/test_distributions.py::TestDistributionShapes::test_wishart_shape_scalar_params, test/distributions/test_distributions.py::TestKL::test_entropy_monte_carlo, test/distributions/test_distributions.py::TestKL::test_kl_exponential_family, test/distributions/test_distributions.py::TestKL::test_kl_lowrank_multivariate_normal, test/distributions/test_distributions.py::TestKL::test_kl_lowrank_multivariate_normal_batched, test/distributions/test_distributions.py::TestKL::test_kl_multivariate_normal_batched, test/distributions/test_distributions.py::TestKL::test_kl_multivariate_normal_batched_broadcasted, test/distributions/test_distributions.py::TestKL::test_kl_transformed, test/distributions/test_distributions.py::TestConstraints::test_support_constraints, test/distributions/test_distributions.py::TestNumericalStability::test_bernoulli_gradient, test/distributions/test_distributions.py::TestNumericalStability::test_categorical_log_prob_with_logits, test/distributions/test_distributions.py::TestNumericalStability::test_continuous_bernoulli_gradient, test/distributions/test_distributions.py::TestNumericalStability::test_continuous_bernoulli_with_logits_overflow, test/distributions/test_distributions.py::TestNumericalStability::test_multinomial_log_prob, test/distributions/test_distributions.py::TestLazyLogitsInitialization::test_lazy_logits_initialization, test/distributions/test_distributions.py::TestAgainstScipy::test_icdf, test/distributions/test_distributions.py::TestAgainstScipy::test_mean, test/distributions/test_distributions.py::TestFunctors::test_cat_event_dim, test/distributions/test_distributions.py::TestFunctors::test_stack_transform, test/distributions/test_distributions.py::TestValidation::test_invalid_log_probs_arg, test/distributions/test_distributions.py::TestValidation::test_valid, test/distributions/test_distributions.py::TestValidation::test_warning_unimplemented_constraints, test/distributions/test_distributions.py::TestJit::test_cdf, test/distributions/test_distributions.py::TestJit::test_mean, test/distributions/test_distributions.py::TestJit::test_sample 2025-03-14T05:18:39.6228901Z 2025-03-14T05:18:39.6229178Z Running distributions/test_distributions 2/2 ... [2025-03-14 05:18:39.612823] 2025-03-14T05:18:39.6229685Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:18:39.6230829Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'distributions/test_distributions.py', '--shard-id=2', '--num-shards=2', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:18:39.613154] 2025-03-14T05:24:48.3729109Z 2025-03-14T05:24:48.3730720Z distributions/test_distributions 2/2 was successful, full logs can be found in artifacts with path test/test-reports/distributions.test_distributions_2.2_47d3f7668ef0564e_.log 2025-03-14T05:24:48.3773320Z Running 96 items in this shard: test/distributions/test_distributions.py::TestDistributions::test_beta_sample, test/distributions/test_distributions.py::TestDistributions::test_beta_shape, test/distributions/test_distributions.py::TestDistributions::test_beta_underflow_gpu, test/distributions/test_distributions.py::TestDistributions::test_binomial_bfloat16, test/distributions/test_distributions.py::TestDistributions::test_binomial_enumerate_support, test/distributions/test_distributions.py::TestDistributions::test_binomial_extreme_vals, test/distributions/test_distributions.py::TestDistributions::test_binomial_log_prob_and_entropy, test/distributions/test_distributions.py::TestDistributions::test_binomial_sample, test/distributions/test_distributions.py::TestDistributions::test_binomial_stable, test/distributions/test_distributions.py::TestDistributions::test_chi2_sample, test/distributions/test_distributions.py::TestDistributions::test_dirichlet_log_prob, test/distributions/test_distributions.py::TestDistributions::test_dirichlet_log_prob_zero, test/distributions/test_distributions.py::TestDistributions::test_dirichlet_mode, test/distributions/test_distributions.py::TestDistributions::test_dirichlet_sample, test/distributions/test_distributions.py::TestDistributions::test_dirichlet_shape, test/distributions/test_distributions.py::TestDistributions::test_distribution_subclass_expand, test/distributions/test_distributions.py::TestDistributions::test_fishersnedecor_sample, test/distributions/test_distributions.py::TestDistributions::test_gamma_gpu_sample, test/distributions/test_distributions.py::TestDistributions::test_gamma_gpu_shape, test/distributions/test_distributions.py::TestDistributions::test_gamma_log_prob_at_boundary, test/distributions/test_distributions.py::TestDistributions::test_gumbel, test/distributions/test_distributions.py::TestDistributions::test_halfnormal_sample, test/distributions/test_distributions.py::TestDistributions::test_laplace, test/distributions/test_distributions.py::TestDistributions::test_laplace_sample, test/distributions/test_distributions.py::TestDistributions::test_lazy_property_grad, test/distributions/test_distributions.py::TestDistributions::test_logisticnormal, test/distributions/test_distributions.py::TestDistributions::test_lognormal, test/distributions/test_distributions.py::TestDistributions::test_lowrank_multivariate_normal_properties, test/distributions/test_distributions.py::TestDistributions::test_lowrank_multivariate_normal_sample, test/distributions/test_distributions.py::TestDistributions::test_mixture_same_family_sample, test/distributions/test_distributions.py::TestDistributions::test_mixture_same_family_shape, test/distributions/test_distributions.py::TestDistributions::test_mode, test/distributions/test_distributions.py::TestDistributions::test_multinomial_1d, test/distributions/test_distributions.py::TestDistributions::test_multinomial_sequential_draw, test/distributions/test_distributions.py::TestDistributions::test_multivariate_normal_sample, test/distributions/test_distributions.py::TestDistributions::test_multivariate_normal_stable_with_precision_matrix, test/distributions/test_distributions.py::TestDistributions::test_negative_binomial_log_prob, test/distributions/test_distributions.py::TestDistributions::test_negative_binomial_log_prob_vectorized_count, test/distributions/test_distributions.py::TestDistributions::test_one_hot_categorical_1d, test/distributions/test_distributions.py::TestDistributions::test_one_hot_categorical_enumerate_support, test/distributions/test_distributions.py::TestDistributions::test_poisson_gpu_sample, test/distributions/test_distributions.py::TestDistributions::test_poisson_sample, test/distributions/test_distributions.py::TestDistributions::test_poisson_shape, test/distributions/test_distributions.py::TestDistributions::test_relaxed_bernoulli, test/distributions/test_distributions.py::TestDistributions::test_relaxed_one_hot_categorical_1d, test/distributions/test_distributions.py::TestDistributions::test_relaxed_one_hot_categorical_2d, test/distributions/test_distributions.py::TestDistributions::test_rsample_requires_grad, test/distributions/test_distributions.py::TestDistributions::test_sample_detached, test/distributions/test_distributions.py::TestDistributions::test_uniform, test/distributions/test_distributions.py::TestDistributions::test_valid_parameter_broadcasting, test/distributions/test_distributions.py::TestDistributions::test_wishart_shape, test/distributions/test_distributions.py::TestRsample::test_chi2, test/distributions/test_distributions.py::TestRsample::test_dirichlet_multivariate, test/distributions/test_distributions.py::TestRsample::test_gamma, test/distributions/test_distributions.py::TestDistributionShapes::test_bernoulli_shape_scalar_params, test/distributions/test_distributions.py::TestDistributionShapes::test_beta_shape_tensor_params, test/distributions/test_distributions.py::TestDistributionShapes::test_chi2_shape_scalar_params, test/distributions/test_distributions.py::TestDistributionShapes::test_continuous_bernoulli_shape_scalar_params, test/distributions/test_distributions.py::TestDistributionShapes::test_continuous_bernoulli_shape_tensor_params, test/distributions/test_distributions.py::TestDistributionShapes::test_dirichlet_shape, test/distributions/test_distributions.py::TestDistributionShapes::test_entropy_shape, test/distributions/test_distributions.py::TestDistributionShapes::test_geometric_shape_scalar_params, test/distributions/test_distributions.py::TestDistributionShapes::test_geometric_shape_tensor_params, test/distributions/test_distributions.py::TestDistributionShapes::test_halfcauchy_shape_scalar_params, test/distributions/test_distributions.py::TestDistributionShapes::test_halfcauchy_shape_tensor_params, test/distributions/test_distributions.py::TestDistributionShapes::test_kumaraswamy_shape_scalar_params, test/distributions/test_distributions.py::TestDistributionShapes::test_laplace_shape_scalar_params, test/distributions/test_distributions.py::TestDistributionShapes::test_mixture_same_family_shape, test/distributions/test_distributions.py::TestDistributionShapes::test_normal_shape_tensor_params, test/distributions/test_distributions.py::TestDistributionShapes::test_pareto_shape_scalar_params, test/distributions/test_distributions.py::TestDistributionShapes::test_vonmises_shape_tensor_params, test/distributions/test_distributions.py::TestDistributionShapes::test_weibull_scale_scalar_params, test/distributions/test_distributions.py::TestDistributionShapes::test_wishart_shape_tensor_params, test/distributions/test_distributions.py::TestKL::test_entropy_exponential_family, test/distributions/test_distributions.py::TestKL::test_kl_edgecases, test/distributions/test_distributions.py::TestKL::test_kl_infinite, test/distributions/test_distributions.py::TestKL::test_kl_monte_carlo, test/distributions/test_distributions.py::TestKL::test_kl_multivariate_normal, test/distributions/test_distributions.py::TestKL::test_kl_shape, test/distributions/test_distributions.py::TestConstraints::test_params_constraints, test/distributions/test_distributions.py::TestNumericalStability::test_bernoulli_with_logits_overflow, test/distributions/test_distributions.py::TestNumericalStability::test_bernoulli_with_logits_underflow, test/distributions/test_distributions.py::TestNumericalStability::test_categorical_log_prob, test/distributions/test_distributions.py::TestNumericalStability::test_continuous_bernoulli_with_logits_underflow, test/distributions/test_distributions.py::TestNumericalStability::test_multinomial_log_prob_with_logits, test/distributions/test_distributions.py::TestLazyLogitsInitialization::test_lazy_probs_initialization, test/distributions/test_distributions.py::TestAgainstScipy::test_cdf, test/distributions/test_distributions.py::TestAgainstScipy::test_variance_stddev, test/distributions/test_distributions.py::TestFunctors::test_cat_transform, test/distributions/test_distributions.py::TestFunctors::test_cat_transform_non_uniform, test/distributions/test_distributions.py::TestValidation::test_invalid, test/distributions/test_distributions.py::TestJit::test_entropy, test/distributions/test_distributions.py::TestJit::test_enumerate_support, test/distributions/test_distributions.py::TestJit::test_log_prob, test/distributions/test_distributions.py::TestJit::test_rsample, test/distributions/test_distributions.py::TestJit::test_variance 2025-03-14T05:24:48.3811603Z 2025-03-14T05:24:48.3811841Z Running test_autoload_disable 1/1 ... [2025-03-14 05:24:48.373363] 2025-03-14T05:24:50.9885405Z running install 2025-03-14T05:24:50.9886802Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/setuptools/_distutils/cmd.py:79: SetuptoolsDeprecationWarning: setup.py install is deprecated. 2025-03-14T05:24:50.9888630Z !! 2025-03-14T05:24:50.9888827Z 2025-03-14T05:24:50.9889037Z ******************************************************************************** 2025-03-14T05:24:50.9889744Z Please avoid running ``setup.py`` directly. 2025-03-14T05:24:50.9890511Z Instead, use pypa/build, pypa/installer or other 2025-03-14T05:24:50.9891209Z standards-based tools. 2025-03-14T05:24:50.9891586Z 2025-03-14T05:24:50.9892145Z See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. 2025-03-14T05:24:50.9893144Z ******************************************************************************** 2025-03-14T05:24:50.9893580Z 2025-03-14T05:24:50.9893748Z !! 2025-03-14T05:24:50.9894155Z self.initialize_options() 2025-03-14T05:24:51.0023141Z running build 2025-03-14T05:24:51.0023602Z running build_py 2025-03-14T05:24:51.0107093Z creating build/lib.linux-x86_64-cpython-313/torch_test_cpp_extension 2025-03-14T05:24:51.0119531Z copying torch_test_cpp_extension/__init__.py -> build/lib.linux-x86_64-cpython-313/torch_test_cpp_extension 2025-03-14T05:24:51.0128260Z running build_ext 2025-03-14T05:24:51.1239971Z building 'torch_test_cpp_extension.cpp' extension 2025-03-14T05:24:51.1241056Z creating build/temp.linux-x86_64-cpython-313 2025-03-14T05:24:51.1246518Z g++ -pthread -B /opt/conda/envs/py_3.13/compiler_compat -fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /opt/conda/envs/py_3.13/include -fPIC -O2 -isystem /opt/conda/envs/py_3.13/include -fPIC -I/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include -I/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/torch/csrc/api/include -Iself_compiler_include_dirs_test -I/opt/conda/envs/py_3.13/include/python3.13 -c extension.cpp -o build/temp.linux-x86_64-cpython-313/extension.o -g -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_clang\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1002\" -DTORCH_EXTENSION_NAME=cpp -D_GLIBCXX_USE_CXX11_ABI=1 -std=c++17 2025-03-14T05:24:52.4322054Z In file included from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/torch/csrc/Exceptions.h:12, 2025-03-14T05:24:52.4323065Z from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/torch/csrc/api/include/torch/python.h:11, 2025-03-14T05:24:52.4323962Z from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/torch/extension.h:9, 2025-03-14T05:24:52.4324560Z from extension.cpp:1: 2025-03-14T05:24:52.4327575Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/pybind11/pybind11.h: In instantiation of ‘class pybind11::class_’: 2025-03-14T05:24:52.4328446Z extension.cpp:45:53: required from here 2025-03-14T05:24:52.4330303Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/pybind11/pybind11.h:1539:7: warning: ‘pybind11::class_’ declared with greater visibility than its base ‘pybind11::detail::generic_type’ [-Wattributes] 2025-03-14T05:24:52.4331602Z 1539 | class class_ : public detail::generic_type { 2025-03-14T05:24:52.4331976Z | ^~~~~~ 2025-03-14T05:24:52.4333615Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/pybind11/pybind11.h: In instantiation of ‘pybind11::class_< , >::class_(pybind11::handle, const char*, const Extra& ...) [with Extra = {}; type_ = MatrixMultiplier; options = {}]’: 2025-03-14T05:24:52.4335211Z extension.cpp:45:53: required from here 2025-03-14T05:24:52.4338765Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/pybind11/pybind11.h:1599:28: warning: ‘pybind11::class_< , >::class_(pybind11::handle, const char*, const Extra& ...) [with Extra = {}; type_ = MatrixMultiplier; options = {}]::’ declared with greater visibility than the type of its field ‘pybind11::class_< , >::class_(pybind11::handle, const char*, const Extra& ...) [with Extra = {}; type_ = MatrixMultiplier; options = {}]::::’ [-Wattributes] 2025-03-14T05:24:52.4341452Z 1599 | with_internals([&](internals &internals) { 2025-03-14T05:24:52.4341852Z | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-03-14T05:24:52.4342383Z 1600 | auto &instances = record.module_local ? get_local_internals().registered_types_cpp 2025-03-14T05:24:52.4342974Z | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-03-14T05:24:52.4343436Z 1601 | : internals.registered_types_cpp; 2025-03-14T05:24:52.4343858Z | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-03-14T05:24:52.4344301Z 1602 | instances[std::type_index(typeid(type_alias))] 2025-03-14T05:24:52.4344719Z | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-03-14T05:24:52.4345130Z 1603 | = instances[std::type_index(typeid(type))]; 2025-03-14T05:24:52.4345538Z | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-03-14T05:24:52.4345877Z 1604 | }); 2025-03-14T05:24:52.4346140Z | ~ 2025-03-14T05:24:52.4349326Z g++ -pthread -B /opt/conda/envs/py_3.13/compiler_compat -fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /opt/conda/envs/py_3.13/include -fPIC -O2 -isystem /opt/conda/envs/py_3.13/include -pthread -B /opt/conda/envs/py_3.13/compiler_compat -shared -Wl,-rpath,/opt/conda/envs/py_3.13/lib -Wl,-rpath-link,/opt/conda/envs/py_3.13/lib -L/opt/conda/envs/py_3.13/lib -Wl,-rpath,/opt/conda/envs/py_3.13/lib -Wl,-rpath-link,/opt/conda/envs/py_3.13/lib -L/opt/conda/envs/py_3.13/lib build/temp.linux-x86_64-cpython-313/extension.o -L/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/lib -lc10 -ltorch -ltorch_cpu -ltorch_python -o build/lib.linux-x86_64-cpython-313/torch_test_cpp_extension/cpp.cpython-313-x86_64-linux-gnu.so 2025-03-14T05:24:52.8306306Z building 'torch_test_cpp_extension.maia' extension 2025-03-14T05:24:52.8311328Z g++ -pthread -B /opt/conda/envs/py_3.13/compiler_compat -fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /opt/conda/envs/py_3.13/include -fPIC -O2 -isystem /opt/conda/envs/py_3.13/include -fPIC -I/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include -I/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/torch/csrc/api/include -Iself_compiler_include_dirs_test -I/opt/conda/envs/py_3.13/include/python3.13 -c maia_extension.cpp -o build/temp.linux-x86_64-cpython-313/maia_extension.o -g -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_clang\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1002\" -DTORCH_EXTENSION_NAME=maia -D_GLIBCXX_USE_CXX11_ABI=1 -std=c++17 2025-03-14T05:24:54.1831806Z g++ -pthread -B /opt/conda/envs/py_3.13/compiler_compat -fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /opt/conda/envs/py_3.13/include -fPIC -O2 -isystem /opt/conda/envs/py_3.13/include -pthread -B /opt/conda/envs/py_3.13/compiler_compat -shared -Wl,-rpath,/opt/conda/envs/py_3.13/lib -Wl,-rpath-link,/opt/conda/envs/py_3.13/lib -L/opt/conda/envs/py_3.13/lib -Wl,-rpath,/opt/conda/envs/py_3.13/lib -Wl,-rpath-link,/opt/conda/envs/py_3.13/lib -L/opt/conda/envs/py_3.13/lib build/temp.linux-x86_64-cpython-313/maia_extension.o -L/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/lib -lc10 -ltorch -ltorch_cpu -ltorch_python -o build/lib.linux-x86_64-cpython-313/torch_test_cpp_extension/maia.cpython-313-x86_64-linux-gnu.so 2025-03-14T05:24:54.5723907Z building 'torch_test_cpp_extension.rng' extension 2025-03-14T05:24:54.5728596Z g++ -pthread -B /opt/conda/envs/py_3.13/compiler_compat -fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /opt/conda/envs/py_3.13/include -fPIC -O2 -isystem /opt/conda/envs/py_3.13/include -fPIC -I/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include -I/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/torch/csrc/api/include -Iself_compiler_include_dirs_test -I/opt/conda/envs/py_3.13/include/python3.13 -c rng_extension.cpp -o build/temp.linux-x86_64-cpython-313/rng_extension.o -g -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_clang\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1002\" -DTORCH_EXTENSION_NAME=rng -D_GLIBCXX_USE_CXX11_ABI=1 -std=c++17 2025-03-14T05:24:56.1781114Z In file included from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/cpu/vec/vec256/vec256.h:8, 2025-03-14T05:24:56.1782622Z from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/cpu/vec/vec.h:7, 2025-03-14T05:24:56.1784026Z from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/native/cpu/Loops.h:37, 2025-03-14T05:24:56.1785560Z from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/native/cpu/DistributionTemplates.h:9, 2025-03-14T05:24:56.1786515Z from rng_extension.cpp:6: 2025-03-14T05:24:56.1787633Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/cpu/vec/vec_base.h:1158: warning: ignoring #pragma unroll [-Wunknown-pragmas] 2025-03-14T05:24:56.1788788Z 1158 | # pragma unroll 2025-03-14T05:24:56.1789098Z | 2025-03-14T05:24:56.1789806Z In file included from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/cpu/vec/vec_base.h:1198, 2025-03-14T05:24:56.1790850Z from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/cpu/vec/vec256/vec256.h:8, 2025-03-14T05:24:56.1791678Z from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/cpu/vec/vec.h:7, 2025-03-14T05:24:56.1792511Z from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/native/cpu/Loops.h:37, 2025-03-14T05:24:56.1793434Z from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/native/cpu/DistributionTemplates.h:9, 2025-03-14T05:24:56.1794121Z from rng_extension.cpp:6: 2025-03-14T05:24:56.1794921Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/cpu/vec/vec_n.h:59: warning: ignoring #pragma unroll [-Wunknown-pragmas] 2025-03-14T05:24:56.1795708Z 59 | #pragma unroll 2025-03-14T05:24:56.1795975Z | 2025-03-14T05:24:56.1796669Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/cpu/vec/vec_n.h:72: warning: ignoring #pragma unroll [-Wunknown-pragmas] 2025-03-14T05:24:56.1797443Z 72 | #pragma unroll 2025-03-14T05:24:56.1797706Z | 2025-03-14T05:24:56.1798598Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/cpu/vec/vec_n.h:87: warning: ignoring #pragma unroll [-Wunknown-pragmas] 2025-03-14T05:24:56.1799381Z 87 | #pragma unroll 2025-03-14T05:24:56.1799645Z | 2025-03-14T05:24:56.1800198Z In file included from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/cpu/vec/vec_base.h:1199, 2025-03-14T05:24:56.1801120Z from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/cpu/vec/vec256/vec256.h:8, 2025-03-14T05:24:56.1802655Z from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/cpu/vec/vec.h:7, 2025-03-14T05:24:56.1803460Z from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/native/cpu/Loops.h:37, 2025-03-14T05:24:56.1804384Z from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/native/cpu/DistributionTemplates.h:9, 2025-03-14T05:24:56.1805072Z from rng_extension.cpp:6: 2025-03-14T05:24:56.1805975Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/cpu/vec/vec_mask.h:153: warning: ignoring #pragma unroll [-Wunknown-pragmas] 2025-03-14T05:24:56.1806778Z 153 | #pragma unroll 2025-03-14T05:24:56.1807040Z | 2025-03-14T05:24:56.1810147Z g++ -pthread -B /opt/conda/envs/py_3.13/compiler_compat -fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /opt/conda/envs/py_3.13/include -fPIC -O2 -isystem /opt/conda/envs/py_3.13/include -pthread -B /opt/conda/envs/py_3.13/compiler_compat -shared -Wl,-rpath,/opt/conda/envs/py_3.13/lib -Wl,-rpath-link,/opt/conda/envs/py_3.13/lib -L/opt/conda/envs/py_3.13/lib -Wl,-rpath,/opt/conda/envs/py_3.13/lib -Wl,-rpath-link,/opt/conda/envs/py_3.13/lib -L/opt/conda/envs/py_3.13/lib build/temp.linux-x86_64-cpython-313/rng_extension.o -L/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/lib -lc10 -ltorch -ltorch_cpu -ltorch_python -o build/lib.linux-x86_64-cpython-313/torch_test_cpp_extension/rng.cpython-313-x86_64-linux-gnu.so 2025-03-14T05:24:56.5842688Z running install_lib 2025-03-14T05:24:56.5933398Z creating install/opt/conda/envs/py_3.13/lib/python3.13/site-packages 2025-03-14T05:24:56.5943380Z creating install/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch_test_cpp_extension 2025-03-14T05:24:56.5944795Z copying build/lib.linux-x86_64-cpython-313/torch_test_cpp_extension/__init__.py -> ./install/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch_test_cpp_extension 2025-03-14T05:24:56.5947051Z copying build/lib.linux-x86_64-cpython-313/torch_test_cpp_extension/cpp.cpython-313-x86_64-linux-gnu.so -> ./install/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch_test_cpp_extension 2025-03-14T05:24:56.6032807Z copying build/lib.linux-x86_64-cpython-313/torch_test_cpp_extension/maia.cpython-313-x86_64-linux-gnu.so -> ./install/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch_test_cpp_extension 2025-03-14T05:24:56.6117357Z copying build/lib.linux-x86_64-cpython-313/torch_test_cpp_extension/rng.cpython-313-x86_64-linux-gnu.so -> ./install/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch_test_cpp_extension 2025-03-14T05:24:56.6261050Z byte-compiling ./install/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch_test_cpp_extension/__init__.py to __init__.cpython-313.pyc 2025-03-14T05:24:56.6261854Z running install_egg_info 2025-03-14T05:24:56.6419931Z running egg_info 2025-03-14T05:24:56.6488240Z creating torch_test_cpp_extension.egg-info 2025-03-14T05:24:56.6489526Z writing torch_test_cpp_extension.egg-info/PKG-INFO 2025-03-14T05:24:56.6492614Z writing dependency_links to torch_test_cpp_extension.egg-info/dependency_links.txt 2025-03-14T05:24:56.6494523Z writing entry points to torch_test_cpp_extension.egg-info/entry_points.txt 2025-03-14T05:24:56.6496626Z writing top-level names to torch_test_cpp_extension.egg-info/top_level.txt 2025-03-14T05:24:56.6498295Z writing manifest file 'torch_test_cpp_extension.egg-info/SOURCES.txt' 2025-03-14T05:24:56.6573239Z reading manifest file 'torch_test_cpp_extension.egg-info/SOURCES.txt' 2025-03-14T05:24:56.6580459Z writing manifest file 'torch_test_cpp_extension.egg-info/SOURCES.txt' 2025-03-14T05:24:56.6581881Z Copying torch_test_cpp_extension.egg-info to ./install/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch_test_cpp_extension-0.0.0-py3.13.egg-info 2025-03-14T05:24:56.6587602Z running install_scripts 2025-03-14T05:24:59.9384672Z 2025-03-14T05:24:59.9385120Z Running tests... 2025-03-14T05:24:59.9385514Z ---------------------------------------------------------------------- 2025-03-14T05:25:00.0774436Z . 2025-03-14T05:25:00.0774969Z ---------------------------------------------------------------------- 2025-03-14T05:25:00.0775402Z Ran 1 test in 0.139s 2025-03-14T05:25:00.0775634Z 2025-03-14T05:25:00.0775729Z OK 2025-03-14T05:25:00.0775862Z 2025-03-14T05:25:00.0775978Z Generating XML reports... 2025-03-14T05:25:00.7717349Z Running doctests 1/1 ... [2025-03-14 05:25:00.771384] 2025-03-14T05:25:00.8824306Z Start doctest_module('/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch') 2025-03-14T05:25:00.8825605Z Listing tests 2025-03-14T05:25:01.2611841Z msg = Cannot scrape callname=Tensor.dim_order in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_tensor.py line=1507. 2025-03-14T05:25:01.2613554Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:01.2614337Z 2025-03-14T05:25:01.2614586Z dim_order(ambiguity_check=False) -> tuple 2025-03-14T05:25:01.2615050Z 2025-03-14T05:25:01.2615558Z Returns the uniquely determined tuple of int describing the dim order or 2025-03-14T05:25:01.2616542Z physical layout of :attr:`self`. 2025-03-14T05:25:01.2616946Z 2025-03-14T05:25:01.2617451Z The dim order represents how dimensions are laid out in memory of dense tensors, 2025-03-14T05:25:01.2618513Z starting from the outermost to the innermost dimension. 2025-03-14T05:25:01.2619075Z 2025-03-14T05:25:01.2619436Z Note that the dim order may not always be uniquely determined. 2025-03-14T05:25:01.2620771Z If `ambiguity_check` is True, this function raises a RuntimeError when the dim order cannot be uniquely determined; 2025-03-14T05:25:01.2622587Z If `ambiguity_check` is a list of memory formats, this function raises a RuntimeError when tensor can not be interpreted 2025-03-14T05:25:01.2624146Z into exactly one of the given memory formats, or it cannot be uniquely determined. 2025-03-14T05:25:01.2625564Z If `ambiguity_check` is False, it will return one of legal dim order(s) without checking its uniqueness. 2025-03-14T05:25:01.2626677Z Otherwise, it will raise TypeError. 2025-03-14T05:25:01.2627113Z 2025-03-14T05:25:01.2627272Z Args: 2025-03-14T05:25:01.2628130Z ambiguity_check (bool or List[torch.memory_format]): The check method for ambiguity of dim order. 2025-03-14T05:25:01.2629012Z 2025-03-14T05:25:01.2629228Z Examples:: 2025-03-14T05:25:01.2629474Z 2025-03-14T05:25:01.2629693Z >>> torch.empty((2, 3, 5, 7)).dim_order() 2025-03-14T05:25:01.2630290Z (0, 1, 2, 3) 2025-03-14T05:25:01.2630853Z >>> torch.empty((2, 3, 5, 7)).transpose(1, 2).dim_order() 2025-03-14T05:25:01.2631555Z (0, 2, 1, 3) 2025-03-14T05:25:01.2632220Z >>> torch.empty((2, 3, 5, 7), memory_format=torch.channels_last).dim_order() 2025-03-14T05:25:01.2633033Z (0, 2, 3, 1) 2025-03-14T05:25:01.2633505Z >>> torch.empty((1, 2, 3, 4)).dim_order() 2025-03-14T05:25:01.2634085Z (0, 1, 2, 3) 2025-03-14T05:25:01.2634507Z >>> try: 2025-03-14T05:25:01.2635069Z ... torch.empty((1, 2, 3, 4)).dim_order(ambiguity_check=True) 2025-03-14T05:25:01.2635842Z ... except RuntimeError as e: 2025-03-14T05:25:01.2636401Z ... print(e) 2025-03-14T05:25:01.2637285Z The tensor does not have unique dim order, or cannot map to exact one of the given memory formats. 2025-03-14T05:25:01.2638345Z >>> torch.empty((1, 2, 3, 4)).dim_order( 2025-03-14T05:25:01.2639165Z ... ambiguity_check=[torch.contiguous_format, torch.channels_last] 2025-03-14T05:25:01.2640045Z ... ) # It can be mapped to contiguous format 2025-03-14T05:25:01.2640674Z (0, 1, 2, 3) 2025-03-14T05:25:01.2641107Z >>> try: 2025-03-14T05:25:01.2641701Z ... torch.empty((1, 2, 3, 4)).dim_order(ambiguity_check="ILLEGAL") 2025-03-14T05:25:01.2642486Z ... except TypeError as e: 2025-03-14T05:25:01.2643006Z ... print(e) 2025-03-14T05:25:01.2643738Z The ambiguity_check argument must be a bool or a list of memory formats. 2025-03-14T05:25:01.2644419Z 2025-03-14T05:25:01.2644618Z .. warning:: 2025-03-14T05:25:01.2645614Z The dim_order tensor API is experimental and subject to change. 2025-03-14T05:25:01.2646205Z 2025-03-14T05:25:01.2646699Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:01.2647403Z 2025-03-14T05:25:01.3175413Z msg = Cannot scrape callname=meshgrid in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/functional.py line=446. 2025-03-14T05:25:01.3177188Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:01.3178743Z Creates grids of coordinates specified by the 1D inputs in `attr`:tensors. 2025-03-14T05:25:01.3179438Z 2025-03-14T05:25:01.3179782Z This is helpful when you want to visualize data over some 2025-03-14T05:25:01.3180698Z range of inputs. See below for a plotting example. 2025-03-14T05:25:01.3181214Z 2025-03-14T05:25:01.3181527Z Given :math:`N` 1D tensors :math:`T_0 \ldots T_{N-1}` as 2025-03-14T05:25:01.3182433Z inputs with corresponding sizes :math:`S_0 \ldots S_{N-1}`, 2025-03-14T05:25:01.3183403Z this creates :math:`N` N-dimensional tensors :math:`G_0 \ldots 2025-03-14T05:25:01.3184308Z G_{N-1}`, each with shape :math:`(S_0, ..., S_{N-1})` where 2025-03-14T05:25:01.3185199Z the output :math:`G_i` is constructed by expanding :math:`T_i` 2025-03-14T05:25:01.3185982Z to the result shape. 2025-03-14T05:25:01.3186316Z 2025-03-14T05:25:01.3186535Z .. note:: 2025-03-14T05:25:01.3187106Z 0D inputs are treated equivalently to 1D inputs of a 2025-03-14T05:25:01.3187845Z single element. 2025-03-14T05:25:01.3188184Z 2025-03-14T05:25:01.3188365Z .. warning:: 2025-03-14T05:25:01.3188977Z `torch.meshgrid(*tensors)` currently has the same behavior 2025-03-14T05:25:01.3189863Z as calling `numpy.meshgrid(*arrays, indexing='ij')`. 2025-03-14T05:25:01.3190399Z 2025-03-14T05:25:01.3190694Z In the future `torch.meshgrid` will transition to 2025-03-14T05:25:01.3191418Z `indexing='xy'` as the default. 2025-03-14T05:25:01.3191865Z 2025-03-14T05:25:01.3192219Z https://github.com/pytorch/pytorch/issues/50276 tracks 2025-03-14T05:25:01.3193132Z this issue with the goal of migrating to NumPy's behavior. 2025-03-14T05:25:01.3193701Z 2025-03-14T05:25:01.3193871Z .. seealso:: 2025-03-14T05:25:01.3194163Z 2025-03-14T05:25:01.3194479Z :func:`torch.cartesian_prod` has the same effect but it 2025-03-14T05:25:01.3195270Z collects the data in a tensor of vectors. 2025-03-14T05:25:01.3195760Z 2025-03-14T05:25:01.3195920Z Args: 2025-03-14T05:25:01.3196676Z tensors (list of Tensor): list of scalars or 1 dimensional tensors. Scalars will be 2025-03-14T05:25:01.3197741Z treated as tensors of size :math:`(1,)` automatically 2025-03-14T05:25:01.3198493Z 2025-03-14T05:25:01.3198819Z indexing: (str, optional): the indexing mode, either "xy" 2025-03-14T05:25:01.3199696Z or "ij", defaults to "ij". See warning for future changes. 2025-03-14T05:25:01.3200221Z 2025-03-14T05:25:01.3200507Z If "xy" is selected, the first dimension corresponds 2025-03-14T05:25:01.3201267Z to the cardinality of the second input and the second 2025-03-14T05:25:01.3202136Z dimension corresponds to the cardinality of the first 2025-03-14T05:25:01.3202867Z input. 2025-03-14T05:25:01.3203167Z 2025-03-14T05:25:01.3203448Z If "ij" is selected, the dimensions are in the same 2025-03-14T05:25:01.3204206Z order as the cardinality of the inputs. 2025-03-14T05:25:01.3204673Z 2025-03-14T05:25:01.3204824Z Returns: 2025-03-14T05:25:01.3205337Z seq (sequence of Tensors): If the input has :math:`N` 2025-03-14T05:25:01.3206073Z tensors of size :math:`S_0 \ldots S_{N-1}``, then the 2025-03-14T05:25:01.3206883Z output will also have :math:`N` tensors, where each tensor 2025-03-14T05:25:01.3207981Z is of shape :math:`(S_0, ..., S_{N-1})`. 2025-03-14T05:25:01.3208437Z 2025-03-14T05:25:01.3208634Z Example:: 2025-03-14T05:25:01.3208905Z 2025-03-14T05:25:01.3209130Z >>> x = torch.tensor([1, 2, 3]) 2025-03-14T05:25:01.3209739Z >>> y = torch.tensor([4, 5, 6]) 2025-03-14T05:25:01.3210140Z 2025-03-14T05:25:01.3210511Z Observe the element-wise pairings across the grid, (1, 4), 2025-03-14T05:25:01.3211365Z (1, 5), ..., (3, 6). This is the same thing as the 2025-03-14T05:25:01.3212148Z cartesian product. 2025-03-14T05:25:01.3212791Z >>> grid_x, grid_y = torch.meshgrid(x, y, indexing='ij') 2025-03-14T05:25:01.3213476Z >>> grid_x 2025-03-14T05:25:01.3213944Z tensor([[1, 1, 1], 2025-03-14T05:25:01.3214452Z [2, 2, 2], 2025-03-14T05:25:01.3214951Z [3, 3, 3]]) 2025-03-14T05:25:01.3215428Z >>> grid_y 2025-03-14T05:25:01.3215965Z tensor([[4, 5, 6], 2025-03-14T05:25:01.3216444Z [4, 5, 6], 2025-03-14T05:25:01.3216936Z [4, 5, 6]]) 2025-03-14T05:25:01.3217285Z 2025-03-14T05:25:01.3217591Z This correspondence can be seen when these grids are 2025-03-14T05:25:01.3218308Z stacked properly. 2025-03-14T05:25:01.3219013Z >>> torch.equal(torch.cat(tuple(torch.dstack([grid_x, grid_y]))), 2025-03-14T05:25:01.3219836Z ... torch.cartesian_prod(x, y)) 2025-03-14T05:25:01.3220447Z True 2025-03-14T05:25:01.3220711Z 2025-03-14T05:25:01.3221063Z `torch.meshgrid` is commonly used to produce a grid for 2025-03-14T05:25:01.3221771Z plotting. 2025-03-14T05:25:01.3222296Z >>> # xdoctest: +REQUIRES(module:matplotlib) 2025-03-14T05:25:01.3223000Z >>> # xdoctest: +REQUIRES(env:DOCTEST_SHOW) 2025-03-14T05:25:01.3223698Z >>> import matplotlib.pyplot as plt 2025-03-14T05:25:01.3224390Z >>> xs = torch.linspace(-5, 5, steps=100) 2025-03-14T05:25:01.3225062Z >>> ys = torch.linspace(-5, 5, steps=100) 2025-03-14T05:25:01.3225760Z >>> x, y = torch.meshgrid(xs, ys, indexing='xy') 2025-03-14T05:25:01.3226467Z >>> z = torch.sin(torch.sqrt(x * x + y * y)) 2025-03-14T05:25:01.3227130Z >>> ax = plt.axes(projection='3d') 2025-03-14T05:25:01.3227825Z >>> ax.plot_surface(x.numpy(), y.numpy(), z.numpy()) 2025-03-14T05:25:01.3228498Z >>> plt.show() 2025-03-14T05:25:01.3228819Z 2025-03-14T05:25:01.3229090Z .. image:: ../_static/img/meshgrid.png 2025-03-14T05:25:01.3229710Z :width: 512 2025-03-14T05:25:01.3230000Z 2025-03-14T05:25:01.3230175Z 2025-03-14T05:25:01.3230880Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:01.3231592Z 2025-03-14T05:25:01.3232590Z msg = Cannot scrape callname=_unique_impl in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/functional.py line=842. 2025-03-14T05:25:01.3234231Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:01.3235699Z unique(input, sorted=True, return_inverse=False, return_counts=False, dim=None) -> tuple[Tensor, Tensor, Tensor] 2025-03-14T05:25:01.3236660Z 2025-03-14T05:25:01.3236943Z Returns the unique elements of the input tensor. 2025-03-14T05:25:01.3237411Z 2025-03-14T05:25:01.3237973Z .. note:: This function is different from :func:`torch.unique_consecutive` in the sense that 2025-03-14T05:25:01.3239161Z this function also eliminates non-consecutive duplicate values. 2025-03-14T05:25:01.3239787Z 2025-03-14T05:25:01.3240215Z .. note:: Currently in the CUDA implementation and the CPU implementation, 2025-03-14T05:25:01.3241448Z `torch.unique` always sort the tensor at the beginning regardless of the `sort` argument. 2025-03-14T05:25:01.3242753Z Sorting could be slow, so if your input tensor is already sorted, it is recommended to use 2025-03-14T05:25:01.3244042Z :func:`torch.unique_consecutive` which avoids the sorting. 2025-03-14T05:25:01.3244617Z 2025-03-14T05:25:01.3244776Z Args: 2025-03-14T05:25:01.3245176Z input (Tensor): the input tensor 2025-03-14T05:25:01.3245956Z sorted (bool): Whether to sort the unique elements in ascending order 2025-03-14T05:25:01.3246807Z before returning as output. 2025-03-14T05:25:01.3247621Z return_inverse (bool): Whether to also return the indices for where 2025-03-14T05:25:01.3248789Z elements in the original input ended up in the returned unique list. 2025-03-14T05:25:01.3249843Z return_counts (bool): Whether to also return the counts for each unique 2025-03-14T05:25:01.3250663Z element. 2025-03-14T05:25:01.3251315Z dim (int, optional): the dimension to operate upon. If ``None``, the 2025-03-14T05:25:01.3252328Z unique of the flattened input is returned. Otherwise, each of the 2025-03-14T05:25:01.3253343Z tensors indexed by the given dimension is treated as one of the 2025-03-14T05:25:01.3254366Z elements to apply the unique operation upon. See examples for more 2025-03-14T05:25:01.3255201Z details. Default: ``None`` 2025-03-14T05:25:01.3255695Z 2025-03-14T05:25:01.3255861Z Returns: 2025-03-14T05:25:01.3256612Z (Tensor, Tensor (optional), Tensor (optional)): A tensor or a tuple of tensors containing 2025-03-14T05:25:01.3257372Z 2025-03-14T05:25:01.3257774Z - **output** (*Tensor*): the output list of unique scalar elements. 2025-03-14T05:25:01.3258637Z - **inverse_indices** (*Tensor*): (optional) if 2025-03-14T05:25:01.3259465Z :attr:`return_inverse` is True, there will be an additional 2025-03-14T05:25:01.3260416Z returned tensor (same shape as input) representing the indices 2025-03-14T05:25:01.3261375Z for where elements in the original input map to in the output; 2025-03-14T05:25:01.3262318Z otherwise, this function will only return a single tensor. 2025-03-14T05:25:01.3276607Z - **counts** (*Tensor*): (optional) if 2025-03-14T05:25:01.3277490Z :attr:`return_counts` is True, there will be an additional 2025-03-14T05:25:01.3278412Z returned tensor (same shape as output or output.size(dim), 2025-03-14T05:25:01.3279344Z if dim was specified) representing the number of occurrences 2025-03-14T05:25:01.3280102Z for each unique value or tensor. 2025-03-14T05:25:01.3280538Z 2025-03-14T05:25:01.3280743Z Example:: 2025-03-14T05:25:01.3280995Z 2025-03-14T05:25:01.3281416Z >>> output = torch.unique(torch.tensor([1, 3, 2, 3], dtype=torch.long)) 2025-03-14T05:25:01.3282226Z >>> output 2025-03-14T05:25:01.3282663Z tensor([1, 2, 3]) 2025-03-14T05:25:01.3282959Z 2025-03-14T05:25:01.3283211Z >>> output, inverse_indices = torch.unique( 2025-03-14T05:25:01.3284110Z ... torch.tensor([1, 3, 2, 3], dtype=torch.long), sorted=True, return_inverse=True) 2025-03-14T05:25:01.3284939Z >>> output 2025-03-14T05:25:01.3285393Z tensor([1, 2, 3]) 2025-03-14T05:25:01.3285871Z >>> inverse_indices 2025-03-14T05:25:01.3286379Z tensor([0, 2, 1, 2]) 2025-03-14T05:25:01.3286728Z 2025-03-14T05:25:01.3286965Z >>> output, inverse_indices = torch.unique( 2025-03-14T05:25:01.3287866Z ... torch.tensor([[1, 3], [2, 3]], dtype=torch.long), sorted=True, return_inverse=True) 2025-03-14T05:25:01.3288711Z >>> output 2025-03-14T05:25:01.3289150Z tensor([1, 2, 3]) 2025-03-14T05:25:01.3289640Z >>> inverse_indices 2025-03-14T05:25:01.3290134Z tensor([[0, 2], 2025-03-14T05:25:01.3290593Z [1, 2]]) 2025-03-14T05:25:01.3290890Z 2025-03-14T05:25:01.3291058Z >>> a = torch.tensor([ 2025-03-14T05:25:01.3291547Z ... [ 2025-03-14T05:25:01.3292138Z ... [1, 1, 0, 0], 2025-03-14T05:25:01.3292663Z ... [1, 1, 0, 0], 2025-03-14T05:25:01.3293188Z ... [0, 0, 1, 1], 2025-03-14T05:25:01.3293709Z ... ], 2025-03-14T05:25:01.3294131Z ... [ 2025-03-14T05:25:01.3294526Z ... [0, 0, 1, 1], 2025-03-14T05:25:01.3295012Z ... [0, 0, 1, 1], 2025-03-14T05:25:01.3295517Z ... [1, 1, 1, 1], 2025-03-14T05:25:01.3296105Z ... ], 2025-03-14T05:25:01.3296522Z ... [ 2025-03-14T05:25:01.3296936Z ... [1, 1, 0, 0], 2025-03-14T05:25:01.3297594Z ... [1, 1, 0, 0], 2025-03-14T05:25:01.3298285Z ... [0, 0, 1, 1], 2025-03-14T05:25:01.3298778Z ... ], 2025-03-14T05:25:01.3299191Z ... ]) 2025-03-14T05:25:01.3299436Z 2025-03-14T05:25:01.3299846Z >>> # If we call `torch.unique(a, dim=0)`, each of the tensors `a[idx, :, :]` 2025-03-14T05:25:01.3300866Z >>> # will be compared. We can see that `a[0, :, :]` and `a[2, :, :]` match 2025-03-14T05:25:01.3301730Z >>> # each other, so one of them will be removed. 2025-03-14T05:25:01.3302387Z >>> (a[0, :, :] == a[2, :, :]).all() 2025-03-14T05:25:01.3302949Z tensor(True) 2025-03-14T05:25:01.3303458Z >>> a_unique_dim0 = torch.unique(a, dim=0) 2025-03-14T05:25:01.3304050Z >>> a_unique_dim0 2025-03-14T05:25:01.3304530Z tensor([[[0, 0, 1, 1], 2025-03-14T05:25:01.3305017Z [0, 0, 1, 1], 2025-03-14T05:25:01.3305519Z [1, 1, 1, 1]], 2025-03-14T05:25:01.3306038Z [[1, 1, 0, 0], 2025-03-14T05:25:01.3306536Z [1, 1, 0, 0], 2025-03-14T05:25:01.3307045Z [0, 0, 1, 1]]]) 2025-03-14T05:25:01.3307402Z 2025-03-14T05:25:01.3307806Z >>> # Notice which sub-tensors from `a` match with the sub-tensors from 2025-03-14T05:25:01.3308599Z >>> # `a_unique_dim0`: 2025-03-14T05:25:01.3309163Z >>> (a_unique_dim0[0, :, :] == a[1, :, :]).all() 2025-03-14T05:25:01.3309778Z tensor(True) 2025-03-14T05:25:01.3310279Z >>> (a_unique_dim0[1, :, :] == a[0, :, :]).all() 2025-03-14T05:25:01.3310888Z tensor(True) 2025-03-14T05:25:01.3311164Z 2025-03-14T05:25:01.3311554Z >>> # For `torch.unique(a, dim=1)`, each of the tensors `a[:, idx, :]` are 2025-03-14T05:25:01.3312497Z >>> # compared. `a[:, 0, :]` and `a[:, 1, :]` match each other, so one of 2025-03-14T05:25:01.3313251Z >>> # them will be removed. 2025-03-14T05:25:01.3313815Z >>> (a[:, 0, :] == a[:, 1, :]).all() 2025-03-14T05:25:01.3314399Z tensor(True) 2025-03-14T05:25:01.3314866Z >>> torch.unique(a, dim=1) 2025-03-14T05:25:01.3315418Z tensor([[[0, 0, 1, 1], 2025-03-14T05:25:01.3315921Z [1, 1, 0, 0]], 2025-03-14T05:25:01.3316408Z [[1, 1, 1, 1], 2025-03-14T05:25:01.3316898Z [0, 0, 1, 1]], 2025-03-14T05:25:01.3317410Z [[0, 0, 1, 1], 2025-03-14T05:25:01.3317912Z [1, 1, 0, 0]]]) 2025-03-14T05:25:01.3318266Z 2025-03-14T05:25:01.3318650Z >>> # For `torch.unique(a, dim=2)`, the tensors `a[:, :, idx]` are compared. 2025-03-14T05:25:01.3319589Z >>> # `a[:, :, 0]` and `a[:, :, 1]` match each other. Also, `a[:, :, 2]` and 2025-03-14T05:25:01.3320460Z >>> # `a[:, :, 3]` match each other as well. So in this case, two of the 2025-03-14T05:25:01.3321228Z >>> # sub-tensors will be removed. 2025-03-14T05:25:01.3321838Z >>> (a[:, :, 0] == a[:, :, 1]).all() 2025-03-14T05:25:01.3322411Z tensor(True) 2025-03-14T05:25:01.3322884Z >>> (a[:, :, 2] == a[:, :, 3]).all() 2025-03-14T05:25:01.3323449Z tensor(True) 2025-03-14T05:25:01.3323923Z >>> torch.unique(a, dim=2) 2025-03-14T05:25:01.3324483Z tensor([[[0, 1], 2025-03-14T05:25:01.3324958Z [0, 1], 2025-03-14T05:25:01.3325428Z [1, 0]], 2025-03-14T05:25:01.3325858Z [[1, 0], 2025-03-14T05:25:01.3326531Z [1, 0], 2025-03-14T05:25:01.3326954Z [1, 1]], 2025-03-14T05:25:01.3327428Z [[0, 1], 2025-03-14T05:25:01.3327895Z [0, 1], 2025-03-14T05:25:01.3328362Z [1, 0]]]) 2025-03-14T05:25:01.3328824Z 2025-03-14T05:25:01.3329534Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:01.3330267Z 2025-03-14T05:25:01.3430625Z msg = Cannot scrape callname=load in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/hub.py line=560. 2025-03-14T05:25:01.3432382Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:01.3433155Z 2025-03-14T05:25:01.3433457Z Load a model from a github repo or a local directory. 2025-03-14T05:25:01.3433969Z 2025-03-14T05:25:01.3434412Z Note: Loading a model is the typical use case, but this can also be used to 2025-03-14T05:25:01.3435427Z for loading other objects such as tokenizers, loss functions, etc. 2025-03-14T05:25:01.3436054Z 2025-03-14T05:25:01.3436361Z If ``source`` is 'github', ``repo_or_dir`` is expected to be 2025-03-14T05:25:01.3437354Z of the form ``repo_owner/repo_name[:ref]`` with an optional 2025-03-14T05:25:01.3438019Z ref (a tag or a branch). 2025-03-14T05:25:01.3438362Z 2025-03-14T05:25:01.3438689Z If ``source`` is 'local', ``repo_or_dir`` is expected to be a 2025-03-14T05:25:01.3439436Z path to a local directory. 2025-03-14T05:25:01.3439788Z 2025-03-14T05:25:01.3439946Z Args: 2025-03-14T05:25:01.3440402Z repo_or_dir (str): If ``source`` is 'github', 2025-03-14T05:25:01.3441436Z this should correspond to a github repo with format ``repo_owner/repo_name[:ref]`` with 2025-03-14T05:25:01.3442725Z an optional ref (tag or branch), for example 'pytorch/vision:0.10'. If ``ref`` is not specified, 2025-03-14T05:25:01.3444026Z the default branch is assumed to be ``main`` if it exists, and otherwise ``master``. 2025-03-14T05:25:01.3445063Z If ``source`` is 'local' then it should be a path to a local directory. 2025-03-14T05:25:01.3445992Z model (str): the name of a callable (entrypoint) defined in the 2025-03-14T05:25:01.3446704Z repo/dir's ``hubconf.py``. 2025-03-14T05:25:01.3447436Z *args (optional): the corresponding args for callable ``model``. 2025-03-14T05:25:01.3448353Z source (str, optional): 'github' or 'local'. Specifies how 2025-03-14T05:25:01.3449200Z ``repo_or_dir`` is to be interpreted. Default is 'github'. 2025-03-14T05:25:01.3450099Z trust_repo (bool, str or None): ``"check"``, ``True``, ``False`` or ``None``. 2025-03-14T05:25:01.3451103Z This parameter was introduced in v1.12 and helps ensuring that users 2025-03-14T05:25:01.3451974Z only run code from repos that they trust. 2025-03-14T05:25:01.3452426Z 2025-03-14T05:25:01.3452791Z - If ``False``, a prompt will ask the user whether the repo should 2025-03-14T05:25:01.3453528Z be trusted. 2025-03-14T05:25:01.3454163Z - If ``True``, the repo will be added to the trusted list and loaded 2025-03-14T05:25:01.3454980Z without requiring explicit confirmation. 2025-03-14T05:25:01.3455867Z - If ``"check"``, the repo will be checked against the list of 2025-03-14T05:25:01.3456785Z trusted repos in the cache. If it is not present in that list, the 2025-03-14T05:25:01.3457758Z behaviour will fall back onto the ``trust_repo=False`` option. 2025-03-14T05:25:01.3458698Z - If ``None``: this will raise a warning, inviting the user to set 2025-03-14T05:25:01.3459602Z ``trust_repo`` to either ``False``, ``True`` or ``"check"``. This 2025-03-14T05:25:01.3460625Z is only present for backward compatibility and will be removed in 2025-03-14T05:25:01.3461392Z v2.0. 2025-03-14T05:25:01.3461662Z 2025-03-14T05:25:01.3462054Z Default is ``None`` and will eventually change to ``"check"`` in v2.0. 2025-03-14T05:25:01.3463057Z force_reload (bool, optional): whether to force a fresh download of 2025-03-14T05:25:01.3464270Z the github repo unconditionally. Does not have any effect if 2025-03-14T05:25:01.3465079Z ``source = 'local'``. Default is ``False``. 2025-03-14T05:25:01.3465906Z verbose (bool, optional): If ``False``, mute messages about hitting 2025-03-14T05:25:01.3466897Z local caches. Note that the message about first download cannot be 2025-03-14T05:25:01.3467788Z muted. Does not have any effect if ``source = 'local'``. 2025-03-14T05:25:01.3468515Z Default is ``True``. 2025-03-14T05:25:01.3469545Z skip_validation (bool, optional): if ``False``, torchhub will check that the branch or commit 2025-03-14T05:25:01.3470890Z specified by the ``github`` argument properly belongs to the repo owner. This will make 2025-03-14T05:25:01.3472186Z requests to the GitHub API; you can specify a non-default GitHub token by setting the 2025-03-14T05:25:01.3473262Z ``GITHUB_TOKEN`` environment variable. Default is ``False``. 2025-03-14T05:25:01.3474230Z **kwargs (optional): the corresponding kwargs for callable ``model``. 2025-03-14T05:25:01.3474876Z 2025-03-14T05:25:01.3475035Z Returns: 2025-03-14T05:25:01.3475594Z The output of the ``model`` callable when called with the given 2025-03-14T05:25:01.3476342Z ``*args`` and ``**kwargs``. 2025-03-14T05:25:01.3476683Z 2025-03-14T05:25:01.3476858Z Example: 2025-03-14T05:25:01.3477332Z >>> # xdoctest: +REQUIRES(env:TORCH_DOCTEST_HUB) 2025-03-14T05:25:01.3477986Z >>> # from a github repo 2025-03-14T05:25:01.3478526Z >>> repo = "pytorch/vision" 2025-03-14T05:25:01.3479068Z >>> model = torch.hub.load( 2025-03-14T05:25:01.3479756Z ... repo, "resnet50", weights="ResNet50_Weights.IMAGENET1K_V1" 2025-03-14T05:25:01.3480502Z ... ) 2025-03-14T05:25:01.3480896Z >>> # from a local directory 2025-03-14T05:25:01.3481527Z >>> path = "/some/local/path/pytorch/vision" 2025-03-14T05:25:01.3482180Z >>> # xdoctest: +SKIP 2025-03-14T05:25:01.3482961Z >>> model = torch.hub.load(path, "resnet50", weights="ResNet50_Weights.DEFAULT") 2025-03-14T05:25:01.3483665Z 2025-03-14T05:25:01.3484134Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:01.3484830Z 2025-03-14T05:25:01.3485578Z msg = Cannot scrape callname=_load_local in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/hub.py line=652. 2025-03-14T05:25:01.3487165Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:01.3487917Z 2025-03-14T05:25:01.3488249Z Load a model from a local directory with a ``hubconf.py``. 2025-03-14T05:25:01.3488806Z 2025-03-14T05:25:01.3488962Z Args: 2025-03-14T05:25:01.3489499Z hubconf_dir (str): path to a local directory that contains a 2025-03-14T05:25:01.3490223Z ``hubconf.py``. 2025-03-14T05:25:01.3490885Z model (str): name of an entrypoint defined in the directory's 2025-03-14T05:25:01.3491630Z ``hubconf.py``. 2025-03-14T05:25:01.3492319Z *args (optional): the corresponding args for callable ``model``. 2025-03-14T05:25:01.3493299Z **kwargs (optional): the corresponding kwargs for callable ``model``. 2025-03-14T05:25:01.3493926Z 2025-03-14T05:25:01.3494107Z Returns: 2025-03-14T05:25:01.3494618Z a single model with corresponding pretrained weights. 2025-03-14T05:25:01.3495136Z 2025-03-14T05:25:01.3495305Z Example: 2025-03-14T05:25:01.3495858Z >>> # xdoctest: +SKIP("stub local path") 2025-03-14T05:25:01.3496519Z >>> path = "/some/local/path/pytorch/vision" 2025-03-14T05:25:01.3497166Z >>> model = _load_local( 2025-03-14T05:25:01.3497663Z ... path, 2025-03-14T05:25:01.3498313Z ... "resnet50", 2025-03-14T05:25:01.3498875Z ... weights="ResNet50_Weights.IMAGENET1K_V1", 2025-03-14T05:25:01.3499494Z ... ) 2025-03-14T05:25:01.3499726Z 2025-03-14T05:25:01.3500199Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:01.3500923Z 2025-03-14T05:25:01.3502031Z msg = Cannot scrape callname=download_url_to_file in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/hub.py line=691. 2025-03-14T05:25:01.3503683Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:01.3504703Z Download object at the given URL to a local path. 2025-03-14T05:25:01.3505211Z 2025-03-14T05:25:01.3505365Z Args: 2025-03-14T05:25:01.3505822Z url (str): URL of the object to download 2025-03-14T05:25:01.3506871Z dst (str): Full path where object will be saved, e.g. ``/tmp/temporary_file`` 2025-03-14T05:25:01.3508166Z hash_prefix (str, optional): If not None, the SHA256 downloaded file should start with ``hash_prefix``. 2025-03-14T05:25:01.3509213Z Default: None 2025-03-14T05:25:01.3510008Z progress (bool, optional): whether or not to display a progress bar to stderr 2025-03-14T05:25:01.3510873Z Default: True 2025-03-14T05:25:01.3511194Z 2025-03-14T05:25:01.3511368Z Example: 2025-03-14T05:25:01.3511840Z >>> # xdoctest: +REQUIRES(env:TORCH_DOCTEST_HUB) 2025-03-14T05:25:01.3512486Z >>> # xdoctest: +REQUIRES(POSIX) 2025-03-14T05:25:01.3513094Z >>> torch.hub.download_url_to_file( 2025-03-14T05:25:01.3513919Z ... "https://s3.amazonaws.com/pytorch/models/resnet18-5c106cde.pth", 2025-03-14T05:25:01.3514716Z ... "/tmp/temporary_file", 2025-03-14T05:25:01.3515318Z ... ) 2025-03-14T05:25:01.3515555Z 2025-03-14T05:25:01.3515681Z 2025-03-14T05:25:01.3516332Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:01.3517003Z 2025-03-14T05:25:01.3517859Z msg = Cannot scrape callname=load_state_dict_from_url in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/hub.py line=816. 2025-03-14T05:25:01.3519367Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:01.3520340Z Loads the Torch serialized object at the given URL. 2025-03-14T05:25:01.3520828Z 2025-03-14T05:25:01.3521159Z If downloaded file is a zip file, it will be automatically 2025-03-14T05:25:01.3521904Z decompressed. 2025-03-14T05:25:01.3522171Z 2025-03-14T05:25:01.3522556Z If the object is already present in `model_dir`, it's deserialized and 2025-03-14T05:25:01.3523338Z returned. 2025-03-14T05:25:01.3523973Z The default value of ``model_dir`` is ``/checkpoints`` where 2025-03-14T05:25:01.3524927Z ``hub_dir`` is the directory returned by :func:`~torch.hub.get_dir`. 2025-03-14T05:25:01.3525480Z 2025-03-14T05:25:01.3525643Z Args: 2025-03-14T05:25:01.3526089Z url (str): URL of the object to download 2025-03-14T05:25:01.3526894Z model_dir (str, optional): directory in which to save the object 2025-03-14T05:25:01.3528042Z map_location (optional): a function or a dict specifying how to remap storage locations (see torch.load) 2025-03-14T05:25:01.3529396Z progress (bool, optional): whether or not to display a progress bar to stderr. 2025-03-14T05:25:01.3530287Z Default: True 2025-03-14T05:25:01.3531200Z check_hash(bool, optional): If True, the filename part of the URL should follow the naming convention 2025-03-14T05:25:01.3532446Z ``filename-.ext`` where ```` is the first eight or more 2025-03-14T05:25:01.3533510Z digits of the SHA256 hash of the contents of the file. The hash is used to 2025-03-14T05:25:01.3534522Z ensure unique names and to verify the contents of the file. 2025-03-14T05:25:01.3535291Z Default: False 2025-03-14T05:25:01.3536352Z file_name (str, optional): name for the downloaded file. Filename from ``url`` will be used if not set. 2025-03-14T05:25:01.3537839Z weights_only(bool, optional): If True, only weights will be loaded and no complex pickled objects. 2025-03-14T05:25:01.3539178Z Recommended for untrusted sources. See :func:`~torch.load` for more details. 2025-03-14T05:25:01.3540814Z 2025-03-14T05:25:01.3540997Z Example: 2025-03-14T05:25:01.3541492Z >>> # xdoctest: +REQUIRES(env:TORCH_DOCTEST_HUB) 2025-03-14T05:25:01.3542222Z >>> state_dict = torch.hub.load_state_dict_from_url( 2025-03-14T05:25:01.3543059Z ... "https://s3.amazonaws.com/pytorch/models/resnet18-5c106cde.pth" 2025-03-14T05:25:01.3543811Z ... ) 2025-03-14T05:25:01.3544058Z 2025-03-14T05:25:01.3544228Z 2025-03-14T05:25:01.3544920Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:01.3545635Z 2025-03-14T05:25:01.3567233Z msg = Cannot scrape callname=Library.fallback in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/library.py line=376. 2025-03-14T05:25:01.3568902Z Caused by: DoctestParseError('Failed to parse doctest in _package_groups') 2025-03-14T05:25:01.3570022Z Registers the function implementation as the fallback for the given key. 2025-03-14T05:25:01.3570712Z 2025-03-14T05:25:01.3571158Z This function only works for a library with global namespace ("_"). 2025-03-14T05:25:01.3571807Z 2025-03-14T05:25:01.3571987Z Args: 2025-03-14T05:25:01.3572758Z fn: function used as fallback for the given dispatch key or :func:`~fallthrough_kernel` 2025-03-14T05:25:01.3573745Z to register a fallthrough. 2025-03-14T05:25:01.3574756Z dispatch_key: dispatch key that the input function should be registered for. By default, it uses 2025-03-14T05:25:01.3575986Z the dispatch key that the library was created with. 2025-03-14T05:25:01.3577233Z with_keyset: flag controlling if the current dispatcher call keyset should be passed as the first argument 2025-03-14T05:25:01.3578777Z to :attr:`fn` when calling. This should be used to create the appropriate keyset for redispatch calls. 2025-03-14T05:25:01.3579613Z 2025-03-14T05:25:01.3579832Z Example:: 2025-03-14T05:25:01.3580310Z >>> my_lib = Library("_", "IMPL") 2025-03-14T05:25:01.3580977Z >>> def fallback_kernel(op, *args, **kwargs): 2025-03-14T05:25:01.3581698Z >>> # Handle all autocast ops generically 2025-03-14T05:25:01.3582326Z >>> # ... 2025-03-14T05:25:01.3582900Z >>> my_lib.fallback(fallback_kernel, "Autocast") 2025-03-14T05:25:01.3583552Z 2025-03-14T05:25:01.3584947Z Original Error: IndentationError('expected an indented block after function definition on line 2', ('', 5, 1, 'my_lib.fallback(fallback_kernel, "Autocast")\n', 5, 7)) 2025-03-14T05:25:01.3586404Z 2025-03-14T05:25:01.3586661Z my_lib.fallback(fallback_kernel, "Autocast") 2025-03-14T05:25:01.3587276Z ^ 2025-03-14T05:25:01.3656258Z msg = Cannot scrape callname=register_fake in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/library.py line=920. 2025-03-14T05:25:01.3657944Z Caused by: DoctestParseError('Failed to parse doctest in _package_groups') 2025-03-14T05:25:01.3659104Z Register a FakeTensor implementation ("fake impl") for this operator. 2025-03-14T05:25:01.3659780Z 2025-03-14T05:25:01.3660126Z Also sometimes known as a "meta kernel", "abstract impl". 2025-03-14T05:25:01.3660748Z 2025-03-14T05:25:01.3661171Z An "FakeTensor implementation" specifies the behavior of this operator on 2025-03-14T05:25:01.3662280Z Tensors that carry no data ("FakeTensor"). Given some input Tensors with 2025-03-14T05:25:01.3663360Z certain properties (sizes/strides/storage_offset/device), it specifies 2025-03-14T05:25:01.3664331Z what the properties of the output Tensors are. 2025-03-14T05:25:01.3664834Z 2025-03-14T05:25:01.3665279Z The FakeTensor implementation has the same signature as the operator. 2025-03-14T05:25:01.3666314Z It is run for both FakeTensors and meta tensors. To write a FakeTensor 2025-03-14T05:25:01.3667380Z implementation, assume that all Tensor inputs to the operator are 2025-03-14T05:25:01.3668424Z regular CPU/CUDA/Meta tensors, but they do not have storage, and 2025-03-14T05:25:01.3669644Z you are trying to return regular CPU/CUDA/Meta tensor(s) as output. 2025-03-14T05:25:01.3670717Z The FakeTensor implementation must consist of only PyTorch operations 2025-03-14T05:25:01.3671703Z (and may not directly access the storage or data of any input or 2025-03-14T05:25:01.3672407Z intermediate Tensors). 2025-03-14T05:25:01.3672708Z 2025-03-14T05:25:01.3672937Z This API may be used as a decorator (see examples). 2025-03-14T05:25:01.3673403Z 2025-03-14T05:25:01.3673847Z For a detailed guide on custom ops, please see 2025-03-14T05:25:01.3674796Z https://pytorch.org/tutorials/advanced/custom_ops_landing_page.html 2025-03-14T05:25:01.3675482Z 2025-03-14T05:25:01.3675646Z Examples: 2025-03-14T05:25:01.3676060Z >>> import torch 2025-03-14T05:25:01.3676557Z >>> import numpy as np 2025-03-14T05:25:01.3677105Z >>> from torch import Tensor 2025-03-14T05:25:01.3677629Z >>> 2025-03-14T05:25:01.3678200Z >>> # Example 1: an operator without data-dependent output shape 2025-03-14T05:25:01.3679205Z >>> @torch.library.custom_op("mylib::custom_linear", mutates_args=()) 2025-03-14T05:25:01.3680265Z >>> def custom_linear(x: Tensor, weight: Tensor, bias: Tensor) -> Tensor: 2025-03-14T05:25:01.3681260Z >>> raise NotImplementedError("Implementation goes here") 2025-03-14T05:25:01.3681985Z >>> 2025-03-14T05:25:01.3682534Z >>> @torch.library.register_fake("mylib::custom_linear") 2025-03-14T05:25:01.3683261Z >>> def _(x, weight, bias): 2025-03-14T05:25:01.3683834Z >>> assert x.dim() == 2 2025-03-14T05:25:01.3684424Z >>> assert weight.dim() == 2 2025-03-14T05:25:01.3685030Z >>> assert bias.dim() == 1 2025-03-14T05:25:01.3685657Z >>> assert x.shape[1] == weight.shape[1] 2025-03-14T05:25:01.3686293Z >>> assert weight.shape[0] == bias.shape[0] 2025-03-14T05:25:01.3686959Z >>> assert x.device == weight.device 2025-03-14T05:25:01.3687565Z >>> 2025-03-14T05:25:01.3687999Z >>> return (x @ weight.t()) + bias 2025-03-14T05:25:01.3688560Z >>> 2025-03-14T05:25:01.3689097Z >>> with torch._subclasses.fake_tensor.FakeTensorMode(): 2025-03-14T05:25:01.3689837Z >>> x = torch.randn(2, 3) 2025-03-14T05:25:01.3690429Z >>> w = torch.randn(3, 3) 2025-03-14T05:25:01.3691008Z >>> b = torch.randn(3) 2025-03-14T05:25:01.3691625Z >>> y = torch.ops.mylib.custom_linear(x, w, b) 2025-03-14T05:25:01.3692268Z >>> 2025-03-14T05:25:01.3692714Z >>> assert y.shape == (2, 3) 2025-03-14T05:25:01.3693253Z >>> 2025-03-14T05:25:01.3693819Z >>> # Example 2: an operator with data-dependent output shape 2025-03-14T05:25:01.3694823Z >>> @torch.library.custom_op("mylib::custom_nonzero", mutates_args=()) 2025-03-14T05:25:01.3695819Z >>> def custom_nonzero(x: Tensor) -> Tensor: 2025-03-14T05:25:01.3696487Z >>> x_np = x.numpy(force=True) 2025-03-14T05:25:01.3697142Z >>> res = np.stack(np.nonzero(x_np), axis=1) 2025-03-14T05:25:01.3698069Z >>> return torch.tensor(res, device=x.device) 2025-03-14T05:25:01.3698696Z >>> 2025-03-14T05:25:01.3699237Z >>> @torch.library.register_fake("mylib::custom_nonzero") 2025-03-14T05:25:01.3699945Z >>> def _(x): 2025-03-14T05:25:01.3700507Z >>> # Number of nonzero-elements is data-dependent. 2025-03-14T05:25:01.3701293Z >>> # Since we cannot peek at the data in an fake impl, 2025-03-14T05:25:01.3702124Z >>> # we use the ctx object to construct a new symint that 2025-03-14T05:25:01.3702897Z >>> # represents the data-dependent size. 2025-03-14T05:25:01.3703576Z >>> ctx = torch.library.get_ctx() 2025-03-14T05:25:01.3704228Z >>> nnz = ctx.new_dynamic_size() 2025-03-14T05:25:01.3704851Z >>> shape = [nnz, x.dim()] 2025-03-14T05:25:01.3705542Z >>> result = x.new_empty(shape, dtype=torch.int64) 2025-03-14T05:25:01.3706510Z >>> return result 2025-03-14T05:25:01.3707022Z >>> 2025-03-14T05:25:01.3707590Z >>> from torch.fx.experimental.proxy_tensor import make_fx 2025-03-14T05:25:01.3708325Z >>> 2025-03-14T05:25:01.3708758Z >>> x = torch.tensor([0, 1, 2, 3, 4, 0]) 2025-03-14T05:25:01.3709656Z >>> trace = make_fx(torch.ops.mylib.custom_nonzero, tracing_mode="symbolic")(x) 2025-03-14T05:25:01.3710562Z >>> trace.print_readable() 2025-03-14T05:25:01.3711104Z >>> 2025-03-14T05:25:01.3711868Z >>> assert torch.allclose(trace(x), torch.ops.mylib.custom_nonzero(x)) 2025-03-14T05:25:01.3712541Z 2025-03-14T05:25:01.3712703Z 2025-03-14T05:25:01.3713949Z Original Error: IndentationError('expected an indented block after function definition on line 37', ('', 38, 1, '_._ = None\n', 38, 2)) 2025-03-14T05:25:01.3715172Z 2025-03-14T05:25:01.3715322Z _._ = None 2025-03-14T05:25:01.3715702Z ^ 2025-03-14T05:25:01.3716909Z msg = Cannot scrape callname=register_autograd in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/library.py line=1041. 2025-03-14T05:25:01.3718584Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:01.3719602Z Register a backward formula for this custom op. 2025-03-14T05:25:01.3720066Z 2025-03-14T05:25:01.3720457Z In order for an operator to work with autograd, you need to register 2025-03-14T05:25:01.3721269Z a backward formula: 2025-03-14T05:25:01.3721976Z 1. You must tell us how to compute gradients during the backward pass 2025-03-14T05:25:01.3722823Z by providing us a "backward" function. 2025-03-14T05:25:01.3723659Z 2. If you need any values from the forward to compute gradients, you can 2025-03-14T05:25:01.3724569Z use `setup_context` to save values for backward. 2025-03-14T05:25:01.3725062Z 2025-03-14T05:25:01.3725477Z ``backward`` runs during the backward pass. It accepts ``(ctx, *grads)``: 2025-03-14T05:25:01.3726521Z - ``grads`` is one or more gradients. The number of gradients matches 2025-03-14T05:25:01.3727353Z the number of outputs of the operator. 2025-03-14T05:25:01.3728206Z The ``ctx`` object is `the same ctx object `_ used by 2025-03-14T05:25:01.3729309Z :class:`torch.autograd.Function`. The semantics of ``backward_fn`` are the 2025-03-14T05:25:01.3730299Z same as :meth:`torch.autograd.Function.backward`. 2025-03-14T05:25:01.3730805Z 2025-03-14T05:25:01.3731196Z ``setup_context(ctx, inputs, output)`` runs during the forward pass. 2025-03-14T05:25:01.3732233Z Please save quantities needed for backward onto the ``ctx`` object via 2025-03-14T05:25:01.3733379Z either :meth:`torch.autograd.function.FunctionCtx.save_for_backward` 2025-03-14T05:25:01.3734470Z or assigning them as attributes of ``ctx``. If your custom op has 2025-03-14T05:25:01.3735512Z kwarg-only arguments, we expect the signature of ``setup_context`` 2025-03-14T05:25:01.3736649Z to be ``setup_context(ctx, inputs, keyword_only_inputs, output)``. 2025-03-14T05:25:01.3737258Z 2025-03-14T05:25:01.3737690Z Both ``setup_context_fn`` and ``backward_fn`` must be traceable. That is, 2025-03-14T05:25:01.3738779Z they may not directly access :meth:`torch.Tensor.data_ptr` and they must 2025-03-14T05:25:01.3739894Z not depend on or mutate global state. If you need a non-traceable backward, 2025-03-14T05:25:01.3741016Z you can make it a separate custom_op that you call inside ``backward_fn``. 2025-03-14T05:25:01.3741696Z 2025-03-14T05:25:01.3742087Z If you need different autograd behavior on different devices, then we 2025-03-14T05:25:01.3743128Z recommend creating two different custom operators, one for each device 2025-03-14T05:25:01.3744251Z that needs different behavior, and switching between them at runtime. 2025-03-14T05:25:01.3744908Z 2025-03-14T05:25:01.3745091Z Examples: 2025-03-14T05:25:01.3745700Z >>> import torch 2025-03-14T05:25:01.3746206Z >>> import numpy as np 2025-03-14T05:25:01.3746738Z >>> from torch import Tensor 2025-03-14T05:25:01.3747275Z >>> 2025-03-14T05:25:01.3747918Z >>> @torch.library.custom_op("mylib::numpy_sin", mutates_args=()) 2025-03-14T05:25:01.3748765Z >>> def numpy_sin(x: Tensor) -> Tensor: 2025-03-14T05:25:01.3749420Z >>> x_np = x.cpu().numpy() 2025-03-14T05:25:01.3750002Z >>> y_np = np.sin(x_np) 2025-03-14T05:25:01.3750682Z >>> return torch.from_numpy(y_np).to(device=x.device) 2025-03-14T05:25:01.3751484Z >>> 2025-03-14T05:25:01.3752013Z >>> def setup_context(ctx, inputs, output) -> Tensor: 2025-03-14T05:25:01.3752699Z >>> x, = inputs 2025-03-14T05:25:01.3753228Z >>> ctx.save_for_backward(x) 2025-03-14T05:25:01.3753762Z >>> 2025-03-14T05:25:01.3754204Z >>> def backward(ctx, grad): 2025-03-14T05:25:01.3754714Z >>> x, = ctx.saved_tensors 2025-03-14T05:25:01.3755236Z >>> return grad * x.cos() 2025-03-14T05:25:01.3755689Z >>> 2025-03-14T05:25:01.3756104Z >>> torch.library.register_autograd( 2025-03-14T05:25:01.3756838Z ... "mylib::numpy_sin", backward, setup_context=setup_context 2025-03-14T05:25:01.3757508Z ... ) 2025-03-14T05:25:01.3757901Z >>> 2025-03-14T05:25:01.3758356Z >>> x = torch.randn(3, requires_grad=True) 2025-03-14T05:25:01.3758971Z >>> y = numpy_sin(x) 2025-03-14T05:25:01.3759615Z >>> (grad_x,) = torch.autograd.grad(y, x, torch.ones_like(y)) 2025-03-14T05:25:01.3760370Z >>> assert torch.allclose(grad_x, x.cos()) 2025-03-14T05:25:01.3760966Z >>> 2025-03-14T05:25:01.3761387Z >>> # Example with a keyword-only arg 2025-03-14T05:25:01.3762188Z >>> @torch.library.custom_op("mylib::numpy_mul", mutates_args=()) 2025-03-14T05:25:01.3763016Z >>> def numpy_mul(x: Tensor, *, val: float) -> Tensor: 2025-03-14T05:25:01.3763710Z >>> x_np = x.cpu().numpy() 2025-03-14T05:25:01.3764273Z >>> y_np = x_np * val 2025-03-14T05:25:01.3764890Z >>> return torch.from_numpy(y_np).to(device=x.device) 2025-03-14T05:25:01.3765537Z >>> 2025-03-14T05:25:01.3766167Z >>> def setup_context(ctx, inputs, keyword_only_inputs, output) -> Tensor: 2025-03-14T05:25:01.3766992Z >>> ctx.val = keyword_only_inputs["val"] 2025-03-14T05:25:01.3767572Z >>> 2025-03-14T05:25:01.3767984Z >>> def backward(ctx, grad): 2025-03-14T05:25:01.3768560Z >>> return grad * ctx.val 2025-03-14T05:25:01.3769077Z >>> 2025-03-14T05:25:01.3769528Z >>> torch.library.register_autograd( 2025-03-14T05:25:01.3770216Z ... "mylib::numpy_mul", backward, setup_context=setup_context 2025-03-14T05:25:01.3770924Z ... ) 2025-03-14T05:25:01.3771303Z >>> 2025-03-14T05:25:01.3771738Z >>> x = torch.randn(3, requires_grad=True) 2025-03-14T05:25:01.3772375Z >>> y = numpy_mul(x, val=3.14) 2025-03-14T05:25:01.3773057Z >>> (grad_x,) = torch.autograd.grad(y, x, torch.ones_like(y)) 2025-03-14T05:25:01.3773894Z >>> assert torch.allclose(grad_x, torch.full_like(x, 3.14)) 2025-03-14T05:25:01.3774443Z 2025-03-14T05:25:01.3774613Z 2025-03-14T05:25:01.3775294Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:01.3776096Z 2025-03-14T05:25:01.3777033Z msg = Cannot scrape callname=opcheck in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/library.py line=1455. 2025-03-14T05:25:01.3778593Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:01.3779652Z Given an operator and some sample arguments, tests if the operator is 2025-03-14T05:25:01.3780447Z registered correctly. 2025-03-14T05:25:01.3780770Z 2025-03-14T05:25:01.3781172Z That is, when you use the torch.library/TORCH_LIBRARY APIs to create a 2025-03-14T05:25:01.3782257Z custom op, you specified metadata (e.g. mutability info) about the custom op 2025-03-14T05:25:01.3783515Z and these APIs require that the functions you pass them satisfy certain 2025-03-14T05:25:01.3784588Z properties (e.g. no data pointer access in the fake/meta/abstract kernel) 2025-03-14T05:25:01.3785504Z ``opcheck`` tests these metadata and properties. 2025-03-14T05:25:01.3785982Z 2025-03-14T05:25:01.3786209Z Concretely, we test the following: 2025-03-14T05:25:01.3786614Z 2025-03-14T05:25:01.3786977Z - test_schema: If the schema matches the implementation of 2025-03-14T05:25:01.3788031Z the operator. For example: if the schema specifies a Tensor is mutated, 2025-03-14T05:25:01.3789079Z then we check the implementation mutates the Tensor. If the schema 2025-03-14T05:25:01.3790058Z specifies that we return a new Tensor, then we check that the 2025-03-14T05:25:01.3791059Z implementation returns a new Tensor (instead of an existing one or 2025-03-14T05:25:01.3791900Z a view of an existing one). 2025-03-14T05:25:01.3792663Z - test_autograd_registration: If the operator supports training 2025-03-14T05:25:01.3793608Z (autograd): we check that its autograd formula is registered via 2025-03-14T05:25:01.3794558Z torch.library.register_autograd or a manual registration to one 2025-03-14T05:25:01.3795424Z or more DispatchKey::Autograd keys. Any other DispatchKey-based 2025-03-14T05:25:01.3796277Z registrations may lead to undefined behavior. 2025-03-14T05:25:01.3797125Z - test_faketensor: If the operator has a FakeTensor kernel 2025-03-14T05:25:01.3798192Z (and if it is correct). The FakeTensor kernel is necessary ( 2025-03-14T05:25:01.3799135Z but not sufficient) for the operator to work with PyTorch compilation 2025-03-14T05:25:01.3800186Z APIs (torch.compile/export/FX). We check that a FakeTensor kernel 2025-03-14T05:25:01.3801191Z (also sometimes known as a meta kernel) was registered for the 2025-03-14T05:25:01.3802158Z operator and that it is correct. This test takes the result of 2025-03-14T05:25:01.3803113Z running the operator on real tensors and the result of running 2025-03-14T05:25:01.3804048Z the operator on FakeTensors and checks that they have the same 2025-03-14T05:25:01.3804887Z Tensor metadata (sizes/strides/dtype/device/etc). 2025-03-14T05:25:01.3805750Z - test_aot_dispatch_dynamic: If the operator has correct behavior 2025-03-14T05:25:01.3806651Z with PyTorch compilation APIs (torch.compile/export/FX). 2025-03-14T05:25:01.3807586Z This checks that the outputs (and gradients, if applicable) are the 2025-03-14T05:25:01.3808483Z same under eager-mode PyTorch and torch.compile. 2025-03-14T05:25:01.3809337Z This test is a superset of ``test_faketensor`` and is an e2e test; 2025-03-14T05:25:01.3810228Z other things it tests are that the operator supports 2025-03-14T05:25:01.3811168Z functionalization and that the backward pass (if it exists) also 2025-03-14T05:25:01.3812051Z supports FakeTensor and functionalization. 2025-03-14T05:25:01.3812507Z 2025-03-14T05:25:01.3812886Z For best results, please call ``opcheck`` multiple times with a 2025-03-14T05:25:01.3813809Z representative set of inputs. If your operator supports 2025-03-14T05:25:01.3814778Z autograd, please use ``opcheck`` with inputs with ``requires_grad = True``; 2025-03-14T05:25:01.3815969Z if your operator supports multiple devices (e.g. CPU and CUDA), please 2025-03-14T05:25:01.3816918Z use ``opcheck`` with inputs on all supported devices. 2025-03-14T05:25:01.3817427Z 2025-03-14T05:25:01.3817597Z Args: 2025-03-14T05:25:01.3818150Z op: The operator. Must either be a function decorated with 2025-03-14T05:25:01.3819088Z :func:`torch.library.custom_op` or an OpOverload/OpOverloadPacket 2025-03-14T05:25:01.3820122Z found in torch.ops.* (e.g. torch.ops.aten.sin, torch.ops.mylib.foo) 2025-03-14T05:25:01.3820931Z args: The args to the operator 2025-03-14T05:25:01.3821793Z kwargs: The kwargs to the operator 2025-03-14T05:25:01.3822541Z test_utils: Tests that we should run. Default: all of them. 2025-03-14T05:25:01.3823351Z Example: ("test_schema", "test_faketensor") 2025-03-14T05:25:01.3824169Z raise_exception: If we should raise an exception on the first 2025-03-14T05:25:01.3825069Z error. If False, we will return a dict with information 2025-03-14T05:25:01.3825804Z on if each test passed or not. 2025-03-14T05:25:01.3826830Z rtol (Optional[float]): Relative tolerance for floating point comparisons. 2025-03-14T05:25:01.3827664Z If specified ``atol`` must also be specified. 2025-03-14T05:25:01.3828472Z If omitted, default values based on the ``dtype`` are selected 2025-03-14T05:25:01.3829479Z (see the table in :func:`torch.testing.assert_close`). 2025-03-14T05:25:01.3830436Z atol (Optional[float]): Absolute tolerance for floating point comparisons. 2025-03-14T05:25:01.3831377Z If specified ``rtol`` must also be specified. 2025-03-14T05:25:01.3832197Z If omitted, default values based on the ``dtype`` are selected 2025-03-14T05:25:01.3833075Z (see the table in :func:`torch.testing.assert_close`). 2025-03-14T05:25:01.3833600Z 2025-03-14T05:25:01.3833790Z .. warning:: 2025-03-14T05:25:01.3834050Z 2025-03-14T05:25:01.3834472Z opcheck and :func:`torch.autograd.gradcheck` test different things; 2025-03-14T05:25:01.3835515Z opcheck tests if your usage of torch.library APIs is correct while 2025-03-14T05:25:01.3836523Z :func:`torch.autograd.gradcheck` tests if your autograd formula is 2025-03-14T05:25:01.3837635Z mathematically correct. Use both to test custom ops that support 2025-03-14T05:25:01.3838479Z gradient computation. 2025-03-14T05:25:01.3838836Z 2025-03-14T05:25:01.3839008Z Example: 2025-03-14T05:25:01.3839249Z 2025-03-14T05:25:01.3839526Z >>> # xdoctest: +REQUIRES(env:TORCH_DOCTEST_CUDA) 2025-03-14T05:25:01.3840396Z >>> @torch.library.custom_op("mylib::numpy_mul", mutates_args=()) 2025-03-14T05:25:01.3841283Z >>> def numpy_mul(x: Tensor, y: float) -> Tensor: 2025-03-14T05:25:01.3841958Z >>> x_np = x.numpy(force=True) 2025-03-14T05:25:01.3842531Z >>> z_np = x_np * y 2025-03-14T05:25:01.3843132Z >>> return torch.from_numpy(z_np).to(x.device) 2025-03-14T05:25:01.3843743Z >>> 2025-03-14T05:25:01.3844167Z >>> @numpy_mul.register_fake 2025-03-14T05:25:01.3844711Z >>> def _(x, y): 2025-03-14T05:25:01.3845202Z >>> return torch.empty_like(x) 2025-03-14T05:25:01.3845741Z >>> 2025-03-14T05:25:01.3846310Z >>> def setup_context(ctx, inputs, output): 2025-03-14T05:25:01.3846940Z >>> y, = inputs 2025-03-14T05:25:01.3847421Z >>> ctx.y = y 2025-03-14T05:25:01.3847889Z >>> 2025-03-14T05:25:01.3848303Z >>> def backward(ctx, grad): 2025-03-14T05:25:01.3848882Z >>> return grad * ctx.y, None 2025-03-14T05:25:01.3849442Z >>> 2025-03-14T05:25:01.3850087Z >>> numpy_mul.register_autograd(backward, setup_context=setup_context) 2025-03-14T05:25:01.3850907Z >>> 2025-03-14T05:25:01.3851311Z >>> sample_inputs = [ 2025-03-14T05:25:01.3851849Z >>> (torch.randn(3), 3.14), 2025-03-14T05:25:01.3852464Z >>> (torch.randn(2, 3, device='cuda'), 2.718), 2025-03-14T05:25:01.3853176Z >>> (torch.randn(1, 10, requires_grad=True), 1.234), 2025-03-14T05:25:01.3854017Z >>> (torch.randn(64, 64, device='cuda', requires_grad=True), 90.18), 2025-03-14T05:25:01.3854748Z >>> ] 2025-03-14T05:25:01.3855136Z >>> 2025-03-14T05:25:01.3855558Z >>> for args in sample_inputs: 2025-03-14T05:25:01.3856402Z >>> torch.library.opcheck(numpy_mul, args) 2025-03-14T05:25:01.3856903Z 2025-03-14T05:25:01.3857063Z 2025-03-14T05:25:01.3857890Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:01.3858608Z 2025-03-14T05:25:01.4222458Z msg = Cannot scrape callname=load in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/serialization.py line=1283. 2025-03-14T05:25:01.4224090Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:01.4225389Z load(f, map_location=None, pickle_module=pickle, *, weights_only=True, mmap=None, **pickle_load_args) 2025-03-14T05:25:01.4226247Z 2025-03-14T05:25:01.4226921Z Loads an object saved with :func:`torch.save` from a file. 2025-03-14T05:25:01.4227551Z 2025-03-14T05:25:01.4227989Z :func:`torch.load` uses Python's unpickling facilities but treats storages, 2025-03-14T05:25:01.4229088Z which underlie tensors, specially. They are first deserialized on the 2025-03-14T05:25:01.4230163Z CPU and are then moved to the device they were saved from. If this fails 2025-03-14T05:25:01.4231196Z (e.g. because the run time system doesn't have certain devices), an exception 2025-03-14T05:25:01.4232309Z is raised. However, storages can be dynamically remapped to an alternative 2025-03-14T05:25:01.4233304Z set of devices using the :attr:`map_location` argument. 2025-03-14T05:25:01.4233840Z 2025-03-14T05:25:01.4234298Z If :attr:`map_location` is a callable, it will be called once for each serialized 2025-03-14T05:25:01.4235397Z storage with two arguments: storage and location. The storage argument 2025-03-14T05:25:01.4236503Z will be the initial deserialization of the storage, residing on the CPU. 2025-03-14T05:25:01.4237593Z Each serialized storage has a location tag associated with it which 2025-03-14T05:25:01.4238617Z identifies the device it was saved from, and this tag is the second 2025-03-14T05:25:01.4239711Z argument passed to :attr:`map_location`. The builtin location tags are ``'cpu'`` 2025-03-14T05:25:01.4240845Z for CPU tensors and ``'cuda:device_id'`` (e.g. ``'cuda:2'``) for CUDA tensors. 2025-03-14T05:25:01.4241883Z :attr:`map_location` should return either ``None`` or a storage. If 2025-03-14T05:25:01.4242972Z :attr:`map_location` returns a storage, it will be used as the final deserialized 2025-03-14T05:25:01.4244169Z object, already moved to the right device. Otherwise, :func:`torch.load` will 2025-03-14T05:25:01.4245310Z fall back to the default behavior, as if :attr:`map_location` wasn't specified. 2025-03-14T05:25:01.4245997Z 2025-03-14T05:25:01.4246476Z If :attr:`map_location` is a :class:`torch.device` object or a string containing 2025-03-14T05:25:01.4247572Z a device tag, it indicates the location where all tensors should be loaded. 2025-03-14T05:25:01.4248233Z 2025-03-14T05:25:01.4248722Z Otherwise, if :attr:`map_location` is a dict, it will be used to remap location tags 2025-03-14T05:25:01.4249844Z appearing in the file (keys), to ones that specify where to put the 2025-03-14T05:25:01.4250636Z storages (values). 2025-03-14T05:25:01.4250963Z 2025-03-14T05:25:01.4251398Z User extensions can register their own location tags and tagging and 2025-03-14T05:25:01.4252560Z deserialization methods using :func:`torch.serialization.register_package`. 2025-03-14T05:25:01.4253313Z 2025-03-14T05:25:01.4253490Z Args: 2025-03-14T05:25:01.4254324Z f: a file-like object (has to implement :meth:`read`, :meth:`readline`, :meth:`tell`, and :meth:`seek`), 2025-03-14T05:25:01.4255362Z or a string or os.PathLike object containing a file name 2025-03-14T05:25:01.4256626Z map_location: a function, :class:`torch.device`, string or a dict specifying how to remap storage 2025-03-14T05:25:01.4257653Z locations 2025-03-14T05:25:01.4258387Z pickle_module: module used for unpickling metadata and objects (has to 2025-03-14T05:25:01.4259364Z match the :attr:`pickle_module` used to serialize file) 2025-03-14T05:25:01.4260310Z weights_only: Indicates whether unpickler should be restricted to 2025-03-14T05:25:01.4261569Z loading only tensors, primitive types, dictionaries 2025-03-14T05:25:01.4262498Z and any types added via :func:`torch.serialization.add_safe_globals`. 2025-03-14T05:25:01.4263373Z See :ref:`weights-only` for more details. 2025-03-14T05:25:01.4264477Z mmap: Indicates whether the file should be mmaped rather than loading all the storages into memory. 2025-03-14T05:25:01.4265994Z Typically, tensor storages in the file will first be moved from disk to CPU memory, after which they 2025-03-14T05:25:01.4267631Z are moved to the location that they were tagged with when saving, or specified by ``map_location``. This 2025-03-14T05:25:01.4269136Z second step is a no-op if the final location is CPU. When the ``mmap`` flag is set, instead of copying the 2025-03-14T05:25:01.4270446Z tensor storages from disk to CPU memory in the first step, ``f`` is mmaped. 2025-03-14T05:25:01.4271628Z pickle_load_args: (Python 3 only) optional keyword arguments passed over to 2025-03-14T05:25:01.4272746Z :func:`pickle_module.load` and :func:`pickle_module.Unpickler`, e.g., 2025-03-14T05:25:01.4273587Z :attr:`errors=...`. 2025-03-14T05:25:01.4273950Z 2025-03-14T05:25:01.4274156Z .. warning:: 2025-03-14T05:25:01.4274810Z :func:`torch.load()` unless `weights_only` parameter is set to `True`, 2025-03-14T05:25:01.4275815Z uses ``pickle`` module implicitly, which is known to be insecure. 2025-03-14T05:25:01.4276954Z It is possible to construct malicious pickle data which will execute arbitrary code 2025-03-14T05:25:01.4278191Z during unpickling. Never load data that could have come from an untrusted 2025-03-14T05:25:01.4279451Z source in an unsafe mode, or that could have been tampered with. **Only load data you trust**. 2025-03-14T05:25:01.4280265Z 2025-03-14T05:25:01.4280436Z .. note:: 2025-03-14T05:25:01.4281167Z When you call :func:`torch.load()` on a file which contains GPU tensors, those tensors 2025-03-14T05:25:01.4282362Z will be loaded to GPU by default. You can call ``torch.load(.., map_location='cpu')`` 2025-03-14T05:25:01.4283601Z and then :meth:`load_state_dict` to avoid GPU RAM surge when loading a model checkpoint. 2025-03-14T05:25:01.4284346Z 2025-03-14T05:25:01.4284555Z .. note:: 2025-03-14T05:25:01.4285197Z By default, we decode byte strings as ``utf-8``. This is to avoid a common error 2025-03-14T05:25:01.4286269Z case ``UnicodeDecodeError: 'ascii' codec can't decode byte 0x...`` 2025-03-14T05:25:01.4287289Z when loading files saved by Python 2 in Python 3. If this default 2025-03-14T05:25:01.4288373Z is incorrect, you may use an extra :attr:`encoding` keyword argument to specify how 2025-03-14T05:25:01.4289496Z these objects should be loaded, e.g., :attr:`encoding='latin1'` decodes them 2025-03-14T05:25:01.4290625Z to strings using ``latin1`` encoding, and :attr:`encoding='bytes'` keeps them 2025-03-14T05:25:01.4291740Z as byte arrays which can be decoded later with ``byte_array.decode(...)``. 2025-03-14T05:25:01.4292385Z 2025-03-14T05:25:01.4292561Z Example: 2025-03-14T05:25:01.4293044Z >>> # xdoctest: +SKIP("undefined filepaths") 2025-03-14T05:25:01.4293725Z >>> torch.load("tensors.pt", weights_only=True) 2025-03-14T05:25:01.4294391Z # Load all tensors onto the CPU 2025-03-14T05:25:01.4294957Z >>> torch.load( 2025-03-14T05:25:01.4295410Z ... "tensors.pt", 2025-03-14T05:25:01.4296069Z ... map_location=torch.device("cpu"), 2025-03-14T05:25:01.4296686Z ... weights_only=True, 2025-03-14T05:25:01.4297204Z ... ) 2025-03-14T05:25:01.4297684Z # Load all tensors onto the CPU, using a function 2025-03-14T05:25:01.4298571Z >>> torch.load( 2025-03-14T05:25:01.4299030Z ... "tensors.pt", 2025-03-14T05:25:01.4299605Z ... map_location=lambda storage, loc: storage, 2025-03-14T05:25:01.4300454Z ... weights_only=True, 2025-03-14T05:25:01.4300952Z ... ) 2025-03-14T05:25:01.4301372Z # Load all tensors onto GPU 1 2025-03-14T05:25:01.4301932Z >>> torch.load( 2025-03-14T05:25:01.4302390Z ... "tensors.pt", 2025-03-14T05:25:01.4303033Z ... map_location=lambda storage, loc: storage.cuda(1), 2025-03-14T05:25:01.4303750Z ... weights_only=True, 2025-03-14T05:25:01.4304326Z ... ) # type: ignore[attr-defined] 2025-03-14T05:25:01.4305078Z # Map tensors from GPU 1 to GPU 0 2025-03-14T05:25:01.4305671Z >>> torch.load( 2025-03-14T05:25:01.4306146Z ... "tensors.pt", 2025-03-14T05:25:01.4306707Z ... map_location={"cuda:1": "cuda:0"}, 2025-03-14T05:25:01.4307334Z ... weights_only=True, 2025-03-14T05:25:01.4307852Z ... ) 2025-03-14T05:25:01.4308316Z # Load tensor from io.BytesIO object 2025-03-14T05:25:01.4309229Z # Loading from a buffer setting weights_only=False, warning this can be unsafe 2025-03-14T05:25:01.4310134Z >>> with open("tensor.pt", "rb") as f: 2025-03-14T05:25:01.4310772Z ... buffer = io.BytesIO(f.read()) 2025-03-14T05:25:01.4311447Z >>> torch.load(buffer, weights_only=False) 2025-03-14T05:25:01.4312195Z # Load a module with 'ascii' encoding for unpickling 2025-03-14T05:25:01.4313167Z # Loading from a module setting weights_only=False, warning this can be unsafe 2025-03-14T05:25:01.4314260Z >>> torch.load("module.pt", encoding="ascii", weights_only=False) 2025-03-14T05:25:01.4315034Z 2025-03-14T05:25:01.4315741Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:01.4316452Z 2025-03-14T05:25:01.5332339Z msg = Cannot scrape callname=is_available in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/accelerator/__init__.py line=38. 2025-03-14T05:25:01.5334081Z Caused by: DoctestParseError('Failed to parse doctest in _package_groups') 2025-03-14T05:25:01.5335239Z Check if the current accelerator is available at runtime: it was build, all the 2025-03-14T05:25:01.5336422Z required drivers are available and at least one device is visible. 2025-03-14T05:25:01.5337319Z See :ref:`accelerator` for details. 2025-03-14T05:25:01.5337817Z 2025-03-14T05:25:01.5337999Z Returns: 2025-03-14T05:25:01.5338780Z bool: A boolean indicating if there is an available :ref:`accelerator`. 2025-03-14T05:25:01.5339546Z 2025-03-14T05:25:01.5339783Z Example:: 2025-03-14T05:25:01.5340031Z 2025-03-14T05:25:01.5340567Z >>> assert torch.accelerator.is_available() "No available accelerators detected." 2025-03-14T05:25:01.5341491Z 2025-03-14T05:25:01.5342796Z Original Error: SyntaxError('invalid syntax', ('', 1, 41, 'assert torch.accelerator.is_available() "No available accelerators detected."\n', 1, 78)) 2025-03-14T05:25:01.5344137Z 2025-03-14T05:25:01.5344663Z assert torch.accelerator.is_available() "No available accelerators detected." 2025-03-14T05:25:01.5345524Z ^ 2025-03-14T05:25:01.5354558Z msg = Cannot scrape callname=synchronize in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/accelerator/__init__.py line=153. 2025-03-14T05:25:01.5355500Z Caused by: DoctestParseError('Failed to parse doctest in _package_groups') 2025-03-14T05:25:01.5356090Z Wait for all kernels in all streams on the given device to complete. 2025-03-14T05:25:01.5356417Z 2025-03-14T05:25:01.5356541Z Args: 2025-03-14T05:25:01.5356987Z device (:class:`torch.device`, str, int, optional): device for which to synchronize. It must match 2025-03-14T05:25:01.5357663Z the current :ref:`accelerator` device type. If not given, 2025-03-14T05:25:01.5358249Z use :func:`torch.accelerator.current_device_index` by default. 2025-03-14T05:25:01.5358567Z 2025-03-14T05:25:01.5359162Z .. note:: This function is a no-op if the current :ref:`accelerator` is not initialized. 2025-03-14T05:25:01.5359591Z 2025-03-14T05:25:01.5359701Z Example:: 2025-03-14T05:25:01.5359838Z 2025-03-14T05:25:01.5359998Z >>> # xdoctest: +REQUIRES(env:TORCH_DOCTEST_CUDA) 2025-03-14T05:25:01.5360533Z >>> assert torch.accelerator.is_available() "No available accelerators detected." 2025-03-14T05:25:01.5361066Z >>> start_event = torch.Event(enable_timing=True) 2025-03-14T05:25:01.5361473Z >>> end_event = torch.Event(enable_timing=True) 2025-03-14T05:25:01.5361941Z >>> start_event.record() 2025-03-14T05:25:01.5362391Z >>> tensor = torch.randn(100, device=torch.accelerator.current_accelerator()) 2025-03-14T05:25:01.5362877Z >>> sum = torch.sum(tensor) 2025-03-14T05:25:01.5363196Z >>> end_event.record() 2025-03-14T05:25:01.5363524Z >>> torch.accelerator.synchronize() 2025-03-14T05:25:01.5363942Z >>> elapsed_time_ms = start_event.elapsed_time(end_event) 2025-03-14T05:25:01.5364522Z 2025-03-14T05:25:01.5365704Z Original Error: SyntaxError('invalid syntax', ('', 2, 41, 'assert torch.accelerator.is_available() "No available accelerators detected."\n', 2, 78)) 2025-03-14T05:25:01.5366807Z 2025-03-14T05:25:01.5367083Z assert torch.accelerator.is_available() "No available accelerators detected." 2025-03-14T05:25:01.5367584Z ^ 2025-03-14T05:25:01.5609003Z msg = Cannot scrape callname=cudart in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/cuda/__init__.py line=396. 2025-03-14T05:25:01.5610682Z Caused by: DoctestParseError('Failed to parse doctest in _package_groups') 2025-03-14T05:25:01.5611617Z Retrieves the CUDA runtime API module. 2025-03-14T05:25:01.5612059Z 2025-03-14T05:25:01.5612067Z 2025-03-14T05:25:01.5612551Z This function initializes the CUDA runtime environment if it is not already 2025-03-14T05:25:01.5613718Z initialized and returns the CUDA runtime API module (_cudart). The CUDA 2025-03-14T05:25:01.5614842Z runtime API module provides access to various CUDA runtime functions. 2025-03-14T05:25:01.5615519Z 2025-03-14T05:25:01.5615749Z Args: 2025-03-14T05:25:01.5616147Z ``None`` 2025-03-14T05:25:01.5616422Z 2025-03-14T05:25:01.5616587Z Returns: 2025-03-14T05:25:01.5617094Z module: The CUDA runtime API module (_cudart). 2025-03-14T05:25:01.5617573Z 2025-03-14T05:25:01.5617749Z Raises: 2025-03-14T05:25:01.5618436Z RuntimeError: If CUDA cannot be re-initialized in a forked subprocess. 2025-03-14T05:25:01.5619802Z AssertionError: If PyTorch is not compiled with CUDA support or if libcudart functions are unavailable. 2025-03-14T05:25:01.5620740Z 2025-03-14T05:25:01.5621005Z Example of CUDA operations with profiling: 2025-03-14T05:25:01.5621658Z >>> import torch 2025-03-14T05:25:01.5622225Z >>> from torch.cuda import cudart, check_error 2025-03-14T05:25:01.5622875Z >>> import os 2025-03-14T05:25:01.5623319Z >>> 2025-03-14T05:25:01.5623765Z >>> os.environ['CUDA_PROFILE'] = '1' 2025-03-14T05:25:01.5624339Z >>> 2025-03-14T05:25:01.5624831Z >>> def perform_cuda_operations_with_streams(): 2025-03-14T05:25:01.5625528Z >>> stream = torch.cuda.Stream() 2025-03-14T05:25:01.5626175Z >>> with torch.cuda.stream(stream): 2025-03-14T05:25:01.5626843Z >>> x = torch.randn(100, 100, device='cuda') 2025-03-14T05:25:01.5627527Z >>> y = torch.randn(100, 100, device='cuda') 2025-03-14T05:25:01.5628182Z >>> z = torch.mul(x, y) 2025-03-14T05:25:01.5628750Z >>> return z 2025-03-14T05:25:01.5629212Z >>> 2025-03-14T05:25:01.5629652Z >>> torch.cuda.synchronize() 2025-03-14T05:25:01.5630297Z >>> print("====== Start nsys profiling ======") 2025-03-14T05:25:01.5631014Z >>> check_error(cudart().cudaProfilerStart()) 2025-03-14T05:25:01.5632046Z >>> with torch.autograd.profiler.emit_nvtx(): 2025-03-14T05:25:01.5632824Z >>> result = perform_cuda_operations_with_streams() 2025-03-14T05:25:01.5633570Z >>> print("CUDA operations completed.") 2025-03-14T05:25:01.5634342Z >>> check_error(torch.cuda.cudart().cudaProfilerStop()) 2025-03-14T05:25:01.5635120Z >>> print("====== End nsys profiling ======") 2025-03-14T05:25:01.5635585Z 2025-03-14T05:25:01.5635982Z To run this example and save the profiling information, execute: 2025-03-14T05:25:01.5637466Z >>> $ nvprof --profile-from-start off --csv --print-summary -o trace_name.prof -f -- python cudart_test.py 2025-03-14T05:25:01.5638377Z 2025-03-14T05:25:01.5638867Z This command profiles the CUDA operations in the provided script and saves 2025-03-14T05:25:01.5639941Z the profiling information to a file named `trace_name.prof`. 2025-03-14T05:25:01.5640987Z The `--profile-from-start off` option ensures that profiling starts only 2025-03-14T05:25:01.5641964Z after the `cudaProfilerStart` call in the script. 2025-03-14T05:25:01.5642890Z The `--csv` and `--print-summary` options format the profiling output as a 2025-03-14T05:25:01.5643805Z CSV file and print a summary, respectively. 2025-03-14T05:25:01.5644747Z The `-o` option specifies the output file name, and the `-f` option forces the 2025-03-14T05:25:01.5645756Z overwrite of the output file if it already exists. 2025-03-14T05:25:01.5646428Z 2025-03-14T05:25:01.5647918Z Original Error: SyntaxError('invalid syntax', ('', 1, 1, '$ nvprof --profile-from-start off --csv --print-summary -o trace_name.prof -f -- python cudart_test.py\n', 1, 2)) 2025-03-14T05:25:01.5649411Z 2025-03-14T05:25:01.5650086Z $ nvprof --profile-from-start off --csv --print-summary -o trace_name.prof -f -- python cudart_test.py 2025-03-14T05:25:01.5651151Z ^ 2025-03-14T05:25:01.5784454Z msg = Cannot scrape callname=Future.then in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/futures/__init__.py line=105. 2025-03-14T05:25:01.5786150Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:01.5786912Z 2025-03-14T05:25:01.5787347Z Append the given callback function to this ``Future``, which will be run 2025-03-14T05:25:01.5788352Z when the ``Future`` is completed. Multiple callbacks can be added to 2025-03-14T05:25:01.5789303Z the same ``Future``, but the order in which they will be executed cannot 2025-03-14T05:25:01.5790259Z be guaranteed (to enforce a certain order consider chaining: 2025-03-14T05:25:01.5791217Z ``fut.then(cb1).then(cb2)``). The callback must take one argument, which 2025-03-14T05:25:01.5792235Z is the reference to this ``Future``. The callback function can use the 2025-03-14T05:25:01.5793248Z :meth:`value` method to get the value. Note that if this ``Future`` is 2025-03-14T05:25:01.5794271Z already completed, the given callback will be run immediately inline. 2025-03-14T05:25:01.5794935Z 2025-03-14T05:25:01.5795299Z If the ``Future``'s value contains tensors that reside on GPUs, the 2025-03-14T05:25:01.5796317Z callback might be invoked while the async kernels that are populating 2025-03-14T05:25:01.5797367Z those tensors haven't yet finished executing on the device. However, the 2025-03-14T05:25:01.5798626Z callback will be invoked with some dedicated streams set as current 2025-03-14T05:25:01.5799616Z (fetched from a global pool) which will be synchronized with those 2025-03-14T05:25:01.5800545Z kernels. Hence any operation performed by the callback on these tensors 2025-03-14T05:25:01.5801621Z will be scheduled on the device after the kernels complete. In other 2025-03-14T05:25:01.5802596Z words, as long as the callback doesn't switch streams, it can safely 2025-03-14T05:25:01.5803664Z manipulate the result without any additional synchronization. This is 2025-03-14T05:25:01.5804619Z similar to the non-blocking behavior of :meth:`wait`. 2025-03-14T05:25:01.5805110Z 2025-03-14T05:25:01.5805507Z Similarly, if the callback returns a value that contains tensors that 2025-03-14T05:25:01.5806769Z reside on a GPU, it can do so even if the kernels that are producing 2025-03-14T05:25:01.5807777Z these tensors are still running on the device, as long as the callback 2025-03-14T05:25:01.5808803Z didn't change streams during its execution. If one wants to change 2025-03-14T05:25:01.5809780Z streams, one must be careful to re-synchronize them with the original 2025-03-14T05:25:01.5810811Z streams, that is, those that were current when the callback was invoked. 2025-03-14T05:25:01.5811460Z 2025-03-14T05:25:01.5811820Z Args: 2025-03-14T05:25:01.5812430Z callback(``Callable``): a ``Callable`` that takes this ``Future`` as 2025-03-14T05:25:01.5813244Z the only argument. 2025-03-14T05:25:01.5813642Z 2025-03-14T05:25:01.5813805Z Returns: 2025-03-14T05:25:01.5814326Z A new ``Future`` object that holds the return value of the 2025-03-14T05:25:01.5815173Z ``callback`` and will be marked as completed when the given 2025-03-14T05:25:01.5816048Z ``callback`` finishes. 2025-03-14T05:25:01.5816352Z 2025-03-14T05:25:01.5816691Z .. note:: Note that if the callback function throws, either 2025-03-14T05:25:01.5817642Z through the original future being completed with an exception and 2025-03-14T05:25:01.5818608Z calling ``fut.wait()``, or through other code in the callback, the 2025-03-14T05:25:01.5819562Z future returned by ``then`` will be marked appropriately with the 2025-03-14T05:25:01.5820540Z encountered error. However, if this callback later completes 2025-03-14T05:25:01.5821566Z additional futures, those futures are not marked as completed with 2025-03-14T05:25:01.5822535Z an error and the user is responsible for handling completion/waiting 2025-03-14T05:25:01.5823145Z on those futures independently. 2025-03-14T05:25:01.5823378Z 2025-03-14T05:25:01.5825263Z Example:: 2025-03-14T05:25:01.5825572Z >>> # xdoctest: +REQUIRES(env:TORCH_DOCTEST_FUTURES) 2025-03-14T05:25:01.5825965Z >>> def callback(fut): 2025-03-14T05:25:01.5826299Z ... print(f"RPC return value is {fut.wait()}.") 2025-03-14T05:25:01.5826679Z >>> fut = torch.futures.Future() 2025-03-14T05:25:01.5827074Z >>> # The inserted callback will print the return value when 2025-03-14T05:25:01.5827497Z >>> # receiving the response from "worker1" 2025-03-14T05:25:01.5828010Z >>> cb_fut = fut.then(callback) 2025-03-14T05:25:01.5828562Z >>> chain_cb_fut = cb_fut.then( 2025-03-14T05:25:01.5829161Z ... lambda x : print(f"Chained cb done. {x.wait()}") 2025-03-14T05:25:01.5829817Z ... ) 2025-03-14T05:25:01.5830179Z >>> fut.set_result(5) 2025-03-14T05:25:01.5830664Z RPC return value is 5. 2025-03-14T05:25:01.5831178Z Chained cb done. None 2025-03-14T05:25:01.5831498Z 2025-03-14T05:25:01.5831971Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:01.5832711Z 2025-03-14T05:25:01.5833760Z msg = Cannot scrape callname=Future.set_result in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/futures/__init__.py line=213. 2025-03-14T05:25:01.5835509Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:01.5836252Z 2025-03-14T05:25:01.5836661Z Set the result for this ``Future``, which will mark this ``Future`` as 2025-03-14T05:25:01.5837713Z completed and trigger all attached callbacks. Note that a ``Future`` 2025-03-14T05:25:01.5838519Z cannot be marked completed twice. 2025-03-14T05:25:01.5838905Z 2025-03-14T05:25:01.5839312Z If the result contains tensors that reside on GPUs, this method can be 2025-03-14T05:25:01.5839972Z called even if the asynchronous kernels that are populating those 2025-03-14T05:25:01.5840531Z tensors haven't yet completed running on the device, provided that the 2025-03-14T05:25:01.5841107Z streams on which those kernels were enqueued are set as the current ones 2025-03-14T05:25:01.5841676Z when this method is called. Put simply, it's safe to call this method 2025-03-14T05:25:01.5842369Z immediately after launching those kernels, without any additional 2025-03-14T05:25:01.5842946Z synchronization, as long as one doesn't change streams in between. This 2025-03-14T05:25:01.5843524Z method will record events on all the relevant current streams and will 2025-03-14T05:25:01.5844083Z use them to ensure proper scheduling for all the consumers of this 2025-03-14T05:25:01.5844505Z ``Future``. 2025-03-14T05:25:01.5844647Z 2025-03-14T05:25:01.5844735Z Args: 2025-03-14T05:25:01.5860071Z result (object): the result object of this ``Future``. 2025-03-14T05:25:01.5860880Z 2025-03-14T05:25:01.5861086Z Example:: 2025-03-14T05:25:01.5861599Z >>> # xdoctest: +REQUIRES(env:TORCH_DOCTEST_FUTURES) 2025-03-14T05:25:01.5862295Z >>> import threading 2025-03-14T05:25:01.5862788Z >>> import time 2025-03-14T05:25:01.5863267Z >>> def slow_set_future(fut, value): 2025-03-14T05:25:01.5863875Z ... time.sleep(0.5) 2025-03-14T05:25:01.5864365Z ... fut.set_result(value) 2025-03-14T05:25:01.5864928Z >>> fut = torch.futures.Future() 2025-03-14T05:25:01.5865505Z >>> t = threading.Thread( 2025-03-14T05:25:01.5866047Z ... target=slow_set_future, 2025-03-14T05:25:01.5866641Z ... args=(fut, torch.ones(2) * 3) 2025-03-14T05:25:01.5867208Z ... ) 2025-03-14T05:25:01.5867599Z >>> t.start() 2025-03-14T05:25:01.5868040Z >>> print(fut.wait()) 2025-03-14T05:25:01.5868553Z tensor([3., 3.]) 2025-03-14T05:25:01.5869003Z >>> t.join() 2025-03-14T05:25:01.5869266Z 2025-03-14T05:25:01.5869786Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:01.5870501Z 2025-03-14T05:25:01.5959070Z msg = Cannot scrape callname=compile_shader in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/mps/__init__.py line=144. 2025-03-14T05:25:01.5959995Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:01.5960608Z Compiles compute shader from source and allows one to invoke kernels 2025-03-14T05:25:01.5961137Z defined there from the comfort of Python runtime 2025-03-14T05:25:01.5961515Z Example:: 2025-03-14T05:25:01.5961660Z 2025-03-14T05:25:01.5961819Z >>> # xdoctest: +REQUIRES(env:TORCH_DOCTEST_MPS) 2025-03-14T05:25:01.5962202Z >>> lib = torch.mps.compile_shader( 2025-03-14T05:25:01.5962826Z ... "kernel void full(device float* out, constant float& val, uint idx [[thread_position_in_grid]]) { out[idx] = val; }" 2025-03-14T05:25:01.5963661Z ... ) 2025-03-14T05:25:01.5964112Z >>> x = torch.zeros(16, device="mps") 2025-03-14T05:25:01.5964677Z >>> lib.full(x, 3.14) 2025-03-14T05:25:01.5965156Z 2025-03-14T05:25:01.5965827Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:01.5966528Z 2025-03-14T05:25:01.6186420Z msg = Cannot scrape callname=sum in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/sparse/__init__.py line=202. 2025-03-14T05:25:01.6188096Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:01.6189139Z Return the sum of each row of the given sparse tensor. 2025-03-14T05:25:01.6189648Z 2025-03-14T05:25:01.6190081Z Returns the sum of each row of the sparse tensor :attr:`input` in the given 2025-03-14T05:25:01.6191058Z dimensions :attr:`dim`. If :attr:`dim` is a list of dimensions, 2025-03-14T05:25:01.6192026Z reduce over all of them. When sum over all ``sparse_dim``, this method 2025-03-14T05:25:01.6192939Z returns a dense tensor instead of a sparse tensor. 2025-03-14T05:25:01.6193452Z 2025-03-14T05:25:01.6193955Z All summed :attr:`dim` are squeezed (see :func:`torch.squeeze`), resulting an output 2025-03-14T05:25:01.6195053Z tensor having :attr:`dim` fewer dimensions than :attr:`input`. 2025-03-14T05:25:01.6195646Z 2025-03-14T05:25:01.6196074Z During backward, only gradients at ``nnz`` locations of :attr:`input` 2025-03-14T05:25:01.6197203Z will propagate back. Note that the gradients of :attr:`input` is coalesced. 2025-03-14T05:25:01.6198355Z 2025-03-14T05:25:01.6198529Z Args: 2025-03-14T05:25:01.6199002Z input (Tensor): the input sparse tensor 2025-03-14T05:25:01.6199983Z dim (int or tuple of ints): a dimension or a list of dimensions to reduce. Default: reduce 2025-03-14T05:25:01.6200875Z over all dims. 2025-03-14T05:25:01.6201635Z dtype (:class:`torch.dtype`, optional): the desired data type of returned Tensor. 2025-03-14T05:25:01.6202571Z Default: dtype of :attr:`input`. 2025-03-14T05:25:01.6203202Z 2025-03-14T05:25:01.6203391Z Example:: 2025-03-14T05:25:01.6203642Z 2025-03-14T05:25:01.6203796Z >>> nnz = 3 2025-03-14T05:25:01.6204200Z >>> dims = [5, 5, 2, 3] 2025-03-14T05:25:01.6204814Z >>> I = torch.cat([torch.randint(0, dims[0], size=(nnz,)), 2025-03-14T05:25:01.6205642Z torch.randint(0, dims[1], size=(nnz,))], 0).reshape(2, nnz) 2025-03-14T05:25:01.6206178Z >>> V = torch.randn(nnz, dims[2], dims[3]) 2025-03-14T05:25:01.6206542Z >>> size = torch.Size(dims) 2025-03-14T05:25:01.6206903Z >>> # xdoctest: +IGNORE_WANT("non-deterministic") 2025-03-14T05:25:01.6207298Z >>> S = torch.sparse_coo_tensor(I, V, size) 2025-03-14T05:25:01.6207635Z >>> S 2025-03-14T05:25:01.6207890Z tensor(indices=tensor([[2, 0, 3], 2025-03-14T05:25:01.6208225Z [2, 4, 1]]), 2025-03-14T05:25:01.6208584Z values=tensor([[[-0.6438, -1.6467, 1.4004], 2025-03-14T05:25:01.6208966Z [ 0.3411, 0.0918, -0.2312]], 2025-03-14T05:25:01.6209197Z 2025-03-14T05:25:01.6209327Z [[ 0.5348, 0.0634, -2.0494], 2025-03-14T05:25:01.6209679Z [-0.7125, -1.0646, 2.1844]], 2025-03-14T05:25:01.6209906Z 2025-03-14T05:25:01.6210036Z [[ 0.1276, 0.1874, -0.6334], 2025-03-14T05:25:01.6210395Z [-1.9682, -0.5340, 0.7483]]]), 2025-03-14T05:25:01.6210781Z size=(5, 5, 2, 3), nnz=3, layout=torch.sparse_coo) 2025-03-14T05:25:01.6211041Z 2025-03-14T05:25:01.6211255Z # when sum over only part of sparse_dims, return a sparse tensor 2025-03-14T05:25:01.6211691Z >>> torch.sparse.sum(S, [1, 3]) 2025-03-14T05:25:01.6212032Z tensor(indices=tensor([[0, 2, 3]]), 2025-03-14T05:25:01.6212366Z values=tensor([[-1.4512, 0.4073], 2025-03-14T05:25:01.6213065Z [-0.8901, 0.2017], 2025-03-14T05:25:01.6213668Z [-0.3183, -1.7539]]), 2025-03-14T05:25:01.6214314Z size=(5, 2), nnz=3, layout=torch.sparse_coo) 2025-03-14T05:25:01.6214761Z 2025-03-14T05:25:01.6215045Z # when sum over all sparse dim, return a dense tensor 2025-03-14T05:25:01.6215828Z # with summed dims squeezed 2025-03-14T05:25:01.6216415Z >>> torch.sparse.sum(S, [0, 1, 3]) 2025-03-14T05:25:01.6217022Z tensor([-2.6596, -1.1450]) 2025-03-14T05:25:01.6217538Z 2025-03-14T05:25:01.6218223Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:01.6218946Z 2025-03-14T05:25:02.2008587Z msg = Cannot scrape callname=vmap in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_functorch/apis.py line=39. 2025-03-14T05:25:02.2010362Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:02.2011119Z 2025-03-14T05:25:02.2011588Z vmap is the vectorizing map; ``vmap(func)`` returns a new function that 2025-03-14T05:25:02.2012633Z maps ``func`` over some dimension of the inputs. Semantically, vmap 2025-03-14T05:25:02.2013674Z pushes the map into PyTorch operations called by ``func``, effectively 2025-03-14T05:25:02.2014538Z vectorizing those operations. 2025-03-14T05:25:02.2014902Z 2025-03-14T05:25:02.2015324Z vmap is useful for handling batch dimensions: one can write a function 2025-03-14T05:25:02.2016756Z ``func`` that runs on examples and then lift it to a function that can 2025-03-14T05:25:02.2017786Z take batches of examples with ``vmap(func)``. vmap can also be used to 2025-03-14T05:25:02.2018724Z compute batched gradients when composed with autograd. 2025-03-14T05:25:02.2019250Z 2025-03-14T05:25:02.2019446Z .. note:: 2025-03-14T05:25:02.2020004Z :func:`torch.vmap` is aliased to :func:`torch.func.vmap` for 2025-03-14T05:25:02.2020824Z convenience. Use whichever one you'd like. 2025-03-14T05:25:02.2021292Z 2025-03-14T05:25:02.2021451Z Args: 2025-03-14T05:25:02.2022243Z func (function): A Python function that takes one or more arguments. 2025-03-14T05:25:02.2023099Z Must return one or more Tensors. 2025-03-14T05:25:02.2023902Z in_dims (int or nested structure): Specifies which dimension of the 2025-03-14T05:25:02.2024840Z inputs should be mapped over. ``in_dims`` should have a 2025-03-14T05:25:02.2025760Z structure like the inputs. If the ``in_dim`` for a particular 2025-03-14T05:25:02.2026722Z input is None, then that indicates there is no map dimension. 2025-03-14T05:25:02.2027483Z Default: 0. 2025-03-14T05:25:02.2028130Z out_dims (int or Tuple[int]): Specifies where the mapped dimension 2025-03-14T05:25:02.2029093Z should appear in the outputs. If ``out_dims`` is a Tuple, then 2025-03-14T05:25:02.2029977Z it should have one element per output. Default: 0. 2025-03-14T05:25:02.2030783Z randomness (str): Specifies whether the randomness in this 2025-03-14T05:25:02.2031739Z vmap should be the same or different across batches. If 'different', 2025-03-14T05:25:02.2032669Z the randomness for each batch will be different. If 'same', the 2025-03-14T05:25:02.2033663Z randomness will be the same across batches. If 'error', any calls to 2025-03-14T05:25:02.2034695Z random functions will error. Default: 'error'. WARNING: this flag 2025-03-14T05:25:02.2035720Z only applies to random PyTorch operations and does not apply to 2025-03-14T05:25:02.2036610Z Python's random module or numpy randomness. 2025-03-14T05:25:02.2037511Z chunk_size (None or int): If None (default), apply a single vmap over inputs. 2025-03-14T05:25:02.2038541Z If not None, then compute the vmap :attr:`chunk_size` samples at a time. 2025-03-14T05:25:02.2039666Z Note that :attr:`chunk_size=1` is equivalent to computing the vmap with a for-loop. 2025-03-14T05:25:02.2040851Z If you run into memory issues computing the vmap, please try a non-None chunk_size. 2025-03-14T05:25:02.2041623Z 2025-03-14T05:25:02.2041797Z Returns: 2025-03-14T05:25:02.2042364Z Returns a new "batched" function. It takes the same inputs as 2025-03-14T05:25:02.2043280Z ``func``, except each input has an extra dimension at the index 2025-03-14T05:25:02.2044215Z specified by ``in_dims``. It takes returns the same outputs as 2025-03-14T05:25:02.2045133Z ``func``, except each output has an extra dimension at the index 2025-03-14T05:25:02.2045907Z specified by ``out_dims``. 2025-03-14T05:25:02.2046272Z 2025-03-14T05:25:02.2046435Z .. warning: 2025-03-14T05:25:02.2047019Z :func:`vmap` works best with functional-style code. Please do not 2025-03-14T05:25:02.2047976Z perform any side-effects in ``func``, with the exception of 2025-03-14T05:25:02.2048996Z in-place PyTorch operations. Examples of side-effects include mutating 2025-03-14T05:25:02.2050099Z Python data structures and assigning values to variables not captured 2025-03-14T05:25:02.2050906Z in ``func``. 2025-03-14T05:25:02.2051191Z 2025-03-14T05:25:02.2051635Z One example of using :func:`vmap` is to compute batched dot products. PyTorch 2025-03-14T05:25:02.2052718Z doesn't provide a batched ``torch.dot`` API; instead of unsuccessfully 2025-03-14T05:25:02.2053754Z rummaging through docs, use :func:`vmap` to construct a new function. 2025-03-14T05:25:02.2054374Z 2025-03-14T05:25:02.2054645Z >>> torch.dot # [D], [D] -> [] 2025-03-14T05:25:02.2055791Z >>> batched_dot = torch.func.vmap(torch.dot) # [N, D], [N, D] -> [N] 2025-03-14T05:25:02.2056644Z >>> x, y = torch.randn(2, 5), torch.randn(2, 5) 2025-03-14T05:25:02.2057290Z >>> batched_dot(x, y) 2025-03-14T05:25:02.2057615Z 2025-03-14T05:25:02.2058061Z :func:`vmap` can be helpful in hiding batch dimensions, leading to a simpler 2025-03-14T05:25:02.2058913Z model authoring experience. 2025-03-14T05:25:02.2059240Z 2025-03-14T05:25:02.2059447Z >>> batch_size, feature_size = 3, 5 2025-03-14T05:25:02.2060294Z >>> weights = torch.randn(feature_size, requires_grad=True) 2025-03-14T05:25:02.2061005Z >>> 2025-03-14T05:25:02.2061380Z >>> def model(feature_vec): 2025-03-14T05:25:02.2061949Z >>> # Very simple linear model with activation 2025-03-14T05:25:02.2062623Z >>> return feature_vec.dot(weights).relu() 2025-03-14T05:25:02.2063222Z >>> 2025-03-14T05:25:02.2063720Z >>> examples = torch.randn(batch_size, feature_size) 2025-03-14T05:25:02.2064449Z >>> result = torch.vmap(model)(examples) 2025-03-14T05:25:02.2064884Z 2025-03-14T05:25:02.2065343Z :func:`vmap` can also help vectorize computations that were previously difficult 2025-03-14T05:25:02.2066478Z or impossible to batch. One example is higher-order gradient computation. 2025-03-14T05:25:02.2067590Z The PyTorch autograd engine computes vjps (vector-Jacobian products). 2025-03-14T05:25:02.2068708Z Computing a full Jacobian matrix for some function f: R^N -> R^N usually 2025-03-14T05:25:02.2069851Z requires N calls to ``autograd.grad``, one per Jacobian row. Using :func:`vmap`, 2025-03-14T05:25:02.2070999Z we can vectorize the whole computation, computing the Jacobian in a single 2025-03-14T05:25:02.2071885Z call to ``autograd.grad``. 2025-03-14T05:25:02.2072222Z 2025-03-14T05:25:02.2072397Z >>> # Setup 2025-03-14T05:25:02.2072818Z >>> N = 5 2025-03-14T05:25:02.2073237Z >>> f = lambda x: x ** 2 2025-03-14T05:25:02.2073811Z >>> x = torch.randn(N, requires_grad=True) 2025-03-14T05:25:02.2074407Z >>> y = f(x) 2025-03-14T05:25:02.2074848Z >>> I_N = torch.eye(N) 2025-03-14T05:25:02.2075331Z >>> 2025-03-14T05:25:02.2075741Z >>> # Sequential approach 2025-03-14T05:25:02.2076500Z >>> jacobian_rows = [torch.autograd.grad(y, x, v, retain_graph=True)[0] 2025-03-14T05:25:02.2077345Z >>> for v in I_N.unbind()] 2025-03-14T05:25:02.2077950Z >>> jacobian = torch.stack(jacobian_rows) 2025-03-14T05:25:02.2078545Z >>> 2025-03-14T05:25:02.2078982Z >>> # vectorized gradient computation 2025-03-14T05:25:02.2079592Z >>> def get_vjp(v): 2025-03-14T05:25:02.2080118Z >>> return torch.autograd.grad(y, x, v) 2025-03-14T05:25:02.2080793Z >>> jacobian = torch.vmap(get_vjp)(I_N) 2025-03-14T05:25:02.2081221Z 2025-03-14T05:25:02.2081724Z :func:`vmap` can also be nested, producing an output with multiple batched dimensions 2025-03-14T05:25:02.2082460Z 2025-03-14T05:25:02.2082745Z >>> torch.dot # [D], [D] -> [] 2025-03-14T05:25:02.2083747Z >>> batched_dot = torch.vmap(torch.vmap(torch.dot)) # [N1, N0, D], [N1, N0, D] -> [N1, N0] 2025-03-14T05:25:02.2084724Z >>> x, y = torch.randn(2, 3, 5), torch.randn(2, 3, 5) 2025-03-14T05:25:02.2085417Z >>> batched_dot(x, y) # tensor of size [2, 3] 2025-03-14T05:25:02.2085862Z 2025-03-14T05:25:02.2086329Z If the inputs are not batched along the first dimension, ``in_dims`` specifies 2025-03-14T05:25:02.2087310Z the dimension that each inputs are batched along as 2025-03-14T05:25:02.2087817Z 2025-03-14T05:25:02.2088109Z >>> torch.dot # [N], [N] -> [] 2025-03-14T05:25:02.2089009Z >>> batched_dot = torch.vmap(torch.dot, in_dims=1) # [N, D], [N, D] -> [D] 2025-03-14T05:25:02.2089896Z >>> x, y = torch.randn(2, 5), torch.randn(2, 5) 2025-03-14T05:25:02.2090803Z >>> batched_dot(x, y) # output is [5] instead of [2] if batched along the 0th dimension 2025-03-14T05:25:02.2091503Z 2025-03-14T05:25:02.2092204Z If there are multiple inputs each of which is batched along different dimensions, 2025-03-14T05:25:02.2093315Z ``in_dims`` must be a tuple with the batch dimension for each input as 2025-03-14T05:25:02.2093932Z 2025-03-14T05:25:02.2094203Z >>> torch.dot # [D], [D] -> [] 2025-03-14T05:25:02.2095125Z >>> batched_dot = torch.vmap(torch.dot, in_dims=(0, None)) # [N, D], [D] -> [N] 2025-03-14T05:25:02.2096137Z >>> x, y = torch.randn(2, 5), torch.randn(5) 2025-03-14T05:25:02.2097151Z >>> batched_dot(x, y) # second arg doesn't have a batch dim because in_dim[1] was None 2025-03-14T05:25:02.2098047Z 2025-03-14T05:25:02.2098504Z If the input is a Python struct, ``in_dims`` must be a tuple containing a struct 2025-03-14T05:25:02.2099384Z matching the shape of the input: 2025-03-14T05:25:02.2099798Z 2025-03-14T05:25:02.2100070Z >>> f = lambda dict: torch.dot(dict['x'], dict['y']) 2025-03-14T05:25:02.2100738Z >>> x, y = torch.randn(2, 5), torch.randn(5) 2025-03-14T05:25:02.2101368Z >>> input = {'x': x, 'y': y} 2025-03-14T05:25:02.2101976Z >>> batched_dot = torch.vmap(f, in_dims=({'x': 0, 'y': None},)) 2025-03-14T05:25:02.2102714Z >>> batched_dot(input) 2025-03-14T05:25:02.2103049Z 2025-03-14T05:25:02.2103552Z By default, the output is batched along the first dimension. However, it can be batched 2025-03-14T05:25:02.2104512Z along any dimension by using ``out_dims`` 2025-03-14T05:25:02.2104956Z 2025-03-14T05:25:02.2105134Z >>> f = lambda x: x ** 2 2025-03-14T05:25:02.2105629Z >>> x = torch.randn(2, 5) 2025-03-14T05:25:02.2106188Z >>> batched_pow = torch.vmap(f, out_dims=1) 2025-03-14T05:25:02.2106812Z >>> batched_pow(x) # [5, 2] 2025-03-14T05:25:02.2107156Z 2025-03-14T05:25:02.2107732Z For any function that uses kwargs, the returned function will not batch the kwargs but will 2025-03-14T05:25:02.2108702Z accept kwargs 2025-03-14T05:25:02.2108955Z 2025-03-14T05:25:02.2109149Z >>> x = torch.randn([2, 5]) 2025-03-14T05:25:02.2109692Z >>> def fn(x, scale=4.): 2025-03-14T05:25:02.2110207Z >>> return x * scale 2025-03-14T05:25:02.2110687Z >>> 2025-03-14T05:25:02.2111108Z >>> batched_pow = torch.vmap(fn) 2025-03-14T05:25:02.2111760Z >>> assert torch.allclose(batched_pow(x), x * 4) 2025-03-14T05:25:02.2112649Z >>> batched_pow(x, scale=x) # scale is not batched, output has shape [2, 2, 5] 2025-03-14T05:25:02.2113317Z 2025-03-14T05:25:02.2113486Z .. note:: 2025-03-14T05:25:02.2114130Z vmap does not provide general autobatching or handle variable-length 2025-03-14T05:25:02.2114967Z sequences out of the box. 2025-03-14T05:25:02.2115330Z 2025-03-14T05:25:02.2115795Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:02.2116474Z 2025-03-14T05:25:03.6104927Z msg = Cannot scrape callname=triton_op in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_library/triton.py line=21. 2025-03-14T05:25:03.6106654Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:03.6107899Z Create a custom operator whose implementation is backed by 1+ triton kernels. 2025-03-14T05:25:03.6108592Z 2025-03-14T05:25:03.6109003Z This is a more structured way of using triton kernels with PyTorch. 2025-03-14T05:25:03.6110074Z Prefer using triton kernels with no ``torch.library`` custom operator wrappers 2025-03-14T05:25:03.6111287Z (like :func:`torch.library.custom_op`, :func:`torch.library.triton_op`) because 2025-03-14T05:25:03.6112183Z that is simpler; 2025-03-14T05:25:03.6112984Z only use :func:`torch.library.custom_op`/:func:`torch.library.triton_op` if you 2025-03-14T05:25:03.6114038Z want to create an operator that behaves like PyTorch built-in operators. 2025-03-14T05:25:03.6115042Z For example, you may use a ``torch.library`` wrapper API to define the 2025-03-14T05:25:03.6116054Z behavior of the triton kernel when passed a tensor subclass or under 2025-03-14T05:25:03.6116852Z a TorchDispatchMode. 2025-03-14T05:25:03.6117564Z 2025-03-14T05:25:03.6118056Z Use :func:`torch.library.triton_op` instead of :func:`torch.library.custom_op` 2025-03-14T05:25:03.6118955Z when the implementation 2025-03-14T05:25:03.6119711Z consists of 1+ triton kernels. :func:`torch.library.custom_op` treats 2025-03-14T05:25:03.6120656Z custom operators as opaque (:func:`torch.compile` and 2025-03-14T05:25:03.6121623Z :func:`torch.export.export` will never trace into them), but ``triton_op`` 2025-03-14T05:25:03.6122973Z makes the implementation visible to these subsystems, allowing them 2025-03-14T05:25:03.6123855Z to optimize the triton kernel(s). 2025-03-14T05:25:03.6124242Z 2025-03-14T05:25:03.6124611Z Note that ``fn`` must only consist of calls to PyTorch-understood 2025-03-14T05:25:03.6125636Z operators and triton kernels. Any triton kernels called inside ``fn`` 2025-03-14T05:25:03.6126514Z must be wrapped in a call to :func:`torch.library.wrap_triton`. 2025-03-14T05:25:03.6127111Z 2025-03-14T05:25:03.6127284Z Args: 2025-03-14T05:25:03.6127941Z name (str): A name for the custom op that looks like "{namespace}::{name}", 2025-03-14T05:25:03.6128979Z e.g. "mylib::my_linear". The name is used as the op's stable identifier 2025-03-14T05:25:03.6129917Z in PyTorch subsystems (e.g. torch.export, FX graphs). 2025-03-14T05:25:03.6130898Z To avoid name collisions, please use your project name as the namespace; 2025-03-14T05:25:03.6131962Z e.g. all custom ops in pytorch/fbgemm use "fbgemm" as the namespace. 2025-03-14T05:25:03.6133057Z mutates_args (Iterable[str] or "unknown"): The names of args that the function mutates. 2025-03-14T05:25:03.6134257Z This MUST be accurate, otherwise, the behavior is undefined. If "unknown", 2025-03-14T05:25:03.6135456Z it pessimistically assumes that all inputs to the operator are being mutated. 2025-03-14T05:25:03.6136627Z schema (None | str): A schema string for the operator. If None 2025-03-14T05:25:03.6137589Z (recommended) we'll infer a schema for the operator from its type 2025-03-14T05:25:03.6138599Z annotations. We recommend letting us infer a schema unless you 2025-03-14T05:25:03.6139438Z have a specific reason not to. 2025-03-14T05:25:03.6140146Z Example: "(Tensor x, int y) -> (Tensor, Tensor)". 2025-03-14T05:25:03.6140661Z 2025-03-14T05:25:03.6140838Z Example:: 2025-03-14T05:25:03.6141099Z 2025-03-14T05:25:03.6141350Z >>> # xdoctest: +REQUIRES(env:TORCH_DOCTEST_CUDA) 2025-03-14T05:25:03.6142025Z >>> import torch 2025-03-14T05:25:03.6142625Z >>> from torch.library import triton_op, wrap_triton 2025-03-14T05:25:03.6143302Z >>> 2025-03-14T05:25:03.6143712Z >>> import triton 2025-03-14T05:25:03.6144250Z >>> from triton import language as tl 2025-03-14T05:25:03.6144846Z >>> 2025-03-14T05:25:03.6145237Z >>> @triton.jit 2025-03-14T05:25:03.6145723Z >>> def add_kernel( 2025-03-14T05:25:03.6146209Z >>> in_ptr0, 2025-03-14T05:25:03.6146671Z >>> in_ptr1, 2025-03-14T05:25:03.6147125Z >>> out_ptr, 2025-03-14T05:25:03.6147598Z >>> n_elements, 2025-03-14T05:25:03.6148123Z >>> BLOCK_SIZE: "tl.constexpr", 2025-03-14T05:25:03.6148706Z >>> ): 2025-03-14T05:25:03.6149152Z >>> pid = tl.program_id(axis=0) 2025-03-14T05:25:03.6149803Z >>> block_start = pid * BLOCK_SIZE 2025-03-14T05:25:03.6150504Z >>> offsets = block_start + tl.arange(0, BLOCK_SIZE) 2025-03-14T05:25:03.6151174Z >>> mask = offsets < n_elements 2025-03-14T05:25:03.6151808Z >>> x = tl.load(in_ptr0 + offsets, mask=mask) 2025-03-14T05:25:03.6152500Z >>> y = tl.load(in_ptr1 + offsets, mask=mask) 2025-03-14T05:25:03.6153156Z >>> output = x + y 2025-03-14T05:25:03.6153741Z >>> tl.store(out_ptr + offsets, output, mask=mask) 2025-03-14T05:25:03.6154507Z >>> 2025-03-14T05:25:03.6154986Z >>> @triton_op("mylib::add", mutates_args={}) 2025-03-14T05:25:03.6155783Z >>> def add(x: torch.Tensor, y: torch.Tensor) -> torch.Tensor: 2025-03-14T05:25:03.6156567Z >>> output = torch.empty_like(x) 2025-03-14T05:25:03.6157205Z >>> n_elements = output.numel() 2025-03-14T05:25:03.6157786Z >>> 2025-03-14T05:25:03.6158178Z >>> def grid(meta): 2025-03-14T05:25:03.6158837Z >>> return (triton.cdiv(n_elements, meta["BLOCK_SIZE"]),) 2025-03-14T05:25:03.6159677Z >>> 2025-03-14T05:25:03.6160255Z >>> # NB: we need to wrap the triton kernel in a call to wrap_triton 2025-03-14T05:25:03.6161162Z >>> wrap_triton(add_kernel)[grid](x, y, output, n_elements, 16) 2025-03-14T05:25:03.6161870Z >>> return output 2025-03-14T05:25:03.6162363Z >>> 2025-03-14T05:25:03.6162765Z >>> @torch.compile 2025-03-14T05:25:03.6163251Z >>> def f(x, y): 2025-03-14T05:25:03.6163758Z >>> return add(x, y) 2025-03-14T05:25:03.6164274Z >>> 2025-03-14T05:25:03.6164719Z >>> x = torch.randn(3, device="cuda") 2025-03-14T05:25:03.6165365Z >>> y = torch.randn(3, device="cuda") 2025-03-14T05:25:03.6165952Z >>> 2025-03-14T05:25:03.6166347Z >>> z = f(x, y) 2025-03-14T05:25:03.6166852Z >>> assert torch.allclose(z, x + y) 2025-03-14T05:25:03.6167274Z 2025-03-14T05:25:03.6167439Z 2025-03-14T05:25:03.6168123Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:03.6168860Z 2025-03-14T05:25:03.6169867Z msg = Cannot scrape callname=wrap_triton in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_library/triton.py line=202. 2025-03-14T05:25:03.6171566Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:03.6172651Z Allows capture of a triton kernel into a graph via make_fx or 2025-03-14T05:25:03.6173400Z non-strict ``torch.export``. 2025-03-14T05:25:03.6173752Z 2025-03-14T05:25:03.6174094Z These technologies perform Dispatcher-based tracing (via 2025-03-14T05:25:03.6175016Z ``__torch_dispatch__``) and cannot see calls to raw triton kernels. 2025-03-14T05:25:03.6176051Z The ``wrap_triton`` API wraps a triton kernel into a callable that 2025-03-14T05:25:03.6176828Z can actually be traced into a graph. 2025-03-14T05:25:03.6177222Z 2025-03-14T05:25:03.6177617Z Please use this API together with :func:`torch.library.triton_op`. 2025-03-14T05:25:03.6178225Z 2025-03-14T05:25:03.6178417Z Examples: 2025-03-14T05:25:03.6178652Z 2025-03-14T05:25:03.6178847Z >>> # xdoctest: +SKIP 2025-03-14T05:25:03.6179348Z >>> import torch 2025-03-14T05:25:03.6179835Z >>> import triton 2025-03-14T05:25:03.6180374Z >>> from triton import language as tl 2025-03-14T05:25:03.6181143Z >>> from torch.fx.experimental.proxy_tensor import make_fx 2025-03-14T05:25:03.6181951Z >>> from torch.library import wrap_triton 2025-03-14T05:25:03.6182571Z >>> 2025-03-14T05:25:03.6182976Z >>> @triton.jit 2025-03-14T05:25:03.6183446Z >>> def add_kernel( 2025-03-14T05:25:03.6183932Z >>> in_ptr0, 2025-03-14T05:25:03.6184393Z >>> in_ptr1, 2025-03-14T05:25:03.6184861Z >>> out_ptr, 2025-03-14T05:25:03.6185327Z >>> n_elements, 2025-03-14T05:25:03.6185879Z >>> BLOCK_SIZE: "tl.constexpr", 2025-03-14T05:25:03.6186460Z >>> ): 2025-03-14T05:25:03.6186928Z >>> pid = tl.program_id(axis=0) 2025-03-14T05:25:03.6187550Z >>> block_start = pid * BLOCK_SIZE 2025-03-14T05:25:03.6188256Z >>> offsets = block_start + tl.arange(0, BLOCK_SIZE) 2025-03-14T05:25:03.6188966Z >>> mask = offsets < n_elements 2025-03-14T05:25:03.6189612Z >>> x = tl.load(in_ptr0 + offsets, mask=mask) 2025-03-14T05:25:03.6190308Z >>> y = tl.load(in_ptr1 + offsets, mask=mask) 2025-03-14T05:25:03.6191113Z >>> output = x + y 2025-03-14T05:25:03.6191720Z >>> tl.store(out_ptr + offsets, output, mask=mask) 2025-03-14T05:25:03.6192372Z >>> 2025-03-14T05:25:03.6192778Z >>> def add(x, y): 2025-03-14T05:25:03.6193248Z >>> output = torch.empty_like(x) 2025-03-14T05:25:03.6193889Z >>> n_elements = output.numel() 2025-03-14T05:25:03.6194478Z >>> 2025-03-14T05:25:03.6194905Z >>> def grid_fn(meta): 2025-03-14T05:25:03.6195746Z >>> return (triton.cdiv(n_elements, meta["BLOCK_SIZE"]),) 2025-03-14T05:25:03.6196473Z >>> 2025-03-14T05:25:03.6197077Z >>> wrap_triton(add_kernel)[grid_fn](x, y, output, n_elements, 16) 2025-03-14T05:25:03.6198057Z >>> return output 2025-03-14T05:25:03.6198551Z >>> 2025-03-14T05:25:03.6198990Z >>> x = torch.randn(3, device="cuda") 2025-03-14T05:25:03.6199625Z >>> y = torch.randn(3, device="cuda") 2025-03-14T05:25:03.6200241Z >>> gm = make_fx(add)(x, y) 2025-03-14T05:25:03.6200797Z >>> print(gm.code) 2025-03-14T05:25:03.6201320Z >>> # def forward(self, x_1, y_1): 2025-03-14T05:25:03.6202171Z >>> # empty_like = torch.ops.aten.empty_like.default(x_1, pin_memory = False) 2025-03-14T05:25:03.6203299Z >>> # triton_kernel_wrapper_mutation_proxy = triton_kernel_wrapper_mutation( 2025-03-14T05:25:03.6204236Z >>> # kernel_idx = 0, constant_args_idx = 0, 2025-03-14T05:25:03.6204893Z >>> # grid = [(1, 1, 1)], kwargs = { 2025-03-14T05:25:03.6205603Z >>> # 'in_ptr0': x_1, 'in_ptr1': y_1, 'out_ptr': empty_like, 2025-03-14T05:25:03.6206332Z >>> # 'n_elements': 3, 'BLOCK_SIZE': 16 2025-03-14T05:25:03.6206953Z >>> # }) 2025-03-14T05:25:03.6207447Z >>> # return empty_like 2025-03-14T05:25:03.6207824Z 2025-03-14T05:25:03.6207990Z 2025-03-14T05:25:03.6208680Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:03.6209358Z 2025-03-14T05:25:03.6890294Z msg = Cannot scrape callname=assert_almost_equal in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_numpy/testing/utils.py line=326. 2025-03-14T05:25:03.6892213Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:03.6892952Z 2025-03-14T05:25:03.6893355Z Raises an AssertionError if two items are not equal up to desired 2025-03-14T05:25:03.6894154Z precision. 2025-03-14T05:25:03.6894383Z 2025-03-14T05:25:03.6894766Z .. note:: It is recommended to use one of `assert_allclose`, 2025-03-14T05:25:03.6895776Z `assert_array_almost_equal_nulp` or `assert_array_max_ulp` 2025-03-14T05:25:03.6896765Z instead of this function for more consistent floating point 2025-03-14T05:25:03.6897466Z comparisons. 2025-03-14T05:25:03.6897734Z 2025-03-14T05:25:03.6898307Z The test verifies that the elements of `actual` and `desired` satisfy. 2025-03-14T05:25:03.6898880Z 2025-03-14T05:25:03.6899168Z ``abs(desired-actual) < float64(1.5 * 10**(-decimal))`` 2025-03-14T05:25:03.6899706Z 2025-03-14T05:25:03.6900174Z That is a looser test than originally documented, but agrees with what the 2025-03-14T05:25:03.6901315Z actual implementation in `assert_array_almost_equal` did up to rounding 2025-03-14T05:25:03.6902439Z vagaries. An exception is raised at conflicting values. For ndarrays this 2025-03-14T05:25:03.6903344Z delegates to assert_array_almost_equal 2025-03-14T05:25:03.6903761Z 2025-03-14T05:25:03.6903948Z Parameters 2025-03-14T05:25:03.6904378Z ---------- 2025-03-14T05:25:03.6904780Z actual : array_like 2025-03-14T05:25:03.6905206Z The object to check. 2025-03-14T05:25:03.6905633Z desired : array_like 2025-03-14T05:25:03.6906048Z The expected object. 2025-03-14T05:25:03.6906513Z decimal : int, optional 2025-03-14T05:25:03.6907049Z Desired precision, default is 7. 2025-03-14T05:25:03.6907644Z err_msg : str, optional 2025-03-14T05:25:03.6908562Z The error message to be printed in case of failure. 2025-03-14T05:25:03.6909264Z verbose : bool, optional 2025-03-14T05:25:03.6909960Z If True, the conflicting values are appended to the error message. 2025-03-14T05:25:03.6910595Z 2025-03-14T05:25:03.6910753Z Raises 2025-03-14T05:25:03.6911139Z ------ 2025-03-14T05:25:03.6911532Z AssertionError 2025-03-14T05:25:03.6912162Z If actual and desired are not equal up to specified precision. 2025-03-14T05:25:03.6912759Z 2025-03-14T05:25:03.6912934Z See Also 2025-03-14T05:25:03.6913316Z -------- 2025-03-14T05:25:03.6914178Z assert_allclose: Compare two array_like objects for equality with desired 2025-03-14T05:25:03.6915096Z relative and/or absolute precision. 2025-03-14T05:25:03.6915931Z assert_array_almost_equal_nulp, assert_array_max_ulp, assert_equal 2025-03-14T05:25:03.6916547Z 2025-03-14T05:25:03.6916723Z Examples 2025-03-14T05:25:03.6917100Z -------- 2025-03-14T05:25:03.6917615Z >>> from torch._numpy.testing import assert_almost_equal 2025-03-14T05:25:03.6918403Z >>> assert_almost_equal(2.3333333333333, 2.33333334) 2025-03-14T05:25:03.6919188Z >>> assert_almost_equal(2.3333333333333, 2.33333334, decimal=10) 2025-03-14T05:25:03.6919949Z Traceback (most recent call last): 2025-03-14T05:25:03.6920506Z ... 2025-03-14T05:25:03.6920851Z AssertionError: 2025-03-14T05:25:03.6921337Z Arrays are not almost equal to 10 decimals 2025-03-14T05:25:03.6921930Z ACTUAL: 2.3333333333333 2025-03-14T05:25:03.6922408Z DESIRED: 2.33333334 2025-03-14T05:25:03.6922686Z 2025-03-14T05:25:03.6922985Z >>> assert_almost_equal(np.array([1.0,2.3333333333333]), 2025-03-14T05:25:03.6923721Z ... np.array([1.0,2.33333334]), decimal=9) 2025-03-14T05:25:03.6924381Z Traceback (most recent call last): 2025-03-14T05:25:03.6924936Z ... 2025-03-14T05:25:03.6925315Z AssertionError: 2025-03-14T05:25:03.6925798Z Arrays are not almost equal to 9 decimals 2025-03-14T05:25:03.6926374Z 2025-03-14T05:25:03.6926811Z Mismatched elements: 1 / 2 (50%) 2025-03-14T05:25:03.6927395Z Max absolute difference: 6.666699636781459e-09 2025-03-14T05:25:03.6928077Z Max relative difference: 2.8571569790287484e-09 2025-03-14T05:25:03.6928783Z x: torch.ndarray([1.0000, 2.3333], dtype=float64) 2025-03-14T05:25:03.6929502Z y: torch.ndarray([1.0000, 2.3333], dtype=float64) 2025-03-14T05:25:03.6929985Z 2025-03-14T05:25:03.6929993Z 2025-03-14T05:25:03.6930483Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:03.6931221Z 2025-03-14T05:25:03.6932314Z msg = Cannot scrape callname=assert_approx_equal in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_numpy/testing/utils.py line=451. 2025-03-14T05:25:03.6934148Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:03.6934909Z 2025-03-14T05:25:03.6935334Z Raises an AssertionError if two items are not equal up to significant 2025-03-14T05:25:03.6936250Z digits. 2025-03-14T05:25:03.6936504Z 2025-03-14T05:25:03.6936838Z .. note:: It is recommended to use one of `assert_allclose`, 2025-03-14T05:25:03.6937700Z `assert_array_almost_equal_nulp` or `assert_array_max_ulp` 2025-03-14T05:25:03.6938628Z instead of this function for more consistent floating point 2025-03-14T05:25:03.6939333Z comparisons. 2025-03-14T05:25:03.6939633Z 2025-03-14T05:25:03.6939986Z Given two numbers, check that they are approximately equal. 2025-03-14T05:25:03.6940957Z Approximately equal is defined as the number of significant digits 2025-03-14T05:25:03.6941715Z that agree. 2025-03-14T05:25:03.6941964Z 2025-03-14T05:25:03.6942132Z Parameters 2025-03-14T05:25:03.6942522Z ---------- 2025-03-14T05:25:03.6942922Z actual : scalar 2025-03-14T05:25:03.6943368Z The object to check. 2025-03-14T05:25:03.6943850Z desired : scalar 2025-03-14T05:25:03.6944295Z The expected object. 2025-03-14T05:25:03.6944807Z significant : int, optional 2025-03-14T05:25:03.6945358Z Desired precision, default is 7. 2025-03-14T05:25:03.6946130Z err_msg : str, optional 2025-03-14T05:25:03.6946726Z The error message to be printed in case of failure. 2025-03-14T05:25:03.6947416Z verbose : bool, optional 2025-03-14T05:25:03.6948109Z If True, the conflicting values are appended to the error message. 2025-03-14T05:25:03.6948714Z 2025-03-14T05:25:03.6948857Z Raises 2025-03-14T05:25:03.6949231Z ------ 2025-03-14T05:25:03.6949625Z AssertionError 2025-03-14T05:25:03.6950255Z If actual and desired are not equal up to specified precision. 2025-03-14T05:25:03.6950814Z 2025-03-14T05:25:03.6951126Z See Also 2025-03-14T05:25:03.6951517Z -------- 2025-03-14T05:25:03.6952179Z assert_allclose: Compare two array_like objects for equality with desired 2025-03-14T05:25:03.6953057Z relative and/or absolute precision. 2025-03-14T05:25:03.6953901Z assert_array_almost_equal_nulp, assert_array_max_ulp, assert_equal 2025-03-14T05:25:03.6954535Z 2025-03-14T05:25:03.6954709Z Examples 2025-03-14T05:25:03.6955110Z -------- 2025-03-14T05:25:03.6955850Z >>> np.testing.assert_approx_equal(0.12345677777777e-20, 0.1234567e-20) # doctest: +SKIP 2025-03-14T05:25:03.6957071Z >>> np.testing.assert_approx_equal(0.12345670e-20, 0.12345671e-20, # doctest: +SKIP 2025-03-14T05:25:03.6958003Z ... significant=8) 2025-03-14T05:25:03.6958848Z >>> np.testing.assert_approx_equal(0.12345670e-20, 0.12345672e-20, # doctest: +SKIP 2025-03-14T05:25:03.6959767Z ... significant=8) 2025-03-14T05:25:03.6960376Z Traceback (most recent call last): 2025-03-14T05:25:03.6960931Z ... 2025-03-14T05:25:03.6961335Z AssertionError: 2025-03-14T05:25:03.6961849Z Items are not equal to 8 significant digits: 2025-03-14T05:25:03.6962481Z ACTUAL: 1.234567e-21 2025-03-14T05:25:03.6962944Z DESIRED: 1.2345672e-21 2025-03-14T05:25:03.6963261Z 2025-03-14T05:25:03.6963561Z the evaluated condition that raises the exception is 2025-03-14T05:25:03.6964086Z 2025-03-14T05:25:03.6964400Z >>> abs(0.12345670e-20/1e-21 - 0.12345672e-20/1e-21) >= 10**-(8-1) 2025-03-14T05:25:03.6965085Z True 2025-03-14T05:25:03.6965286Z 2025-03-14T05:25:03.6965293Z 2025-03-14T05:25:03.6965790Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:03.6966460Z 2025-03-14T05:25:03.6967603Z msg = Cannot scrape callname=assert_array_equal in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_numpy/testing/utils.py line=730. 2025-03-14T05:25:03.6969425Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:03.6970165Z 2025-03-14T05:25:03.6970595Z Raises an AssertionError if two array_like objects are not equal. 2025-03-14T05:25:03.6971225Z 2025-03-14T05:25:03.6971609Z Given two array_like objects, check that the shape is equal and all 2025-03-14T05:25:03.6972648Z elements of these objects are equal (but see the Notes for the special 2025-03-14T05:25:03.6973668Z handling of a scalar). An exception is raised at shape mismatch or 2025-03-14T05:25:03.6974701Z conflicting values. In contrast to the standard usage in numpy, NaNs 2025-03-14T05:25:03.6975812Z are compared like numbers, no assertion is raised if both objects have 2025-03-14T05:25:03.6976627Z NaNs in the same positions. 2025-03-14T05:25:03.6976983Z 2025-03-14T05:25:03.6977410Z The usual caution for verifying equality with floating point numbers is 2025-03-14T05:25:03.6978199Z advised. 2025-03-14T05:25:03.6978431Z 2025-03-14T05:25:03.6978595Z Parameters 2025-03-14T05:25:03.6978972Z ---------- 2025-03-14T05:25:03.6979369Z x : array_like 2025-03-14T05:25:03.6979815Z The actual object to check. 2025-03-14T05:25:03.6980335Z y : array_like 2025-03-14T05:25:03.6980789Z The desired, expected object. 2025-03-14T05:25:03.6981354Z err_msg : str, optional 2025-03-14T05:25:03.6981949Z The error message to be printed in case of failure. 2025-03-14T05:25:03.6982644Z verbose : bool, optional 2025-03-14T05:25:03.6983359Z If True, the conflicting values are appended to the error message. 2025-03-14T05:25:03.6984316Z strict : bool, optional 2025-03-14T05:25:03.6985001Z If True, raise an AssertionError when either the shape or the data 2025-03-14T05:25:03.6985947Z type of the array_like objects does not match. The special 2025-03-14T05:25:03.6986883Z handling for scalars mentioned in the Notes section is disabled. 2025-03-14T05:25:03.6987529Z 2025-03-14T05:25:03.6987682Z Raises 2025-03-14T05:25:03.6988072Z ------ 2025-03-14T05:25:03.6988479Z AssertionError 2025-03-14T05:25:03.6988992Z If actual and desired objects are not equal. 2025-03-14T05:25:03.6989580Z 2025-03-14T05:25:03.6989741Z See Also 2025-03-14T05:25:03.6990125Z -------- 2025-03-14T05:25:03.6990815Z assert_allclose: Compare two array_like objects for equality with desired 2025-03-14T05:25:03.6991691Z relative and/or absolute precision. 2025-03-14T05:25:03.6992454Z assert_array_almost_equal_nulp, assert_array_max_ulp, assert_equal 2025-03-14T05:25:03.6993017Z 2025-03-14T05:25:03.6993194Z Notes 2025-03-14T05:25:03.6993584Z ----- 2025-03-14T05:25:03.6994167Z When one of `x` and `y` is a scalar and the other is array_like, the 2025-03-14T05:25:03.6995175Z function checks that each element of the array_like object is equal to 2025-03-14T05:25:03.6996258Z the scalar. This behaviour can be disabled with the `strict` parameter. 2025-03-14T05:25:03.6996914Z 2025-03-14T05:25:03.6997094Z Examples 2025-03-14T05:25:03.6997477Z -------- 2025-03-14T05:25:03.6998111Z The first assert does not raise an exception: 2025-03-14T05:25:03.6998592Z 2025-03-14T05:25:03.6998915Z >>> np.testing.assert_array_equal([1.0,2.33333,np.nan], 2025-03-14T05:25:03.6999630Z ... [np.exp(0),2.33333, np.nan]) 2025-03-14T05:25:03.7000074Z 2025-03-14T05:25:03.7000518Z Use `assert_allclose` or one of the nulp (number of floating point values) 2025-03-14T05:25:03.7001384Z functions for these cases instead: 2025-03-14T05:25:03.7001791Z 2025-03-14T05:25:03.7002056Z >>> np.testing.assert_allclose([1.0,np.pi,np.nan], 2025-03-14T05:25:03.7002780Z ... [1, np.sqrt(np.pi)**2, np.nan], 2025-03-14T05:25:03.7003442Z ... rtol=1e-10, atol=0) 2025-03-14T05:25:03.7003886Z 2025-03-14T05:25:03.7004267Z As mentioned in the Notes section, `assert_array_equal` has special 2025-03-14T05:25:03.7005307Z handling for scalars. Here the test checks that each value in `x` is 3: 2025-03-14T05:25:03.7005971Z 2025-03-14T05:25:03.7006171Z >>> x = np.full((2, 5), fill_value=3) 2025-03-14T05:25:03.7006786Z >>> np.testing.assert_array_equal(x, 3) 2025-03-14T05:25:03.7007229Z 2025-03-14T05:25:03.7007625Z Use `strict` to raise an AssertionError when comparing a scalar with an 2025-03-14T05:25:03.7008412Z array: 2025-03-14T05:25:03.7008648Z 2025-03-14T05:25:03.7008920Z >>> np.testing.assert_array_equal(x, 3, strict=True) 2025-03-14T05:25:03.7009619Z Traceback (most recent call last): 2025-03-14T05:25:03.7010167Z ... 2025-03-14T05:25:03.7010562Z AssertionError: 2025-03-14T05:25:03.7011005Z Arrays are not equal 2025-03-14T05:25:03.7011437Z 2025-03-14T05:25:03.7011832Z (shapes (2, 5), () mismatch) 2025-03-14T05:25:03.7012300Z x: torch.ndarray([[3, 3, 3, 3, 3], 2025-03-14T05:25:03.7012706Z [3, 3, 3, 3, 3]]) 2025-03-14T05:25:03.7012983Z y: torch.ndarray(3) 2025-03-14T05:25:03.7013145Z 2025-03-14T05:25:03.7013381Z The `strict` parameter also ensures that the array data types match: 2025-03-14T05:25:03.7013717Z 2025-03-14T05:25:03.7013834Z >>> x = np.array([2, 2, 2]) 2025-03-14T05:25:03.7014140Z >>> y = np.array([2., 2., 2.], dtype=np.float32) 2025-03-14T05:25:03.7014557Z >>> np.testing.assert_array_equal(x, y, strict=True) 2025-03-14T05:25:03.7014949Z Traceback (most recent call last): 2025-03-14T05:25:03.7015256Z ... 2025-03-14T05:25:03.7015482Z AssertionError: 2025-03-14T05:25:03.7015832Z Arrays are not equal 2025-03-14T05:25:03.7016097Z 2025-03-14T05:25:03.7016384Z (dtypes dtype("int64"), dtype("float32") mismatch) 2025-03-14T05:25:03.7016762Z x: torch.ndarray([2, 2, 2]) 2025-03-14T05:25:03.7017249Z y: torch.ndarray([2., 2., 2.]) 2025-03-14T05:25:03.7017444Z 2025-03-14T05:25:03.7017720Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:03.7018093Z 2025-03-14T05:25:03.7019103Z msg = Cannot scrape callname=assert_array_almost_equal in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_numpy/testing/utils.py line=836. 2025-03-14T05:25:03.7020854Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:03.7021543Z 2025-03-14T05:25:03.7022155Z Raises an AssertionError if two objects are not equal up to desired 2025-03-14T05:25:03.7022926Z precision. 2025-03-14T05:25:03.7023161Z 2025-03-14T05:25:03.7023486Z .. note:: It is recommended to use one of `assert_allclose`, 2025-03-14T05:25:03.7024324Z `assert_array_almost_equal_nulp` or `assert_array_max_ulp` 2025-03-14T05:25:03.7025225Z instead of this function for more consistent floating point 2025-03-14T05:25:03.7025988Z comparisons. 2025-03-14T05:25:03.7026267Z 2025-03-14T05:25:03.7026718Z The test verifies identical shapes and that the elements of ``actual`` and 2025-03-14T05:25:03.7027575Z ``desired`` satisfy. 2025-03-14T05:25:03.7027863Z 2025-03-14T05:25:03.7028115Z ``abs(desired-actual) < 1.5 * 10**(-decimal)`` 2025-03-14T05:25:03.7028561Z 2025-03-14T05:25:03.7029003Z That is a looser test than originally documented, but agrees with what the 2025-03-14T05:25:03.7030121Z actual implementation did up to rounding vagaries. An exception is raised 2025-03-14T05:25:03.7031199Z at shape mismatch or conflicting values. In contrast to the standard usage 2025-03-14T05:25:03.7032191Z in numpy, NaNs are compared like numbers, no assertion is raised if both 2025-03-14T05:25:03.7033035Z objects have NaNs in the same positions. 2025-03-14T05:25:03.7033469Z 2025-03-14T05:25:03.7033630Z Parameters 2025-03-14T05:25:03.7034016Z ---------- 2025-03-14T05:25:03.7034410Z x : array_like 2025-03-14T05:25:03.7034864Z The actual object to check. 2025-03-14T05:25:03.7035359Z y : array_like 2025-03-14T05:25:03.7035772Z The desired, expected object. 2025-03-14T05:25:03.7036288Z decimal : int, optional 2025-03-14T05:25:03.7036777Z Desired precision, default is 6. 2025-03-14T05:25:03.7037353Z err_msg : str, optional 2025-03-14T05:25:03.7037948Z The error message to be printed in case of failure. 2025-03-14T05:25:03.7038641Z verbose : bool, optional 2025-03-14T05:25:03.7039325Z If True, the conflicting values are appended to the error message. 2025-03-14T05:25:03.7039940Z 2025-03-14T05:25:03.7040129Z Raises 2025-03-14T05:25:03.7040491Z ------ 2025-03-14T05:25:03.7040866Z AssertionError 2025-03-14T05:25:03.7041439Z If actual and desired are not equal up to specified precision. 2025-03-14T05:25:03.7042024Z 2025-03-14T05:25:03.7042165Z See Also 2025-03-14T05:25:03.7042557Z -------- 2025-03-14T05:25:03.7043225Z assert_allclose: Compare two array_like objects for equality with desired 2025-03-14T05:25:03.7044086Z relative and/or absolute precision. 2025-03-14T05:25:03.7044906Z assert_array_almost_equal_nulp, assert_array_max_ulp, assert_equal 2025-03-14T05:25:03.7045521Z 2025-03-14T05:25:03.7045680Z Examples 2025-03-14T05:25:03.7046066Z -------- 2025-03-14T05:25:03.7046536Z the first assert does not raise an exception 2025-03-14T05:25:03.7046993Z 2025-03-14T05:25:03.7047312Z >>> np.testing.assert_array_almost_equal([1.0,2.333,np.nan], 2025-03-14T05:25:03.7048035Z ... [1.0,2.333,np.nan]) 2025-03-14T05:25:03.7048447Z 2025-03-14T05:25:03.7048783Z >>> np.testing.assert_array_almost_equal([1.0,2.33333,np.nan], 2025-03-14T05:25:03.7049524Z ... [1.0,2.33339,np.nan], decimal=5) 2025-03-14T05:25:03.7050166Z Traceback (most recent call last): 2025-03-14T05:25:03.7050677Z ... 2025-03-14T05:25:03.7051022Z AssertionError: 2025-03-14T05:25:03.7051320Z Arrays are not almost equal to 5 decimals 2025-03-14T05:25:03.7051779Z 2025-03-14T05:25:03.7052035Z Mismatched elements: 1 / 3 (33.3%) 2025-03-14T05:25:03.7052381Z Max absolute difference: 5.999999999994898e-05 2025-03-14T05:25:03.7052754Z Max relative difference: 2.5713661239633743e-05 2025-03-14T05:25:03.7053182Z x: torch.ndarray([1.0000, 2.3333, nan], dtype=float64) 2025-03-14T05:25:03.7053637Z y: torch.ndarray([1.0000, 2.3334, nan], dtype=float64) 2025-03-14T05:25:03.7053922Z 2025-03-14T05:25:03.7054106Z >>> np.testing.assert_array_almost_equal([1.0,2.33333,np.nan], 2025-03-14T05:25:03.7054592Z ... [1.0,2.33333, 5], decimal=5) 2025-03-14T05:25:03.7054959Z Traceback (most recent call last): 2025-03-14T05:25:03.7055264Z ... 2025-03-14T05:25:03.7055491Z AssertionError: 2025-03-14T05:25:03.7055862Z Arrays are not almost equal to 5 decimals 2025-03-14T05:25:03.7056200Z 2025-03-14T05:25:03.7056447Z x and y nan location mismatch: 2025-03-14T05:25:03.7056817Z x: torch.ndarray([1.0000, 2.3333, nan], dtype=float64) 2025-03-14T05:25:03.7057267Z y: torch.ndarray([1.0000, 2.3333, 5.0000], dtype=float64) 2025-03-14T05:25:03.7057541Z 2025-03-14T05:25:03.7057546Z 2025-03-14T05:25:03.7058001Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:03.7058629Z 2025-03-14T05:25:03.7059769Z msg = Cannot scrape callname=clear_and_catch_warnings in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_numpy/testing/utils.py line=1786. 2025-03-14T05:25:03.7061599Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:03.7062711Z Context manager that resets warning registry for catching warnings 2025-03-14T05:25:03.7063336Z 2025-03-14T05:25:03.7063776Z Warnings can be slippery, because, whenever a warning is triggered, Python 2025-03-14T05:25:03.7064873Z adds a ``__warningregistry__`` member to the *calling* module. This makes 2025-03-14T05:25:03.7065996Z it impossible to retrigger the warning in this module, whatever you put in 2025-03-14T05:25:03.7067130Z the warnings filters. This context manager accepts a sequence of `modules` 2025-03-14T05:25:03.7067945Z as a keyword argument to its constructor and: 2025-03-14T05:25:03.7068206Z 2025-03-14T05:25:03.7068454Z * stores and removes any ``__warningregistry__`` entries in given `modules` 2025-03-14T05:25:03.7068900Z on entry; 2025-03-14T05:25:03.7069251Z * resets ``__warningregistry__`` to its previous state on exit. 2025-03-14T05:25:03.7069559Z 2025-03-14T05:25:03.7069809Z This makes it possible to trigger any warning afresh inside the context 2025-03-14T05:25:03.7070350Z manager without disturbing the state of warnings outside. 2025-03-14T05:25:03.7070650Z 2025-03-14T05:25:03.7070908Z For compatibility with Python 3.0, please consider all arguments to be 2025-03-14T05:25:03.7071370Z keyword-only. 2025-03-14T05:25:03.7071520Z 2025-03-14T05:25:03.7071627Z Parameters 2025-03-14T05:25:03.7071872Z ---------- 2025-03-14T05:25:03.7072131Z record : bool, optional 2025-03-14T05:25:03.7072521Z Specifies whether warnings should be captured by a custom 2025-03-14T05:25:03.7073067Z implementation of ``warnings.showwarning()`` and be appended to a list 2025-03-14T05:25:03.7073643Z returned by the context manager. Otherwise None is returned by the 2025-03-14T05:25:03.7074216Z context manager. The objects appended to the list are arguments whose 2025-03-14T05:25:03.7074749Z attributes mirror the arguments to ``showwarning()``. 2025-03-14T05:25:03.7075157Z modules : sequence, optional 2025-03-14T05:25:03.7075593Z Sequence of modules for which to reset warnings registry on entry and 2025-03-14T05:25:03.7076145Z restore on exit. To work correctly, all 'ignore' filters should 2025-03-14T05:25:03.7076580Z filter by one of these modules. 2025-03-14T05:25:03.7076811Z 2025-03-14T05:25:03.7076904Z Examples 2025-03-14T05:25:03.7077138Z -------- 2025-03-14T05:25:03.7077509Z >>> import warnings 2025-03-14T05:25:03.7078262Z >>> with np.testing.clear_and_catch_warnings( # doctest: +SKIP 2025-03-14T05:25:03.7079010Z ... modules=[np.core.fromnumeric]): 2025-03-14T05:25:03.7079623Z ... warnings.simplefilter('always') 2025-03-14T05:25:03.7080435Z ... warnings.filterwarnings('ignore', module='np.core.fromnumeric') 2025-03-14T05:25:03.7081382Z ... # do something that raises a warning but ignore those in 2025-03-14T05:25:03.7082099Z ... # np.core.fromnumeric 2025-03-14T05:25:03.7082621Z 2025-03-14T05:25:03.7083427Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:03.7084141Z 2025-03-14T05:25:03.8974001Z msg = Cannot scrape callname=Conv1d in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/modules/conv.py line=354. 2025-03-14T05:25:03.8975934Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:03.8977135Z Applies a 1D convolution over a quantized input signal composed of 2025-03-14T05:25:03.8977967Z several quantized input planes. 2025-03-14T05:25:03.8978363Z 2025-03-14T05:25:03.8978775Z For details on input arguments, parameters, and implementation see 2025-03-14T05:25:03.8979604Z :class:`~torch.nn.Conv1d`. 2025-03-14T05:25:03.8979960Z 2025-03-14T05:25:03.8980165Z .. note:: 2025-03-14T05:25:03.8980784Z Only `zeros` is supported for the :attr:`padding_mode` argument. 2025-03-14T05:25:03.8981359Z 2025-03-14T05:25:03.8981540Z .. note:: 2025-03-14T05:25:03.8982129Z Only `torch.quint8` is supported for the input data type. 2025-03-14T05:25:03.8982682Z 2025-03-14T05:25:03.8982691Z 2025-03-14T05:25:03.8982873Z Attributes: 2025-03-14T05:25:03.8983496Z weight (Tensor): packed tensor derived from the learnable weight 2025-03-14T05:25:03.8984285Z parameter. 2025-03-14T05:25:03.8984958Z scale (Tensor): scalar for the output scale 2025-03-14T05:25:03.8985776Z zero_point (Tensor): scalar for the output zero point 2025-03-14T05:25:03.8986343Z 2025-03-14T05:25:03.8986609Z See :class:`~torch.nn.Conv1d` for other attributes. 2025-03-14T05:25:03.8987112Z 2025-03-14T05:25:03.8987284Z Examples:: 2025-03-14T05:25:03.8987545Z 2025-03-14T05:25:03.8987807Z >>> # xdoctest: +REQUIRES(env:TORCH_DOCTEST_QENGINE) 2025-03-14T05:25:03.8988556Z >>> m = nn.quantized.Conv1d(16, 33, 3, stride=2) 2025-03-14T05:25:03.8989245Z >>> input = torch.randn(20, 16, 100) 2025-03-14T05:25:03.8989915Z >>> # quantize input to quint8 2025-03-14T05:25:03.8990512Z >>> # xdoctest: +SKIP 2025-03-14T05:25:03.8991267Z >>> q_input = torch.quantize_per_tensor(input, scale=1.0, zero_point=0, 2025-03-14T05:25:03.8992098Z ... dtype=torch.quint8) 2025-03-14T05:25:03.8992739Z >>> output = m(q_input) 2025-03-14T05:25:03.8993079Z 2025-03-14T05:25:03.8993246Z 2025-03-14T05:25:03.8993954Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:03.8994683Z 2025-03-14T05:25:03.9207188Z msg = Cannot scrape callname=LSTM in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/modules/rnn.py line=11. 2025-03-14T05:25:03.9208146Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:03.9208677Z A quantized long short-term memory (LSTM). 2025-03-14T05:25:03.9208921Z 2025-03-14T05:25:03.9209253Z For the description and the argument types, please, refer to :class:`~torch.nn.LSTM` 2025-03-14T05:25:03.9209668Z 2025-03-14T05:25:03.9209766Z Attributes: 2025-03-14T05:25:03.9210052Z layers : instances of the `_LSTMLayer` 2025-03-14T05:25:03.9210292Z 2025-03-14T05:25:03.9210413Z .. note:: 2025-03-14T05:25:03.9210779Z To access the weights and biases, you need to access them per layer. 2025-03-14T05:25:03.9211633Z See examples in :class:`~torch.ao.nn.quantizable.LSTM` 2025-03-14T05:25:03.9212477Z 2025-03-14T05:25:03.9212688Z Examples:: 2025-03-14T05:25:03.9213117Z >>> # xdoctest: +SKIP 2025-03-14T05:25:03.9213644Z >>> custom_module_config = { 2025-03-14T05:25:03.9214271Z ... 'float_to_observed_custom_module_class': { 2025-03-14T05:25:03.9214968Z ... nn.LSTM: nn.quantizable.LSTM, 2025-03-14T05:25:03.9215656Z ... }, 2025-03-14T05:25:03.9216185Z ... 'observed_to_quantized_custom_module_class': { 2025-03-14T05:25:03.9217169Z ... nn.quantizable.LSTM: nn.quantized.LSTM, 2025-03-14T05:25:03.9217823Z ... } 2025-03-14T05:25:03.9218235Z ... } 2025-03-14T05:25:03.9218875Z >>> tq.prepare(model, prepare_custom_module_class=custom_module_config) 2025-03-14T05:25:03.9219930Z >>> tq.convert(model, convert_custom_module_class=custom_module_config) 2025-03-14T05:25:03.9220746Z 2025-03-14T05:25:03.9221448Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:03.9222167Z 2025-03-14T05:25:04.0323303Z msg = Cannot scrape callname=BaseSparsifier.squash_mask in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/pruning/sparsifier/base_sparsifier.py line=227. 2025-03-14T05:25:04.0324450Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:04.0325030Z Squashes the sparse masks into the appropriate tensors. 2025-03-14T05:25:04.0325333Z 2025-03-14T05:25:04.0325582Z If either the `params_to_keep` or `params_to_keep_per_layer` is set, 2025-03-14T05:25:04.0326108Z the module will have a `sparse_params` dict attached to it. 2025-03-14T05:25:04.0326423Z 2025-03-14T05:25:04.0326514Z Args: 2025-03-14T05:25:04.0326852Z params_to_keep: List of keys to save in the module or a dict 2025-03-14T05:25:04.0327333Z representing the modules and keys that will have 2025-03-14T05:25:04.0327770Z sparsity parameters saved 2025-03-14T05:25:04.0328235Z params_to_keep_per_layer: Dict to specify the params that should be 2025-03-14T05:25:04.0328763Z saved for specific layers. The keys in the dict 2025-03-14T05:25:04.0329499Z should be the module fqn, while the values should 2025-03-14T05:25:04.0330301Z be a list of strings with the names of the variables 2025-03-14T05:25:04.0331058Z to save in the `sparse_params` 2025-03-14T05:25:04.0331533Z 2025-03-14T05:25:04.0331694Z Examples: 2025-03-14T05:25:04.0332203Z >>> # xdoctest: +SKIP("locals are undefined") 2025-03-14T05:25:04.0332871Z >>> # Don't save any sparse params 2025-03-14T05:25:04.0333459Z >>> sparsifier.squash_mask() 2025-03-14T05:25:04.0334128Z >>> hasattr(model.submodule1, 'sparse_params') 2025-03-14T05:25:04.0334775Z False 2025-03-14T05:25:04.0335058Z 2025-03-14T05:25:04.0335298Z >>> # Keep sparse params per layer 2025-03-14T05:25:04.0336035Z >>> sparsifier.squash_mask( 2025-03-14T05:25:04.0336650Z ... params_to_keep_per_layer={ 2025-03-14T05:25:04.0337324Z ... 'submodule1.linear1': ('foo', 'bar'), 2025-03-14T05:25:04.0337979Z ... 'submodule2.linear42': ('baz',) 2025-03-14T05:25:04.0338576Z ... }) 2025-03-14T05:25:04.0339111Z >>> print(model.submodule1.linear1.sparse_params) 2025-03-14T05:25:04.0339611Z {'foo': 42, 'bar': 24} 2025-03-14T05:25:04.0339978Z >>> print(model.submodule2.linear42.sparse_params) 2025-03-14T05:25:04.0340356Z {'baz': 0.1} 2025-03-14T05:25:04.0340534Z 2025-03-14T05:25:04.0340662Z >>> # Keep sparse params for all layers 2025-03-14T05:25:04.0341086Z >>> sparsifier.squash_mask(params_to_keep=('foo', 'bar')) 2025-03-14T05:25:04.0341824Z >>> print(model.submodule1.linear1.sparse_params) 2025-03-14T05:25:04.0342205Z {'foo': 42, 'bar': 24} 2025-03-14T05:25:04.0342574Z >>> print(model.submodule2.linear42.sparse_params) 2025-03-14T05:25:04.0342962Z {'foo': 42, 'bar': 24} 2025-03-14T05:25:04.0343169Z 2025-03-14T05:25:04.0343372Z >>> # Keep some sparse params for all layers, and specific ones for 2025-03-14T05:25:04.0343808Z >>> # some other layers 2025-03-14T05:25:04.0344138Z >>> sparsifier.squash_mask( 2025-03-14T05:25:04.0344589Z ... params_to_keep=('foo', 'bar'), 2025-03-14T05:25:04.0344956Z ... params_to_keep_per_layer={ 2025-03-14T05:25:04.0345326Z ... 'submodule2.linear42': ('baz',) 2025-03-14T05:25:04.0345928Z ... }) 2025-03-14T05:25:04.0346465Z >>> print(model.submodule1.linear1.sparse_params) 2025-03-14T05:25:04.0347140Z {'foo': 42, 'bar': 24} 2025-03-14T05:25:04.0364401Z >>> print(model.submodule2.linear42.sparse_params) 2025-03-14T05:25:04.0364835Z {'foo': 42, 'bar': 24, 'baz': 0.1} 2025-03-14T05:25:04.0365161Z 2025-03-14T05:25:04.0365555Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:04.0365943Z 2025-03-14T05:25:04.1261103Z msg = Cannot scrape callname=DTypeConfig in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/backend_config/backend_config.py line=181. 2025-03-14T05:25:04.1263271Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:04.1264027Z 2025-03-14T05:25:04.1264511Z Config object that specifies the supported data types passed as arguments to 2025-03-14T05:25:04.1265711Z quantize ops in the reference model spec, for input and output activations, 2025-03-14T05:25:04.1266572Z weights, and biases. 2025-03-14T05:25:04.1266863Z 2025-03-14T05:25:04.1267172Z For example, consider the following reference model: 2025-03-14T05:25:04.1267696Z 2025-03-14T05:25:04.1268002Z quant1 - [dequant1 - fp32_linear - quant2] - dequant2 2025-03-14T05:25:04.1268511Z 2025-03-14T05:25:04.1268924Z The pattern in the square brackets refers to the reference pattern of 2025-03-14T05:25:04.1270014Z statically quantized linear. Setting the input dtype as `torch.quint8` 2025-03-14T05:25:04.1271132Z in the DTypeConfig means we pass in `torch.quint8` as the dtype argument 2025-03-14T05:25:04.1272229Z to the first quantize op (quant1). Similarly, setting the output dtype as 2025-03-14T05:25:04.1273331Z `torch.quint8` means we pass in `torch.quint8` as the dtype argument to 2025-03-14T05:25:04.1274197Z the second quantize op (quant2). 2025-03-14T05:25:04.1274574Z 2025-03-14T05:25:04.1274993Z Note that the dtype here does not refer to the interface dtypes of the 2025-03-14T05:25:04.1276023Z op. For example, the "input dtype" here is not the dtype of the input 2025-03-14T05:25:04.1277064Z tensor passed to the quantized linear op. Though it can still be the 2025-03-14T05:25:04.1278076Z same as the interface dtype, this is not always the case, e.g. the 2025-03-14T05:25:04.1279093Z interface dtype is fp32 in dynamic quantization but the "input dtype" 2025-03-14T05:25:04.1280152Z specified in the DTypeConfig would still be quint8. The semantics of 2025-03-14T05:25:04.1281185Z dtypes here are the same as the semantics of the dtypes specified in 2025-03-14T05:25:04.1281985Z the observers. 2025-03-14T05:25:04.1282265Z 2025-03-14T05:25:04.1282665Z These dtypes are matched against the ones specified in the user's 2025-03-14T05:25:04.1283714Z QConfig. If there is a match, and the QConfig satisfies the constraints 2025-03-14T05:25:04.1284762Z specified in the DTypeConfig (if any), then we will quantize the given 2025-03-14T05:25:04.1285770Z pattern using this DTypeConfig. Otherwise, the QConfig is ignored and 2025-03-14T05:25:04.1286516Z the pattern will not be quantized. 2025-03-14T05:25:04.1286745Z 2025-03-14T05:25:04.1286858Z Example usage:: 2025-03-14T05:25:04.1287219Z 2025-03-14T05:25:04.1287329Z >>> # xdoctest: +SKIP(failing) 2025-03-14T05:25:04.1287658Z >>> dtype_config1 = DTypeConfig( 2025-03-14T05:25:04.1288000Z ... input_dtype=torch.quint8, 2025-03-14T05:25:04.1288338Z ... output_dtype=torch.quint8, 2025-03-14T05:25:04.1288674Z ... weight_dtype=torch.qint8, 2025-03-14T05:25:04.1289003Z ... bias_dtype=torch.float) 2025-03-14T05:25:04.1289206Z 2025-03-14T05:25:04.1289330Z >>> dtype_config2 = DTypeConfig( 2025-03-14T05:25:04.1289681Z ... input_dtype=DTypeWithConstraints( 2025-03-14T05:25:04.1290124Z ... dtype=torch.quint8, 2025-03-14T05:25:04.1290447Z ... quant_min_lower_bound=0, 2025-03-14T05:25:04.1290789Z ... quant_max_upper_bound=255, 2025-03-14T05:25:04.1291105Z ... ), 2025-03-14T05:25:04.1291381Z ... output_dtype=DTypeWithConstraints( 2025-03-14T05:25:04.1291723Z ... dtype=torch.quint8, 2025-03-14T05:25:04.1292051Z ... quant_min_lower_bound=0, 2025-03-14T05:25:04.1292395Z ... quant_max_upper_bound=255, 2025-03-14T05:25:04.1292716Z ... ), 2025-03-14T05:25:04.1292994Z ... weight_dtype=DTypeWithConstraints( 2025-03-14T05:25:04.1293573Z ... dtype=torch.qint8, 2025-03-14T05:25:04.1294146Z ... quant_min_lower_bound=-128, 2025-03-14T05:25:04.1294731Z ... quant_max_upper_bound=127, 2025-03-14T05:25:04.1295277Z ... ), 2025-03-14T05:25:04.1295793Z ... bias_dtype=torch.float) 2025-03-14T05:25:04.1296168Z 2025-03-14T05:25:04.1296400Z >>> dtype_config1.input_dtype 2025-03-14T05:25:04.1296934Z torch.quint8 2025-03-14T05:25:04.1297190Z 2025-03-14T05:25:04.1297403Z >>> dtype_config2.input_dtype 2025-03-14T05:25:04.1298163Z torch.quint8 2025-03-14T05:25:04.1298433Z 2025-03-14T05:25:04.1298694Z >>> dtype_config2.input_dtype_with_constraints 2025-03-14T05:25:04.1300198Z DTypeWithConstraints(dtype=torch.quint8, quant_min_lower_bound=0, quant_max_upper_bound=255, scale_min_lower_bound=None, scale_max_upper_bound=None) 2025-03-14T05:25:04.1301496Z 2025-03-14T05:25:04.1302003Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:04.1302690Z 2025-03-14T05:25:04.2535742Z msg = Cannot scrape callname=ModelReportVisualizer.generate_filtered_tables in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/fx/_model_report/model_report_visualizer.py line=301. 2025-03-14T05:25:04.2538291Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:04.2539059Z 2025-03-14T05:25:04.2539640Z Takes in optional filter values and generates two tables with desired information. 2025-03-14T05:25:04.2540414Z 2025-03-14T05:25:04.2540813Z The generated tables are presented in both a list-of-lists format 2025-03-14T05:25:04.2541457Z 2025-03-14T05:25:04.2541859Z The reason for the two tables are that they handle different things: 2025-03-14T05:25:04.2542720Z 1.) the first table handles all tensor level information 2025-03-14T05:25:04.2543594Z 2.) the second table handles and displays all channel based information 2025-03-14T05:25:04.2544266Z 2025-03-14T05:25:04.2544872Z The reasoning for this is that having all the info in one table can make it ambiguous which collected 2025-03-14T05:25:04.2546372Z statistics are global, and which are actually per-channel, so it's better to split it up into two 2025-03-14T05:25:04.2547837Z tables. This also makes the information much easier to digest given the plethora of statistics collected 2025-03-14T05:25:04.2548671Z 2025-03-14T05:25:04.2548854Z Tensor table columns: 2025-03-14T05:25:04.2549488Z idx layer_fqn feature_1 feature_2 feature_3 .... feature_n 2025-03-14T05:25:04.2550160Z ---- --------- --------- --------- --------- --------- 2025-03-14T05:25:04.2550454Z 2025-03-14T05:25:04.2550569Z Per-Channel table columns: 2025-03-14T05:25:04.2550999Z idx layer_fqn channel feature_1 feature_2 feature_3 .... feature_n 2025-03-14T05:25:04.2551784Z ---- --------- ------- --------- --------- --------- --------- 2025-03-14T05:25:04.2552073Z 2025-03-14T05:25:04.2552180Z Args: 2025-03-14T05:25:04.2552580Z feature_filter (str, optional): Filters the features presented to only those that 2025-03-14T05:25:04.2553099Z contain this filter substring 2025-03-14T05:25:04.2553492Z Default = "", results in all the features being printed 2025-03-14T05:25:04.2554143Z module_fqn_filter (str, optional): Only includes modules that contains this string 2025-03-14T05:25:04.2554787Z Default = "", results in all the modules in the reports to be visible in the table 2025-03-14T05:25:04.2555152Z 2025-03-14T05:25:04.2555285Z Returns a dictionary with two keys: 2025-03-14T05:25:04.2555686Z (Dict[str, Tuple[List, List]]) A dict containing two keys: 2025-03-14T05:25:04.2556111Z "tensor_level_info", "channel_level_info" 2025-03-14T05:25:04.2556476Z Each key maps to a tuple with: 2025-03-14T05:25:04.2556815Z A list of the headers of each table 2025-03-14T05:25:04.2557462Z A list of lists containing the table information row by row 2025-03-14T05:25:04.2558306Z The 0th index row will contain the headers of the columns 2025-03-14T05:25:04.2559049Z The rest of the rows will contain data 2025-03-14T05:25:04.2559470Z 2025-03-14T05:25:04.2559629Z Example Use: 2025-03-14T05:25:04.2560091Z >>> # xdoctest: +SKIP("undefined variables") 2025-03-14T05:25:04.2560822Z >>> mod_report_visualizer.generate_filtered_tables( 2025-03-14T05:25:04.2561522Z ... feature_filter = "per_channel_min", 2025-03-14T05:25:04.2562156Z ... module_fqn_filter = "block1" 2025-03-14T05:25:04.2563067Z ... ) # generates table with per_channel_min info for all modules in block 1 of the model 2025-03-14T05:25:04.2563814Z 2025-03-14T05:25:04.2564307Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:04.2565053Z 2025-03-14T05:25:04.2566799Z msg = Cannot scrape callname=ModelReportVisualizer.generate_table_visualization in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/fx/_model_report/model_report_visualizer.py line=400. 2025-03-14T05:25:04.2569222Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:04.2569962Z 2025-03-14T05:25:04.2570487Z Takes in optional filter values and prints out formatted tables of the information. 2025-03-14T05:25:04.2571241Z 2025-03-14T05:25:04.2571910Z The reason for the two tables printed out instead of one large one are that they handle different things: 2025-03-14T05:25:04.2573099Z 1.) the first table handles all tensor level information 2025-03-14T05:25:04.2574028Z 2.) the second table handles and displays all channel based information 2025-03-14T05:25:04.2574690Z 2025-03-14T05:25:04.2575290Z The reasoning for this is that having all the info in one table can make it ambiguous which collected 2025-03-14T05:25:04.2576778Z statistics are global, and which are actually per-channel, so it's better to split it up into two 2025-03-14T05:25:04.2578224Z tables. This also makes the information much easier to digest given the plethora of statistics collected 2025-03-14T05:25:04.2579139Z 2025-03-14T05:25:04.2579320Z Tensor table columns: 2025-03-14T05:25:04.2579972Z idx layer_fqn feature_1 feature_2 feature_3 .... feature_n 2025-03-14T05:25:04.2580816Z ---- --------- --------- --------- --------- --------- 2025-03-14T05:25:04.2581326Z 2025-03-14T05:25:04.2581525Z Per-Channel table columns: 2025-03-14T05:25:04.2581875Z 2025-03-14T05:25:04.2582276Z idx layer_fqn channel feature_1 feature_2 feature_3 .... feature_n 2025-03-14T05:25:04.2583219Z ---- --------- ------- --------- --------- --------- --------- 2025-03-14T05:25:04.2583764Z 2025-03-14T05:25:04.2583931Z Args: 2025-03-14T05:25:04.2584634Z feature_filter (str, optional): Filters the features presented to only those that 2025-03-14T05:25:04.2585795Z contain this filter substring 2025-03-14T05:25:04.2586491Z Default = "", results in all the features being printed 2025-03-14T05:25:04.2587496Z module_fqn_filter (str, optional): Only includes modules that contains this string 2025-03-14T05:25:04.2588665Z Default = "", results in all the modules in the reports to be visible in the table 2025-03-14T05:25:04.2589355Z 2025-03-14T05:25:04.2589538Z Example Use: 2025-03-14T05:25:04.2590142Z >>> # xdoctest: +SKIP("undefined variables") 2025-03-14T05:25:04.2590864Z >>> mod_report_visualizer.generate_table_visualization( 2025-03-14T05:25:04.2591607Z ... feature_filter = "per_channel_min", 2025-03-14T05:25:04.2592221Z ... module_fqn_filter = "block1" 2025-03-14T05:25:04.2592729Z ... ) 2025-03-14T05:25:04.2593285Z >>> # prints out neatly formatted table with per_channel_min info 2025-03-14T05:25:04.2594070Z >>> # for all modules in block 1 of the model 2025-03-14T05:25:04.2594530Z 2025-03-14T05:25:04.2595005Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:04.2595708Z 2025-03-14T05:25:04.2597515Z msg = Cannot scrape callname=ModelReportVisualizer.generate_plot_visualization in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/fx/_model_report/model_report_visualizer.py line=566. 2025-03-14T05:25:04.2600356Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:04.2601059Z 2025-03-14T05:25:04.2601536Z Takes in a feature and optional module_filter and plots of the desired data. 2025-03-14T05:25:04.2602202Z 2025-03-14T05:25:04.2602725Z For per channel features, it averages the value across the channels and plots a point 2025-03-14T05:25:04.2603966Z per module. The reason for this is that for models with hundreds of channels, it can 2025-03-14T05:25:04.2605203Z be hard to differentiate one channel line from another, and so the point of generating 2025-03-14T05:25:04.2606408Z a single average point per module is to give a sense of general trends that encourage 2025-03-14T05:25:04.2607298Z further deep dives. 2025-03-14T05:25:04.2607562Z 2025-03-14T05:25:04.2607722Z Note: 2025-03-14T05:25:04.2608416Z Only features in the report that have tensor value data are plottable by this class 2025-03-14T05:25:04.2609482Z When the tensor information is plotted, it will plot: 2025-03-14T05:25:04.2610246Z idx as the x val, feature value as the y_val 2025-03-14T05:25:04.2610983Z When the channel information is plotted, it will plot: 2025-03-14T05:25:04.2611932Z the first idx of each module as the x val, feature value as the y_val [for each channel] 2025-03-14T05:25:04.2612994Z The reason for this is that we want to be able to compare values across the 2025-03-14T05:25:04.2614063Z channels for same layer, and it will be hard if values are staggered by idx 2025-03-14T05:25:04.2615054Z This means each module is represented by only 1 x value 2025-03-14T05:25:04.2615804Z Args: 2025-03-14T05:25:04.2616420Z feature_filter (str): Filters the features presented to only those that 2025-03-14T05:25:04.2617292Z contain this filter substring 2025-03-14T05:25:04.2618184Z module_fqn_filter (str, optional): Only includes modules that contains this string 2025-03-14T05:25:04.2619404Z Default = "", results in all the modules in the reports to be visible in the table 2025-03-14T05:25:04.2620126Z 2025-03-14T05:25:04.2620296Z Example Use: 2025-03-14T05:25:04.2620791Z >>> # xdoctest: +SKIP("undefined variables") 2025-03-14T05:25:04.2621454Z >>> mod_report_visualizer.generate_plot_visualization( 2025-03-14T05:25:04.2622209Z ... feature_filter = "per_channel_min", 2025-03-14T05:25:04.2622839Z ... module_fqn_filter = "block1" 2025-03-14T05:25:04.2623356Z ... ) 2025-03-14T05:25:04.2623855Z >>> # outputs line plot of per_channel_min information for all 2025-03-14T05:25:04.2625042Z >>> # modules in block1 of model each channel gets it's own line, 2025-03-14T05:25:04.2625942Z >>> # and it's plotted across the in-order modules on the x-axis 2025-03-14T05:25:04.2626495Z 2025-03-14T05:25:04.2626975Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:04.2627703Z 2025-03-14T05:25:04.2629690Z msg = Cannot scrape callname=ModelReportVisualizer.generate_histogram_visualization in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/fx/_model_report/model_report_visualizer.py line=646. 2025-03-14T05:25:04.2632273Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:04.2632953Z 2025-03-14T05:25:04.2633442Z Takes in a feature and optional module_filter and plots the histogram of desired data. 2025-03-14T05:25:04.2634194Z 2025-03-14T05:25:04.2634356Z Note: 2025-03-14T05:25:04.2635089Z Only features in the report that have tensor value data can be viewed as a histogram 2025-03-14T05:25:04.2636223Z If you want to plot a histogram from all the channel values of a specific feature for 2025-03-14T05:25:04.2637418Z a specific model, make sure to specify both the model and the feature properly 2025-03-14T05:25:04.2638610Z in the filters and you should be able to see a distribution of the channel data 2025-03-14T05:25:04.2639318Z 2025-03-14T05:25:04.2639476Z Args: 2025-03-14T05:25:04.2640205Z feature_filter (str, optional): Filters the features presented to only those that 2025-03-14T05:25:04.2641170Z contain this filter substring 2025-03-14T05:25:04.2641887Z Default = "", results in all the features being printed 2025-03-14T05:25:04.2642915Z module_fqn_filter (str, optional): Only includes modules that contains this string 2025-03-14T05:25:04.2644125Z Default = "", results in all the modules in the reports to be visible in the table 2025-03-14T05:25:04.2645291Z num_bins (int, optional): The number of bins to create the histogram with 2025-03-14T05:25:04.2646333Z Default = 10, the values will be split into 10 equal sized bins 2025-03-14T05:25:04.2646926Z 2025-03-14T05:25:04.2647093Z Example Use: 2025-03-14T05:25:04.2647530Z >>> # xdoctest: +SKIP 2025-03-14T05:25:04.2648434Z >>> mod_report_visualizer.generategenerate_histogram_visualization_plot_visualization( 2025-03-14T05:25:04.2649485Z ... feature_filter = "per_channel_min", 2025-03-14T05:25:04.2650126Z ... module_fqn_filter = "block1" 2025-03-14T05:25:04.2650687Z ... ) 2025-03-14T05:25:04.2651445Z # outputs histogram of per_channel_min information for all modules in block1 of model 2025-03-14T05:25:04.2652732Z information is gathered across all channels for all modules in block 1 for the 2025-03-14T05:25:04.2653899Z per_channel_min and is displayed in a histogram of equally sized bins 2025-03-14T05:25:04.2654565Z 2025-03-14T05:25:04.2655055Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:04.2655878Z 2025-03-14T05:25:04.5569822Z msg = Cannot scrape callname=DeviceMesh.__getitem__ in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/device_mesh.py line=666. 2025-03-14T05:25:04.5571724Z Caused by: DoctestParseError('Failed to parse doctest in _package_groups') 2025-03-14T05:25:04.5572441Z 2025-03-14T05:25:04.5572967Z Slice the current DeviceMesh based on the mesh_dim_names given to create a submesh. 2025-03-14T05:25:04.5574292Z The submesh created consists of the dimensions and the communicators indicated by 2025-03-14T05:25:04.5575215Z ``mesh_dim_names`` 2025-03-14T05:25:04.5575476Z 2025-03-14T05:25:04.5575710Z Args: 2025-03-14T05:25:04.5576353Z mesh_dim_names (Union[str, Tuple[str]]): the name or the tuple of names of the 2025-03-14T05:25:04.5577343Z mesh dimension of the DeviceMesh to create the submesh for. 2025-03-14T05:25:04.5578111Z Returns: 2025-03-14T05:25:04.5578542Z A :class:`DeviceMesh` object 2025-03-14T05:25:04.5579227Z 2025-03-14T05:25:04.5579776Z The following program runs on each process/rank in an SPMD manner in a world size of 8. 2025-03-14T05:25:04.5580696Z In the first example: 2025-03-14T05:25:04.5581459Z Calling mesh_2d["tp"] on rank 0, 1, 2, 3 returns a 1D submesh of DeviceMesh:([0, 1, 2, 3]). 2025-03-14T05:25:04.5582603Z Calling mesh_2d["tp"] on rank 4, 5, 6, 7 returns a 1D submesh of DeviceMesh:([4, 5, 6, 7]). 2025-03-14T05:25:04.5583747Z Calling mesh_2d["dp"] on rank 0, 4 returns a 1D submesh of DeviceMesh:([0, 4]). 2025-03-14T05:25:04.5585057Z Calling mesh_2d["dp"] on rank 1, 5 returns a 1D submesh of DeviceMesh:([1, 5]). 2025-03-14T05:25:04.5586162Z Calling mesh_2d["dp"] on rank 2, 6 returns a 1D submesh of DeviceMesh:([2, 6]). 2025-03-14T05:25:04.5587226Z Calling mesh_2d["dp"] on rank 3, 7 returns a 1D submesh of DeviceMesh:([3, 7]). 2025-03-14T05:25:04.5587868Z 2025-03-14T05:25:04.5588052Z In the second example: 2025-03-14T05:25:04.5588884Z Calling mesh_3d["dp", "cp"] on rank 0, 1, 4, 5 returns a 2D submesh of DeviceMesh:([[0, 1], [4, 5]]). 2025-03-14T05:25:04.5590094Z Calling mesh_3d["dp", "cp"] on rank 2, 3, 6, 7 returns a 2D submesh of DeviceMesh:([[2, 3], [6, 7]]). 2025-03-14T05:25:04.5591263Z Calling mesh_3d["cp", "dp"] on rank 0, 1, 4, 5 returns a 2D submesh of DeviceMesh:([[0, 4], [1, 5]]). 2025-03-14T05:25:04.5592467Z Calling mesh_3d["cp", "dp"] on rank 2, 3, 6, 7 returns a 2D submesh of DeviceMesh:([[2, 6], [3, 7]]). 2025-03-14T05:25:04.5593177Z 2025-03-14T05:25:04.5593357Z Example:: 2025-03-14T05:25:04.5593736Z >>> # xdoctest: +SKIP("no rank") 2025-03-14T05:25:04.5594141Z >>> from torch.distributed.device_mesh import DeviceMesh 2025-03-14T05:25:04.5594530Z >>> 2025-03-14T05:25:04.5594867Z >>> # Initialize a 2D device mesh as (2, 4) to represent the topology 2025-03-14T05:25:04.5595345Z >>> # of cross-host(dim 0), and within-host (dim 1). 2025-03-14T05:25:04.5595863Z >>> mesh_2d = init_device_mesh(device_type="cuda", (2,4), mesh_dim_names=("dp", "tp")) 2025-03-14T05:25:04.5596366Z >>> tp_mesh = mesh_2d["tp"] 2025-03-14T05:25:04.5596666Z >>> dp_mesh = mesh_2d["dp"] 2025-03-14T05:25:04.5596948Z >>> 2025-03-14T05:25:04.5597178Z >>> # Initialize a 3D mesh. 2025-03-14T05:25:04.5597658Z >>> mesh_3d = init_device_mesh(device_type="cuda", (2,2,2), mesh_dim_names=("dp", "pp", "cp")) 2025-03-14T05:25:04.5598581Z >>> # The order of the mesh_dim_names provided deteremines the order of dimensions in the submesh. 2025-03-14T05:25:04.5599133Z >>> dp_cp_mesh = mesh_3d["dp", "cp"] 2025-03-14T05:25:04.5599476Z >>> cp_dp_mesh = mesh_3d["cp", "dp"] 2025-03-14T05:25:04.5599695Z 2025-03-14T05:25:04.5600386Z Original Error: SyntaxError('positional argument follows keyword argument', ('', 6, 82, 'mesh_2d = init_device_mesh(device_type="cuda", (2,4), mesh_dim_names=("dp", "tp"))\n', 6, 83)) 2025-03-14T05:25:04.5601168Z 2025-03-14T05:25:04.5601426Z mesh_2d = init_device_mesh(device_type="cuda", (2,4), mesh_dim_names=("dp", "tp")) 2025-03-14T05:25:04.5601932Z ^ 2025-03-14T05:25:04.5907111Z msg = Cannot scrape callname=batch_isend_irecv in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/distributed_c10d.py line=2604. 2025-03-14T05:25:04.5909060Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:04.5909785Z 2025-03-14T05:25:04.5910297Z Send or Receive a batch of tensors asynchronously and return a list of requests. 2025-03-14T05:25:04.5910981Z 2025-03-14T05:25:04.5911471Z Process each of the operations in ``p2p_op_list`` and return the corresponding 2025-03-14T05:25:04.5912553Z requests. NCCL, Gloo, and UCC backend are currently supported. 2025-03-14T05:25:04.5913116Z 2025-03-14T05:25:04.5913288Z Args: 2025-03-14T05:25:04.5913946Z p2p_op_list: A list of point-to-point operations(type of each operator is 2025-03-14T05:25:04.5915309Z ``torch.distributed.P2POp``). The order of the isend/irecv in the list 2025-03-14T05:25:04.5916367Z matters and it needs to match with corresponding isend/irecv on the 2025-03-14T05:25:04.5917113Z remote end. 2025-03-14T05:25:04.5917346Z 2025-03-14T05:25:04.5917503Z Returns: 2025-03-14T05:25:04.5918162Z A list of distributed request objects returned by calling the corresponding 2025-03-14T05:25:04.5919057Z op in the op_list. 2025-03-14T05:25:04.5919345Z 2025-03-14T05:25:04.5919521Z Examples: 2025-03-14T05:25:04.5920222Z >>> # xdoctest: +SKIP("no rank") 2025-03-14T05:25:04.5920995Z >>> send_tensor = torch.arange(2, dtype=torch.float32) + 2 * rank 2025-03-14T05:25:04.5921863Z >>> recv_tensor = torch.randn(2, dtype=torch.float32) 2025-03-14T05:25:04.5922772Z >>> send_op = dist.P2POp(dist.isend, send_tensor, (rank + 1) % world_size) 2025-03-14T05:25:04.5923616Z >>> recv_op = dist.P2POp( 2025-03-14T05:25:04.5924347Z ... dist.irecv, recv_tensor, (rank - 1 + world_size) % world_size 2025-03-14T05:25:04.5925120Z ... ) 2025-03-14T05:25:04.5925614Z >>> reqs = batch_isend_irecv([send_op, recv_op]) 2025-03-14T05:25:04.5926272Z >>> for req in reqs: 2025-03-14T05:25:04.5926761Z >>> req.wait() 2025-03-14T05:25:04.5927222Z >>> recv_tensor 2025-03-14T05:25:04.5927673Z tensor([2, 3]) # Rank 0 2025-03-14T05:25:04.5928197Z tensor([0, 1]) # Rank 1 2025-03-14T05:25:04.5928496Z 2025-03-14T05:25:04.5928972Z .. note:: Note that when this API is used with the NCCL PG backend, users must set 2025-03-14T05:25:04.5930069Z the current GPU device with `torch.cuda.set_device`, otherwise it will 2025-03-14T05:25:04.5930941Z lead to unexpected hang issues. 2025-03-14T05:25:04.5931341Z 2025-03-14T05:25:04.5931752Z In addition, if this API is the first collective call in the ``group`` 2025-03-14T05:25:04.5932747Z passed to ``dist.P2POp``, all ranks of the ``group`` must participate in 2025-03-14T05:25:04.5933818Z this API call; otherwise, the behavior is undefined. If this API call is 2025-03-14T05:25:04.5934866Z not the first collective call in the ``group``, batched P2P operations 2025-03-14T05:25:04.5935981Z involving only a subset of ranks of the ``group`` are allowed. 2025-03-14T05:25:04.5936576Z 2025-03-14T05:25:04.5937083Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:04.5937806Z 2025-03-14T05:25:04.5938979Z msg = Cannot scrape callname=all_reduce in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/distributed_c10d.py line=2734. 2025-03-14T05:25:04.5940798Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:04.5941498Z 2025-03-14T05:25:04.5942024Z Reduces the tensor data across all machines in a way that all get the final result. 2025-03-14T05:25:04.5942754Z 2025-03-14T05:25:04.5943202Z After the call ``tensor`` is going to be bitwise identical in all processes. 2025-03-14T05:25:04.5943885Z 2025-03-14T05:25:04.5944108Z Complex tensors are supported. 2025-03-14T05:25:04.5944481Z 2025-03-14T05:25:04.5944651Z Args: 2025-03-14T05:25:04.5945243Z tensor (Tensor): Input and output of the collective. The function 2025-03-14T05:25:04.5946039Z operates in-place. 2025-03-14T05:25:04.5946533Z op (optional): One of the values from 2025-03-14T05:25:04.5947096Z ``torch.distributed.ReduceOp`` 2025-03-14T05:25:04.5947846Z enum. Specifies an operation used for element-wise reductions. 2025-03-14T05:25:04.5948939Z group (ProcessGroup, optional): The process group to work on. If None, 2025-03-14T05:25:04.5949847Z the default process group will be used. 2025-03-14T05:25:04.5950671Z async_op (bool, optional): Whether this op should be an async op 2025-03-14T05:25:04.5951288Z 2025-03-14T05:25:04.5951447Z Returns: 2025-03-14T05:25:04.5951900Z Async work handle, if async_op is set to True. 2025-03-14T05:25:04.5952621Z None, if not async_op or if not part of the group 2025-03-14T05:25:04.5953300Z 2025-03-14T05:25:04.5953469Z Examples: 2025-03-14T05:25:04.5953909Z >>> # xdoctest: +SKIP("no rank") 2025-03-14T05:25:04.5954553Z >>> # All tensors below are of torch.int64 type. 2025-03-14T05:25:04.5955242Z >>> # We have 2 process groups, 2 ranks. 2025-03-14T05:25:04.5955900Z >>> device = torch.device(f"cuda:{rank}") 2025-03-14T05:25:04.5956756Z >>> tensor = torch.arange(2, dtype=torch.int64, device=device) + 1 + 2 * rank 2025-03-14T05:25:04.5957556Z >>> tensor 2025-03-14T05:25:04.5958127Z tensor([1, 2], device='cuda:0') # Rank 0 2025-03-14T05:25:04.5958762Z tensor([3, 4], device='cuda:1') # Rank 1 2025-03-14T05:25:04.5959416Z >>> dist.all_reduce(tensor, op=ReduceOp.SUM) 2025-03-14T05:25:04.5960046Z >>> tensor 2025-03-14T05:25:04.5960510Z tensor([4, 6], device='cuda:0') # Rank 0 2025-03-14T05:25:04.5961099Z tensor([4, 6], device='cuda:1') # Rank 1 2025-03-14T05:25:04.5961528Z 2025-03-14T05:25:04.5961811Z >>> # All tensors below are of torch.cfloat type. 2025-03-14T05:25:04.5962503Z >>> # We have 2 process groups, 2 ranks. 2025-03-14T05:25:04.5963108Z >>> tensor = torch.tensor( 2025-03-14T05:25:04.5963737Z ... [1 + 1j, 2 + 2j], dtype=torch.cfloat, device=device 2025-03-14T05:25:04.5964417Z ... ) + 2 * rank * (1 + 1j) 2025-03-14T05:25:04.5964916Z >>> tensor 2025-03-14T05:25:04.5965426Z tensor([1.+1.j, 2.+2.j], device='cuda:0') # Rank 0 2025-03-14T05:25:04.5966156Z tensor([3.+3.j, 4.+4.j], device='cuda:1') # Rank 1 2025-03-14T05:25:04.5966875Z >>> dist.all_reduce(tensor, op=ReduceOp.SUM) 2025-03-14T05:25:04.5967475Z >>> tensor 2025-03-14T05:25:04.5967949Z tensor([4.+4.j, 6.+6.j], device='cuda:0') # Rank 0 2025-03-14T05:25:04.5968663Z tensor([4.+4.j, 6.+6.j], device='cuda:1') # Rank 1 2025-03-14T05:25:04.5969133Z 2025-03-14T05:25:04.5969141Z 2025-03-14T05:25:04.5969641Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:04.5970378Z 2025-03-14T05:25:04.5971565Z msg = Cannot scrape callname=gather_object in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/distributed_c10d.py line=3090. 2025-03-14T05:25:04.5973386Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:04.5974121Z 2025-03-14T05:25:04.5974557Z Gathers picklable objects from the whole group in a single process. 2025-03-14T05:25:04.5975222Z 2025-03-14T05:25:04.5975748Z Similar to :func:`gather`, but Python objects can be passed in. Note that the 2025-03-14T05:25:04.5976684Z object must be picklable in order to be gathered. 2025-03-14T05:25:04.5977196Z 2025-03-14T05:25:04.5977351Z Args: 2025-03-14T05:25:04.5977809Z obj (Any): Input object. Must be picklable. 2025-03-14T05:25:04.5978666Z object_gather_list (list[Any]): Output list. On the ``dst`` rank, it 2025-03-14T05:25:04.5979665Z should be correctly sized as the size of the group for this 2025-03-14T05:25:04.5980652Z collective and will contain the output. Must be ``None`` on non-dst 2025-03-14T05:25:04.5981508Z ranks. (default is ``None``) 2025-03-14T05:25:04.5982479Z dst (int, optional): Destination rank on global process group (regardless of ``group`` argument). 2025-03-14T05:25:04.5983649Z (If both ``dst`` and ``group_dst`` are None, default is global rank 0) 2025-03-14T05:25:04.5984690Z group: (ProcessGroup, optional): The process group to work on. If None, 2025-03-14T05:25:04.5985728Z the default process group will be used. Default is ``None``. 2025-03-14T05:25:04.5986980Z group_dst (int, optional): Destination rank on ``group``. Invalid to specify both ``dst`` and ``group_dst`` 2025-03-14T05:25:04.5987830Z 2025-03-14T05:25:04.5988006Z Returns: 2025-03-14T05:25:04.5988578Z None. On the ``dst`` rank, ``object_gather_list`` will contain the 2025-03-14T05:25:04.5989351Z output of the collective. 2025-03-14T05:25:04.5989712Z 2025-03-14T05:25:04.5990141Z .. note:: Note that this API differs slightly from the gather collective 2025-03-14T05:25:04.5991357Z since it does not provide an async_op handle and thus will be a blocking 2025-03-14T05:25:04.5992160Z call. 2025-03-14T05:25:04.5992371Z 2025-03-14T05:25:04.5992842Z .. note:: For NCCL-based processed groups, internal tensor representations 2025-03-14T05:25:04.5993920Z of objects must be moved to the GPU device before communication takes 2025-03-14T05:25:04.5994828Z place. In this case, the device used is given by 2025-03-14T05:25:04.5995839Z ``torch.cuda.current_device()`` and it is the user's responsiblity to 2025-03-14T05:25:04.5996862Z ensure that this is set so that each rank has an individual GPU, via 2025-03-14T05:25:04.5997656Z ``torch.cuda.set_device()``. 2025-03-14T05:25:04.5998259Z 2025-03-14T05:25:04.5998432Z .. warning:: 2025-03-14T05:25:04.5999061Z :func:`gather_object` uses ``pickle`` module implicitly, which is 2025-03-14T05:25:04.6000083Z known to be insecure. It is possible to construct malicious pickle data 2025-03-14T05:25:04.6001169Z which will execute arbitrary code during unpickling. Only call this 2025-03-14T05:25:04.6001997Z function with data you trust. 2025-03-14T05:25:04.6002375Z 2025-03-14T05:25:04.6002539Z .. warning:: 2025-03-14T05:25:04.6003180Z Calling :func:`gather_object` with GPU tensors is not well supported 2025-03-14T05:25:04.6004241Z and inefficient as it incurs GPU -> CPU transfer since tensors would be 2025-03-14T05:25:04.6005189Z pickled. Please consider using :func:`gather` instead. 2025-03-14T05:25:04.6005730Z 2025-03-14T05:25:04.6005931Z Example:: 2025-03-14T05:25:04.6006426Z >>> # xdoctest: +SKIP("need process group init") 2025-03-14T05:25:04.6007217Z >>> # Note: Process group initialization omitted on each rank. 2025-03-14T05:25:04.6008002Z >>> import torch.distributed as dist 2025-03-14T05:25:04.6008625Z >>> # Assumes world_size of 3. 2025-03-14T05:25:04.6009331Z >>> gather_objects = ["foo", 12, {1: 2}] # any picklable object 2025-03-14T05:25:04.6010124Z >>> output = [None for _ in gather_objects] 2025-03-14T05:25:04.6010759Z >>> dist.gather_object( 2025-03-14T05:25:04.6011313Z ... gather_objects[dist.get_rank()], 2025-03-14T05:25:04.6011942Z ... output if dist.get_rank() == 0 else None, 2025-03-14T05:25:04.6012548Z ... dst=0 2025-03-14T05:25:04.6012946Z ... ) 2025-03-14T05:25:04.6013331Z >>> # On rank 0 2025-03-14T05:25:04.6013750Z >>> output 2025-03-14T05:25:04.6014141Z ['foo', 12, {1: 2}] 2025-03-14T05:25:04.6014452Z 2025-03-14T05:25:04.6014952Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:04.6015767Z 2025-03-14T05:25:04.6019402Z msg = Cannot scrape callname=all_gather in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/distributed_c10d.py line=3666. 2025-03-14T05:25:04.6021272Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:04.6022030Z 2025-03-14T05:25:04.6022302Z Gathers tensors from the whole group in a list. 2025-03-14T05:25:04.6022770Z 2025-03-14T05:25:04.6023037Z Complex and uneven sized tensors are supported. 2025-03-14T05:25:04.6023536Z 2025-03-14T05:25:04.6023694Z Args: 2025-03-14T05:25:04.6024257Z tensor_list (list[Tensor]): Output list. It should contain 2025-03-14T05:25:04.6025229Z correctly-sized tensors to be used for output of the collective. 2025-03-14T05:25:04.6026091Z Uneven sized tensors are supported. 2025-03-14T05:25:04.6026863Z tensor (Tensor): Tensor to be broadcast from current process. 2025-03-14T05:25:04.6027858Z group (ProcessGroup, optional): The process group to work on. If None, 2025-03-14T05:25:04.6028746Z the default process group will be used. 2025-03-14T05:25:04.6029565Z async_op (bool, optional): Whether this op should be an async op 2025-03-14T05:25:04.6030144Z 2025-03-14T05:25:04.6030331Z Returns: 2025-03-14T05:25:04.6030804Z Async work handle, if async_op is set to True. 2025-03-14T05:25:04.6031779Z None, if not async_op or if not part of the group 2025-03-14T05:25:04.6032259Z 2025-03-14T05:25:04.6032443Z Examples: 2025-03-14T05:25:04.6032921Z >>> # xdoctest: +SKIP("need process group init") 2025-03-14T05:25:04.6033650Z >>> # All tensors below are of torch.int64 dtype. 2025-03-14T05:25:04.6034338Z >>> # We have 2 process groups, 2 ranks. 2025-03-14T05:25:04.6034988Z >>> device = torch.device(f"cuda:{rank}") 2025-03-14T05:25:04.6035601Z >>> tensor_list = [ 2025-03-14T05:25:04.6036415Z ... torch.zeros(2, dtype=torch.int64, device=device) for _ in range(2) 2025-03-14T05:25:04.6037207Z ... ] 2025-03-14T05:25:04.6037602Z >>> tensor_list 2025-03-14T05:25:04.6038243Z [tensor([0, 0], device='cuda:0'), tensor([0, 0], device='cuda:0')] # Rank 0 2025-03-14T05:25:04.6039239Z [tensor([0, 0], device='cuda:1'), tensor([0, 0], device='cuda:1')] # Rank 1 2025-03-14T05:25:04.6040268Z >>> tensor = torch.arange(2, dtype=torch.int64, device=device) + 1 + 2 * rank 2025-03-14T05:25:04.6041109Z >>> tensor 2025-03-14T05:25:04.6041586Z tensor([1, 2], device='cuda:0') # Rank 0 2025-03-14T05:25:04.6042172Z tensor([3, 4], device='cuda:1') # Rank 1 2025-03-14T05:25:04.6042791Z >>> dist.all_gather(tensor_list, tensor) 2025-03-14T05:25:04.6043385Z >>> tensor_list 2025-03-14T05:25:04.6044034Z [tensor([1, 2], device='cuda:0'), tensor([3, 4], device='cuda:0')] # Rank 0 2025-03-14T05:25:04.6045019Z [tensor([1, 2], device='cuda:1'), tensor([3, 4], device='cuda:1')] # Rank 1 2025-03-14T05:25:04.6045622Z 2025-03-14T05:25:04.6045904Z >>> # All tensors below are of torch.cfloat dtype. 2025-03-14T05:25:04.6046610Z >>> # We have 2 process groups, 2 ranks. 2025-03-14T05:25:04.6047207Z >>> tensor_list = [ 2025-03-14T05:25:04.6047876Z ... torch.zeros(2, dtype=torch.cfloat, device=device) for _ in range(2) 2025-03-14T05:25:04.6048670Z ... ] 2025-03-14T05:25:04.6049065Z >>> tensor_list 2025-03-14T05:25:04.6049808Z [tensor([0.+0.j, 0.+0.j], device='cuda:0'), tensor([0.+0.j, 0.+0.j], device='cuda:0')] # Rank 0 2025-03-14T05:25:04.6050939Z [tensor([0.+0.j, 0.+0.j], device='cuda:1'), tensor([0.+0.j, 0.+0.j], device='cuda:1')] # Rank 1 2025-03-14T05:25:04.6051802Z >>> tensor = torch.tensor( 2025-03-14T05:25:04.6052401Z ... [1 + 1j, 2 + 2j], dtype=torch.cfloat, device=device 2025-03-14T05:25:04.6053062Z ... ) + 2 * rank * (1 + 1j) 2025-03-14T05:25:04.6053544Z >>> tensor 2025-03-14T05:25:04.6054047Z tensor([1.+1.j, 2.+2.j], device='cuda:0') # Rank 0 2025-03-14T05:25:04.6054791Z tensor([3.+3.j, 4.+4.j], device='cuda:1') # Rank 1 2025-03-14T05:25:04.6055454Z >>> dist.all_gather(tensor_list, tensor) 2025-03-14T05:25:04.6056154Z >>> tensor_list 2025-03-14T05:25:04.6056895Z [tensor([1.+1.j, 2.+2.j], device='cuda:0'), tensor([3.+3.j, 4.+4.j], device='cuda:0')] # Rank 0 2025-03-14T05:25:04.6058036Z [tensor([1.+1.j, 2.+2.j], device='cuda:1'), tensor([3.+3.j, 4.+4.j], device='cuda:1')] # Rank 1 2025-03-14T05:25:04.6058769Z 2025-03-14T05:25:04.6058777Z 2025-03-14T05:25:04.6059255Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:04.6059992Z 2025-03-14T05:25:04.6096222Z msg = Cannot scrape callname=all_to_all_single in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/distributed_c10d.py line=4381. 2025-03-14T05:25:04.6098335Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:04.6099090Z 2025-03-14T05:25:04.6099596Z Split input tensor and then scatter the split list to all processes in a group. 2025-03-14T05:25:04.6100353Z 2025-03-14T05:25:04.6100867Z Later the received tensors are concatenated from all the processes in the group 2025-03-14T05:25:04.6101809Z and returned as a single output tensor. 2025-03-14T05:25:04.6102235Z 2025-03-14T05:25:04.6102427Z Complex tensors are supported. 2025-03-14T05:25:04.6102816Z 2025-03-14T05:25:04.6102976Z Args: 2025-03-14T05:25:04.6103667Z output (Tensor): Gathered concatenated output tensor. 2025-03-14T05:25:04.6104429Z input (Tensor): Input tensor to scatter. 2025-03-14T05:25:04.6105304Z output_split_sizes: (list[Int], optional): Output split sizes for dim 0 2025-03-14T05:25:04.6106360Z if specified None or empty, dim 0 of ``output`` tensor must divide 2025-03-14T05:25:04.6107182Z equally by ``world_size``. 2025-03-14T05:25:04.6107974Z input_split_sizes: (list[Int], optional): Input split sizes for dim 0 2025-03-14T05:25:04.6109114Z if specified None or empty, dim 0 of ``input`` tensor must divide 2025-03-14T05:25:04.6109935Z equally by ``world_size``. 2025-03-14T05:25:04.6110758Z group (ProcessGroup, optional): The process group to work on. If None, 2025-03-14T05:25:04.6111675Z the default process group will be used. 2025-03-14T05:25:04.6112501Z async_op (bool, optional): Whether this op should be an async op. 2025-03-14T05:25:04.6113112Z 2025-03-14T05:25:04.6113329Z Returns: 2025-03-14T05:25:04.6113842Z Async work handle, if async_op is set to True. 2025-03-14T05:25:04.6114600Z None, if not async_op or if not part of the group. 2025-03-14T05:25:04.6115054Z 2025-03-14T05:25:04.6115222Z .. warning:: 2025-03-14T05:25:04.6115726Z `all_to_all_single` is experimental and subject to change. 2025-03-14T05:25:04.6116176Z 2025-03-14T05:25:04.6116336Z Examples: 2025-03-14T05:25:04.6116719Z >>> # xdoctest: +SKIP("Undefined rank") 2025-03-14T05:25:04.6117322Z >>> input = torch.arange(4) + rank * 4 2025-03-14T05:25:04.6117917Z >>> input 2025-03-14T05:25:04.6118339Z tensor([0, 1, 2, 3]) # Rank 0 2025-03-14T05:25:04.6118891Z tensor([4, 5, 6, 7]) # Rank 1 2025-03-14T05:25:04.6119340Z tensor([8, 9, 10, 11]) # Rank 2 2025-03-14T05:25:04.6119864Z tensor([12, 13, 14, 15]) # Rank 3 2025-03-14T05:25:04.6120470Z >>> output = torch.empty([4], dtype=torch.int64) 2025-03-14T05:25:04.6121161Z >>> dist.all_to_all_single(output, input) 2025-03-14T05:25:04.6121796Z >>> output 2025-03-14T05:25:04.6122236Z tensor([0, 4, 8, 12]) # Rank 0 2025-03-14T05:25:04.6122801Z tensor([1, 5, 9, 13]) # Rank 1 2025-03-14T05:25:04.6123360Z tensor([2, 6, 10, 14]) # Rank 2 2025-03-14T05:25:04.6123937Z tensor([3, 7, 11, 15]) # Rank 3 2025-03-14T05:25:04.6124303Z 2025-03-14T05:25:04.6124589Z >>> # Essentially, it is similar to following operation: 2025-03-14T05:25:04.6125341Z >>> scatter_list = list(input.chunk(world_size)) 2025-03-14T05:25:04.6126070Z >>> gather_list = list(output.chunk(world_size)) 2025-03-14T05:25:04.6126744Z >>> for i in range(world_size): 2025-03-14T05:25:04.6127550Z >>> dist.scatter(gather_list[i], scatter_list if i == rank else [], src = i) 2025-03-14T05:25:04.6128214Z 2025-03-14T05:25:04.6128447Z >>> # Another example with uneven split 2025-03-14T05:25:04.6128976Z >>> input 2025-03-14T05:25:04.6129462Z tensor([0, 1, 2, 3, 4, 5]) # Rank 0 2025-03-14T05:25:04.6130256Z tensor([10, 11, 12, 13, 14, 15, 16, 17, 18]) # Rank 1 2025-03-14T05:25:04.6131020Z tensor([20, 21, 22, 23, 24]) # Rank 2 2025-03-14T05:25:04.6131845Z tensor([30, 31, 32, 33, 34, 35, 36]) # Rank 3 2025-03-14T05:25:04.6132534Z >>> input_splits 2025-03-14T05:25:04.6133026Z [2, 2, 1, 1] # Rank 0 2025-03-14T05:25:04.6133685Z [3, 2, 2, 2] # Rank 1 2025-03-14T05:25:04.6134390Z [2, 1, 1, 1] # Rank 2 2025-03-14T05:25:04.6135079Z [2, 2, 2, 1] # Rank 3 2025-03-14T05:25:04.6135798Z >>> output_splits 2025-03-14T05:25:04.6136317Z [2, 3, 2, 2] # Rank 0 2025-03-14T05:25:04.6137001Z [2, 2, 1, 2] # Rank 1 2025-03-14T05:25:04.6137839Z [1, 2, 1, 2] # Rank 2 2025-03-14T05:25:04.6138525Z [1, 2, 1, 1] # Rank 3 2025-03-14T05:25:04.6139168Z >>> output = ... 2025-03-14T05:25:04.6139869Z >>> dist.all_to_all_single(output, input, output_splits, input_splits) 2025-03-14T05:25:04.6140663Z >>> output 2025-03-14T05:25:04.6141207Z tensor([ 0, 1, 10, 11, 12, 20, 21, 30, 31]) # Rank 0 2025-03-14T05:25:04.6142120Z tensor([ 2, 3, 13, 14, 22, 32, 33]) # Rank 1 2025-03-14T05:25:04.6142959Z tensor([ 4, 15, 16, 23, 34, 35]) # Rank 2 2025-03-14T05:25:04.6143773Z tensor([ 5, 17, 18, 24, 36]) # Rank 3 2025-03-14T05:25:04.6144306Z 2025-03-14T05:25:04.6144315Z 2025-03-14T05:25:04.6144628Z >>> # Another example with tensors of torch.cfloat type. 2025-03-14T05:25:04.6145358Z >>> input = torch.tensor( 2025-03-14T05:25:04.6145967Z ... [1 + 1j, 2 + 2j, 3 + 3j, 4 + 4j], dtype=torch.cfloat 2025-03-14T05:25:04.6146616Z ... ) + 4 * rank * (1 + 1j) 2025-03-14T05:25:04.6147108Z >>> input 2025-03-14T05:25:04.6147700Z tensor([1+1j, 2+2j, 3+3j, 4+4j]) # Rank 0 2025-03-14T05:25:04.6148603Z tensor([5+5j, 6+6j, 7+7j, 8+8j]) # Rank 1 2025-03-14T05:25:04.6149501Z tensor([9+9j, 10+10j, 11+11j, 12+12j]) # Rank 2 2025-03-14T05:25:04.6150434Z tensor([13+13j, 14+14j, 15+15j, 16+16j]) # Rank 3 2025-03-14T05:25:04.6151283Z >>> output = torch.empty([4], dtype=torch.int64) 2025-03-14T05:25:04.6151991Z >>> dist.all_to_all_single(output, input) 2025-03-14T05:25:04.6152546Z >>> output 2025-03-14T05:25:04.6153096Z tensor([1+1j, 5+5j, 9+9j, 13+13j]) # Rank 0 2025-03-14T05:25:04.6153986Z tensor([2+2j, 6+6j, 10+10j, 14+14j]) # Rank 1 2025-03-14T05:25:04.6154894Z tensor([3+3j, 7+7j, 11+11j, 15+15j]) # Rank 2 2025-03-14T05:25:04.6155783Z tensor([4+4j, 8+8j, 12+12j, 16+16j]) # Rank 3 2025-03-14T05:25:04.6156350Z 2025-03-14T05:25:04.6156814Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:04.6157520Z 2025-03-14T05:25:04.6158666Z msg = Cannot scrape callname=all_to_all in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/distributed_c10d.py line=4523. 2025-03-14T05:25:04.6160443Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:04.6161160Z 2025-03-14T05:25:04.6161873Z Scatters list of input tensors to all processes in a group and return gathered list of tensors in output list. 2025-03-14T05:25:04.6162840Z 2025-03-14T05:25:04.6163063Z Complex tensors are supported. 2025-03-14T05:25:04.6163443Z 2025-03-14T05:25:04.6163609Z Args: 2025-03-14T05:25:04.6164233Z output_tensor_list (list[Tensor]): List of tensors to be gathered one 2025-03-14T05:25:04.6165076Z per rank. 2025-03-14T05:25:04.6165744Z input_tensor_list (list[Tensor]): List of tensors to scatter one per rank. 2025-03-14T05:25:04.6166823Z group (ProcessGroup, optional): The process group to work on. If None, 2025-03-14T05:25:04.6167758Z the default process group will be used. 2025-03-14T05:25:04.6168588Z async_op (bool, optional): Whether this op should be an async op. 2025-03-14T05:25:04.6169216Z 2025-03-14T05:25:04.6169369Z Returns: 2025-03-14T05:25:04.6169828Z Async work handle, if async_op is set to True. 2025-03-14T05:25:04.6170566Z None, if not async_op or if not part of the group. 2025-03-14T05:25:04.6171066Z 2025-03-14T05:25:04.6171239Z .. warning:: 2025-03-14T05:25:04.6171753Z `all_to_all` is experimental and subject to change. 2025-03-14T05:25:04.6172410Z 2025-03-14T05:25:04.6172579Z Examples: 2025-03-14T05:25:04.6173033Z >>> # xdoctest: +SKIP("Undefined rank") 2025-03-14T05:25:04.6173645Z >>> input = torch.arange(4) + rank * 4 2025-03-14T05:25:04.6174229Z >>> input = list(input.chunk(4)) 2025-03-14T05:25:04.6174690Z >>> input 2025-03-14T05:25:04.6175228Z [tensor([0]), tensor([1]), tensor([2]), tensor([3])] # Rank 0 2025-03-14T05:25:04.6176055Z [tensor([4]), tensor([5]), tensor([6]), tensor([7])] # Rank 1 2025-03-14T05:25:04.6176522Z [tensor([8]), tensor([9]), tensor([10]), tensor([11])] # Rank 2 2025-03-14T05:25:04.6177096Z [tensor([12]), tensor([13]), tensor([14]), tensor([15])] # Rank 3 2025-03-14T05:25:04.6177588Z >>> output = list(torch.empty([4], dtype=torch.int64).chunk(4)) 2025-03-14T05:25:04.6178003Z >>> dist.all_to_all(output, input) 2025-03-14T05:25:04.6178324Z >>> output 2025-03-14T05:25:04.6178641Z [tensor([0]), tensor([4]), tensor([8]), tensor([12])] # Rank 0 2025-03-14T05:25:04.6179116Z [tensor([1]), tensor([5]), tensor([9]), tensor([13])] # Rank 1 2025-03-14T05:25:04.6179575Z [tensor([2]), tensor([6]), tensor([10]), tensor([14])] # Rank 2 2025-03-14T05:25:04.6180037Z [tensor([3]), tensor([7]), tensor([11]), tensor([15])] # Rank 3 2025-03-14T05:25:04.6180337Z 2025-03-14T05:25:04.6180511Z >>> # Essentially, it is similar to following operation: 2025-03-14T05:25:04.6180906Z >>> scatter_list = input 2025-03-14T05:25:04.6181207Z >>> gather_list = output 2025-03-14T05:25:04.6181514Z >>> for i in range(world_size): 2025-03-14T05:25:04.6181959Z >>> dist.scatter(gather_list[i], scatter_list if i == rank else [], src=i) 2025-03-14T05:25:04.6182695Z 2025-03-14T05:25:04.6182857Z >>> input 2025-03-14T05:25:04.6183366Z tensor([0, 1, 2, 3, 4, 5]) # Rank 0 2025-03-14T05:25:04.6184127Z tensor([10, 11, 12, 13, 14, 15, 16, 17, 18]) # Rank 1 2025-03-14T05:25:04.6184917Z tensor([20, 21, 22, 23, 24]) # Rank 2 2025-03-14T05:25:04.6185702Z tensor([30, 31, 32, 33, 34, 35, 36]) # Rank 3 2025-03-14T05:25:04.6186350Z >>> input_splits 2025-03-14T05:25:04.6186834Z [2, 2, 1, 1] # Rank 0 2025-03-14T05:25:04.6187459Z [3, 2, 2, 2] # Rank 1 2025-03-14T05:25:04.6188112Z [2, 1, 1, 1] # Rank 2 2025-03-14T05:25:04.6188750Z [2, 2, 2, 1] # Rank 3 2025-03-14T05:25:04.6189331Z >>> output_splits 2025-03-14T05:25:04.6189811Z [2, 3, 2, 2] # Rank 0 2025-03-14T05:25:04.6190451Z [2, 2, 1, 2] # Rank 1 2025-03-14T05:25:04.6191085Z [1, 2, 1, 2] # Rank 2 2025-03-14T05:25:04.6191779Z [1, 2, 1, 1] # Rank 3 2025-03-14T05:25:04.6192493Z >>> input = list(input.split(input_splits)) 2025-03-14T05:25:04.6193130Z >>> input 2025-03-14T05:25:04.6193749Z [tensor([0, 1]), tensor([2, 3]), tensor([4]), tensor([5])] # Rank 0 2025-03-14T05:25:04.6194745Z [tensor([10, 11, 12]), tensor([13, 14]), tensor([15, 16]), tensor([17, 18])] # Rank 1 2025-03-14T05:25:04.6195763Z [tensor([20, 21]), tensor([22]), tensor([23]), tensor([24])] # Rank 2 2025-03-14T05:25:04.6196751Z [tensor([30, 31]), tensor([32, 33]), tensor([34, 35]), tensor([36])] # Rank 3 2025-03-14T05:25:04.6197570Z >>> output = ... 2025-03-14T05:25:04.6198253Z >>> dist.all_to_all(output, input) 2025-03-14T05:25:04.6198825Z >>> output 2025-03-14T05:25:04.6199469Z [tensor([0, 1]), tensor([10, 11, 12]), tensor([20, 21]), tensor([30, 31])] # Rank 0 2025-03-14T05:25:04.6200444Z [tensor([2, 3]), tensor([13, 14]), tensor([22]), tensor([32, 33])] # Rank 1 2025-03-14T05:25:04.6201645Z [tensor([4]), tensor([15, 16]), tensor([23]), tensor([34, 35])] # Rank 2 2025-03-14T05:25:04.6202641Z [tensor([5]), tensor([17, 18]), tensor([24]), tensor([36])] # Rank 3 2025-03-14T05:25:04.6203188Z 2025-03-14T05:25:04.6203466Z >>> # Another example with tensors of torch.cfloat type. 2025-03-14T05:25:04.6204070Z >>> input = torch.tensor( 2025-03-14T05:25:04.6204579Z ... [1 + 1j, 2 + 2j, 3 + 3j, 4 + 4j], dtype=torch.cfloat 2025-03-14T05:25:04.6205280Z ... ) + 4 * rank * (1 + 1j) 2025-03-14T05:25:04.6205805Z >>> input = list(input.chunk(4)) 2025-03-14T05:25:04.6206345Z >>> input 2025-03-14T05:25:04.6206915Z [tensor([1+1j]), tensor([2+2j]), tensor([3+3j]), tensor([4+4j])] # Rank 0 2025-03-14T05:25:04.6207487Z [tensor([5+5j]), tensor([6+6j]), tensor([7+7j]), tensor([8+8j])] # Rank 1 2025-03-14T05:25:04.6208053Z [tensor([9+9j]), tensor([10+10j]), tensor([11+11j]), tensor([12+12j])] # Rank 2 2025-03-14T05:25:04.6208634Z [tensor([13+13j]), tensor([14+14j]), tensor([15+15j]), tensor([16+16j])] # Rank 3 2025-03-14T05:25:04.6209177Z >>> output = list(torch.empty([4], dtype=torch.int64).chunk(4)) 2025-03-14T05:25:04.6209595Z >>> dist.all_to_all(output, input) 2025-03-14T05:25:04.6209916Z >>> output 2025-03-14T05:25:04.6210281Z [tensor([1+1j]), tensor([5+5j]), tensor([9+9j]), tensor([13+13j])] # Rank 0 2025-03-14T05:25:04.6210846Z [tensor([2+2j]), tensor([6+6j]), tensor([10+10j]), tensor([14+14j])] # Rank 1 2025-03-14T05:25:04.6211408Z [tensor([3+3j]), tensor([7+7j]), tensor([11+11j]), tensor([15+15j])] # Rank 2 2025-03-14T05:25:04.6211971Z [tensor([4+4j]), tensor([8+8j]), tensor([12+12j]), tensor([16+16j])] # Rank 3 2025-03-14T05:25:04.6212320Z 2025-03-14T05:25:04.6212325Z 2025-03-14T05:25:04.6212744Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:04.6213406Z 2025-03-14T05:25:04.6214373Z msg = Cannot scrape callname=__doc__ in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/launch.py line=2. 2025-03-14T05:25:04.6215933Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:04.6216328Z 2025-03-14T05:25:04.6216472Z Module ``torch.distributed.launch``. 2025-03-14T05:25:04.6216696Z 2025-03-14T05:25:04.6216970Z ``torch.distributed.launch`` is a module that spawns up multiple distributed 2025-03-14T05:25:04.6217522Z training processes on each of the training nodes. 2025-03-14T05:25:04.6217788Z 2025-03-14T05:25:04.6217905Z .. warning:: 2025-03-14T05:25:04.6218039Z 2025-03-14T05:25:04.6218316Z This module is going to be deprecated in favor of :ref:`torchrun `. 2025-03-14T05:25:04.6218692Z 2025-03-14T05:25:04.6218952Z The utility can be used for single-node distributed training, in which one or 2025-03-14T05:25:04.6219559Z more processes per node will be spawned. The utility can be used for either 2025-03-14T05:25:04.6220157Z CPU training or GPU training. If the utility is used for GPU training, 2025-03-14T05:25:04.6220940Z each distributed process will be operating on a single GPU. This can achieve 2025-03-14T05:25:04.6222030Z well-improved single-node training performance. It can also be used in 2025-03-14T05:25:04.6223197Z multi-node distributed training, by spawning up multiple processes on each node 2025-03-14T05:25:04.6224357Z for well-improved multi-node distributed training performance as well. 2025-03-14T05:25:04.6225442Z This will especially be beneficial for systems with multiple Infiniband 2025-03-14T05:25:04.6226586Z interfaces that have direct-GPU support, since all of them can be utilized for 2025-03-14T05:25:04.6227526Z aggregated communication bandwidth. 2025-03-14T05:25:04.6227929Z 2025-03-14T05:25:04.6228379Z In both cases of single-node distributed training or multi-node distributed 2025-03-14T05:25:04.6229469Z training, this utility will launch the given number of processes per node 2025-03-14T05:25:04.6230641Z (``--nproc-per-node``). If used for GPU training, this number needs to be less 2025-03-14T05:25:04.6231668Z or equal to the number of GPUs on the current system (``nproc_per_node``), 2025-03-14T05:25:04.6232686Z and each process will be operating on a single GPU from *GPU 0 to 2025-03-14T05:25:04.6233486Z GPU (nproc_per_node - 1)*. 2025-03-14T05:25:04.6233832Z 2025-03-14T05:25:04.6234019Z **How to use this module:** 2025-03-14T05:25:04.6234374Z 2025-03-14T05:25:04.6234764Z 1. Single-Node multi-process distributed training 2025-03-14T05:25:04.6235276Z 2025-03-14T05:25:04.6235436Z :: 2025-03-14T05:25:04.6235652Z 2025-03-14T05:25:04.6236092Z python -m torch.distributed.launch --nproc-per-node=NUM_GPUS_YOU_HAVE 2025-03-14T05:25:04.6237120Z YOUR_TRAINING_SCRIPT.py (--arg1 --arg2 --arg3 and all other 2025-03-14T05:25:04.6237904Z arguments of your training script) 2025-03-14T05:25:04.6238340Z 2025-03-14T05:25:04.6238661Z 2. Multi-Node multi-process distributed training: (e.g. two nodes) 2025-03-14T05:25:04.6239007Z 2025-03-14T05:25:04.6239011Z 2025-03-14T05:25:04.6239162Z Node 1: *(IP: 192.168.1.1, and has a free port: 1234)* 2025-03-14T05:25:04.6239432Z 2025-03-14T05:25:04.6239528Z :: 2025-03-14T05:25:04.6239655Z 2025-03-14T05:25:04.6239902Z python -m torch.distributed.launch --nproc-per-node=NUM_GPUS_YOU_HAVE 2025-03-14T05:25:04.6240432Z --nnodes=2 --node-rank=0 --master-addr="192.168.1.1" 2025-03-14T05:25:04.6240943Z --master-port=1234 YOUR_TRAINING_SCRIPT.py (--arg1 --arg2 --arg3 2025-03-14T05:25:04.6241438Z and all other arguments of your training script) 2025-03-14T05:25:04.6241720Z 2025-03-14T05:25:04.6241815Z Node 2: 2025-03-14T05:25:04.6241947Z 2025-03-14T05:25:04.6242036Z :: 2025-03-14T05:25:04.6242161Z 2025-03-14T05:25:04.6242405Z python -m torch.distributed.launch --nproc-per-node=NUM_GPUS_YOU_HAVE 2025-03-14T05:25:04.6242937Z --nnodes=2 --node-rank=1 --master-addr="192.168.1.1" 2025-03-14T05:25:04.6243432Z --master-port=1234 YOUR_TRAINING_SCRIPT.py (--arg1 --arg2 --arg3 2025-03-14T05:25:04.6244143Z and all other arguments of your training script) 2025-03-14T05:25:04.6244630Z 2025-03-14T05:25:04.6244912Z 3. To look up what optional arguments this module offers: 2025-03-14T05:25:04.6245401Z 2025-03-14T05:25:04.6245574Z :: 2025-03-14T05:25:04.6245773Z 2025-03-14T05:25:04.6246039Z python -m torch.distributed.launch --help 2025-03-14T05:25:04.6246489Z 2025-03-14T05:25:04.6246506Z 2025-03-14T05:25:04.6246706Z **Important Notices:** 2025-03-14T05:25:04.6247001Z 2025-03-14T05:25:04.6247347Z 1. This utility and multi-process distributed (single-node or 2025-03-14T05:25:04.6248391Z multi-node) GPU training currently only achieves the best performance using 2025-03-14T05:25:04.6249555Z the NCCL distributed backend. Thus NCCL backend is the recommended backend to 2025-03-14T05:25:04.6250461Z use for GPU training. 2025-03-14T05:25:04.6250751Z 2025-03-14T05:25:04.6251164Z 2. In your training program, you must parse the command-line argument: 2025-03-14T05:25:04.6252216Z ``--local-rank=LOCAL_PROCESS_RANK``, which will be provided by this module. 2025-03-14T05:25:04.6253283Z If your training program uses GPUs, you should ensure that your code only 2025-03-14T05:25:04.6254301Z runs on the GPU device of LOCAL_PROCESS_RANK. This can be done by: 2025-03-14T05:25:04.6254897Z 2025-03-14T05:25:04.6255114Z Parsing the local_rank argument 2025-03-14T05:25:04.6255478Z 2025-03-14T05:25:04.6255762Z :: 2025-03-14T05:25:04.6255967Z 2025-03-14T05:25:04.6256161Z >>> # xdoctest: +SKIP 2025-03-14T05:25:04.6256643Z >>> import argparse 2025-03-14T05:25:04.6257185Z >>> parser = argparse.ArgumentParser() 2025-03-14T05:25:04.6257970Z >>> parser.add_argument("--local-rank", "--local_rank", type=int) 2025-03-14T05:25:04.6258757Z >>> args = parser.parse_args() 2025-03-14T05:25:04.6259300Z 2025-03-14T05:25:04.6259532Z Set your device to local rank using either 2025-03-14T05:25:04.6259990Z 2025-03-14T05:25:04.6260154Z :: 2025-03-14T05:25:04.6260362Z 2025-03-14T05:25:04.6260735Z >>> torch.cuda.set_device(args.local_rank) # before your code runs 2025-03-14T05:25:04.6261352Z 2025-03-14T05:25:04.6261509Z or 2025-03-14T05:25:04.6261724Z 2025-03-14T05:25:04.6261880Z :: 2025-03-14T05:25:04.6262094Z 2025-03-14T05:25:04.6262329Z >>> with torch.cuda.device(args.local_rank): 2025-03-14T05:25:04.6262969Z >>> # your code to run 2025-03-14T05:25:04.6263473Z >>> ... 2025-03-14T05:25:04.6263838Z 2025-03-14T05:25:04.6264073Z .. versionchanged:: 2.0.0 2025-03-14T05:25:04.6264393Z 2025-03-14T05:25:04.6264848Z The launcher will passes the ``--local-rank=`` argument to your script. 2025-03-14T05:25:04.6265974Z From PyTorch 2.0.0 onwards, the dashed ``--local-rank`` is preferred over the 2025-03-14T05:25:04.6266883Z previously used underscored ``--local_rank``. 2025-03-14T05:25:04.6267378Z 2025-03-14T05:25:04.6267849Z For backward compatibility, it may be necessary for users to handle both 2025-03-14T05:25:04.6268989Z cases in their argument parsing code. This means including both ``"--local-rank"`` 2025-03-14T05:25:04.6270149Z and ``"--local_rank"`` in the argument parser. If only ``"--local_rank"`` is 2025-03-14T05:25:04.6271271Z provided, the launcher will trigger an error: "error: unrecognized arguments: 2025-03-14T05:25:04.6272425Z --local-rank=". For training code that only supports PyTorch 2.0.0+, 2025-03-14T05:25:04.6273375Z including ``"--local-rank"`` should be sufficient. 2025-03-14T05:25:04.6273875Z 2025-03-14T05:25:04.6274331Z 3. In your training program, you are supposed to call the following function 2025-03-14T05:25:04.6275481Z at the beginning to start the distributed backend. It is strongly recommended 2025-03-14T05:25:04.6276548Z that ``init_method=env://``. Other init methods (e.g. ``tcp://``) may work, 2025-03-14T05:25:04.6277512Z but ``env://`` is the one that is officially supported by this module. 2025-03-14T05:25:04.6277939Z 2025-03-14T05:25:04.6278052Z :: 2025-03-14T05:25:04.6278169Z 2025-03-14T05:25:04.6278399Z >>> torch.distributed.init_process_group(backend='YOUR BACKEND', 2025-03-14T05:25:04.6278886Z >>> init_method='env://') 2025-03-14T05:25:04.6279133Z 2025-03-14T05:25:04.6279397Z 4. In your training program, you can either use regular distributed functions 2025-03-14T05:25:04.6280016Z or use :func:`torch.nn.parallel.DistributedDataParallel` module. If your 2025-03-14T05:25:04.6280599Z training program uses GPUs for training and you would like to use 2025-03-14T05:25:04.6281135Z :func:`torch.nn.parallel.DistributedDataParallel` module, 2025-03-14T05:25:04.6281548Z here is how to configure it. 2025-03-14T05:25:04.6281753Z 2025-03-14T05:25:04.6281846Z :: 2025-03-14T05:25:04.6281978Z 2025-03-14T05:25:04.6282178Z >>> model = torch.nn.parallel.DistributedDataParallel(model, 2025-03-14T05:25:04.6282648Z >>> device_ids=[args.local_rank], 2025-03-14T05:25:04.6283062Z >>> output_device=args.local_rank) 2025-03-14T05:25:04.6283337Z 2025-03-14T05:25:04.6283589Z Please ensure that ``device_ids`` argument is set to be the only GPU device id 2025-03-14T05:25:04.6284199Z that your code will be operating on. This is generally the local rank of the 2025-03-14T05:25:04.6284796Z process. In other words, the ``device_ids`` needs to be ``[args.local_rank]``, 2025-03-14T05:25:04.6285674Z and ``output_device`` needs to be ``args.local_rank`` in order to use this 2025-03-14T05:25:04.6286466Z utility 2025-03-14T05:25:04.6286682Z 2025-03-14T05:25:04.6287130Z 5. Another way to pass ``local_rank`` to the subprocesses via environment variable 2025-03-14T05:25:04.6288236Z ``LOCAL_RANK``. This behavior is enabled when you launch the script with 2025-03-14T05:25:04.6289202Z ``--use-env=True``. You must adjust the subprocess example above to replace 2025-03-14T05:25:04.6290349Z ``args.local_rank`` with ``os.environ['LOCAL_RANK']``; the launcher 2025-03-14T05:25:04.6291261Z will not pass ``--local-rank`` when you specify this flag. 2025-03-14T05:25:04.6291821Z 2025-03-14T05:25:04.6291999Z .. warning:: 2025-03-14T05:25:04.6292242Z 2025-03-14T05:25:04.6292625Z ``local_rank`` is NOT globally unique: it is only unique per process 2025-03-14T05:25:04.6293592Z on a machine. Thus, don't use it to decide if you should, e.g., 2025-03-14T05:25:04.6294487Z write to a networked filesystem. See 2025-03-14T05:25:04.6295323Z https://github.com/pytorch/pytorch/issues/12042 for an example of 2025-03-14T05:25:04.6296346Z how things can go wrong if you don't do this correctly. 2025-03-14T05:25:04.6296872Z 2025-03-14T05:25:04.6296880Z 2025-03-14T05:25:04.6296888Z 2025-03-14T05:25:04.6296909Z 2025-03-14T05:25:04.6297400Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:04.6298323Z 2025-03-14T05:25:04.6878304Z msg = Cannot scrape callname=init_from_local_shards in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/_shard/sharded_tensor/__init__.py line=361. 2025-03-14T05:25:04.6880361Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:04.6881121Z 2025-03-14T05:25:04.6881582Z Creates an :class:`ShardedTensor` from local shards and the global metadata. 2025-03-14T05:25:04.6882550Z Needs to be called on all ranks in an SPMD fashion. 2025-03-14T05:25:04.6883056Z 2025-03-14T05:25:04.6883234Z Args: 2025-03-14T05:25:04.6883953Z local_shards (List[:class `torch.distributed._shard.sharded_tensor.Shard`]): A list 2025-03-14T05:25:04.6884989Z of shards that represent the local shards on this rank. 2025-03-14T05:25:04.6885958Z global_size (int...): a list, tuple, or `torch.Size` of integers defining the 2025-03-14T05:25:04.6886838Z shape of the overall sharded tensor. 2025-03-14T05:25:04.6887299Z 2025-03-14T05:25:04.6887470Z Keyword args: 2025-03-14T05:25:04.6888229Z process_group (ProcessGroup, optional): The process group to work on. If None, 2025-03-14T05:25:04.6889176Z the default process group will be used. 2025-03-14T05:25:04.6889913Z init_rrefs (bool, optional): Whether or not to initialize 2025-03-14T05:25:04.6890822Z :class:`torch.distributed.rpc.RRef`s pointing to remote shards. 2025-03-14T05:25:04.6891458Z Need to initialize the RPC Framework if specified as ``True``. 2025-03-14T05:25:04.6891900Z Default: ``False``. 2025-03-14T05:25:04.6892082Z 2025-03-14T05:25:04.6892187Z Returns: 2025-03-14T05:25:04.6892479Z A :class:`ShardedTensor` object handle on this rank 2025-03-14T05:25:04.6892749Z 2025-03-14T05:25:04.6892754Z 2025-03-14T05:25:04.6892864Z Examples: 2025-03-14T05:25:04.6893259Z Suppose we want construct a sharded tensor on two ranks, global size = (10, 5), 2025-03-14T05:25:04.6893829Z each shard have a (5, 5) local tensor, we can do it like below: 2025-03-14T05:25:04.6894134Z 2025-03-14T05:25:04.6894239Z on rank 0: 2025-03-14T05:25:04.6894514Z >>> # xdoctest: +SKIP("not distributed") 2025-03-14T05:25:04.6894869Z >>> local_shard_metadata = ShardMetadata( 2025-03-14T05:25:04.6895220Z >>> shard_offsets=[0, 0], 2025-03-14T05:25:04.6895530Z >>> shard_lengths=[5, 5], 2025-03-14T05:25:04.6895946Z >>> placement="rank:0/cuda:0" 2025-03-14T05:25:04.6896258Z >>> ) 2025-03-14T05:25:04.6896591Z >>> local_shards = [Shard(torch.randn(5, 5), local_shard_metadata)] 2025-03-14T05:25:04.6897112Z >>> sharded_tensor = init_from_local_shards(local_shards, [10, 5]) 2025-03-14T05:25:04.6897437Z 2025-03-14T05:25:04.6897528Z on rank 1: 2025-03-14T05:25:04.6898091Z >>> # xdoctest: +SKIP("not distributed") 2025-03-14T05:25:04.6898671Z >>> local_shard_metadata = ShardMetadata( 2025-03-14T05:25:04.6899244Z >>> shard_offsets=[5, 0], 2025-03-14T05:25:04.6900012Z >>> shard_lengths=[5, 5], 2025-03-14T05:25:04.6900528Z >>> placement="rank:1/cuda:1" 2025-03-14T05:25:04.6900842Z >>> ) 2025-03-14T05:25:04.6901173Z >>> local_shards = [Shard(torch.randn(5, 5), local_shard_metadata)] 2025-03-14T05:25:04.6901699Z >>> sharded_tensor = init_from_local_shards(local_shards, [10, 5]) 2025-03-14T05:25:04.6902012Z 2025-03-14T05:25:04.6902289Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:04.6902663Z 2025-03-14T05:25:04.7011174Z msg = Cannot scrape callname=ShardedTensor._init_from_local_tensor in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/_shard/sharded_tensor/api.py line=799. 2025-03-14T05:25:04.7013413Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:04.7014152Z 2025-03-14T05:25:04.7014681Z Initialize a ShardedTensor given only one local tensor, global sharded tensor 2025-03-14T05:25:04.7015692Z size and sharding spec on each rank. 2025-03-14T05:25:04.7016114Z 2025-03-14T05:25:04.7016272Z Args: 2025-03-14T05:25:04.7016923Z local_tensor (Tensor): Single tensor of local shard stored in each rank. 2025-03-14T05:25:04.7018053Z sharding_spec (:class:`torch.distributed._shard.sharding_spec.ShardingSpec`): 2025-03-14T05:25:04.7019070Z The specification describing how to shard the Tensor. 2025-03-14T05:25:04.7031385Z global_size (Sequence[int]): Size of the sharded tensor. 2025-03-14T05:25:04.7032131Z process_group (ProcessGroup, optional): The process group to aggregate on. 2025-03-14T05:25:04.7032637Z Default: None 2025-03-14T05:25:04.7032987Z init_rrefs (bool, optional): Whether or not to initialize 2025-03-14T05:25:04.7033504Z :class:`torch.distributed.rpc.RRef`s pointing to remote shards. 2025-03-14T05:25:04.7034476Z Need to initialize the RPC Framework if specified as ``True``. 2025-03-14T05:25:04.7035233Z Default: ``False``. 2025-03-14T05:25:04.7035561Z 2025-03-14T05:25:04.7035738Z Returns: 2025-03-14T05:25:04.7036401Z A :class:`ShardedTensor` sharded based on the given sharding_spec with local 2025-03-14T05:25:04.7037300Z tensor stored in the current rank. 2025-03-14T05:25:04.7037705Z 2025-03-14T05:25:04.7037849Z Examples: 2025-03-14T05:25:04.7038243Z >>> # xdoctest: +SKIP 2025-03-14T05:25:04.7038794Z >>> # All tensors below are of torch.int64 type. 2025-03-14T05:25:04.7039393Z >>> # We have 2 process groups, 2 ranks. 2025-03-14T05:25:04.7039821Z >>> tensor = torch.arange(2, dtype=torch.int64) + 1 + 2 * rank 2025-03-14T05:25:04.7040347Z >>> local_tensor = torch.unsqueeze(torch.cat([tensor, tensor + 2])) 2025-03-14T05:25:04.7040778Z >>> local_tensor 2025-03-14T05:25:04.7041046Z tensor([[1, 2, 3, 4]]) # Rank 0 2025-03-14T05:25:04.7041351Z tensor([[3, 4, 5, 6]]) # Rank 1 2025-03-14T05:25:04.7041650Z >>> sharding_dim = 0 2025-03-14T05:25:04.7041957Z >>> sharding_spec = ChunkShardingSpec( 2025-03-14T05:25:04.7042310Z dim=sharding_dim, 2025-03-14T05:25:04.7042606Z placements=[ 2025-03-14T05:25:04.7042888Z "rank:0/cuda:0", 2025-03-14T05:25:04.7043187Z "rank:1/cuda:1", 2025-03-14T05:25:04.7043471Z ], 2025-03-14T05:25:04.7043689Z ) 2025-03-14T05:25:04.7043961Z >>> st = ShardedTensor._init_from_local_tensor( 2025-03-14T05:25:04.7044346Z ... local_tensor, sharding_spec, [2, 4] 2025-03-14T05:25:04.7044678Z ... ) 2025-03-14T05:25:04.7044894Z >>> st 2025-03-14T05:25:04.7045126Z ShardedTensor( 2025-03-14T05:25:04.7045624Z ShardedTensorMetadata( 2025-03-14T05:25:04.7046130Z shards_metadata=[ 2025-03-14T05:25:04.7046959Z ShardMetadata(shard_offsets=[0, 0], shard_sizes=[1, 4], placement=rank:0/cuda:0), 2025-03-14T05:25:04.7048136Z ShardMetadata(shard_offsets=[1, 0], shard_sizes=[1, 4], placement=rank:1/cuda:1), 2025-03-14T05:25:04.7048793Z ], 2025-03-14T05:25:04.7049206Z size=torch.Size([2, 4]) 2025-03-14T05:25:04.7049515Z ) 2025-03-14T05:25:04.7049749Z >>> st.local_tensor() 2025-03-14T05:25:04.7050038Z tensor([1, 2, 3, 4]) # Rank 0 2025-03-14T05:25:04.7050337Z tensor([3, 4, 5, 6]) # Rank 1 2025-03-14T05:25:04.7050530Z 2025-03-14T05:25:04.7050822Z Warning: This API is experimental and subject to change. It lacks of a fully across 2025-03-14T05:25:04.7051471Z rank validations, and we only validate the local shard on the current rank. 2025-03-14T05:25:04.7052120Z We fully rely on the user to ensure local tensor is sharded based on the 2025-03-14T05:25:04.7052551Z sharding spec. 2025-03-14T05:25:04.7052731Z 2025-03-14T05:25:04.7052991Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:04.7053600Z 2025-03-14T05:25:04.7054897Z msg = Cannot scrape callname=ShardedTensor.reshard in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/_shard/sharded_tensor/api.py line=1040. 2025-03-14T05:25:04.7057015Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:04.7057744Z 2025-03-14T05:25:04.7058255Z Reshard a sharded tensor given the ``resharding_spec``. For now, we only support 2025-03-14T05:25:04.7059150Z single local shard. 2025-03-14T05:25:04.7059421Z 2025-03-14T05:25:04.7059827Z If ``resharding_spec`` is same as the original one, this becomes a no-op. 2025-03-14T05:25:04.7060939Z If only ``resharding_spec`` shares the same sharding dim with the original one, 2025-03-14T05:25:04.7061824Z we swap local shards directly. 2025-03-14T05:25:04.7062649Z For more generic cases, we merge different shards across different ranks and split 2025-03-14T05:25:04.7063871Z the local shards based on the ``resharding_spec`` via `all_to_all` collective API. 2025-03-14T05:25:04.7064537Z 2025-03-14T05:25:04.7064697Z Args: 2025-03-14T05:25:04.7065457Z resharding_spec (:class:`torch.distributed._shard.sharding_spec.ShardingSpec`): The 2025-03-14T05:25:04.7066508Z specification describing how the tensor is sharded. 2025-03-14T05:25:04.7066990Z 2025-03-14T05:25:04.7067089Z Returns: 2025-03-14T05:25:04.7067442Z A :class:`ShardedTensor` object whose local shards are resharded. 2025-03-14T05:25:04.7067779Z 2025-03-14T05:25:04.7067875Z Examples: 2025-03-14T05:25:04.7068118Z >>> # xdoctest: +SKIP 2025-03-14T05:25:04.7068423Z >>> # We have 2 process groups, 2 ranks. 2025-03-14T05:25:04.7068844Z >>> tensor = torch.arange(4, dtype=torch.int64) + 1 + 2 * rank 2025-03-14T05:25:04.7069280Z >>> tensor = torch.stack([tensor, tensor]) 2025-03-14T05:25:04.7069617Z >>> tensor 2025-03-14T05:25:04.7069885Z tensor([[1, 2, 3, 4], [1, 2, 3, 4]]) # Rank 0 2025-03-14T05:25:04.7070245Z tensor([[3, 4, 5, 6], [3, 4, 5, 6]]) # Rank 1 2025-03-14T05:25:04.7070603Z tensor([[5, 6, 7, 8], [5, 6, 7, 8]]) # Rank 2 2025-03-14T05:25:04.7070966Z tensor([[7, 8, 9, 10], [7, 8, 9, 10]]) # Rank 3 2025-03-14T05:25:04.7071310Z >>> sharding_dim = 0 2025-03-14T05:25:04.7071611Z >>> spec = ChunkShardingSpec( 2025-03-14T05:25:04.7071927Z dim=sharding_dim, 2025-03-14T05:25:04.7072218Z placements=[ 2025-03-14T05:25:04.7072798Z "rank:0/cuda:0", 2025-03-14T05:25:04.7073276Z "rank:1/cuda:1", 2025-03-14T05:25:04.7073763Z "rank:2/cuda:2", 2025-03-14T05:25:04.7074270Z "rank:3/cuda:3", 2025-03-14T05:25:04.7074762Z ], 2025-03-14T05:25:04.7075172Z ) 2025-03-14T05:25:04.7075581Z >>> current_offsets = [0] * 2 2025-03-14T05:25:04.7076153Z >>> current_offsets[0] = rank * 2 2025-03-14T05:25:04.7076764Z >>> shard_metadata = ShardMetadata( 2025-03-14T05:25:04.7077454Z shard_offsets=copy.deepcopy(current_offsets), 2025-03-14T05:25:04.7078141Z shard_sizes=tensor.size(), 2025-03-14T05:25:04.7078774Z placement=spec.placements[rank], 2025-03-14T05:25:04.7079368Z ) 2025-03-14T05:25:04.7079922Z >>> local_shards = [ 2025-03-14T05:25:04.7080401Z Shard( 2025-03-14T05:25:04.7080843Z tensor=tensor, 2025-03-14T05:25:04.7081394Z metadata=shard_metadata, 2025-03-14T05:25:04.7081956Z ) 2025-03-14T05:25:04.7082331Z ] 2025-03-14T05:25:04.7082985Z >>> st = ShardedTensor._init_from_local_shards(local_shards, tensor.size()) 2025-03-14T05:25:04.7083844Z >>> sharding_dim = 1 2025-03-14T05:25:04.7084393Z >>> resharding_spec = ChunkShardingSpec( 2025-03-14T05:25:04.7085024Z dim=sharding_dim, 2025-03-14T05:25:04.7085676Z placements=[ 2025-03-14T05:25:04.7086190Z "rank:0/cuda:0", 2025-03-14T05:25:04.7086728Z "rank:1/cuda:1", 2025-03-14T05:25:04.7087223Z "rank:2/cuda:2", 2025-03-14T05:25:04.7087710Z "rank:3/cuda:3", 2025-03-14T05:25:04.7088189Z ], 2025-03-14T05:25:04.7088599Z ) 2025-03-14T05:25:04.7089022Z >>> st.reshard(resharding_spec) 2025-03-14T05:25:04.7089636Z >>> tensor = st.local_shards()[0].tensor 2025-03-14T05:25:04.7090185Z >>> tensor 2025-03-14T05:25:04.7090673Z tensor([[1], [1], [3], [3], [5], [5], [7], [7]]) # Rank 0 2025-03-14T05:25:04.7091411Z tensor([[2], [2], [4], [4], [6], [6], [8], [8]]) # Rank 1 2025-03-14T05:25:04.7092132Z tensor([[3], [3], [5], [5], [7], [7], [9], [9]]) # Rank 2 2025-03-14T05:25:04.7092869Z tensor([[4], [4], [6], [6], [8], [8], [10], [10]]) # Rank 3 2025-03-14T05:25:04.7093366Z 2025-03-14T05:25:04.7093862Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:04.7094590Z 2025-03-14T05:25:04.7243586Z msg = Cannot scrape callname=ShardingPlan in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/_shard/sharding_plan/api.py line=12. 2025-03-14T05:25:04.7245463Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:04.7245856Z 2025-03-14T05:25:04.7246096Z Representation of a sharding plan, describes how to shard a module 2025-03-14T05:25:04.7246727Z across hosts. `plan` is used to shard module parameters according to the spec provided, 2025-03-14T05:25:04.7247405Z `output_plan` and `return_local_tensor` are optional, they are used to specify the output 2025-03-14T05:25:04.7248075Z layout of a module with a spec, and when to convert back to data parallel fashion. 2025-03-14T05:25:04.7248456Z 2025-03-14T05:25:04.7248545Z Args: 2025-03-14T05:25:04.7248948Z plan (Dict[str, Union[:class:`torch.distributed._shard.sharding_spec.ShardingSpec`, 2025-03-14T05:25:04.7249523Z :class:`torch.distributed._shard.sharder.Sharder`]): 2025-03-14T05:25:04.7250084Z a dict describes how to shard a module, there're currently two ways to shard a module: 2025-03-14T05:25:04.7250738Z 1. directly shard a module parameter by a `ShardingSpec`, keyed by the name of 2025-03-14T05:25:04.7251588Z a parameter to a `ShardingSpec`. 2025-03-14T05:25:04.7252466Z 2. shard a submodule by applying a `Sharder` on it, keyed by the name of a module 2025-03-14T05:25:04.7253374Z to a `Sharder` object. 2025-03-14T05:25:04.7254381Z output_plan (Dict[str, :class:`torch.distributed._shard.sharding_spec.ShardingSpec`), optional): 2025-03-14T05:25:04.7255807Z a dict specifies the layout of a module's output which produces a ShardedTensor, 2025-03-14T05:25:04.7256973Z keyed by the name of module to ShardingSpec("" in key means the root module). 2025-03-14T05:25:04.7257831Z Default: `None` 2025-03-14T05:25:04.7258622Z return_local_tensor (List[str], optional): a list of string, each element enables 2025-03-14T05:25:04.7259798Z a module's sharded output to be returned as a Tensor from its local shards to 2025-03-14T05:25:04.7260968Z ensure further processing in a data parallel fashion. ("" in list means the 2025-03-14T05:25:04.7261866Z root module). 2025-03-14T05:25:04.7262336Z Default: None 2025-03-14T05:25:04.7263009Z Example: 2025-03-14T05:25:04.7263782Z Suppose we want to shard a module with two linear layers and then run it with DDP, we also 2025-03-14T05:25:04.7265007Z want to convert the output of the second linear layer back to DDP, we can do it as follows: 2025-03-14T05:25:04.7265786Z 2025-03-14T05:25:04.7266122Z >>> # xdoctest: +REQUIRES(module:torch._C._distributed_c10d) 2025-03-14T05:25:04.7266862Z >>> class MyModule(nn.Module): 2025-03-14T05:25:04.7267425Z >>> def __init__(self) -> None: 2025-03-14T05:25:04.7267999Z >>> super().__init__() 2025-03-14T05:25:04.7268735Z >>> self.fc1 = nn.Linear() 2025-03-14T05:25:04.7269310Z >>> self.gelu = nn.GELU() 2025-03-14T05:25:04.7269885Z >>> self.fc2 = nn.Linear() 2025-03-14T05:25:04.7270470Z >>> self.relu = nn.Linear() 2025-03-14T05:25:04.7271027Z >>> 2025-03-14T05:25:04.7271447Z >>> def forward(self, input): 2025-03-14T05:25:04.7272160Z >>> return self.relu(self.fc2(self.gelu(self.fc1(input)))) 2025-03-14T05:25:04.7272740Z 2025-03-14T05:25:04.7272748Z 2025-03-14T05:25:04.7272991Z >>> # xdoctest: +SKIP("Undefined spec1, spec2) 2025-03-14T05:25:04.7273671Z >>> sharding_plan = ShardingPlan( 2025-03-14T05:25:04.7274254Z >>> plan={ 2025-03-14T05:25:04.7274713Z >>> "fc1.weight": spec1, 2025-03-14T05:25:04.7275280Z >>> "fc2.weight": spec2 2025-03-14T05:25:04.7275824Z >>> }, 2025-03-14T05:25:04.7276216Z >>> output_plan={ 2025-03-14T05:25:04.7276717Z >>> "fc2": output_spec 2025-03-14T05:25:04.7277201Z >>> }, 2025-03-14T05:25:04.7277579Z >>> return_local_tensor=["fc2"] 2025-03-14T05:25:04.7277899Z >>> ) 2025-03-14T05:25:04.7278022Z 2025-03-14T05:25:04.7278286Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:04.7278675Z 2025-03-14T05:25:04.8124774Z msg = Cannot scrape callname=post_localSGD_hook in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/algorithms/ddp_comm_hooks/post_localSGD_hook.py line=72. 2025-03-14T05:25:04.8125950Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:04.8126334Z 2025-03-14T05:25:04.8126464Z Run post-localSGD algorithm. 2025-03-14T05:25:04.8126663Z 2025-03-14T05:25:04.8126929Z This DDP communication hook is used for running post-localSGD algorithm, 2025-03-14T05:25:04.8127459Z by combining with a model averaging component (e.g., 2025-03-14T05:25:04.8128084Z :class:`~torch.distributed.algorithms.model_averaging.averagers.PeriodicModelAverager`) 2025-03-14T05:25:04.8128664Z that runs after the optimizer step. 2025-03-14T05:25:04.8128882Z 2025-03-14T05:25:04.8128983Z Args: 2025-03-14T05:25:04.8129334Z state (PostLocalSGDState): State information to run post-localSGD. 2025-03-14T05:25:04.8130561Z Users mainly need to tune ``start_localSGD_iter`` to determine when to start local SGD. 2025-03-14T05:25:04.8132069Z bucket (dist.GradBucket): Bucket that stores a 1D flattened gradient tensor that batches multiple per-variable tensors. 2025-03-14T05:25:04.8133583Z Note that since DDP comm hook only supports single process single device mode, 2025-03-14T05:25:04.8134565Z only exactly one tensor is stored in this bucket. 2025-03-14T05:25:04.8135074Z 2025-03-14T05:25:04.8135240Z Returns: 2025-03-14T05:25:04.8136018Z Future handler of the communication, which updates the gradients in place. 2025-03-14T05:25:04.8136724Z 2025-03-14T05:25:04.8136904Z Example:: 2025-03-14T05:25:04.8137352Z >>> # xdoctest: +SKIP 2025-03-14T05:25:04.8138163Z >>> state = PostLocalSGDState(process_group=process_group, subgroup=subgroup, 2025-03-14T05:25:04.8139108Z start_localSGD_iter=10) 2025-03-14T05:25:04.8139867Z >>> ddp_model.register_comm_hook(state, post_localSGD_hook) 2025-03-14T05:25:04.8141029Z >>> # Also need to establish a model averaging module and run model averaging after ``optimizer.step()``. 2025-03-14T05:25:04.8142863Z >>> # Please refer to the examples in ``torch.distributed.algorithms.model_averaging.averagers`` module. 2025-03-14T05:25:04.8143777Z 2025-03-14T05:25:04.8144259Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:04.8144989Z 2025-03-14T05:25:04.8182212Z msg = Cannot scrape callname=powerSGD_hook in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/algorithms/ddp_comm_hooks/powerSGD_hook.py line=342. 2025-03-14T05:25:04.8183537Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:04.8183946Z 2025-03-14T05:25:04.8184064Z Implement PowerSGD algorithm. 2025-03-14T05:25:04.8184280Z 2025-03-14T05:25:04.8184516Z This DDP communication hook implements PowerSGD gradient compression 2025-03-14T05:25:04.8185122Z algorithm described in the `paper `_. 2025-03-14T05:25:04.8185734Z Once gradient tensors are aggregated across all workers, this hook applies 2025-03-14T05:25:04.8186231Z compression as follows: 2025-03-14T05:25:04.8186412Z 2025-03-14T05:25:04.8186856Z 1. Views the input flattened 1D gradient tensor as a list of per-parameter tensors, and divides all the tensors into two groups: 2025-03-14T05:25:04.8187500Z 2025-03-14T05:25:04.8187925Z 1.1 The tensors that should be compressed before allreduce, because the compression can give enough saving in bandwidth. 2025-03-14T05:25:04.8188471Z 2025-03-14T05:25:04.8188884Z 1.2 Rest of the tensors will be directly allreduced without compression, including all the vector tensors (for biases). 2025-03-14T05:25:04.8189421Z 2025-03-14T05:25:04.8189538Z 2. Handles uncompressed tensors: 2025-03-14T05:25:04.8189773Z 2025-03-14T05:25:04.8190291Z 2.1. Allocate contiguous memory for those uncompressed tensors, and allreduces all the uncompressed tensors as a batch, without compression; 2025-03-14T05:25:04.8190928Z 2025-03-14T05:25:04.8191275Z 2.2. Copies the individual uncompressed tensors from the contiguous memory back to the input tensor. 2025-03-14T05:25:04.8191749Z 2025-03-14T05:25:04.8191986Z 3. Handles the tensors that should be compressed by PowerSGD compression: 2025-03-14T05:25:04.8192346Z 2025-03-14T05:25:04.8192589Z 3.1. For each tensor M, creates two low-rank tensors P and Q for decomposing M, 2025-03-14T05:25:04.8193281Z such that M = PQ^T, where Q is initialized from a standard normal distribution and orthogonalized; 2025-03-14T05:25:04.8193716Z 2025-03-14T05:25:04.8193868Z 3.2. Computes each P in Ps, which is equal to MQ; 2025-03-14T05:25:04.8194144Z 2025-03-14T05:25:04.8194255Z 3.3. Allreduces Ps as a batch; 2025-03-14T05:25:04.8194471Z 2025-03-14T05:25:04.8194593Z 3.4. Orthogonalizes each P in Ps; 2025-03-14T05:25:04.8194822Z 2025-03-14T05:25:04.8195022Z 3.5. Computes each Q in Qs, which is approximately equal to M^TP; 2025-03-14T05:25:04.8195345Z 2025-03-14T05:25:04.8195455Z 3.6. Allreduces Qs as a batch; 2025-03-14T05:25:04.8195673Z 2025-03-14T05:25:04.8195975Z 3.7. Computes each M among all the compressed tensors, which is approximately equal to PQ^T. 2025-03-14T05:25:04.8196395Z 2025-03-14T05:25:04.8196803Z Note that this communication hook enforces vanilla allreduce for the first ``state.start_powerSGD_iter`` iterations. 2025-03-14T05:25:04.8197621Z This not only gives the user more control over the tradeoff between speedup and accuracy, 2025-03-14T05:25:04.8198633Z but also helps abstract away some complexity of the internal optimization of DDP for future communication hook developers. 2025-03-14T05:25:04.8199206Z 2025-03-14T05:25:04.8199293Z Args: 2025-03-14T05:25:04.8199861Z state (PowerSGDState): State information to configure the compression rate and support error feedback, warm start, etc. 2025-03-14T05:25:04.8200780Z To tune the compression configs, mainly need to tune ``matrix_approximation_rank``, ``start_powerSGD_iter`` 2025-03-14T05:25:04.8201377Z and ``min_compression_rate``. 2025-03-14T05:25:04.8202153Z bucket (dist.GradBucket): Bucket that stores a 1D flattened gradient tensor that batches multiple per-variable tensors. 2025-03-14T05:25:04.8202952Z Note that since DDP comm hook only supports single process single device mode, 2025-03-14T05:25:04.8203489Z only exactly one tensor is stored in this bucket. 2025-03-14T05:25:04.8203768Z 2025-03-14T05:25:04.8203860Z Returns: 2025-03-14T05:25:04.8204242Z Future handler of the communication, which updates the gradients in place. 2025-03-14T05:25:04.8204618Z 2025-03-14T05:25:04.8204722Z Example:: 2025-03-14T05:25:04.8205029Z >>> # xdoctest: +SKIP 2025-03-14T05:25:04.8205497Z >>> state = PowerSGDState(process_group=process_group, matrix_approximation_rank=1, 2025-03-14T05:25:04.8206063Z start_powerSGD_iter=10, min_compression_rate=0.5) 2025-03-14T05:25:04.8206518Z >>> ddp_model.register_comm_hook(state, powerSGD_hook) 2025-03-14T05:25:04.8206794Z 2025-03-14T05:25:04.8207069Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:04.8207441Z 2025-03-14T05:25:04.8231501Z msg = Cannot scrape callname=PeriodicModelAverager in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/algorithms/model_averaging/averagers.py line=38. 2025-03-14T05:25:04.8232643Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:04.8233035Z 2025-03-14T05:25:04.8233228Z Averages parameters periodically after the warm-up stage. 2025-03-14T05:25:04.8233538Z 2025-03-14T05:25:04.8233807Z This can be used for running `post-local SGD `_, 2025-03-14T05:25:04.8234386Z by running :class:`~torch.nn.DistributedDataParallel` (DDP) 2025-03-14T05:25:04.8234942Z using the subgroups created by :meth:`~torch.distributed.new_subgroups`. 2025-03-14T05:25:04.8235308Z 2025-03-14T05:25:04.8235396Z Args: 2025-03-14T05:25:04.8235694Z period (int): The number of steps per model averaging. 2025-03-14T05:25:04.8236254Z Usually the period should be greater than ``1`` to reduce the communication cost. 2025-03-14T05:25:04.8236781Z Otherwise, only DDP needs to be used. 2025-03-14T05:25:04.8237241Z warmup_steps (int): The number of warm-up steps. During this stage, 2025-03-14T05:25:04.8237701Z model averaging is skipped. 2025-03-14T05:25:04.8238131Z process_group: The process group to be used for all-reduce. 2025-03-14T05:25:04.8238588Z If ``None``, the default process group, which 2025-03-14T05:25:04.8239056Z is created by :func:`torch.distributed.init_process_group`, 2025-03-14T05:25:04.8239500Z will be used. (default: ``None``) 2025-03-14T05:25:04.8239731Z 2025-03-14T05:25:04.8239923Z Example:: 2025-03-14T05:25:04.8240051Z 2025-03-14T05:25:04.8240195Z >>> # xdoctest: +SKIP("undefined variables") 2025-03-14T05:25:04.8240538Z >>> import torch 2025-03-14T05:25:04.8240831Z >>> import torch.distributed as dist 2025-03-14T05:25:04.8241385Z >>> import torch.distributed.algorithms.ddp_comm_hooks.post_localSGD_hook as post_localSGD 2025-03-14T05:25:04.8242104Z >>> import torch.distributed.algorithms.model_averaging.averagers as averagers 2025-03-14T05:25:04.8242613Z >>> import torch.nn as nn 2025-03-14T05:25:04.8242886Z >>> 2025-03-14T05:25:04.8243190Z >>> dist.init_process_group("nccl", rank=rank, world_size=16) 2025-03-14T05:25:04.8243604Z >>> torch.cuda.set_device(rank) 2025-03-14T05:25:04.8243957Z >>> module = nn.Linear(1, 1, bias=False).cuda() 2025-03-14T05:25:04.8244361Z >>> model = nn.parallel.DistributedDataParallel( 2025-03-14T05:25:04.8244781Z >>> module, device_ids=[rank], output_device=rank 2025-03-14T05:25:04.8245130Z >>> ) 2025-03-14T05:25:04.8245413Z >>> # Register a post-localSGD communication hook. 2025-03-14T05:25:04.8245981Z >>> state = PostLocalSGDState(process_group=None, subgroup=None, start_localSGD_iter=100) 2025-03-14T05:25:04.8246682Z >>> model.register_comm_hook(state, post_localSGD_hook) 2025-03-14T05:25:04.8247060Z >>> 2025-03-14T05:25:04.8247466Z >>> # In the first 100 steps, run global gradient averaging like normal DDP at every step. 2025-03-14T05:25:04.8248026Z >>> # After 100 steps, run model averaging every 4 steps. 2025-03-14T05:25:04.8248628Z >>> # Note that ``warmup_steps`` must be the same as ``start_localSGD_iter`` used in ``PostLocalSGDState``. 2025-03-14T05:25:04.8249390Z >>> averager = averagers.PeriodicModelAverager(period=4, warmup_steps=100) 2025-03-14T05:25:04.8249876Z >>> for step in range(0, 200): 2025-03-14T05:25:04.8250208Z >>> optimizer.zero_grad() 2025-03-14T05:25:04.8250535Z >>> loss = loss_fn(output, labels) 2025-03-14T05:25:04.8250874Z >>> loss.backward() 2025-03-14T05:25:04.8251155Z >>> optimizer.step() 2025-03-14T05:25:04.8251547Z >>> # Will average model parameters globally every 4 steps. Thus, 2025-03-14T05:25:04.8252156Z >>> # inter-node communication only occurs every 4 iterations after 2025-03-14T05:25:04.8252840Z >>> # the initial ``warmup_steps`` period. 2025-03-14T05:25:04.8253403Z >>> averager.average_parameters(model.parameters()) 2025-03-14T05:25:04.8253829Z 2025-03-14T05:25:04.8254326Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:04.8255054Z 2025-03-14T05:25:04.8256152Z msg = Cannot scrape callname=HierarchicalModelAverager in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/algorithms/model_averaging/hierarchical_model_averager.py line=19. 2025-03-14T05:25:04.8257396Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:04.8257778Z 2025-03-14T05:25:04.8258142Z Runs hierarchical model averaging (`hierarchical SGD `_). 2025-03-14T05:25:04.8258596Z 2025-03-14T05:25:04.8258918Z Process groups of different sizes are organized in a hierarchy, and they average parameters 2025-03-14T05:25:04.8259570Z by using different periods concurrently after the warm-up stage. 2025-03-14T05:25:04.8260303Z This is an extension of :class:`~torch.distributed.algorithms.model_averaging.averagers.PeriodicModelAverager` 2025-03-14T05:25:04.8261181Z that supports `post-local SGD `_, which essentially only supports 2025-03-14T05:25:04.8261955Z a two-level hierarchy: the intra-machine level and the global level, where the intra-machine 2025-03-14T05:25:04.8262748Z level is usually embedded in :meth:`~torch.distributed.algorithms.ddp_comm_hooks.post_localSGD_hook`. 2025-03-14T05:25:04.8263527Z Similarly, the process groups within this class do not have such an intra-machine process 2025-03-14T05:25:04.8264230Z subgroup, which should be embedded by the post-local SGD communication hook instead. 2025-03-14T05:25:04.8264625Z 2025-03-14T05:25:04.8264724Z Args: 2025-03-14T05:25:04.8265123Z period_group_size_dict: An ordered dict mapping keys of model averaging period to 2025-03-14T05:25:04.8265778Z process group size, used for initializing process groups of 2025-03-14T05:25:04.8266343Z different sizes in a hierarchy to average parameters concurrently. 2025-03-14T05:25:04.8266921Z Particularly, at each iteration, there will be at most a single 2025-03-14T05:25:04.8267502Z process group that runs averaging -- the period of such group should 2025-03-14T05:25:04.8268089Z have the largest period which the current step can be divided by. 2025-03-14T05:25:04.8268605Z For example, if the dict has three keys: 2, 4, and 8, 2025-03-14T05:25:04.8269113Z then this means totally three process groups will be created to 2025-03-14T05:25:04.8269659Z average parameters every 2, 4, and 8 iterations, respectively. 2025-03-14T05:25:04.8270301Z At the 4th iteration, only the second process group will run 2025-03-14T05:25:04.8270805Z averaging, because the first process group should be a 2025-03-14T05:25:04.8271339Z subset of the second process group, and no need to execute the first 2025-03-14T05:25:04.8271823Z process group redundantly. 2025-03-14T05:25:04.8272278Z On the other hand, the third process group can only be triggered 2025-03-14T05:25:04.8272915Z every 8 iterations, so it will not be triggered at the 4th iteration. 2025-03-14T05:25:04.8273581Z warmup_steps (int): The number of warm-up steps. During this stage, model averaging is skipped. 2025-03-14T05:25:04.8274468Z process_group (ProcessGroup, optional): The overall process group containing all the processes that runs model averaging. 2025-03-14T05:25:04.8275219Z If ``None``, the default process group, which is created 2025-03-14T05:25:04.8275741Z by :func:`torch.distributed.init_process_group`, will be used. 2025-03-14T05:25:04.8276207Z (default: ``None``) 2025-03-14T05:25:04.8276456Z 2025-03-14T05:25:04.8276555Z Example:: 2025-03-14T05:25:04.8276816Z >>> # xdoctest: +SKIP('undefined rank') 2025-03-14T05:25:04.8277175Z >>> from collections import OrderedDict 2025-03-14T05:25:04.8277512Z >>> import torch 2025-03-14T05:25:04.8277801Z >>> import torch.distributed as dist 2025-03-14T05:25:04.8278316Z >>> from torch.distributed.algorithms.ddp_comm_hooks.post_localSGD_hook import ( 2025-03-14T05:25:04.8278832Z >>> PostLocalSGDState, 2025-03-14T05:25:04.8279141Z >>> post_localSGD_hook, 2025-03-14T05:25:04.8279425Z >>> ) 2025-03-14T05:25:04.8279935Z >>> import torch.distributed.algorithms.model_averaging.hierarchical_model_averager as hierarchicalSGD 2025-03-14T05:25:04.8280550Z >>> import torch.nn as nn 2025-03-14T05:25:04.8280823Z >>> 2025-03-14T05:25:04.8281135Z >>> dist.init_process_group("nccl", rank=rank, world_size=16) 2025-03-14T05:25:04.8281549Z >>> torch.cuda.set_device(rank) 2025-03-14T05:25:04.8281903Z >>> module = nn.Linear(1, 1, bias=False).to(rank) 2025-03-14T05:25:04.8282317Z >>> model = nn.parallel.DistributedDataParallel( 2025-03-14T05:25:04.8282736Z >>> module, device_ids=[rank], output_device=rank 2025-03-14T05:25:04.8283090Z >>> ) 2025-03-14T05:25:04.8283375Z >>> # Register a post-localSGD communication hook. 2025-03-14T05:25:04.8283917Z >>> # Assume that each machine has 4 GPUs, then each intra-machine subgroup has a size of 4. 2025-03-14T05:25:04.8284445Z >>> subgroup, _ = dist.new_subgroups() 2025-03-14T05:25:04.8284996Z >>> state = PostLocalSGDState(process_group=None, subgroup=subgroup, start_localSGD_iter=100) 2025-03-14T05:25:04.8285601Z >>> model.register_comm_hook(state, post_localSGD_hook) 2025-03-14T05:25:04.8285979Z >>> 2025-03-14T05:25:04.8286399Z >>> # Average parameters among each group of 8 processes every 4 iterations, and among all 2025-03-14T05:25:04.8286938Z >>> # the 16 processes every 16 iterations. 2025-03-14T05:25:04.8287377Z >>> averager = hierarchicalSGD.HierarchicalModelAverager( 2025-03-14T05:25:04.8287926Z >>> period_group_size_dict=OrderedDict([(4, 8), (16, 16)]), warmup_steps=100) 2025-03-14T05:25:04.8288613Z >>> # Note that ``warmup_steps`` must be the same as ``start_localSGD_iter`` used in ``PostLocalSGDState``. 2025-03-14T05:25:04.8289324Z >>> # In the first 100 steps, run global gradient averaging like normal DDP at every step. 2025-03-14T05:25:04.8289880Z >>> # After 100 steps, run model averaging at two levels. 2025-03-14T05:25:04.8290266Z >>> for step in range(0, 200): 2025-03-14T05:25:04.8290586Z >>> optimizer.zero_grad() 2025-03-14T05:25:04.8290909Z >>> loss = loss_fn(output, labels) 2025-03-14T05:25:04.8291298Z >>> loss.backward() 2025-03-14T05:25:04.8291595Z >>> optimizer.step() 2025-03-14T05:25:04.8291961Z >>> # Average parameters after ``optimizer.step()``. 2025-03-14T05:25:04.8292536Z >>> # Thus, the inter-node communication only occurs periodically after ``warmup_steps``. 2025-03-14T05:25:04.8293117Z >>> averager.average_parameters(model.parameters()) 2025-03-14T05:25:04.8293406Z 2025-03-14T05:25:04.8293505Z .. warning :: 2025-03-14T05:25:04.8293961Z The last group size in the dict must be the size of the provided ``process_group``, 2025-03-14T05:25:04.8294586Z which indicates model averaging at the highest level of the hierarchy. 2025-03-14T05:25:04.8295257Z If ``process_group`` is not provided, then the last group size should be equal to the world size. 2025-03-14T05:25:04.8295785Z 2025-03-14T05:25:04.8295882Z .. warning :: 2025-03-14T05:25:04.8296274Z `HierarchicalModelAverager` is experimental and subject to change. 2025-03-14T05:25:04.8296645Z 2025-03-14T05:25:04.8296905Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:04.8297290Z 2025-03-14T05:25:04.8648012Z msg = Cannot scrape callname=BroadcastingTorchSaveReader in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/checkpoint/format_utils.py line=40. 2025-03-14T05:25:04.8649144Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:04.8649542Z 2025-03-14T05:25:04.8649967Z StorageReader for reading a Torch Save file. This reader will read the entire checkpoint 2025-03-14T05:25:04.8650710Z on the coordinator rank, and then broadcast and shard each tensor to all ranks. 2025-03-14T05:25:04.8651345Z 2025-03-14T05:25:04.8651658Z . N.B. Intended to be used with DynamicMetaLoadPlanner 2025-03-14T05:25:04.8652107Z 2025-03-14T05:25:04.8652214Z .. warning:: 2025-03-14T05:25:04.8652544Z Current implementation only supports loading Tensors. 2025-03-14T05:25:04.8652857Z 2025-03-14T05:25:04.8652981Z >>> # xdoctest: +SKIP("undefined vars") 2025-03-14T05:25:04.8653313Z >>> sd = {"mode": model} 2025-03-14T05:25:04.8653586Z >>> dcp.load( 2025-03-14T05:25:04.8653820Z >>> sd, 2025-03-14T05:25:04.8654108Z >>> storage_reader=BroadcastingTorchSaveReader(), 2025-03-14T05:25:04.8654508Z >>> planner=DynamicMetaLoadPlanner(), 2025-03-14T05:25:04.8654872Z >>> checkpoint_id="path_to_model.pt" 2025-03-14T05:25:04.8655186Z >>> ) 2025-03-14T05:25:04.8655308Z 2025-03-14T05:25:04.8655639Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:04.8656013Z 2025-03-14T05:25:04.8656722Z msg = Cannot scrape callname=DynamicMetaLoadPlanner in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/checkpoint/format_utils.py line=151. 2025-03-14T05:25:04.8657787Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:04.8658168Z 2025-03-14T05:25:04.8658560Z Extension of DefaultLoadPlanner, which creates a new Metadata object based on the passed in state dict, 2025-03-14T05:25:04.8659388Z avoiding the need to read metadata from disk. This is useful when reading formats which don't have a 2025-03-14T05:25:04.8659967Z metadata file, like Torch Save files. 2025-03-14T05:25:04.8660185Z 2025-03-14T05:25:04.8660385Z . N.B. Intended to be used with BroadcastingTorchSaveReader 2025-03-14T05:25:04.8660681Z 2025-03-14T05:25:04.8660790Z .. warning:: 2025-03-14T05:25:04.8661113Z Current implementation only supports loading Tensors. 2025-03-14T05:25:04.8661404Z 2025-03-14T05:25:04.8661539Z >>> # xdoctest: +SKIP("undefined vars") 2025-03-14T05:25:04.8661870Z >>> sd = {"mode": model} 2025-03-14T05:25:04.8662140Z >>> dcp.load( 2025-03-14T05:25:04.8662375Z >>> sd, 2025-03-14T05:25:04.8662656Z >>> storage_reader=BroadcastingTorchSaveReader(), 2025-03-14T05:25:04.8663063Z >>> planner=DynamicMetaLoadPlanner(), 2025-03-14T05:25:04.8663425Z >>> checkpoint_id="path_to_model.pt" 2025-03-14T05:25:04.8663946Z >>> ) 2025-03-14T05:25:04.8664081Z 2025-03-14T05:25:04.8664344Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:04.8664731Z 2025-03-14T05:25:04.8729508Z msg = Cannot scrape callname=load_sharded_optimizer_state_dict in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/checkpoint/optimizer.py line=221. 2025-03-14T05:25:04.8730596Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:04.8730995Z 2025-03-14T05:25:04.8731354Z Load a state_dict in conjunction with FSDP sharded optimizer state. 2025-03-14T05:25:04.8731697Z 2025-03-14T05:25:04.8731869Z This is the current recommended way to checkpoint FSDP. 2025-03-14T05:25:04.8732259Z >>> # xdoctest: +SKIP 2025-03-14T05:25:04.8732593Z >>> import torch.distributed.checkpoint as dist_cp 2025-03-14T05:25:04.8732963Z >>> # Save 2025-03-14T05:25:04.8733209Z >>> model: torch.nn.Model 2025-03-14T05:25:04.8733522Z >>> optim_params = model.parameters() 2025-03-14T05:25:04.8733898Z >>> optim = torch.optim.SGD(optim_params, lr=0.01) 2025-03-14T05:25:04.8734252Z >>> # Save 2025-03-14T05:25:04.8734607Z >>> with FSDP.state_dict_type(model, StateDictType.SHARDED_STATE_DICT): 2025-03-14T05:25:04.8735050Z >>> state_dict = { 2025-03-14T05:25:04.8735378Z >>> "optimizer": FSDP.optim_state_dict(model, optim), 2025-03-14T05:25:04.8735848Z >>> "model": model.state_dict() 2025-03-14T05:25:04.8736164Z >>> } 2025-03-14T05:25:04.8736408Z >>> dist_cp.save_state_dict( 2025-03-14T05:25:04.8736742Z >>> state_dict=optim_state, 2025-03-14T05:25:04.8737144Z >>> storage_writer=dist_cp.FileSystemWriter("checkpoint"), 2025-03-14T05:25:04.8737582Z >>> planner=dist_cp.DefaultSavePlanner(), 2025-03-14T05:25:04.8737911Z >>> ) 2025-03-14T05:25:04.8738128Z >>> 2025-03-14T05:25:04.8738340Z >>> # Load 2025-03-14T05:25:04.8738701Z >>> with FSDP.state_dict_type(model_tp, StateDictType.SHARDED_STATE_DICT): 2025-03-14T05:25:04.8739199Z >>> model_state_dict = model_tp.state_dict() 2025-03-14T05:25:04.8739545Z >>> checkpoint = { 2025-03-14T05:25:04.8739826Z >>> "model": model_state_dict 2025-03-14T05:25:04.8740135Z >>> } 2025-03-14T05:25:04.8740375Z >>> dist_cp.load_state_dict( 2025-03-14T05:25:04.8740691Z >>> state_dict=checkpoint, 2025-03-14T05:25:04.8741098Z >>> storage_reader=dist_cp.FileSystemReader(checkpoint_file), 2025-03-14T05:25:04.8741553Z >>> planner=dist_cp.DefaultLoadPlanner(), 2025-03-14T05:25:04.8741901Z >>> ) 2025-03-14T05:25:04.8742194Z >>> model.load_state_dict(checkpoint["model_state"]) 2025-03-14T05:25:04.8742555Z >>> 2025-03-14T05:25:04.8742861Z >>> optim_state = dist_cp.load_sharded_optimizer_state_dict( 2025-03-14T05:25:04.8743248Z >>> model_state_dict, 2025-03-14T05:25:04.8743557Z >>> optimizer_key="optimizer", 2025-03-14T05:25:04.8743965Z >>> storage_reader=dist_cp.FileSystemReader("checkpoint"), 2025-03-14T05:25:04.8744360Z >>> ) 2025-03-14T05:25:04.8744578Z >>> 2025-03-14T05:25:04.8744850Z >>> flattened_osd = FSDP.optim_state_dict_to_load( 2025-03-14T05:25:04.8745248Z >>> model, optim, optim_state["optimizer"] 2025-03-14T05:25:04.8745590Z >>> ) 2025-03-14T05:25:04.8745810Z >>> 2025-03-14T05:25:04.8746066Z >>> optim.load_state_dict(flattened_osd) 2025-03-14T05:25:04.8746300Z 2025-03-14T05:25:04.8746573Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:04.8746948Z 2025-03-14T05:25:04.8759967Z msg = Cannot scrape callname=SavePlanner in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/checkpoint/planner.py line=113. 2025-03-14T05:25:04.8761908Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:04.8762679Z 2025-03-14T05:25:04.8763229Z Abstract class defining the protocol used by save_state_dict to plan the save process. 2025-03-14T05:25:04.8764050Z 2025-03-14T05:25:04.8764862Z SavePlanners are stateful objects that can be used to customize the whole save process. 2025-03-14T05:25:04.8765696Z 2025-03-14T05:25:04.8766232Z SavePlanner acts as an access proxy to the state_dict, so any transformation done to it 2025-03-14T05:25:04.8767236Z will be visible to the whole process. 2025-03-14T05:25:04.8767673Z 2025-03-14T05:25:04.8768206Z A planner subclass can expect the following sequence of calls during save_state_dict: 2025-03-14T05:25:04.8768972Z 2025-03-14T05:25:04.8769200Z 1) set_up_planner - called on all ranks. 2025-03-14T05:25:04.8769982Z Signals the start of a checkpoint save. 2025-03-14T05:25:04.8770389Z 2025-03-14T05:25:04.8770592Z 2) create_local_plan - called on all ranks. 2025-03-14T05:25:04.8771537Z Process the state_dict and produces a `SavePlan` that will be sent for global planning. 2025-03-14T05:25:04.8772330Z 2025-03-14T05:25:04.8772668Z 3) create_global_plan - called on the coordinator rank only. 2025-03-14T05:25:04.8773603Z Takes the SavePlan from all ranks and make any global decision. 2025-03-14T05:25:04.8774228Z 2025-03-14T05:25:04.8774444Z 4) finish_plan - called on all ranks. 2025-03-14T05:25:04.8775273Z This gives each rank a chance to adjust to global planning decisions. 2025-03-14T05:25:04.8776024Z 2025-03-14T05:25:04.8776330Z 5) resolve_data - called multiple times on each rank 2025-03-14T05:25:04.8777221Z Lookups a value on the `state_dict` for the storage layer to write. 2025-03-14T05:25:04.8777834Z 2025-03-14T05:25:04.8778392Z Users are recommended to extend DefaultSavePlanner instead of this interface directly as 2025-03-14T05:25:04.8779509Z most changes can be expressed by changes in a single method. 2025-03-14T05:25:04.8779883Z 2025-03-14T05:25:04.8780031Z There are 3 usual patterns of extension: 2025-03-14T05:25:04.8780265Z 2025-03-14T05:25:04.8780536Z Rewriting state_dict. This is the simplest way to extend the save process as it 2025-03-14T05:25:04.8781156Z doesn't requite understanding the intrincacies of how SavePlan works: 2025-03-14T05:25:04.8781512Z 2025-03-14T05:25:04.8781645Z >>> # xdoctest: +SKIP("undefined vars") 2025-03-14T05:25:04.8782022Z >>> class RenamePlanner(DefaultSavePlanner): 2025-03-14T05:25:04.8782385Z >>> def set_up_planner( 2025-03-14T05:25:04.8782670Z >>> self, 2025-03-14T05:25:04.8782938Z >>> state_dict: STATE_DICT_TYPE, 2025-03-14T05:25:04.8783298Z >>> storage_meta: Optional[StorageMeta], 2025-03-14T05:25:04.8783645Z >>> is_coordinator: bool, 2025-03-14T05:25:04.8783950Z >>> ) -> None: 2025-03-14T05:25:04.8784221Z >>> # prefix all keys with `foo_`` 2025-03-14T05:25:04.8784733Z >>> super().set_up_planner({"foo_" + k: v for k, v in state_dict.items()}, storage_meta, is_coordinator) 2025-03-14T05:25:04.8785154Z 2025-03-14T05:25:04.8785490Z Modifying local plan and lookup in tandem. This is useful when fine control of how data is persisted 2025-03-14T05:25:04.8785954Z 2025-03-14T05:25:04.8786075Z >>> # xdoctest: +SKIP("undefined vars") 2025-03-14T05:25:04.8786619Z >>> class FP16Planner(DefaultSavePlanner): 2025-03-14T05:25:04.8787241Z >>> def create_local_plan(self): 2025-03-14T05:25:04.8787826Z >>> plan = super().create_local_plan() 2025-03-14T05:25:04.8788402Z >>> for p in plan: 2025-03-14T05:25:04.8788931Z >>> if p.tensor_data is not None: 2025-03-14T05:25:04.8789637Z >>> p.tensor_data.properties.dtype = torch.float16 2025-03-14T05:25:04.8790336Z >>> return plan 2025-03-14T05:25:04.8790788Z >>> 2025-03-14T05:25:04.8791218Z >>> def resolve_data(self, write_item): 2025-03-14T05:25:04.8791877Z >>> item = super().resolve_data(write_item) 2025-03-14T05:25:04.8792838Z >>> return item if write_item.type == WriteItemType.BYTE_IO else item.to(torch.float16) 2025-03-14T05:25:04.8793585Z 2025-03-14T05:25:04.8794256Z Using the global planning step to make central decisions that can't be made individually by each rank 2025-03-14T05:25:04.8795138Z 2025-03-14T05:25:04.8795337Z >>> # xdoctest: +SKIP("undefined vars") 2025-03-14T05:25:04.8796196Z >>> from itertools import zip_longest 2025-03-14T05:25:04.8796811Z >>> from dataclasses import replace 2025-03-14T05:25:04.8797525Z >>> class DDPLoadBalancingPlanner(DefaultSavePlanner): 2025-03-14T05:25:04.8798775Z >>> # This uses the default local plan behavior of having all non-sharded writes in rank 0 2025-03-14T05:25:04.8799776Z >>> # This sample doesn't handle ShardedTensors 2025-03-14T05:25:04.8800465Z >>> def create_global_plan(self, all_plans): 2025-03-14T05:25:04.8801369Z >>> iters = [iter(all_plans[0].items)] * len(all_plans) 2025-03-14T05:25:04.8802069Z >>> items_per_rank = [ 2025-03-14T05:25:04.8802656Z >>> [item for item in items if item is not None] 2025-03-14T05:25:04.8803410Z >>> for items in zip(*zip_longest(*iters), strict=True) 2025-03-14T05:25:04.8804029Z >>> ] 2025-03-14T05:25:04.8804360Z >>> all_plans = [ 2025-03-14T05:25:04.8804899Z >>> replace(plan, items=items) 2025-03-14T05:25:04.8805670Z >>> for plan, items in zip(all_plans, items_per_rank, strict=True) 2025-03-14T05:25:04.8806416Z >>> ] 2025-03-14T05:25:04.8806934Z >>> return super().create_global_plan(all_plans) 2025-03-14T05:25:04.8807421Z 2025-03-14T05:25:04.8807916Z Finally, some planners need to save additional metadata in the checkpoint, this is 2025-03-14T05:25:04.8809201Z accomplished by having each rank contribute their data items in the local plan and 2025-03-14T05:25:04.8810185Z the global planner aggregate them: 2025-03-14T05:25:04.8810604Z 2025-03-14T05:25:04.8810827Z >>> # xdoctest: +SKIP("undefined vars") 2025-03-14T05:25:04.8811527Z >>> class SaveExtraDataPlanner(DefaultSavePlanner): 2025-03-14T05:25:04.8812272Z >>> def create_local_plan(self) -> SavePlan: 2025-03-14T05:25:04.8812944Z >>> plan = super().create_local_plan() 2025-03-14T05:25:04.8813672Z >>> return replace(plan, planner_data="per-rank-data") 2025-03-14T05:25:04.8814349Z >>> 2025-03-14T05:25:04.8815111Z >>> def create_global_plan(self, all_plans: List[SavePlan]) -> Tuple[List[SavePlan], Metadata]: 2025-03-14T05:25:04.8816343Z >>> global_plan, metadata = super().create_global_plan(all_plans) 2025-03-14T05:25:04.8817240Z >>> merged_data = [p.planner_data for p in global_plan] 2025-03-14T05:25:04.8818014Z >>> metadata = replace(metadata, planner_data=merged_data) 2025-03-14T05:25:04.8818769Z >>> return global_plan, metadata 2025-03-14T05:25:04.8819183Z 2025-03-14T05:25:04.8819685Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:04.8820401Z 2025-03-14T05:25:04.8821508Z msg = Cannot scrape callname=LoadPlanner in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/checkpoint/planner.py line=293. 2025-03-14T05:25:04.8823404Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:04.8824141Z 2025-03-14T05:25:04.8824702Z Abstract class defining the protocol used by load_state_dict to plan the load process. 2025-03-14T05:25:04.8825465Z 2025-03-14T05:25:04.8826006Z LoadPlanner are stateful objects that can be used to customize the whole load process. 2025-03-14T05:25:04.8826776Z 2025-03-14T05:25:04.8827325Z LoadPlanner acts as an access proxy to the state_dict, so any transformation done to it 2025-03-14T05:25:04.8828327Z will be visible to the whole process. 2025-03-14T05:25:04.8828732Z 2025-03-14T05:25:04.8829289Z A planner subclass can expect the following sequence of calls during load_state_dict: 2025-03-14T05:25:04.8830071Z 2025-03-14T05:25:04.8830315Z 1) set_up_planner - called on all ranks. 2025-03-14T05:25:04.8830989Z Signals the start of loading a checkpoint. 2025-03-14T05:25:04.8831437Z 2025-03-14T05:25:04.8831688Z 2) create_local_plan - called on all ranks. 2025-03-14T05:25:04.8832684Z Process the state_dict and produces a `LoadPlan` that will be sent for global planning. 2025-03-14T05:25:04.8833422Z 2025-03-14T05:25:04.8833987Z 3) create_global_plan - called on the coordinator rank only. 2025-03-14T05:25:04.8834861Z Takes the LoadPlan from all ranks and make any global decision. 2025-03-14T05:25:04.8835204Z 2025-03-14T05:25:04.8835375Z 4) load_bytes - called multiple times on each rank 2025-03-14T05:25:04.8835827Z This is called once per non-tensor value in state_dict. 2025-03-14T05:25:04.8836112Z 2025-03-14T05:25:04.8836363Z 5) resolve_tensor and commit_tensor - called multiple times on each rank 2025-03-14T05:25:04.8836894Z They are called in pair for each Tensor value in state_dict. 2025-03-14T05:25:04.8837289Z 2025-03-14T05:25:04.8837614Z Users are recommended to extend DefaultLoadPlanner instead of this interface directly as 2025-03-14T05:25:04.8838229Z most changes can be expressed by changes in a single method. 2025-03-14T05:25:04.8838541Z 2025-03-14T05:25:04.8838678Z There are two usual patterns of extension: 2025-03-14T05:25:04.8838932Z 2025-03-14T05:25:04.8839195Z Rewriting state_dict. This is the simplest way to extend the load process as it 2025-03-14T05:25:04.8839852Z doesn't requite understanding the intrincacies of how LoadPlan works. We need 2025-03-14T05:25:04.8840473Z to keep a reference to the original state_dict as load happens in place so 2025-03-14T05:25:04.8841306Z we need to be able to perform it in place 2025-03-14T05:25:04.8841729Z 2025-03-14T05:25:04.8841936Z >>> # xdoctest: +SKIP("undefined vars") 2025-03-14T05:25:04.8842583Z >>> class RenamePlanner(DefaultLoadPlanner): 2025-03-14T05:25:04.8843210Z >>> def set_up_planner( 2025-03-14T05:25:04.8843699Z >>> self, 2025-03-14T05:25:04.8844159Z >>> state_dict: STATE_DICT_TYPE, 2025-03-14T05:25:04.8844771Z >>> metadata: Metadata, 2025-03-14T05:25:04.8845285Z >>> is_coordinator: bool, 2025-03-14T05:25:04.8845768Z >>> ) -> None: 2025-03-14T05:25:04.8846257Z >>> self.original_state_dict = state_dict 2025-03-14T05:25:04.8846977Z >>> state_dict = {"foo_" + k: v for k, v in state_dict.items()} 2025-03-14T05:25:04.8847673Z >>> 2025-03-14T05:25:04.8848092Z >>> if self.flatten_sharded_tensors: 2025-03-14T05:25:04.8848770Z >>> state_dict = _flatten_sharded_tensors(state_dict) 2025-03-14T05:25:04.8849416Z >>> 2025-03-14T05:25:04.8849788Z >>> if self.flatten_state_dict: 2025-03-14T05:25:04.8850349Z >>> state_dict, self.mappings = flatten_state_dict(state_dict) 2025-03-14T05:25:04.8850754Z >>> 2025-03-14T05:25:04.8850997Z >>> self.state_dict = state_dict 2025-03-14T05:25:04.8851337Z >>> self.metadata = metadata 2025-03-14T05:25:04.8851692Z >>> self.is_coordinator = is_coordinator 2025-03-14T05:25:04.8852030Z >>> 2025-03-14T05:25:04.8852280Z >>> def load_bytes(self, read_item, value): 2025-03-14T05:25:04.8852639Z >>> # Remove the "foo_" prefix 2025-03-14T05:25:04.8853158Z >>> self.original_state_dict[read_item.dest_index.fqn[4:]] = torch.load(value, weights_only=False) 2025-03-14T05:25:04.8853600Z 2025-03-14T05:25:04.8853621Z 2025-03-14T05:25:04.8853887Z Modifying resolve_tensor and commit_tensor to handle load time transformation. 2025-03-14T05:25:04.8854282Z 2025-03-14T05:25:04.8854402Z >>> # xdoctest: +SKIP("undefined vars") 2025-03-14T05:25:04.8854795Z >>> class MetaModelMaterialize(DefaultSavePlanner): 2025-03-14T05:25:04.8855198Z >>> def resolve_tensor(self, read_item): 2025-03-14T05:25:04.8855672Z >>> tensor = super().resolve_tensor(read_item) 2025-03-14T05:25:04.8856087Z >>> return torch.empty_like(tensor, device="cpu") 2025-03-14T05:25:04.8856629Z >>> 2025-03-14T05:25:04.8857053Z >>> def commit_tensor(self, read_item, tensor): 2025-03-14T05:25:04.8857765Z >>> self.state_dict[read_item.dest_index.fqn] = tensor 2025-03-14T05:25:04.8858262Z 2025-03-14T05:25:04.8858749Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:04.8859452Z 2025-03-14T05:25:04.8981965Z msg = Cannot scrape callname=get_state_dict in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/checkpoint/state_dict.py line=1124. 2025-03-14T05:25:04.8984148Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:04.8984888Z 2025-03-14T05:25:04.8985210Z Return the model state_dict and optimizers state_dict. 2025-03-14T05:25:04.8985740Z 2025-03-14T05:25:04.8986180Z ``get_state_dict`` can process any module that is parallelized by PyTorch 2025-03-14T05:25:04.8987342Z FSDP/fully_shard, DDP/replicate, tensor_parallel/parallelize_module, and any 2025-03-14T05:25:04.8988715Z combination of these parallelisms. The main functions of ``get_state_dict`` 2025-03-14T05:25:04.8989860Z are: 1.) returning a model and optimizer state_dict that can be resharded 2025-03-14T05:25:04.8990920Z with a different number of trainers and/or different parallelisms. 2025-03-14T05:25:04.8992032Z 2.) hiding the parallelism-specific state_dict APIs. Users don't have to call 2025-03-14T05:25:04.8992918Z these APIs. 2025-03-14T05:25:04.8993346Z 3.) sanity checking the result state_dict. 2025-03-14T05:25:04.8993783Z 2025-03-14T05:25:04.8994159Z The keys of the result state dictionary are the canonical FQNs (Fully 2025-03-14T05:25:04.8995233Z Qualified Names). A canonical FQN refers to the FQN based on a parameter's 2025-03-14T05:25:04.8996426Z position in an nn.Module hierarchy. More specifically, a canonical FQN to a 2025-03-14T05:25:04.8997512Z parameter is the FQN returned by ``module.named_parameters()`` or 2025-03-14T05:25:04.8998678Z ``module.named_buffers()`` when the module is not distributed by any 2025-03-14T05:25:04.8999692Z parallelisms. Since the optimizer internally uses parameter IDs to represent 2025-03-14T05:25:04.9000316Z a parameter, there will be a conversion from the parameter IDs to the 2025-03-14T05:25:04.9000787Z canonical FQNs when calling this API. 2025-03-14T05:25:04.9001023Z 2025-03-14T05:25:04.9001250Z ``get_state_dict`` can also process a module that is not parallelized. In 2025-03-14T05:25:04.9001832Z such a case, ``get_state_dict`` only performs one function -- converting the 2025-03-14T05:25:04.9002345Z optimizer parameter IDs to the canonical FQNs. 2025-03-14T05:25:04.9002611Z 2025-03-14T05:25:04.9002704Z Example: 2025-03-14T05:25:04.9002942Z >>> # xdoctest: +SKIP 2025-03-14T05:25:04.9003221Z >>> import torch 2025-03-14T05:25:04.9003629Z >>> from torch.distributed.fsdp import FullyShardedDataParallel as FSDP 2025-03-14T05:25:04.9004200Z >>> from torch.nn.parallel import DistributedDataParallel as DDP 2025-03-14T05:25:04.9004758Z >>> from torch.distributed.checkpoint.state_dict import get_state_dict 2025-03-14T05:25:04.9005114Z 2025-03-14T05:25:04.9005249Z >>> fsdp_model = FSDP(copy.deepcopy(model)) 2025-03-14T05:25:04.9005693Z >>> fsdp_optim = torch.optim.Adam(model.parameters(), lr=1e-3) 2025-03-14T05:25:04.9006139Z >>> ddp_model = DDP(copy.deepcopy(model)) 2025-03-14T05:25:04.9006924Z >>> ddp_optim = torch.optim.Adam(model.parameters(), lr=1e-3) 2025-03-14T05:25:04.9007448Z 2025-03-14T05:25:04.9007464Z 2025-03-14T05:25:04.9007889Z >>> ddp_state_dict, ddp_optim_state_dict = get_state_dict(ddp_model, ddp_optim) 2025-03-14T05:25:04.9008856Z >>> fsdp_state_dict, fsdp_optim_state_dict = get_state_dict( 2025-03-14T05:25:04.9009591Z ... fsdp_model, fsdp_optim 2025-03-14T05:25:04.9010145Z ... ) 2025-03-14T05:25:04.9010366Z 2025-03-14T05:25:04.9010780Z >>> # if we simply call ddp_model.state_dict() and fsdp_model.state_dict(), 2025-03-14T05:25:04.9011612Z >>> # the asserts will fail. 2025-03-14T05:25:04.9012204Z >>> assert ddp_state_dict == fsdp_state_dict 2025-03-14T05:25:04.9012933Z >>> assert ddp_optim_state == fsdp_optim_state_dict 2025-03-14T05:25:04.9013419Z 2025-03-14T05:25:04.9013427Z 2025-03-14T05:25:04.9013597Z Args: 2025-03-14T05:25:04.9014068Z model (nn.Module): the nn.Module to the model. 2025-03-14T05:25:04.9014883Z optimizers (Union[None, Optimizer, Iterable[Optimizer]]): 2025-03-14T05:25:04.9015852Z The optimizers that are used to optimize ``model``. 2025-03-14T05:25:04.9017101Z submodules (deprecated): Optional[set[nn.Module]]: only return the model parameters 2025-03-14T05:25:04.9018100Z that belong to the submodules. 2025-03-14T05:25:04.9018841Z options (StateDictOptions): the options to control how 2025-03-14T05:25:04.9019784Z model state_dict and optimizer state_dict should be returned. See 2025-03-14T05:25:04.9020608Z `StateDictOptions` for the details. 2025-03-14T05:25:04.9021054Z 2025-03-14T05:25:04.9021205Z Returns: 2025-03-14T05:25:04.9021930Z ``Tuple`` that contain model state_dict and optimizer state_dict. 2025-03-14T05:25:04.9022495Z 2025-03-14T05:25:04.9022911Z :rtype: typing.Tuple[typing.Dict[str, ValueType], OptimizerStateType] 2025-03-14T05:25:04.9023568Z 2025-03-14T05:25:04.9024046Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:04.9024770Z 2025-03-14T05:25:04.9033969Z msg = Cannot scrape callname=load in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/checkpoint/state_dict_loader.py line=62. 2025-03-14T05:25:04.9035113Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:04.9035509Z 2025-03-14T05:25:04.9035741Z Load a checkpoint into a distributed state dict in SPMD style. 2025-03-14T05:25:04.9036093Z 2025-03-14T05:25:04.9036321Z Each rank must have the same keys in their ``state_dict`` provided to this 2025-03-14T05:25:04.9036970Z API. Mismatched keys may result in hangs or errors. If unsure, you can use 2025-03-14T05:25:04.9037616Z the ``utils._assert_same_keys`` API to check (but may incur communication 2025-03-14T05:25:04.9038108Z costs). 2025-03-14T05:25:04.9038248Z 2025-03-14T05:25:04.9038436Z Each rank will try to read the least amount of data necessary 2025-03-14T05:25:04.9039027Z to fulfill the requested `state_dict`. When loading :class:`ShardedTensor` 2025-03-14T05:25:04.9039697Z or :class:`DTensor` instances, each rank only reads data for their local shards. 2025-03-14T05:25:04.9040079Z 2025-03-14T05:25:04.9040392Z For each ``Stateful`` object (having both a ``state_dict`` and a ``load_state_dict``), 2025-03-14T05:25:04.9041066Z load will first call ``state_dict`` before attempting deserialization, followed by 2025-03-14T05:25:04.9041655Z ``load_state_dict`` once the deserialization is complete. 2025-03-14T05:25:04.9042262Z For each non-``Stateful`` object, load will deserailize the object, and then replace 2025-03-14T05:25:04.9042863Z it in the ``state_dict`` with the deserialized object. 2025-03-14T05:25:04.9043142Z 2025-03-14T05:25:04.9043255Z .. warning:: 2025-03-14T05:25:04.9043621Z All tensors in ``state_dict`` must be allocated on their 2025-03-14T05:25:04.9044094Z destination device *prior to* calling this function. 2025-03-14T05:25:04.9044415Z 2025-03-14T05:25:04.9044661Z All non-tensor data is loaded using `torch.load()` and modified in place 2025-03-14T05:25:04.9045169Z on state_dict. 2025-03-14T05:25:04.9045325Z 2025-03-14T05:25:04.9045433Z .. warning:: 2025-03-14T05:25:04.9045840Z Users must call `load_state_dict` on the root module to ensure load 2025-03-14T05:25:04.9046395Z pos-processing and non-tensor data properly propagates. 2025-03-14T05:25:04.9046728Z 2025-03-14T05:25:04.9046832Z .. note: 2025-03-14T05:25:04.9047237Z If no process group is initialized, this function will assume the intent 2025-03-14T05:25:04.9047824Z is to load a checkpoint into the local process. This can be useful in the 2025-03-14T05:25:04.9048492Z case of local inference, and when using regular Tensors (as opposed to DTensor 2025-03-14T05:25:04.9049024Z or ShardedTensor) 2025-03-14T05:25:04.9049190Z 2025-03-14T05:25:04.9049293Z .. note: 2025-03-14T05:25:04.9049614Z Rank 0 is assumed to be the coordinator rank. 2025-03-14T05:25:04.9049867Z 2025-03-14T05:25:04.9049964Z Args: 2025-03-14T05:25:04.9050350Z state_dict (Dict[str, Any]): The state_dict to load the checkpoint into. 2025-03-14T05:25:04.9050999Z checkpoint_id (Union[str, os.PathLike, None]): 2025-03-14T05:25:04.9051494Z The ID of this checkpoint instance. The meaning of the checkpoint_id 2025-03-14T05:25:04.9052101Z depends on the storage. It can be a path to a folder or to a file. 2025-03-14T05:25:04.9052657Z It can also be a key if the storage is a key-value store. 2025-03-14T05:25:04.9053053Z (Default: ``None``) 2025-03-14T05:25:04.9053425Z storage_reader (Optional[StorageReader]): 2025-03-14T05:25:04.9053886Z Instance of StorageWriter used to perform reads. If this is not 2025-03-14T05:25:04.9054542Z specified, DCP will automatically infer the reader based on the 2025-03-14T05:25:04.9055141Z checkpoint_id. If checkpoint_id is also None, an exception will 2025-03-14T05:25:04.9055731Z be raised. (Default: ``None``) 2025-03-14T05:25:04.9056081Z planner (Optional[LoadPlanner]): 2025-03-14T05:25:04.9056566Z Instance of LoadPlanner. If this is not specificed, the default 2025-03-14T05:25:04.9057050Z planner will be used. (Default: ``None``) 2025-03-14T05:25:04.9057471Z process_group (Optional[ProcessGroup]): 2025-03-14T05:25:04.9057958Z ProcessGroup to be used for cross-rank synchronization. 2025-03-14T05:25:04.9058371Z (Default: ``None``) 2025-03-14T05:25:04.9058828Z no_dist (bool): If ``True``, this function will assume the intent is to load 2025-03-14T05:25:04.9059481Z a checkpoint without using cross-rank synchronization. (Default: ``False``) 2025-03-14T05:25:04.9059957Z Returns: 2025-03-14T05:25:04.9060232Z None. 2025-03-14T05:25:04.9060363Z 2025-03-14T05:25:04.9060466Z Examples 2025-03-14T05:25:04.9060689Z >>> # xdoctest: +SKIP 2025-03-14T05:25:04.9061027Z >>> my_model = MyModule() 2025-03-14T05:25:04.9061367Z >>> optimizer = Adagrad(my_model.parameters()) 2025-03-14T05:25:04.9061805Z >>> model_state_dict = my_model.state_dict() 2025-03-14T05:25:04.9062290Z >>> fs_storage_reader = torch.distributed.checkpoint.FileSystemReader( 2025-03-14T05:25:04.9062832Z ... "/checkpoint/1" 2025-03-14T05:25:04.9063108Z ... ) 2025-03-14T05:25:04.9063311Z 2025-03-14T05:25:04.9063475Z >>> torch.distributed.checkpoint.load_state_dict( 2025-03-14T05:25:04.9063871Z >>> state_dict=model_state_dict, 2025-03-14T05:25:04.9064282Z >>> storage_reader=fs_storage_reader, 2025-03-14T05:25:04.9064612Z >>> ) 2025-03-14T05:25:04.9064772Z 2025-03-14T05:25:04.9065001Z >>> # module.load_state_dict() function might have customized steps 2025-03-14T05:25:04.9065478Z >>> # to flush the state_dict, must call it to 2025-03-14T05:25:04.9065956Z >>> # ensure correct behavior. 2025-03-14T05:25:04.9066437Z >>> my_model.load_state_dict(model_state_dict) 2025-03-14T05:25:04.9066739Z 2025-03-14T05:25:04.9066855Z .. note:: 2025-03-14T05:25:04.9067270Z load_state_dict uses collectives to coordinate reads across ranks. 2025-03-14T05:25:04.9067880Z For NCCL-based process groups, internal tensor representations of 2025-03-14T05:25:04.9068467Z objects must be moved to the GPU device before communication takes place. 2025-03-14T05:25:04.9069117Z In this case, the device used is given by ``torch.cuda.current_device()`` 2025-03-14T05:25:04.9069761Z and it is the user's responsibility to ensure that this is set so that each 2025-03-14T05:25:04.9070347Z rank has an individual GPU, via ``torch.cuda.set_device()``. 2025-03-14T05:25:04.9070665Z 2025-03-14T05:25:04.9070971Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:04.9071358Z 2025-03-14T05:25:04.9072178Z msg = Cannot scrape callname=save in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/checkpoint/state_dict_saver.py line=85. 2025-03-14T05:25:04.9073304Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:04.9073806Z 2025-03-14T05:25:04.9073947Z Save a distributed model in SPMD style. 2025-03-14T05:25:04.9074182Z 2025-03-14T05:25:04.9074528Z This function is different from ``torch.save()`` as it handles 2025-03-14T05:25:04.9075103Z ``ShardedTensor`` , and ``DTensor`` by having each rank only save their local shards. 2025-03-14T05:25:04.9075480Z 2025-03-14T05:25:04.9075761Z For each ``Stateful`` object (having both a ``state_dict`` and a ``load_state_dict``), 2025-03-14T05:25:04.9076305Z save will call ``state_dict`` before serialization. 2025-03-14T05:25:04.9076568Z 2025-03-14T05:25:04.9076679Z .. warning:: 2025-03-14T05:25:04.9077122Z There is no guarantees of Backwards Compatibility across PyTorch versions 2025-03-14T05:25:04.9077591Z for saved state_dicts. 2025-03-14T05:25:04.9077769Z 2025-03-14T05:25:04.9077873Z .. warning:: 2025-03-14T05:25:04.9078226Z If using the `process_group` argument, make sure that only its ranks 2025-03-14T05:25:04.9078772Z call `save_state_dict` and that all data in state_dict belong to it. 2025-03-14T05:25:04.9079097Z 2025-03-14T05:25:04.9079190Z .. note:: 2025-03-14T05:25:04.9079592Z When saving checkpoint for FSDP's `ShardingStrategy.HYBRID_SHARD`, only one of 2025-03-14T05:25:04.9079870Z the shard_group should be calling `save_state_dict` and the corresponding process 2025-03-14T05:25:04.9079984Z group needs to be passed in. 2025-03-14T05:25:04.9079989Z 2025-03-14T05:25:04.9080095Z .. note:: 2025-03-14T05:25:04.9080367Z If no process group is available, this function assumes the intention is to save the 2025-03-14T05:25:04.9080498Z state_dict in the local process. 2025-03-14T05:25:04.9080502Z 2025-03-14T05:25:04.9080591Z .. note: 2025-03-14T05:25:04.9080748Z Rank 0 is assumed to be the coordinator rank. 2025-03-14T05:25:04.9080753Z 2025-03-14T05:25:04.9080756Z 2025-03-14T05:25:04.9080857Z Args: 2025-03-14T05:25:04.9081018Z state_dict (Dict[str, Any]): The state_dict to save. 2025-03-14T05:25:04.9081164Z checkpoint_id (Union[str, os.PathLike, None]): 2025-03-14T05:25:04.9081392Z The ID of this checkpoint instance. The meaning of the checkpoint_id 2025-03-14T05:25:04.9081604Z depends on the storage. It can be a path to a folder or to a file. 2025-03-14T05:25:04.9081789Z It can also be a key if the storage is a key-value store. 2025-03-14T05:25:04.9081891Z (Default: ``None``) 2025-03-14T05:25:04.9082039Z storage_writer (Optional[StorageWriter]): 2025-03-14T05:25:04.9082251Z Instance of StorageWriter used to perform writes. If this is not 2025-03-14T05:25:04.9082471Z specified, DCP will automatically infer the writer based on the 2025-03-14T05:25:04.9082681Z checkpoint_id. If checkpoint_id is also None, an exception will 2025-03-14T05:25:04.9082808Z be raised. (Default: ``None``) 2025-03-14T05:25:04.9082929Z planner (Optional[SavePlanner]): 2025-03-14T05:25:04.9083148Z Instance of SavePlanner. If this is not specificed, the default 2025-03-14T05:25:04.9083278Z planner will be used. (Default: ``None``) 2025-03-14T05:25:04.9083425Z process_group (Optional[ProcessGroup]): 2025-03-14T05:25:04.9083616Z ProcessGroup to be used for cross-rank synchronization. 2025-03-14T05:25:04.9083730Z (Default: ``None``) 2025-03-14T05:25:04.9083827Z no_dist (bool): 2025-03-14T05:25:04.9084013Z If ``True``, this function will assume the intent is to load 2025-03-14T05:25:04.9084191Z a checkpoint without using cross-rank synchronization. 2025-03-14T05:25:04.9084307Z (Default: ``False``) 2025-03-14T05:25:04.9084311Z 2025-03-14T05:25:04.9084403Z Returns: 2025-03-14T05:25:04.9084580Z Metadata: Metadata object for the saved checkpoint. 2025-03-14T05:25:04.9084584Z 2025-03-14T05:25:04.9084675Z Example: 2025-03-14T05:25:04.9084789Z >>> # xdoctest: +SKIP 2025-03-14T05:25:04.9084894Z >>> my_model = MyModule() 2025-03-14T05:25:04.9084898Z 2025-03-14T05:25:04.9085025Z >>> state_dict = {"model": my_model} 2025-03-14T05:25:04.9085030Z 2025-03-14T05:25:04.9085268Z >>> fs_storage_writer = torch.distributed.checkpoint.FileSystemWriter( 2025-03-14T05:25:04.9085438Z ... "/checkpoint/1" 2025-03-14T05:25:04.9085527Z ... ) 2025-03-14T05:25:04.9085672Z >>> torch.distributed.checkpoint.save( 2025-03-14T05:25:04.9085780Z >>> state_dict=state_dict, 2025-03-14T05:25:04.9085916Z >>> storage_writer=fs_storage_writer, 2025-03-14T05:25:04.9086003Z >>> ) 2025-03-14T05:25:04.9086007Z 2025-03-14T05:25:04.9086112Z .. note:: 2025-03-14T05:25:04.9086331Z save_state_dict uses collectives to coordinate writes across ranks. 2025-03-14T05:25:04.9086611Z For NCCL-based process groups, internal tensor representations of 2025-03-14T05:25:04.9086847Z objects must be moved to the GPU device before communication takes place. 2025-03-14T05:25:04.9087083Z In this case, the device used is given by ``torch.cuda.current_device()`` 2025-03-14T05:25:04.9087292Z and it is the user's responsibility to ensure that this is set so that 2025-03-14T05:25:04.9087504Z each rank has an individual GPU, via ``torch.cuda.set_device()``. 2025-03-14T05:25:04.9087513Z 2025-03-14T05:25:04.9087768Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:04.9087773Z 2025-03-14T05:25:04.9088434Z msg = Cannot scrape callname=async_save in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/checkpoint/state_dict_saver.py line=195. 2025-03-14T05:25:04.9088711Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:04.9088978Z Asynchronous version of ``save``. This code first de-stages the state_dict on to the 2025-03-14T05:25:04.9089286Z staging storage (defaults to CPU memory), and then calls the `save` in a separate thread. 2025-03-14T05:25:04.9089291Z 2025-03-14T05:25:04.9089386Z .. warning:: 2025-03-14T05:25:04.9089567Z This feature is experimental and subject to change. 2025-03-14T05:25:04.9089571Z 2025-03-14T05:25:04.9089665Z Args: 2025-03-14T05:25:04.9089838Z state_dict (Dict[str, Any]): The state_dict to save. 2025-03-14T05:25:04.9089992Z checkpoint_id (Union[str, os.PathLike, None]): 2025-03-14T05:25:04.9090219Z The ID of this checkpoint instance. The meaning of the checkpoint_id 2025-03-14T05:25:04.9090426Z depends on the storage. It can be a path to a folder or to a file. 2025-03-14T05:25:04.9090608Z It can also be a key if the storage is a key-value store. 2025-03-14T05:25:04.9090710Z (Default: ``None``) 2025-03-14T05:25:04.9090858Z storage_writer (Optional[StorageWriter]): 2025-03-14T05:25:04.9091075Z Instance of StorageWriter used to perform 'stage' and 'save'. If 2025-03-14T05:25:04.9091327Z this is not specified, DCP will automatically infer the writer based on the 2025-03-14T05:25:04.9091537Z checkpoint_id. If checkpoint_id is also None, an exception will 2025-03-14T05:25:04.9091667Z be raised. (Default: ``None``) 2025-03-14T05:25:04.9091790Z planner (Optional[SavePlanner]): 2025-03-14T05:25:04.9092012Z Instance of SavePlanner. If this is not specificed, the default 2025-03-14T05:25:04.9092146Z planner will be used. (Default: ``None``) 2025-03-14T05:25:04.9092293Z process_group (Optional[ProcessGroup]): 2025-03-14T05:25:04.9092482Z ProcessGroup to be used for cross-rank synchronization. 2025-03-14T05:25:04.9092596Z (Default: ``None``) 2025-03-14T05:25:04.9092600Z 2025-03-14T05:25:04.9092690Z Returns: 2025-03-14T05:25:04.9092920Z Future: A future holding the resultant Metadata object from `save`. 2025-03-14T05:25:04.9092925Z 2025-03-14T05:25:04.9093015Z Example: 2025-03-14T05:25:04.9093131Z >>> # xdoctest: +SKIP 2025-03-14T05:25:04.9093236Z >>> my_model = MyModule() 2025-03-14T05:25:04.9093240Z 2025-03-14T05:25:04.9093369Z >>> state_dict = {"model": my_model} 2025-03-14T05:25:04.9093373Z 2025-03-14T05:25:04.9093610Z >>> fs_storage_writer = torch.distributed.checkpoint.FileSystemWriter( 2025-03-14T05:25:04.9093780Z ... "/checkpoint/1" 2025-03-14T05:25:04.9093870Z ... ) 2025-03-14T05:25:04.9094095Z >>> checkpoint_future = torch.distributed.checkpoint.async_save( 2025-03-14T05:25:04.9094206Z >>> state_dict=state_dict, 2025-03-14T05:25:04.9094344Z >>> storage_writer=fs_storage_writer, 2025-03-14T05:25:04.9094434Z >>> ) 2025-03-14T05:25:04.9094537Z >>> 2025-03-14T05:25:04.9094642Z >>> # ... do some work ... 2025-03-14T05:25:04.9094744Z >>> 2025-03-14T05:25:04.9094975Z >>> checkpoint_future.result() 2025-03-14T05:25:04.9094979Z 2025-03-14T05:25:04.9095079Z 2025-03-14T05:25:04.9095339Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:04.9095343Z 2025-03-14T05:25:04.9195367Z msg = Cannot scrape callname=construct_and_record_rdzv_event in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/elastic/events/__init__.py line=94. 2025-03-14T05:25:04.9195685Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:04.9195693Z 2025-03-14T05:25:04.9195915Z Initialize rendezvous event object and record its operations. 2025-03-14T05:25:04.9195921Z 2025-03-14T05:25:04.9196010Z Args: 2025-03-14T05:25:04.9209493Z run_id (str): The run id of the rendezvous. 2025-03-14T05:25:04.9209838Z message (str): The message describing the event. 2025-03-14T05:25:04.9210326Z node_state (NodeState): The state of the node (INIT, RUNNING, SUCCEEDED, FAILED). 2025-03-14T05:25:04.9210699Z name (str): Event name. (E.g. Current action being performed). 2025-03-14T05:25:04.9210938Z hostname (str): Hostname of the node. 2025-03-14T05:25:04.9211200Z pid (Optional[int]): The process id of the node. 2025-03-14T05:25:04.9211686Z master_endpoint (str): The master endpoint for the rendezvous store, if known. 2025-03-14T05:25:04.9212210Z local_id (Optional[int]): The local_id of the node, if defined in dynamic_rendezvous.py 2025-03-14T05:25:04.9212538Z rank (Optional[int]): The rank of the node, if known. 2025-03-14T05:25:04.9212699Z Returns: 2025-03-14T05:25:04.9212874Z None 2025-03-14T05:25:04.9213041Z Example: 2025-03-14T05:25:04.9213297Z >>> # See DynamicRendezvousHandler class 2025-03-14T05:25:04.9213465Z >>> def _record( 2025-03-14T05:25:04.9213636Z ... self, 2025-03-14T05:25:04.9213821Z ... message: str, 2025-03-14T05:25:04.9214080Z ... node_state: NodeState = NodeState.RUNNING, 2025-03-14T05:25:04.9214272Z ... rank: Optional[int] = None, 2025-03-14T05:25:04.9214430Z ... ) -> None: 2025-03-14T05:25:04.9214648Z ... construct_and_record_rdzv_event( 2025-03-14T05:25:04.9214973Z ... name=f"{self.__class__.__name__}.{get_method_name()}", 2025-03-14T05:25:04.9215169Z ... run_id=self._settings.run_id, 2025-03-14T05:25:04.9215352Z ... message=message, 2025-03-14T05:25:04.9215528Z ... node_state=node_state, 2025-03-14T05:25:04.9215831Z ... hostname=self._this_node.addr, 2025-03-14T05:25:04.9215976Z ... pid=self._this_node.pid, 2025-03-14T05:25:04.9216119Z ... local_id=self._this_node.local_id, 2025-03-14T05:25:04.9216220Z ... rank=rank, 2025-03-14T05:25:04.9216326Z ... ) 2025-03-14T05:25:04.9216333Z 2025-03-14T05:25:04.9216600Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:04.9216604Z 2025-03-14T05:25:05.2684785Z msg = Cannot scrape callname=MixedPrecision in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/fsdp/api.py line=114. 2025-03-14T05:25:05.2686601Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:05.2687254Z 2025-03-14T05:25:05.2687603Z This configures FSDP-native mixed precision training. 2025-03-14T05:25:05.2688082Z 2025-03-14T05:25:05.2688243Z Attributes: 2025-03-14T05:25:05.2688915Z param_dtype (Optional[torch.dtype]): This specifies the dtype for model 2025-03-14T05:25:05.2690327Z parameters during forward and backward and thus the dtype for 2025-03-14T05:25:05.2691415Z forward and backward computation. Outside forward and backward, the 2025-03-14T05:25:05.2692452Z *sharded* parameters are kept in full precision (e.g. for the 2025-03-14T05:25:05.2693448Z optimizer step), and for model checkpointing, the parameters are 2025-03-14T05:25:05.2694349Z always saved in full precision. (Default: ``None``) 2025-03-14T05:25:05.2695448Z reduce_dtype (Optional[torch.dtype]): This specifies the dtype for 2025-03-14T05:25:05.2696619Z gradient reduction (i.e. reduce-scatter or all-reduce). If this is 2025-03-14T05:25:05.2697498Z ``None`` but ``param_dtype`` is not ``None``, then this takes on 2025-03-14T05:25:05.2698686Z the ``param_dtype`` value, still running gradient reduction in low 2025-03-14T05:25:05.2699705Z precision. This is permitted to differ from ``param_dtype``, e.g. 2025-03-14T05:25:05.2700737Z to force gradient reduction to run in full precision. (Default: 2025-03-14T05:25:05.2701516Z ``None``) 2025-03-14T05:25:05.2702179Z buffer_dtype (Optional[torch.dtype]): This specifies the dtype for 2025-03-14T05:25:05.2703187Z buffers. FSDP does not shard buffers. Rather, FSDP casts them to 2025-03-14T05:25:05.2704182Z ``buffer_dtype`` in the first forward pass and keeps them in that 2025-03-14T05:25:05.2705199Z dtype thereafter. For model checkpointing, the buffers are saved 2025-03-14T05:25:05.2706150Z in full precision except for ``LOCAL_STATE_DICT``. (Default: 2025-03-14T05:25:05.2706817Z ``None``) 2025-03-14T05:25:05.2707213Z keep_low_precision_grads (bool): If ``False``, then FSDP upcasts 2025-03-14T05:25:05.2707771Z gradients to full precision after the backward pass in preparation 2025-03-14T05:25:05.2708328Z for the optimizer step. If ``True``, then FSDP keeps the gradients 2025-03-14T05:25:05.2708876Z in the dtype used for gradient reduction, which can save memory if 2025-03-14T05:25:05.2709420Z using a custom optimizer that supports running in low precision. 2025-03-14T05:25:05.2709861Z (Default: ``False``) 2025-03-14T05:25:05.2710268Z cast_forward_inputs (bool): If ``True``, then this FSDP module casts 2025-03-14T05:25:05.2710816Z its forward args and kwargs to ``param_dtype``. This is to ensure 2025-03-14T05:25:05.2711364Z that parameter and input dtypes match for forward computation, as 2025-03-14T05:25:05.2711925Z required by many ops. This may need to be set to ``True`` when only 2025-03-14T05:25:05.2712476Z applying mixed precision to some but not all FSDP modules, in which 2025-03-14T05:25:05.2713038Z case a mixed-precision FSDP submodule needs to recast its inputs. 2025-03-14T05:25:05.2713478Z (Default: ``False``) 2025-03-14T05:25:05.2713894Z cast_root_forward_inputs (bool): If ``True``, then the root FSDP module 2025-03-14T05:25:05.2714447Z casts its forward args and kwargs to ``param_dtype``, overriding 2025-03-14T05:25:05.2714965Z the value of ``cast_forward_inputs``. For non-root FSDP modules, 2025-03-14T05:25:05.2715423Z this does not do anything. (Default: ``True``) 2025-03-14T05:25:05.2715914Z _module_classes_to_ignore: (Sequence[Type[nn.Module]]): This specifies 2025-03-14T05:25:05.2716449Z module classes to ignore for mixed precision when using an 2025-03-14T05:25:05.2716950Z ``auto_wrap_policy``: Modules of these classes will have FSDP 2025-03-14T05:25:05.2717465Z applied to them separately with mixed precision disabled (meaning 2025-03-14T05:25:05.2718013Z that the final FSDP construction would deviate from the specified 2025-03-14T05:25:05.2718537Z policy). If ``auto_wrap_policy`` is not specified, then this does 2025-03-14T05:25:05.2719289Z not do anything. This API is experimental and subject to change. 2025-03-14T05:25:05.2720337Z (Default: ``(_BatchNorm,)``) 2025-03-14T05:25:05.2720735Z 2025-03-14T05:25:05.2721050Z .. note:: This API is experimental and subject to change. 2025-03-14T05:25:05.2721572Z 2025-03-14T05:25:05.2721989Z .. note:: Only floating point tensors are cast to their specified dtypes. 2025-03-14T05:25:05.2722632Z 2025-03-14T05:25:05.2722971Z .. note:: In ``summon_full_params``, parameters are forced to full 2025-03-14T05:25:05.2723730Z precision, but buffers are not. 2025-03-14T05:25:05.2724110Z 2025-03-14T05:25:05.2724638Z .. note:: Layer norm and batch norm accumulate in ``float32`` even when 2025-03-14T05:25:05.2725575Z their inputs are in a low precision like ``float16`` or ``bfloat16``. 2025-03-14T05:25:05.2726650Z Disabling FSDP's mixed precision for those norm modules only means that 2025-03-14T05:25:05.2727731Z the affine parameters are kept in ``float32``. However, this incurs 2025-03-14T05:25:05.2728775Z separate all-gathers and reduce-scatters for those norm modules, which 2025-03-14T05:25:05.2729855Z may be inefficient, so if the workload permits, the user should prefer 2025-03-14T05:25:05.2730782Z to still apply mixed precision to those modules. 2025-03-14T05:25:05.2731298Z 2025-03-14T05:25:05.2731691Z .. note:: By default, if the user passes a model with any ``_BatchNorm`` 2025-03-14T05:25:05.2732681Z modules and specifies an ``auto_wrap_policy``, then the batch norm 2025-03-14T05:25:05.2733684Z modules will have FSDP applied to them separately with mixed precision 2025-03-14T05:25:05.2734677Z disabled. See the ``_module_classes_to_ignore`` argument. 2025-03-14T05:25:05.2735218Z 2025-03-14T05:25:05.2735729Z .. note:: ``MixedPrecision`` has ``cast_root_forward_inputs=True`` and 2025-03-14T05:25:05.2736750Z ``cast_forward_inputs=False`` by default. For the root FSDP instance, 2025-03-14T05:25:05.2737689Z its ``cast_root_forward_inputs`` takes precedence over its 2025-03-14T05:25:05.2738569Z ``cast_forward_inputs``. For non-root FSDP instances, their 2025-03-14T05:25:05.2739536Z ``cast_root_forward_inputs`` values are ignored. The default setting is 2025-03-14T05:25:05.2740599Z sufficient for the typical case where each FSDP instance has the same 2025-03-14T05:25:05.2741667Z ``MixedPrecision`` configuration and only needs to cast inputs to the 2025-03-14T05:25:05.2742552Z ``param_dtype`` at the beginning of the model's forward pass. 2025-03-14T05:25:05.2743096Z 2025-03-14T05:25:05.2743509Z .. note:: For nested FSDP instances with different ``MixedPrecision`` 2025-03-14T05:25:05.2744750Z configurations, we recommend setting individual ``cast_forward_inputs`` 2025-03-14T05:25:05.2745803Z values to configure casting inputs or not before each instance's 2025-03-14T05:25:05.2746772Z forward. In such a case, since the casts happen before each FSDP 2025-03-14T05:25:05.2747777Z instance's forward, a parent FSDP instance should have its non-FSDP 2025-03-14T05:25:05.2748857Z submodules run before its FSDP submodules to avoid the activation dtype 2025-03-14T05:25:05.2749906Z being changed due to a different ``MixedPrecision`` configuration. 2025-03-14T05:25:05.2750534Z 2025-03-14T05:25:05.2750705Z Example:: 2025-03-14T05:25:05.2750975Z 2025-03-14T05:25:05.2751215Z >>> # xdoctest: +SKIP("undefined variables") 2025-03-14T05:25:05.2751992Z >>> model = nn.Sequential(nn.Linear(3, 3), nn.Linear(3, 3)) 2025-03-14T05:25:05.2752700Z >>> model[1] = FSDP( 2025-03-14T05:25:05.2753203Z >>> model[1], 2025-03-14T05:25:05.2754084Z >>> mixed_precision=MixedPrecision(param_dtype=torch.float16, cast_forward_inputs=True), 2025-03-14T05:25:05.2755058Z >>> ) 2025-03-14T05:25:05.2755475Z >>> model = FSDP( 2025-03-14T05:25:05.2755951Z >>> model, 2025-03-14T05:25:05.2756819Z >>> mixed_precision=MixedPrecision(param_dtype=torch.bfloat16, cast_forward_inputs=True), 2025-03-14T05:25:05.2757797Z >>> ) 2025-03-14T05:25:05.2758193Z 2025-03-14T05:25:05.2758612Z The above shows a working example. On the other hand, if ``model[1]`` 2025-03-14T05:25:05.2759623Z were replaced with ``model[0]``, meaning that the submodule using 2025-03-14T05:25:05.2760423Z different ``MixedPrecision`` ran its forward first, then ``model[1]`` 2025-03-14T05:25:05.2761402Z would incorrectly see ``float16`` activations instead of ``bfloat16`` 2025-03-14T05:25:05.2762205Z ones. 2025-03-14T05:25:05.2762425Z 2025-03-14T05:25:05.2762434Z 2025-03-14T05:25:05.2763074Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:05.2763795Z 2025-03-14T05:25:05.2764977Z msg = Cannot scrape callname=FullStateDictConfig in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/fsdp/api.py line=295. 2025-03-14T05:25:05.2766855Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:05.2767589Z 2025-03-14T05:25:05.2767983Z ``FullStateDictConfig`` is a config class meant to be used with 2025-03-14T05:25:05.2768940Z ``StateDictType.FULL_STATE_DICT``. We recommend enabling both 2025-03-14T05:25:05.2769908Z ``offload_to_cpu=True`` and ``rank0_only=True`` when saving full state 2025-03-14T05:25:05.2770918Z dicts to save GPU memory and CPU memory, respectively. This config class 2025-03-14T05:25:05.2771944Z is meant to be used via the :func:`state_dict_type` context manager as 2025-03-14T05:25:05.2772693Z follows: 2025-03-14T05:25:05.2772916Z 2025-03-14T05:25:05.2773163Z >>> # xdoctest: +SKIP("undefined variables") 2025-03-14T05:25:05.2774038Z >>> from torch.distributed.fsdp import FullyShardedDataParallel as FSDP 2025-03-14T05:25:05.2774935Z >>> fsdp = FSDP(model, auto_wrap_policy=...) 2025-03-14T05:25:05.2775831Z >>> cfg = FullStateDictConfig(offload_to_cpu=True, rank0_only=True) 2025-03-14T05:25:05.2776842Z >>> with FSDP.state_dict_type(fsdp, StateDictType.FULL_STATE_DICT, cfg): 2025-03-14T05:25:05.2777674Z >>> state = fsdp.state_dict() 2025-03-14T05:25:05.2778441Z >>> # `state` will be empty on non rank 0 and contain CPU tensors on rank 0. 2025-03-14T05:25:05.2779496Z >>> # To reload checkpoint for inference, finetuning, transfer learning, etc: 2025-03-14T05:25:05.2780572Z >>> model = model_fn() # Initialize model in preparation for wrapping with FSDP 2025-03-14T05:25:05.2781432Z >>> if dist.get_rank() == 0: 2025-03-14T05:25:05.2782125Z >>> # Load checkpoint only on rank 0 to avoid memory redundancy 2025-03-14T05:25:05.2782942Z >>> state_dict = torch.load("my_checkpoint.pt") 2025-03-14T05:25:05.2783622Z >>> model.load_state_dict(state_dict) 2025-03-14T05:25:05.2784489Z >>> # All ranks initialize FSDP module as usual. `sync_module_states` argument 2025-03-14T05:25:05.2785627Z >>> # communicates loaded checkpoint states from rank 0 to rest of the world. 2025-03-14T05:25:05.2786476Z >>> fsdp = FSDP( 2025-03-14T05:25:05.2786914Z ... model, 2025-03-14T05:25:05.2787433Z ... device_id=torch.cuda.current_device(), 2025-03-14T05:25:05.2788078Z ... auto_wrap_policy=..., 2025-03-14T05:25:05.2788647Z ... sync_module_states=True, 2025-03-14T05:25:05.2789192Z ... ) 2025-03-14T05:25:05.2789817Z >>> # After this point, all ranks have FSDP model with loaded checkpoint. 2025-03-14T05:25:05.2790452Z 2025-03-14T05:25:05.2790632Z Attributes: 2025-03-14T05:25:05.2791242Z rank0_only (bool): If ``True``, then only rank 0 saves the full state 2025-03-14T05:25:05.2792229Z dict, and nonzero ranks save an empty dict. If ``False``, then all 2025-03-14T05:25:05.2793120Z ranks save the full state dict. (Default: ``False``) 2025-03-14T05:25:05.2793623Z 2025-03-14T05:25:05.2794115Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:05.2794821Z 2025-03-14T05:25:05.2869446Z msg = Cannot scrape callname=FullyShardedDataParallel.set_state_dict_type in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/fsdp/fully_sharded_data_parallel.py line=639. 2025-03-14T05:25:05.2871982Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:05.2873173Z Set the ``state_dict_type`` of all the descendant FSDP modules of the target module. 2025-03-14T05:25:05.2873826Z 2025-03-14T05:25:05.2874294Z Also takes (optional) configuration for the model's and optimizer's state dict. 2025-03-14T05:25:05.2875408Z The target module does not have to be a FSDP module. If the target 2025-03-14T05:25:05.2876677Z module is a FSDP module, its ``state_dict_type`` will also be changed. 2025-03-14T05:25:05.2877322Z 2025-03-14T05:25:05.2877717Z .. note:: This API should be called for only the top-level (root) 2025-03-14T05:25:05.2878526Z module. 2025-03-14T05:25:05.2878797Z 2025-03-14T05:25:05.2879209Z .. note:: This API enables users to transparently use the conventional 2025-03-14T05:25:05.2880184Z ``state_dict`` API to take model checkpoints in cases where the 2025-03-14T05:25:05.2881202Z root FSDP module is wrapped by another ``nn.Module``. For example, 2025-03-14T05:25:05.2882246Z the following will ensure ``state_dict`` is called on all non-FSDP 2025-03-14T05:25:05.2883345Z instances, while dispatching into `sharded_state_dict` implementation 2025-03-14T05:25:05.2884174Z for FSDP: 2025-03-14T05:25:05.2884485Z 2025-03-14T05:25:05.2884661Z Example:: 2025-03-14T05:25:05.2884934Z 2025-03-14T05:25:05.2885184Z >>> # xdoctest: +SKIP("undefined variables") 2025-03-14T05:25:05.2885857Z >>> model = DDP(FSDP(...)) 2025-03-14T05:25:05.2886464Z >>> FSDP.set_state_dict_type( 2025-03-14T05:25:05.2887053Z >>> model, 2025-03-14T05:25:05.2887602Z >>> StateDictType.SHARDED_STATE_DICT, 2025-03-14T05:25:05.2888476Z >>> state_dict_config = ShardedStateDictConfig(offload_to_cpu=True), 2025-03-14T05:25:05.2889567Z >>> optim_state_dict_config = OptimStateDictConfig(offload_to_cpu=True), 2025-03-14T05:25:05.2890406Z >>> ) 2025-03-14T05:25:05.2890916Z >>> param_state_dict = model.state_dict() 2025-03-14T05:25:05.2891711Z >>> optim_state_dict = FSDP.optim_state_dict(model, optim) 2025-03-14T05:25:05.2892280Z 2025-03-14T05:25:05.2892461Z Args: 2025-03-14T05:25:05.2892939Z module (torch.nn.Module): Root module. 2025-03-14T05:25:05.2893853Z state_dict_type (StateDictType): the desired ``state_dict_type`` to set. 2025-03-14T05:25:05.2895009Z state_dict_config (Optional[StateDictConfig]): the configuration for the 2025-03-14T05:25:05.2896011Z target ``state_dict_type``. 2025-03-14T05:25:05.2896918Z optim_state_dict_config (Optional[OptimStateDictConfig]): the configuration 2025-03-14T05:25:05.2898068Z for the optimizer state dict. 2025-03-14T05:25:05.2898516Z 2025-03-14T05:25:05.2898700Z Returns: 2025-03-14T05:25:05.2899412Z A StateDictSettings that include the previous state_dict type and 2025-03-14T05:25:05.2900298Z configuration for the module. 2025-03-14T05:25:05.2900882Z 2025-03-14T05:25:05.2901579Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:05.2902313Z 2025-03-14T05:25:05.2903921Z msg = Cannot scrape callname=FullyShardedDataParallel.state_dict_type in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/fsdp/fully_sharded_data_parallel.py line=797. 2025-03-14T05:25:05.2906241Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:05.2907479Z Set the ``state_dict_type`` of all the descendant FSDP modules of the target module. 2025-03-14T05:25:05.2908210Z 2025-03-14T05:25:05.2908840Z This context manager has the same functions as :meth:`set_state_dict_type`. Read the document of 2025-03-14T05:25:05.2910116Z :meth:`set_state_dict_type` for the detail. 2025-03-14T05:25:05.2910584Z 2025-03-14T05:25:05.2910768Z Example:: 2025-03-14T05:25:05.2911050Z 2025-03-14T05:25:05.2911280Z >>> # xdoctest: +SKIP("undefined variables") 2025-03-14T05:25:05.2911921Z >>> model = DDP(FSDP(...)) 2025-03-14T05:25:05.2912494Z >>> with FSDP.state_dict_type( 2025-03-14T05:25:05.2913073Z >>> model, 2025-03-14T05:25:05.2913635Z >>> StateDictType.SHARDED_STATE_DICT, 2025-03-14T05:25:05.2914262Z >>> ): 2025-03-14T05:25:05.2914904Z >>> checkpoint = model.state_dict() 2025-03-14T05:25:05.2915370Z 2025-03-14T05:25:05.2915528Z Args: 2025-03-14T05:25:05.2915998Z module (torch.nn.Module): Root module. 2025-03-14T05:25:05.2916837Z state_dict_type (StateDictType): the desired ``state_dict_type`` to set. 2025-03-14T05:25:05.2917938Z state_dict_config (Optional[StateDictConfig]): the model ``state_dict`` 2025-03-14T05:25:05.2918918Z configuration for the target ``state_dict_type``. 2025-03-14T05:25:05.2919875Z optim_state_dict_config (Optional[OptimStateDictConfig]): the optimizer 2025-03-14T05:25:05.2920921Z ``state_dict`` configuration for the target ``state_dict_type``. 2025-03-14T05:25:05.2921702Z 2025-03-14T05:25:05.2922400Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:05.2923105Z 2025-03-14T05:25:05.2951492Z msg = Cannot scrape callname=FullyShardedDataParallel.optim_state_dict in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/fsdp/fully_sharded_data_parallel.py line=1810. 2025-03-14T05:25:05.2953878Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:05.2954610Z 2025-03-14T05:25:05.2955075Z Transform the state-dict of an optimizer corresponding to a sharded model. 2025-03-14T05:25:05.2955737Z 2025-03-14T05:25:05.2956056Z The given state-dict can be transformed to one of three types: 2025-03-14T05:25:05.2957037Z 1) full optimizer state_dict, 2) sharded optimizer state_dict, 3) local optimizer state_dict. 2025-03-14T05:25:05.2957862Z 2025-03-14T05:25:05.2958315Z For full optimizer state_dict, all states are unflattened and not sharded. 2025-03-14T05:25:05.2959430Z Rank0 only and CPU only can be specified via :meth:`state_dict_type` to 2025-03-14T05:25:05.2960251Z avoid OOM. 2025-03-14T05:25:05.2960489Z 2025-03-14T05:25:05.2960947Z For sharded optimizer state_dict, all states are unflattened but sharded. 2025-03-14T05:25:05.2962038Z CPU only can be specified via :meth:`state_dict_type` to further save 2025-03-14T05:25:05.2962829Z memory. 2025-03-14T05:25:05.2963055Z 2025-03-14T05:25:05.2963483Z For local state_dict, no transformation will be performed. But a state 2025-03-14T05:25:05.2964566Z will be converted from nn.Tensor to ShardedTensor to represent its sharding 2025-03-14T05:25:05.2965470Z nature (this is not supported yet). 2025-03-14T05:25:05.2965867Z 2025-03-14T05:25:05.2966060Z Example:: 2025-03-14T05:25:05.2966294Z 2025-03-14T05:25:05.2966541Z >>> # xdoctest: +SKIP("undefined variables") 2025-03-14T05:25:05.2967362Z >>> from torch.distributed.fsdp import FullyShardedDataParallel as FSDP 2025-03-14T05:25:05.2968266Z >>> from torch.distributed.fsdp import StateDictType 2025-03-14T05:25:05.2968965Z >>> from torch.distributed.fsdp import FullStateDictConfig 2025-03-14T05:25:05.2969479Z >>> from torch.distributed.fsdp import FullOptimStateDictConfig 2025-03-14T05:25:05.2969922Z >>> # Save a checkpoint 2025-03-14T05:25:05.2970214Z >>> model, optim = ... 2025-03-14T05:25:05.2970497Z >>> FSDP.set_state_dict_type( 2025-03-14T05:25:05.2970801Z >>> model, 2025-03-14T05:25:05.2971076Z >>> StateDictType.FULL_STATE_DICT, 2025-03-14T05:25:05.2971446Z >>> FullStateDictConfig(rank0_only=False), 2025-03-14T05:25:05.2971849Z >>> FullOptimStateDictConfig(rank0_only=False), 2025-03-14T05:25:05.2972323Z >>> ) 2025-03-14T05:25:05.2972573Z >>> state_dict = model.state_dict() 2025-03-14T05:25:05.2972985Z >>> optim_state_dict = FSDP.optim_state_dict(model, optim) 2025-03-14T05:25:05.2973433Z >>> save_a_checkpoint(state_dict, optim_state_dict) 2025-03-14T05:25:05.2973808Z >>> # Load a checkpoint 2025-03-14T05:25:05.2974098Z >>> model, optim = ... 2025-03-14T05:25:05.2974434Z >>> state_dict, optim_state_dict = load_a_checkpoint() 2025-03-14T05:25:05.2974818Z >>> FSDP.set_state_dict_type( 2025-03-14T05:25:05.2975180Z >>> model, 2025-03-14T05:25:05.2975453Z >>> StateDictType.FULL_STATE_DICT, 2025-03-14T05:25:05.2975928Z >>> FullStateDictConfig(rank0_only=False), 2025-03-14T05:25:05.2976330Z >>> FullOptimStateDictConfig(rank0_only=False), 2025-03-14T05:25:05.2976673Z >>> ) 2025-03-14T05:25:05.2976929Z >>> model.load_state_dict(state_dict) 2025-03-14T05:25:05.2977689Z >>> optim_state_dict = FSDP.optim_state_dict_to_load( 2025-03-14T05:25:05.2978367Z >>> model, optim, optim_state_dict 2025-03-14T05:25:05.2978914Z >>> ) 2025-03-14T05:25:05.2979356Z >>> optim.load_state_dict(optim_state_dict) 2025-03-14T05:25:05.2979810Z 2025-03-14T05:25:05.2979964Z Args: 2025-03-14T05:25:05.2980524Z model (torch.nn.Module): Root module (which may or may not be a 2025-03-14T05:25:05.2981474Z :class:`FullyShardedDataParallel` instance) whose parameters 2025-03-14T05:25:05.2982331Z were passed into the optimizer ``optim``. 2025-03-14T05:25:05.2983106Z optim (torch.optim.Optimizer): Optimizer for ``model`` 's 2025-03-14T05:25:05.2983856Z parameters. 2025-03-14T05:25:05.2984528Z optim_state_dict (Dict[str, Any]): the target optimizer state_dict to 2025-03-14T05:25:05.2985538Z transform. If the value is None, optim.state_dict() will be used. ( 2025-03-14T05:25:05.2986331Z Default: ``None``) 2025-03-14T05:25:05.2987079Z group (dist.ProcessGroup): Model's process group across which parameters 2025-03-14T05:25:05.2988127Z are sharded or ``None`` if using the default process group. ( 2025-03-14T05:25:05.2988884Z Default: ``None``) 2025-03-14T05:25:05.2989201Z 2025-03-14T05:25:05.2989381Z Returns: 2025-03-14T05:25:05.2989960Z Dict[str, Any]: A :class:`dict` containing the optimizer state for 2025-03-14T05:25:05.2990845Z ``model``. The sharding of the optimizer state is based on 2025-03-14T05:25:05.2991546Z ``state_dict_type``. 2025-03-14T05:25:05.2991869Z 2025-03-14T05:25:05.2992362Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:05.2993061Z 2025-03-14T05:25:05.2994723Z msg = Cannot scrape callname=FullyShardedDataParallel.optim_state_dict_to_load in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/fsdp/fully_sharded_data_parallel.py line=1908. 2025-03-14T05:25:05.2997066Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:05.2998007Z 2025-03-14T05:25:05.2998688Z Convert an optimizer state-dict so that it can be loaded into the optimizer associated with the FSDP model. 2025-03-14T05:25:05.2999568Z 2025-03-14T05:25:05.2999883Z Given a ``optim_state_dict`` that is transformed through 2025-03-14T05:25:05.3000783Z :meth:`optim_state_dict`, it gets converted to the flattened optimizer 2025-03-14T05:25:05.3001778Z state_dict that can be loaded to ``optim`` which is the optimizer for 2025-03-14T05:25:05.3002745Z ``model``. ``model`` must be sharded by FullyShardedDataParallel. 2025-03-14T05:25:05.3003319Z 2025-03-14T05:25:05.3003547Z >>> # xdoctest: +SKIP("undefined variables") 2025-03-14T05:25:05.3004390Z >>> from torch.distributed.fsdp import FullyShardedDataParallel as FSDP 2025-03-14T05:25:05.3005285Z >>> from torch.distributed.fsdp import StateDictType 2025-03-14T05:25:05.3006084Z >>> from torch.distributed.fsdp import FullStateDictConfig 2025-03-14T05:25:05.3007001Z >>> from torch.distributed.fsdp import FullOptimStateDictConfig 2025-03-14T05:25:05.3007994Z >>> # Save a checkpoint 2025-03-14T05:25:05.3008494Z >>> model, optim = ... 2025-03-14T05:25:05.3008983Z >>> FSDP.set_state_dict_type( 2025-03-14T05:25:05.3009480Z >>> model, 2025-03-14T05:25:05.3009925Z >>> StateDictType.FULL_STATE_DICT, 2025-03-14T05:25:05.3010537Z >>> FullStateDictConfig(rank0_only=False), 2025-03-14T05:25:05.3011202Z >>> FullOptimStateDictConfig(rank0_only=False), 2025-03-14T05:25:05.3011818Z >>> ) 2025-03-14T05:25:05.3012439Z >>> state_dict = model.state_dict() 2025-03-14T05:25:05.3013086Z >>> original_osd = optim.state_dict() 2025-03-14T05:25:05.3013754Z >>> optim_state_dict = FSDP.optim_state_dict( 2025-03-14T05:25:05.3014382Z >>> model, 2025-03-14T05:25:05.3014813Z >>> optim, 2025-03-14T05:25:05.3015300Z >>> optim_state_dict=original_osd 2025-03-14T05:25:05.3015899Z >>> ) 2025-03-14T05:25:05.3016389Z >>> save_a_checkpoint(state_dict, optim_state_dict) 2025-03-14T05:25:05.3017077Z >>> # Load a checkpoint 2025-03-14T05:25:05.3017563Z >>> model, optim = ... 2025-03-14T05:25:05.3018157Z >>> state_dict, optim_state_dict = load_a_checkpoint() 2025-03-14T05:25:05.3018877Z >>> FSDP.set_state_dict_type( 2025-03-14T05:25:05.3019426Z >>> model, 2025-03-14T05:25:05.3019915Z >>> StateDictType.FULL_STATE_DICT, 2025-03-14T05:25:05.3020577Z >>> FullStateDictConfig(rank0_only=False), 2025-03-14T05:25:05.3021286Z >>> FullOptimStateDictConfig(rank0_only=False), 2025-03-14T05:25:05.3021845Z >>> ) 2025-03-14T05:25:05.3022123Z >>> model.load_state_dict(state_dict) 2025-03-14T05:25:05.3022518Z >>> optim_state_dict = FSDP.optim_state_dict_to_load( 2025-03-14T05:25:05.3022918Z >>> model, optim, optim_state_dict 2025-03-14T05:25:05.3023238Z >>> ) 2025-03-14T05:25:05.3023498Z >>> optim.load_state_dict(optim_state_dict) 2025-03-14T05:25:05.3023738Z 2025-03-14T05:25:05.3023842Z Args: 2025-03-14T05:25:05.3024168Z model (torch.nn.Module): Root module (which may or may not be a 2025-03-14T05:25:05.3024696Z :class:`FullyShardedDataParallel` instance) whose parameters 2025-03-14T05:25:05.3025161Z were passed into the optimizer ``optim``. 2025-03-14T05:25:05.3025603Z optim (torch.optim.Optimizer): Optimizer for ``model`` 's 2025-03-14T05:25:05.3025996Z parameters. 2025-03-14T05:25:05.3026368Z optim_state_dict (Dict[str, Any]): The optimizer states to be loaded. 2025-03-14T05:25:05.3026920Z is_named_optimizer (bool): Is this optimizer a NamedOptimizer or 2025-03-14T05:25:05.3027452Z KeyedOptimizer. Only set to True if ``optim`` is TorchRec's 2025-03-14T05:25:05.3028295Z KeyedOptimizer or torch.distributed's NamedOptimizer. 2025-03-14T05:25:05.3029166Z load_directly (bool): If this is set to True, this API will also 2025-03-14T05:25:05.3030073Z call optim.load_state_dict(result) before returning the result. 2025-03-14T05:25:05.3031098Z Otherwise, users are responsible to call ``optim.load_state_dict()`` 2025-03-14T05:25:05.3031924Z (Default: ``False``) 2025-03-14T05:25:05.3032719Z group (dist.ProcessGroup): Model's process group across which parameters 2025-03-14T05:25:05.3033752Z are sharded or ``None`` if using the default process group. ( 2025-03-14T05:25:05.3034491Z Default: ``None``) 2025-03-14T05:25:05.3034828Z 2025-03-14T05:25:05.3035310Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:05.3036037Z 2025-03-14T05:25:05.3521560Z msg = Cannot scrape callname=_RemoteModule.__init__ in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/nn/api/remote_module.py line=128. 2025-03-14T05:25:05.3523612Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:05.3524369Z 2025-03-14T05:25:05.3524812Z RemoteModule instance can only be created after RPC initialization. 2025-03-14T05:25:05.3525794Z 2025-03-14T05:25:05.3526167Z It creates a user-specified module on a specified remote node. 2025-03-14T05:25:05.3527157Z It behaves like a regular ``nn.Module`` except that the ``forward`` method is 2025-03-14T05:25:05.3528045Z executed on the remote node. 2025-03-14T05:25:05.3528808Z It takes care of autograd recording to ensure the backward pass propagates 2025-03-14T05:25:05.3529789Z gradients back to the corresponding remote module. 2025-03-14T05:25:05.3530969Z It can be shared across processors using `RPC framework `__, 2025-03-14T05:25:05.3532404Z without incurring any overheads of copying the actual module, 2025-03-14T05:25:05.3533350Z which is equivalent to an :class:`~torch.distributed.rpc.RRef` 2025-03-14T05:25:05.3534182Z pointing to the remote module. 2025-03-14T05:25:05.3534568Z 2025-03-14T05:25:05.3534957Z The arguments of ``forward_async`` and ``forward`` are the same as 2025-03-14T05:25:05.3536013Z the ``forward`` method of the module returned by the ``module_cls``. 2025-03-14T05:25:05.3536660Z 2025-03-14T05:25:05.3537243Z Apart from ``forward_async`` and ``forward``, no other methods are supported from nn.Module for now. 2025-03-14T05:25:05.3538101Z 2025-03-14T05:25:05.3538554Z Particularly, to create a hybrid model, typically the local modules should be 2025-03-14T05:25:05.3539951Z created outside of remote modules, rather than as submodules of any remote module (by calling ``add_module``). 2025-03-14T05:25:05.3541077Z Hybrid Example: 2025-03-14T05:25:05.3541548Z >>> class HybridModel(nn.Module): 2025-03-14T05:25:05.3542196Z >>> def __init__(self) -> None: 2025-03-14T05:25:05.3542825Z >>> nn.Module.__init__(self) 2025-03-14T05:25:05.3543507Z >>> self.remote_embedding = RemoteModule(...) 2025-03-14T05:25:05.3544233Z >>> self.local_linear = nn.Linear(...) 2025-03-14T05:25:05.3544688Z 2025-03-14T05:25:05.3545081Z For example, if ``module_cls`` returns an instance of ``nn.Linear``, 2025-03-14T05:25:05.3546157Z that has ``forward`` method signature, ``def forward(input: Tensor) -> Tensor:``, 2025-03-14T05:25:05.3547142Z the generated ``RemoteModule`` will have 2 methods in signature of 2025-03-14T05:25:05.3547926Z ``def forward(input: Tensor) -> Tensor:`` and 2025-03-14T05:25:05.3548659Z ``def forward_async(input: Tensor) -> Future[Tensor]:``. 2025-03-14T05:25:05.3549176Z 2025-03-14T05:25:05.3549364Z .. note:: 2025-03-14T05:25:05.3549854Z If the remote module is placed on a cuda device, 2025-03-14T05:25:05.3550756Z any input CPU tensors will be automatically moved to the same cuda device, 2025-03-14T05:25:05.3551745Z and GPU tensors are returned over the wire according to the device map of the remote worker on TensorPipe RPC backend. 2025-03-14T05:25:05.3552278Z 2025-03-14T05:25:05.3552371Z Args: 2025-03-14T05:25:05.3552807Z remote_device (str): Device on the destination worker where we'd like to place this module. 2025-03-14T05:25:05.3553526Z The device can be a local device or a remote device specified by one of the following remote 2025-03-14T05:25:05.3554056Z formats: 2025-03-14T05:25:05.3554216Z 2025-03-14T05:25:05.3554363Z 1. "rank:/" (ex: "rank:0/cuda:0"). 2025-03-14T05:25:05.3554782Z 2. "/" (ex: "trainer0/cuda:0"). 2025-03-14T05:25:05.3555061Z 2025-03-14T05:25:05.3555311Z In addition, the device field can be optional and the default value is "cpu". 2025-03-14T05:25:05.3555803Z module_cls (nn.Module): For example, 2025-03-14T05:25:05.3556162Z >>> class MyModule(nn.Module): 2025-03-14T05:25:05.3556495Z >>> def forward(input): 2025-03-14T05:25:05.3556811Z >>> return input + 1 2025-03-14T05:25:05.3557110Z >>> 2025-03-14T05:25:05.3557349Z >>> module_cls = MyModule 2025-03-14T05:25:05.3557976Z args (Sequence, optional): args to be passed to ``module_cls``. 2025-03-14T05:25:05.3558880Z kwargs (Dict, optional): kwargs to be passed to ``module_cls``. 2025-03-14T05:25:05.3560208Z _module_interface_cls (type, optional): The TorchScript interface type for the module 2025-03-14T05:25:05.3561397Z to be created. The type object should be decorated by @torch.jit.interface. 2025-03-14T05:25:05.3562477Z If not provided, the generated RemoteModule is not torchscript-able. 2025-03-14T05:25:05.3563536Z Warning, this is an experimental API and susceptible to frequent changes. 2025-03-14T05:25:05.3564206Z 2025-03-14T05:25:05.3564380Z Returns: 2025-03-14T05:25:05.3565192Z A remote module instance which wraps the :class:`~nn.Module` created by the 2025-03-14T05:25:05.3566348Z user-provided ``module_cls``, it has a blocking ``forward`` method and an 2025-03-14T05:25:05.3567558Z asynchronous ``forward_async`` method that returns a future of the ``forward`` call 2025-03-14T05:25:05.3568549Z on the user-provided module on the remote side. 2025-03-14T05:25:05.3569026Z 2025-03-14T05:25:05.3569230Z Example:: 2025-03-14T05:25:05.3569728Z Run the following code in two different processes: 2025-03-14T05:25:05.3570248Z 2025-03-14T05:25:05.3570455Z >>> # xdoctest: +SKIP("distributed") 2025-03-14T05:25:05.3571030Z >>> # On worker 0: 2025-03-14T05:25:05.3571476Z >>> import torch 2025-03-14T05:25:05.3571944Z >>> import torch.distributed.rpc as rpc 2025-03-14T05:25:05.3572571Z >>> from torch import nn, Tensor 2025-03-14T05:25:05.3573297Z >>> from torch.distributed.nn.api.remote_module import RemoteModule 2025-03-14T05:25:05.3574109Z >>> 2025-03-14T05:25:05.3574589Z >>> rpc.init_rpc("worker0", rank=0, world_size=2) 2025-03-14T05:25:05.3575041Z >>> remote_linear_module = RemoteModule( 2025-03-14T05:25:05.3575415Z >>> "worker1/cpu", nn.Linear, args=(20, 30), 2025-03-14T05:25:05.3575858Z >>> ) 2025-03-14T05:25:05.3576101Z >>> input = torch.randn(128, 20) 2025-03-14T05:25:05.3576482Z >>> ret_fut = remote_linear_module.forward_async(input) 2025-03-14T05:25:05.3576877Z >>> ret = ret_fut.wait() 2025-03-14T05:25:05.3577170Z >>> rpc.shutdown() 2025-03-14T05:25:05.3577338Z 2025-03-14T05:25:05.3577446Z >>> # On worker 1: 2025-03-14T05:25:05.3577705Z >>> import torch 2025-03-14T05:25:05.3577988Z >>> import torch.distributed.rpc as rpc 2025-03-14T05:25:05.3578329Z >>> 2025-03-14T05:25:05.3578606Z >>> rpc.init_rpc("worker1", rank=1, world_size=2) 2025-03-14T05:25:05.3578969Z >>> rpc.shutdown() 2025-03-14T05:25:05.3579147Z 2025-03-14T05:25:05.3579409Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:05.3579988Z 2025-03-14T05:25:05.3581338Z msg = Cannot scrape callname=_RemoteModule.init_from_module_rref in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/nn/api/remote_module.py line=505. 2025-03-14T05:25:05.3583205Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:05.3583735Z 2025-03-14T05:25:05.3584080Z Besides the constructor, a RemoteModule instance can also be initialized given a module RRef. 2025-03-14T05:25:05.3584537Z 2025-03-14T05:25:05.3584879Z This alternate initialization method can be particularly useful if we want to create multiple 2025-03-14T05:25:05.3585652Z RemoteModule instances that share the same underlying module and reduce memory consumption. 2025-03-14T05:25:05.3586086Z 2025-03-14T05:25:05.3586382Z Moreover, this also provides a workaround for passing script RemoteModule over RPC, 2025-03-14T05:25:05.3586976Z which is not supported. The recommended way is as follows: 2025-03-14T05:25:05.3587273Z 2025-03-14T05:25:05.3587408Z 1. the sender creates a RemoteModule; 2025-03-14T05:25:05.3587797Z 2. the sender sends its ``module_rref`` over RPC; 2025-03-14T05:25:05.3588403Z 3. the receiver calls this method to initialize another RemoteModule using the same ``module_rref``. 2025-03-14T05:25:05.3588860Z 2025-03-14T05:25:05.3589137Z Example:: 2025-03-14T05:25:05.3589622Z Run the following code in two different processes: 2025-03-14T05:25:05.3590251Z 2025-03-14T05:25:05.3590465Z >>> # xdoctest: +SKIP("distributed") 2025-03-14T05:25:05.3591023Z >>> # On worker 0: 2025-03-14T05:25:05.3591471Z >>> import torch 2025-03-14T05:25:05.3591942Z >>> import torch.distributed.rpc as rpc 2025-03-14T05:25:05.3592515Z >>> from torch import nn, Tensor 2025-03-14T05:25:05.3593277Z >>> from torch.distributed.nn.api.remote_module import RemoteModule 2025-03-14T05:25:05.3593951Z >>> 2025-03-14T05:25:05.3594238Z >>> rpc.init_rpc("worker0", rank=0, world_size=2) 2025-03-14T05:25:05.3594729Z >>> remote_module = RemoteModule( 2025-03-14T05:25:05.3595092Z >>> "worker1/cpu", nn.Linear, args=(20, 30), 2025-03-14T05:25:05.3595436Z >>> ) 2025-03-14T05:25:05.3595659Z >>> 2025-03-14T05:25:05.3595904Z >>> remote_module1 = rpc.rpc_sync( 2025-03-14T05:25:05.3596239Z >>> "worker1/cpu", 2025-03-14T05:25:05.3596550Z >>> RemoteModule.init_from_module_rref, 2025-03-14T05:25:05.3596961Z >>> ("worker1/cpu", remote_module1.get_module_rref()), 2025-03-14T05:25:05.3597330Z >>> ) 2025-03-14T05:25:05.3597560Z >>> rpc.shutdown() 2025-03-14T05:25:05.3597722Z 2025-03-14T05:25:05.3598052Z >>> # On worker 1: 2025-03-14T05:25:05.3598317Z >>> import torch 2025-03-14T05:25:05.3598598Z >>> import torch.distributed.rpc as rpc 2025-03-14T05:25:05.3598934Z >>> 2025-03-14T05:25:05.3599318Z >>> rpc.init_rpc("worker1", rank=1, world_size=2) 2025-03-14T05:25:05.3599904Z >>> rpc.shutdown() 2025-03-14T05:25:05.3600190Z 2025-03-14T05:25:05.3600358Z Args: 2025-03-14T05:25:05.3601114Z remote_device (str): Device on the destination worker where we'd like to place this module. 2025-03-14T05:25:05.3602433Z The device can be a local device or a remote device specified by one of the following remote 2025-03-14T05:25:05.3603380Z formats: 2025-03-14T05:25:05.3603646Z 2025-03-14T05:25:05.3603898Z 1. "rank:/" (ex: "rank:0/cuda:0"). 2025-03-14T05:25:05.3604675Z 2. "/" (ex: "trainer0/cuda:0"). 2025-03-14T05:25:05.3605173Z 2025-03-14T05:25:05.3605631Z In addition, the device field can be optional and the default value is "cpu". 2025-03-14T05:25:05.3606759Z module_rref (RRef[nn.Module]): The module reference shared by both the caller and 2025-03-14T05:25:05.3607595Z the created remote module. 2025-03-14T05:25:05.3608493Z _module_interface_cls (type, optional): The TorchScript interface type for the module 2025-03-14T05:25:05.3609729Z to be created. The type object should be decorated by @torch.jit.interface. 2025-03-14T05:25:05.3610825Z If not provided, the generated RemoteModule is not torchscript-able. 2025-03-14T05:25:05.3611847Z Warning, this is an experimental API and susceptible to frequent changes. 2025-03-14T05:25:05.3612511Z 2025-03-14T05:25:05.3612687Z Returns: 2025-03-14T05:25:05.3613376Z A remote module instance which wraps the :class:`~nn.Module` created by the 2025-03-14T05:25:05.3614527Z user-provided ``module_rref``, it has a blocking ``forward`` method and an 2025-03-14T05:25:05.3615741Z asynchronous ``forward_async`` method that returns a future of the ``forward`` call 2025-03-14T05:25:05.3616539Z on the user-provided module on the remote side. 2025-03-14T05:25:05.3616806Z 2025-03-14T05:25:05.3617079Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:05.3617453Z 2025-03-14T05:25:05.3618090Z msg = Cannot scrape callname=RemoteModule in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/nn/api/remote_module.py line=597. 2025-03-14T05:25:05.3619086Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:05.3619467Z 2025-03-14T05:25:05.3619714Z A RemoteModule instance can only be created after RPC initialization. 2025-03-14T05:25:05.3620065Z 2025-03-14T05:25:05.3620278Z It creates a user-specified module on a specified remote node. 2025-03-14T05:25:05.3621005Z It behaves like a regular ``nn.Module`` except that the ``forward`` method is 2025-03-14T05:25:05.3621760Z executed on the remote node. 2025-03-14T05:25:05.3622529Z It takes care of autograd recording to ensure the backward pass propagates 2025-03-14T05:25:05.3623487Z gradients back to the corresponding remote module. 2025-03-14T05:25:05.3623992Z 2025-03-14T05:25:05.3624406Z It generates two methods ``forward_async`` and ``forward`` based on the 2025-03-14T05:25:05.3625620Z signature of the ``forward`` method of ``module_cls``. ``forward_async`` 2025-03-14T05:25:05.3626729Z runs asynchronously and returns a Future. The arguments of ``forward_async`` 2025-03-14T05:25:05.3627816Z and ``forward`` are the same as the ``forward`` method of the module 2025-03-14T05:25:05.3628634Z returned by the ``module_cls``. 2025-03-14T05:25:05.3629048Z 2025-03-14T05:25:05.3629395Z For example, if ``module_cls`` returns an instance of ``nn.Linear``, 2025-03-14T05:25:05.3630478Z that has ``forward`` method signature: ``def forward(input: Tensor) -> Tensor:``, 2025-03-14T05:25:05.3631535Z the generated ``RemoteModule`` will have 2 methods with the signatures: 2025-03-14T05:25:05.3632158Z 2025-03-14T05:25:05.3632350Z | ``def forward(input: Tensor) -> Tensor:`` 2025-03-14T05:25:05.3632774Z | ``def forward_async(input: Tensor) -> Future[Tensor]:`` 2025-03-14T05:25:05.3633068Z 2025-03-14T05:25:05.3633156Z Args: 2025-03-14T05:25:05.3633593Z remote_device (str): Device on the destination worker where we'd like to place this module. 2025-03-14T05:25:05.3634365Z The format should be "/", where the device field can be parsed as torch.device type. 2025-03-14T05:25:05.3634979Z E.g., "trainer0/cpu", "trainer0", "ps0/cuda:0". 2025-03-14T05:25:05.3635489Z In addition, the device field can be optional and the default value is "cpu". 2025-03-14T05:25:05.3636116Z module_cls (nn.Module): Class for the module to be created remotely. For example, 2025-03-14T05:25:05.3636504Z 2025-03-14T05:25:05.3636620Z >>> class MyModule(nn.Module): 2025-03-14T05:25:05.3636952Z >>> def forward(input): 2025-03-14T05:25:05.3637270Z >>> return input + 1 2025-03-14T05:25:05.3637568Z >>> 2025-03-14T05:25:05.3637810Z >>> module_cls = MyModule 2025-03-14T05:25:05.3638007Z 2025-03-14T05:25:05.3638225Z args (Sequence, optional): args to be passed to ``module_cls``. 2025-03-14T05:25:05.3639025Z kwargs (Dict, optional): kwargs to be passed to ``module_cls``. 2025-03-14T05:25:05.3639559Z 2025-03-14T05:25:05.3639725Z Returns: 2025-03-14T05:25:05.3640394Z A remote module instance which wraps the :class:`~nn.Module` created by the 2025-03-14T05:25:05.3641511Z user-provided ``module_cls``, it has a blocking ``forward`` method and an 2025-03-14T05:25:05.3642687Z asynchronous ``forward_async`` method that returns a future of the ``forward`` call 2025-03-14T05:25:05.3643711Z on the user-provided module on the remote side. 2025-03-14T05:25:05.3644187Z 2025-03-14T05:25:05.3644369Z Example:: 2025-03-14T05:25:05.3644882Z Run the following code in two different processes: 2025-03-14T05:25:05.3645387Z 2025-03-14T05:25:05.3645614Z >>> # xdoctest: +SKIP("distributed") 2025-03-14T05:25:05.3646220Z >>> # On worker 0: 2025-03-14T05:25:05.3646656Z >>> import torch 2025-03-14T05:25:05.3647164Z >>> import torch.distributed.rpc as rpc 2025-03-14T05:25:05.3647797Z >>> from torch import nn, Tensor 2025-03-14T05:25:05.3648533Z >>> from torch.distributed.nn.api.remote_module import RemoteModule 2025-03-14T05:25:05.3649302Z >>> 2025-03-14T05:25:05.3649735Z >>> rpc.init_rpc("worker0", rank=0, world_size=2) 2025-03-14T05:25:05.3650144Z >>> remote_linear_module = RemoteModule( 2025-03-14T05:25:05.3650525Z >>> "worker1/cpu", nn.Linear, args=(20, 30), 2025-03-14T05:25:05.3650872Z >>> ) 2025-03-14T05:25:05.3651263Z >>> input = torch.randn(128, 20) 2025-03-14T05:25:05.3651649Z >>> ret_fut = remote_linear_module.forward_async(input) 2025-03-14T05:25:05.3652038Z >>> ret = ret_fut.wait() 2025-03-14T05:25:05.3652338Z >>> rpc.shutdown() 2025-03-14T05:25:05.3652504Z 2025-03-14T05:25:05.3652616Z >>> # On worker 1: 2025-03-14T05:25:05.3652880Z >>> import torch 2025-03-14T05:25:05.3653180Z >>> import torch.distributed.rpc as rpc 2025-03-14T05:25:05.3653270Z >>> 2025-03-14T05:25:05.3653426Z >>> rpc.init_rpc("worker1", rank=1, world_size=2) 2025-03-14T05:25:05.3653650Z >>> rpc.shutdown() 2025-03-14T05:25:05.3653655Z 2025-03-14T05:25:05.3653871Z Furthermore, a more practical example that is combined with 2025-03-14T05:25:05.3654370Z `DistributedDataParallel `__ (DDP) 2025-03-14T05:25:05.3654718Z can be found in this `tutorial `__. 2025-03-14T05:25:05.3654728Z 2025-03-14T05:25:05.3654989Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:05.3654993Z 2025-03-14T05:25:05.3806454Z msg = Cannot scrape callname=DistributedOptimizer in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/optim/optimizer.py line=130. 2025-03-14T05:25:05.3806785Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:05.3806806Z 2025-03-14T05:25:05.3807054Z DistributedOptimizer takes remote references to parameters scattered 2025-03-14T05:25:05.3807328Z across workers and applies the given optimizer locally for each parameter. 2025-03-14T05:25:05.3807333Z 2025-03-14T05:25:05.3807571Z This class uses :meth:`~torch.distributed.autograd.get_gradients` in order 2025-03-14T05:25:05.3807740Z to retrieve the gradients for specific parameters. 2025-03-14T05:25:05.3807745Z 2025-03-14T05:25:05.3807845Z Concurrent calls to 2025-03-14T05:25:05.3808071Z :meth:`~torch.distributed.optim.DistributedOptimizer.step`, 2025-03-14T05:25:05.3808224Z either from the same or different clients, will 2025-03-14T05:25:05.3808468Z be serialized on each worker -- as each worker's optimizer can only work 2025-03-14T05:25:05.3808677Z on one set of gradients at a time. However, there is no guarantee that 2025-03-14T05:25:05.3808938Z the full forward-backward-optimizer sequence will execute for one client 2025-03-14T05:25:05.3809157Z at a time. This means that the gradients being applied may not correspond 2025-03-14T05:25:05.3809400Z to the latest forward pass executed on a given worker. Also, there is no 2025-03-14T05:25:05.3809519Z guaranteed ordering across workers. 2025-03-14T05:25:05.3809523Z 2025-03-14T05:25:05.3809803Z `DistributedOptimizer` creates the local optimizer with TorchScript enabled 2025-03-14T05:25:05.3810034Z by default, so that optimizer updates are not blocked by the Python Global 2025-03-14T05:25:05.3810294Z Interpreter Lock (GIL) in the case of multithreaded training (e.g. Distributed 2025-03-14T05:25:05.3810543Z Model Parallel). This feature is currently enabled for most optimizers. You 2025-03-14T05:25:05.3810810Z can also follow `the recipe`__ in PyTorch tutorials to enable TorchScript support 2025-03-14T05:25:05.3810925Z for your own custom optimizers. 2025-03-14T05:25:05.3810929Z 2025-03-14T05:25:05.3811031Z Args: 2025-03-14T05:25:05.3811236Z optimizer_class (optim.Optimizer): the class of optimizer to 2025-03-14T05:25:05.3811362Z instantiate on each worker. 2025-03-14T05:25:05.3811579Z params_rref (list[RRef]): list of RRefs to local or remote parameters 2025-03-14T05:25:05.3811695Z to optimize. 2025-03-14T05:25:05.3811911Z args: arguments to pass to the optimizer constructor on each worker. 2025-03-14T05:25:05.3812150Z kwargs: arguments to pass to the optimizer constructor on each worker. 2025-03-14T05:25:05.3812154Z 2025-03-14T05:25:05.3812383Z Example:: 2025-03-14T05:25:05.3812583Z >>> # xdoctest: +SKIP("distributed") 2025-03-14T05:25:05.3813054Z >>> import torch.distributed.autograd as dist_autograd 2025-03-14T05:25:05.3813289Z >>> import torch.distributed.rpc as rpc 2025-03-14T05:25:05.3813470Z >>> from torch import optim 2025-03-14T05:25:05.3813829Z >>> from torch.distributed.optim import DistributedOptimizer 2025-03-14T05:25:05.3813985Z >>> 2025-03-14T05:25:05.3814239Z >>> with dist_autograd.context() as context_id: 2025-03-14T05:25:05.3814416Z >>> # Forward pass. 2025-03-14T05:25:05.3814783Z >>> rref1 = rpc.remote("worker1", torch.add, args=(torch.ones(2), 3)) 2025-03-14T05:25:05.3815277Z >>> rref2 = rpc.remote("worker1", torch.add, args=(torch.ones(2), 1)) 2025-03-14T05:25:05.3815508Z >>> loss = rref1.to_here() + rref2.to_here() 2025-03-14T05:25:05.3815749Z >>> 2025-03-14T05:25:05.3815933Z >>> # Backward pass. 2025-03-14T05:25:05.3816228Z >>> dist_autograd.backward(context_id, [loss.sum()]) 2025-03-14T05:25:05.3816387Z >>> 2025-03-14T05:25:05.3816586Z >>> # Optimizer. 2025-03-14T05:25:05.3816805Z >>> dist_optim = DistributedOptimizer( 2025-03-14T05:25:05.3816982Z >>> optim.SGD, 2025-03-14T05:25:05.3817134Z >>> [rref1, rref2], 2025-03-14T05:25:05.3817287Z >>> lr=0.05, 2025-03-14T05:25:05.3817435Z >>> ) 2025-03-14T05:25:05.3817647Z >>> dist_optim.step(context_id) 2025-03-14T05:25:05.3817657Z 2025-03-14T05:25:05.3817949Z __ https://github.com/pytorch/tutorials/pull/1465 2025-03-14T05:25:05.3817959Z 2025-03-14T05:25:05.3818466Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:05.3818476Z 2025-03-14T05:25:05.3828134Z msg = Cannot scrape callname=PostLocalSGDOptimizer in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/optim/post_localSGD_optimizer.py line=9. 2025-03-14T05:25:05.3828632Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:05.3828645Z 2025-03-14T05:25:05.3829387Z Wraps an arbitrary :class:`torch.optim.Optimizer` and runs `post-local SGD `_, 2025-03-14T05:25:05.3829666Z This optimizer runs local optimizer at every step. 2025-03-14T05:25:05.3830093Z After the warm-up stage, it averages parameters periodically afer the local optimizer is applied. 2025-03-14T05:25:05.3830100Z 2025-03-14T05:25:05.3830191Z Args: 2025-03-14T05:25:05.3830319Z optim: The local optimizer. 2025-03-14T05:25:05.3830549Z averager: A model averager instance to run post-localSGD algorithm. 2025-03-14T05:25:05.3830554Z 2025-03-14T05:25:05.3830670Z Example:: 2025-03-14T05:25:05.3830680Z 2025-03-14T05:25:05.3830814Z >>> # xdoctest: +SKIP("undefined variables") 2025-03-14T05:25:05.3830925Z >>> import torch 2025-03-14T05:25:05.3831048Z >>> import torch.distributed as dist 2025-03-14T05:25:05.3831337Z >>> import torch.distributed.algorithms.model_averaging.averagers as averagers 2025-03-14T05:25:05.3831446Z >>> import torch.nn as nn 2025-03-14T05:25:05.3831663Z >>> from torch.distributed.optim import PostLocalSGDOptimizer 2025-03-14T05:25:05.3831940Z >>> from torch.distributed.algorithms.ddp_comm_hooks.post_localSGD_hook import ( 2025-03-14T05:25:05.3832063Z >>> PostLocalSGDState, 2025-03-14T05:25:05.3832168Z >>> post_localSGD_hook, 2025-03-14T05:25:05.3832269Z >>> ) 2025-03-14T05:25:05.3832357Z >>> 2025-03-14T05:25:05.3832527Z >>> model = nn.parallel.DistributedDataParallel( 2025-03-14T05:25:05.3832672Z >>> module, device_ids=[rank], output_device=rank 2025-03-14T05:25:05.3832773Z >>> ) 2025-03-14T05:25:05.3832866Z >>> 2025-03-14T05:25:05.3833029Z >>> # Register a post-localSGD communication hook. 2025-03-14T05:25:05.3833330Z >>> state = PostLocalSGDState(process_group=None, subgroup=None, start_localSGD_iter=100) 2025-03-14T05:25:05.3833512Z >>> model.register_comm_hook(state, post_localSGD_hook) 2025-03-14T05:25:05.3833600Z >>> 2025-03-14T05:25:05.3833823Z >>> # Create a post-localSGD optimizer that wraps a local optimizer. 2025-03-14T05:25:05.3834190Z >>> # Note that ``warmup_steps`` used in ``PostLocalSGDOptimizer`` must be the same as 2025-03-14T05:25:05.3834377Z >>> # ``start_localSGD_iter`` used in ``PostLocalSGDState``. 2025-03-14T05:25:05.3834590Z >>> local_optim = torch.optim.SGD(params=model.parameters(), lr=0.01) 2025-03-14T05:25:05.3834724Z >>> opt = PostLocalSGDOptimizer( 2025-03-14T05:25:05.3834830Z >>> optim=local_optim, 2025-03-14T05:25:05.3835083Z >>> averager=averagers.PeriodicModelAverager(period=4, warmup_steps=100) 2025-03-14T05:25:05.3835249Z >>> ) 2025-03-14T05:25:05.3835337Z >>> 2025-03-14T05:25:05.3835724Z >>> # In the first 100 steps, DDP runs global gradient averaging at every step. 2025-03-14T05:25:05.3836230Z >>> # After 100 steps, DDP runs gradient averaging within each subgroup (intra-node by default), 2025-03-14T05:25:05.3836925Z >>> # and post-localSGD optimizer runs global model averaging every 4 steps after applying the local optimizer. 2025-03-14T05:25:05.3837121Z >>> for step in range(0, 200): 2025-03-14T05:25:05.3837309Z >>> opt.zero_grad() 2025-03-14T05:25:05.3837503Z >>> loss = loss_fn(output, labels) 2025-03-14T05:25:05.3837687Z >>> loss.backward() 2025-03-14T05:25:05.3837854Z >>> opt.step() 2025-03-14T05:25:05.3837864Z 2025-03-14T05:25:05.3838348Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:05.3838357Z 2025-03-14T05:25:05.3954530Z msg = Cannot scrape callname=ZeroRedundancyOptimizer in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/optim/zero_redundancy_optimizer.py line=284. 2025-03-14T05:25:05.3955090Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:05.3955103Z 2025-03-14T05:25:05.3955898Z Wrap an arbitrary :class:`optim.Optimizer ` and shards its states across ranks in the group. 2025-03-14T05:25:05.3955909Z 2025-03-14T05:25:05.3956155Z The sharing is done as described by ZeRO_. 2025-03-14T05:25:05.3956178Z 2025-03-14T05:25:05.3956449Z The local optimizer instance in each rank is only 2025-03-14T05:25:05.3956931Z responsible for updating approximately ``1 / world_size`` parameters and 2025-03-14T05:25:05.3957309Z hence only needs to keep ``1 / world_size`` optimizer states. After 2025-03-14T05:25:05.3957788Z parameters are updated locally, each rank will broadcast its parameters to 2025-03-14T05:25:05.3958136Z all other peers to keep all model replicas in the same state. 2025-03-14T05:25:05.3958521Z ``ZeroRedundancyOptimizer`` can be used in conjunction with 2025-03-14T05:25:05.3959013Z :class:`torch.nn.parallel.DistributedDataParallel` to reduce per-rank peak 2025-03-14T05:25:05.3959195Z memory consumption. 2025-03-14T05:25:05.3959218Z 2025-03-14T05:25:05.3959718Z ``ZeroRedundancyOptimizer`` uses a sorted-greedy algorithm to pack a number 2025-03-14T05:25:05.3960174Z of parameters at each rank. Each parameter belongs to a single rank and is 2025-03-14T05:25:05.3960646Z not divided among ranks. The partition is arbitrary and might not match the 2025-03-14T05:25:05.3960904Z the parameter registration or usage order. 2025-03-14T05:25:05.3960913Z 2025-03-14T05:25:05.3961071Z Arguments: 2025-03-14T05:25:05.3961446Z params (``Iterable``): an ``Iterable`` of :class:`torch.Tensor` s 2025-03-14T05:25:05.3961797Z or :class:`dict` s giving all parameters, which will be sharded 2025-03-14T05:25:05.3961982Z across ranks. 2025-03-14T05:25:05.3961991Z 2025-03-14T05:25:05.3962158Z Keyword Args: 2025-03-14T05:25:05.3962604Z optimizer_class (:class:`torch.nn.Optimizer`): the class of the local 2025-03-14T05:25:05.3962773Z optimizer. 2025-03-14T05:25:05.3963189Z process_group (``ProcessGroup``, optional): ``torch.distributed`` 2025-03-14T05:25:05.3963555Z ``ProcessGroup`` (default: ``dist.group.WORLD`` initialized by 2025-03-14T05:25:05.3963838Z :meth:`torch.distributed.init_process_group`). 2025-03-14T05:25:05.3964552Z parameters_as_bucket_view (bool, optional): if ``True``, parameters are 2025-03-14T05:25:05.3964969Z packed into buckets to speed up communication, and ``param.data`` 2025-03-14T05:25:05.3965340Z fields point to bucket views at different offsets; if ``False``, 2025-03-14T05:25:05.3965748Z each individual parameter is communicated separately, and each 2025-03-14T05:25:05.3966030Z ``params.data`` stays intact (default: ``False``). 2025-03-14T05:25:05.3966408Z overlap_with_ddp (bool, optional): if ``True``, :meth:`step` is 2025-03-14T05:25:05.3966949Z overlapped with :class:`DistributedDataParallel` 's gradient 2025-03-14T05:25:05.3967381Z synchronization; this requires (1) either a functional optimizer 2025-03-14T05:25:05.3967719Z for the ``optimizer_class`` argument or one with a functional 2025-03-14T05:25:05.3968062Z equivalent and (2) registering a DDP communication hook 2025-03-14T05:25:05.3968460Z constructed from one of the functions in ``ddp_zero_hook.py``; 2025-03-14T05:25:05.3968792Z parameters are packed into buckets matching those in 2025-03-14T05:25:05.3969082Z :class:`DistributedDataParallel`, meaning that the 2025-03-14T05:25:05.3969374Z ``parameters_as_bucket_view`` argument is ignored. 2025-03-14T05:25:05.3969727Z If ``False``, :meth:`step` runs disjointly after the backward pass 2025-03-14T05:25:05.3969905Z (per normal). 2025-03-14T05:25:05.3970106Z (default: ``False``) 2025-03-14T05:25:05.3970513Z **defaults: any trailing arguments, which are forwarded to the local 2025-03-14T05:25:05.3970701Z optimizer. 2025-03-14T05:25:05.3970711Z 2025-03-14T05:25:05.3970892Z Example:: 2025-03-14T05:25:05.3970914Z 2025-03-14T05:25:05.3971093Z >>> # xdoctest: +SKIP 2025-03-14T05:25:05.3971281Z >>> import torch.nn as nn 2025-03-14T05:25:05.3971682Z >>> from torch.distributed.optim import ZeroRedundancyOptimizer 2025-03-14T05:25:05.3972077Z >>> from torch.nn.parallel import DistributedDataParallel as DDP 2025-03-14T05:25:05.3972521Z >>> model = nn.Sequential(*[nn.Linear(2000, 2000).to(rank) for _ in range(20)]) 2025-03-14T05:25:05.3972735Z >>> ddp = DDP(model, device_ids=[rank]) 2025-03-14T05:25:05.3972972Z >>> opt = ZeroRedundancyOptimizer( 2025-03-14T05:25:05.3973161Z >>> ddp.parameters(), 2025-03-14T05:25:05.3973404Z >>> optimizer_class=torch.optim.Adam, 2025-03-14T05:25:05.3973563Z >>> lr=0.01 2025-03-14T05:25:05.3973741Z >>> ) 2025-03-14T05:25:05.3973947Z >>> ddp(inputs).sum().backward() 2025-03-14T05:25:05.3974128Z >>> opt.step() 2025-03-14T05:25:05.3974138Z 2025-03-14T05:25:05.3974305Z .. warning:: 2025-03-14T05:25:05.3974716Z Currently, ``ZeroRedundancyOptimizer`` requires that all of the 2025-03-14T05:25:05.3974982Z passed-in parameters are the same dense type. 2025-03-14T05:25:05.3974991Z 2025-03-14T05:25:05.3975175Z .. warning:: 2025-03-14T05:25:05.3975672Z If you pass ``overlap_with_ddp=True``, be wary of the following: Given 2025-03-14T05:25:05.3976068Z the way that overlapping :class:`DistributedDataParallel` with 2025-03-14T05:25:05.3976507Z :class:`ZeroRedundancyOptimizer` is currently implemented, the first 2025-03-14T05:25:05.3976937Z two or three training iterations do not perform parameter updates in 2025-03-14T05:25:05.3977295Z the optimizer step, depending on if ``static_graph=False`` or 2025-03-14T05:25:05.3977658Z ``static_graph=True``, respectively. This is because it needs 2025-03-14T05:25:05.3978024Z information about the gradient bucketing strategy used by 2025-03-14T05:25:05.3978457Z :class:`DistributedDataParallel`, which is not finalized until the 2025-03-14T05:25:05.3978833Z second forward pass if ``static_graph=False`` or until the third 2025-03-14T05:25:05.3979238Z forward pass if ``static_graph=True``. To adjust for this, one option 2025-03-14T05:25:05.3979435Z is to prepend dummy inputs. 2025-03-14T05:25:05.3979585Z 2025-03-14T05:25:05.3980095Z .. warning:: ZeroRedundancyOptimizer is experimental and subject to change. 2025-03-14T05:25:05.3980104Z 2025-03-14T05:25:05.3980350Z .. _ZeRO: https://arxiv.org/abs/1910.02054 2025-03-14T05:25:05.3980358Z 2025-03-14T05:25:05.3980378Z 2025-03-14T05:25:05.3980859Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:05.3980866Z 2025-03-14T05:25:05.4185324Z msg = Cannot scrape callname=_CustomReducer in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/pipelining/microbatch.py line=28. 2025-03-14T05:25:05.4185845Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:05.4185876Z 2025-03-14T05:25:05.4186308Z Custom reducer class that can be used to specify a custom operation that 2025-03-14T05:25:05.4186629Z reduces losses of multiple microbatches into one value. 2025-03-14T05:25:05.4186639Z 2025-03-14T05:25:05.4186802Z Example: 2025-03-14T05:25:05.4186990Z >>> # xdoctest: +SKIP 2025-03-14T05:25:05.4187198Z >>> sum_reducer = _CustomReducer( 2025-03-14T05:25:05.4187375Z >>> torch.tensor(0.0), 2025-03-14T05:25:05.4187555Z >>> lambda a, b: a + b 2025-03-14T05:25:05.4187707Z >>> ) 2025-03-14T05:25:05.4187716Z 2025-03-14T05:25:05.4188181Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:05.4188189Z 2025-03-14T05:25:05.4669062Z msg = Cannot scrape callname=async_execution in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/rpc/functions.py line=6. 2025-03-14T05:25:05.4669455Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:05.4669464Z 2025-03-14T05:25:05.4669715Z A decorator for a function indicating that the return value of the function 2025-03-14T05:25:05.4669984Z is guaranteed to be a :class:`~torch.futures.Future` object and this 2025-03-14T05:25:05.4670245Z function can run asynchronously on the RPC callee. More specifically, the 2025-03-14T05:25:05.4670499Z callee extracts the :class:`~torch.futures.Future` returned by the wrapped 2025-03-14T05:25:05.4670751Z function and installs subsequent processing steps as a callback to that 2025-03-14T05:25:05.4670989Z :class:`~torch.futures.Future`. The installed callback will read the value 2025-03-14T05:25:05.4671208Z from the :class:`~torch.futures.Future` when completed and send the 2025-03-14T05:25:05.4671395Z value back as the RPC response. That also means the returned 2025-03-14T05:25:05.4671646Z :class:`~torch.futures.Future` only exists on the callee side and is never 2025-03-14T05:25:05.4671875Z sent through RPC. This decorator is useful when the wrapped function's 2025-03-14T05:25:05.4672096Z (``fn``) execution needs to pause and resume due to, e.g., containing 2025-03-14T05:25:05.4672330Z :meth:`~torch.distributed.rpc.rpc_async` or waiting for other signals. 2025-03-14T05:25:05.4672335Z 2025-03-14T05:25:05.4672718Z .. note:: To enable asynchronous execution, applications must pass the 2025-03-14T05:25:05.4673127Z function object returned by this decorator to RPC APIs. If RPC detected 2025-03-14T05:25:05.4673530Z attributes installed by this decorator, it knows that this function 2025-03-14T05:25:05.4673859Z returns a ``Future`` object and will handle that accordingly. 2025-03-14T05:25:05.4674260Z However, this does not mean this decorator has to be outmost one when 2025-03-14T05:25:05.4674675Z defining a function. For example, when combined with ``@staticmethod`` 2025-03-14T05:25:05.4675092Z or ``@classmethod``, ``@rpc.functions.async_execution`` needs to be the 2025-03-14T05:25:05.4675505Z inner decorator to allow the target function be recognized as a static 2025-03-14T05:25:05.4675952Z or class function. This target function can still execute asynchronously 2025-03-14T05:25:05.4676379Z because, when accessed, the static or class method preserves attributes 2025-03-14T05:25:05.4676674Z installed by ``@rpc.functions.async_execution``. 2025-03-14T05:25:05.4676975Z 2025-03-14T05:25:05.4676983Z 2025-03-14T05:25:05.4677181Z Example:: 2025-03-14T05:25:05.4677554Z The returned :class:`~torch.futures.Future` object can come from 2025-03-14T05:25:05.4677815Z :meth:`~torch.distributed.rpc.rpc_async`, 2025-03-14T05:25:05.4678231Z :meth:`~torch.futures.Future.then`, or :class:`~torch.futures.Future` 2025-03-14T05:25:05.4678573Z constructor. The example below shows directly using the 2025-03-14T05:25:05.4678815Z :class:`~torch.futures.Future` returned by 2025-03-14T05:25:05.4679183Z :meth:`~torch.futures.Future.then`. 2025-03-14T05:25:05.4679213Z 2025-03-14T05:25:05.4679442Z >>> from torch.distributed import rpc 2025-03-14T05:25:05.4679600Z >>> 2025-03-14T05:25:05.4679829Z >>> # omitting setup and shutdown RPC 2025-03-14T05:25:05.4679988Z >>> 2025-03-14T05:25:05.4680181Z >>> # On all workers 2025-03-14T05:25:05.4680385Z >>> @rpc.functions.async_execution 2025-03-14T05:25:05.4680614Z >>> def async_add_chained(to, x, y, z): 2025-03-14T05:25:05.4680985Z >>> # This function runs on "worker1" and returns immediately when 2025-03-14T05:25:05.4681348Z >>> # the callback is installed through the `then(cb)` API. In the 2025-03-14T05:25:05.4681659Z >>> # mean time, the `rpc_async` to "worker2" can run concurrently. 2025-03-14T05:25:05.4681966Z >>> # When the return value of that `rpc_async` arrives at 2025-03-14T05:25:05.4682321Z >>> # "worker1", "worker1" will run the lambda function accordingly 2025-03-14T05:25:05.4682690Z >>> # and set the value for the previously returned `Future`, which 2025-03-14T05:25:05.4683038Z >>> # will then trigger RPC to send the result back to "worker0". 2025-03-14T05:25:05.4683350Z >>> return rpc.rpc_async(to, torch.add, args=(x, y)).then( 2025-03-14T05:25:05.4683550Z >>> lambda fut: fut.wait() + z 2025-03-14T05:25:05.4683715Z >>> ) 2025-03-14T05:25:05.4683867Z >>> 2025-03-14T05:25:05.4684054Z >>> # On worker0 2025-03-14T05:25:05.4684237Z >>> # xdoctest: +SKIP 2025-03-14T05:25:05.4684428Z >>> ret = rpc.rpc_sync( 2025-03-14T05:25:05.4684594Z >>> "worker1", 2025-03-14T05:25:05.4684784Z >>> async_add_chained, 2025-03-14T05:25:05.4685004Z >>> args=("worker2", torch.ones(2), 1, 1) 2025-03-14T05:25:05.4685180Z >>> ) 2025-03-14T05:25:05.4685397Z >>> print(ret) # prints tensor([3., 3.]) 2025-03-14T05:25:05.4685408Z 2025-03-14T05:25:05.4685862Z When combined with TorchScript decorators, this decorator must be the 2025-03-14T05:25:05.4686037Z outmost one. 2025-03-14T05:25:05.4686046Z 2025-03-14T05:25:05.4686253Z >>> from torch import Tensor 2025-03-14T05:25:05.4686477Z >>> from torch.futures import Future 2025-03-14T05:25:05.4686707Z >>> from torch.distributed import rpc 2025-03-14T05:25:05.4686864Z >>> 2025-03-14T05:25:05.4687086Z >>> # omitting setup and shutdown RPC 2025-03-14T05:25:05.4687243Z >>> 2025-03-14T05:25:05.4687429Z >>> # On all workers 2025-03-14T05:25:05.4687587Z >>> @torch.jit.script 2025-03-14T05:25:05.4687863Z >>> def script_add(x: Tensor, y: Tensor) -> Tensor: 2025-03-14T05:25:05.4688031Z >>> return x + y 2025-03-14T05:25:05.4688193Z >>> 2025-03-14T05:25:05.4688404Z >>> @rpc.functions.async_execution 2025-03-14T05:25:05.4688596Z >>> @torch.jit.script 2025-03-14T05:25:05.4688948Z >>> def async_add(to: str, x: Tensor, y: Tensor) -> Future[Tensor]: 2025-03-14T05:25:05.4689220Z >>> return rpc.rpc_async(to, script_add, (x, y)) 2025-03-14T05:25:05.4689362Z >>> 2025-03-14T05:25:05.4689510Z >>> # On worker0 2025-03-14T05:25:05.4689691Z >>> ret = rpc.rpc_sync( 2025-03-14T05:25:05.4689848Z >>> "worker1", 2025-03-14T05:25:05.4690013Z >>> async_add, 2025-03-14T05:25:05.4690222Z >>> args=("worker2", torch.ones(2), 1) 2025-03-14T05:25:05.4690377Z >>> ) 2025-03-14T05:25:05.4690583Z >>> print(ret) # prints tensor([2., 2.]) 2025-03-14T05:25:05.4690752Z 2025-03-14T05:25:05.4691162Z When combined with static or class method, this decorator must be the 2025-03-14T05:25:05.4691329Z inner one. 2025-03-14T05:25:05.4691338Z 2025-03-14T05:25:05.4691575Z >>> from torch.distributed import rpc 2025-03-14T05:25:05.4691732Z >>> 2025-03-14T05:25:05.4691954Z >>> # omitting setup and shutdown RPC 2025-03-14T05:25:05.4692104Z >>> 2025-03-14T05:25:05.4692296Z >>> # On all workers 2025-03-14T05:25:05.4692505Z >>> class AsyncExecutionClass: 2025-03-14T05:25:05.4692673Z >>> 2025-03-14T05:25:05.4692935Z >>> @staticmethod 2025-03-14T05:25:05.4693164Z >>> @rpc.functions.async_execution 2025-03-14T05:25:05.4693375Z >>> def static_async_add(to, x, y, z): 2025-03-14T05:25:05.4693715Z >>> return rpc.rpc_async(to, torch.add, args=(x, y)).then( 2025-03-14T05:25:05.4693919Z >>> lambda fut: fut.wait() + z 2025-03-14T05:25:05.4694087Z >>> ) 2025-03-14T05:25:05.4694239Z >>> 2025-03-14T05:25:05.4694435Z >>> @classmethod 2025-03-14T05:25:05.4694650Z >>> @rpc.functions.async_execution 2025-03-14T05:25:05.4694884Z >>> def class_async_add(cls, to, x, y, z): 2025-03-14T05:25:05.4695105Z >>> ret_fut = torch.futures.Future() 2025-03-14T05:25:05.4695390Z >>> rpc.rpc_async(to, torch.add, args=(x, y)).then( 2025-03-14T05:25:05.4695761Z >>> lambda fut: ret_fut.set_result(fut.wait() + z) 2025-03-14T05:25:05.4695935Z >>> ) 2025-03-14T05:25:05.4696131Z >>> return ret_fut 2025-03-14T05:25:05.4696309Z >>> 2025-03-14T05:25:05.4696523Z >>> @rpc.functions.async_execution 2025-03-14T05:25:05.4696759Z >>> def bound_async_add(self, to, x, y, z): 2025-03-14T05:25:05.4697051Z >>> return rpc.rpc_async(to, torch.add, args=(x, y)).then( 2025-03-14T05:25:05.4697260Z >>> lambda fut: fut.wait() + z 2025-03-14T05:25:05.4697432Z >>> ) 2025-03-14T05:25:05.4697584Z >>> 2025-03-14T05:25:05.4697753Z >>> # On worker0 2025-03-14T05:25:05.4698148Z >>> ret = rpc.rpc_sync( 2025-03-14T05:25:05.4698330Z >>> "worker1", 2025-03-14T05:25:05.4698573Z >>> AsyncExecutionClass.static_async_add, 2025-03-14T05:25:05.4698796Z >>> args=("worker2", torch.ones(2), 1, 2) 2025-03-14T05:25:05.4698953Z >>> ) 2025-03-14T05:25:05.4699183Z >>> print(ret) # prints tensor([4., 4.]) 2025-03-14T05:25:05.4699335Z >>> 2025-03-14T05:25:05.4699528Z >>> ret = rpc.rpc_sync( 2025-03-14T05:25:05.4699698Z >>> "worker1", 2025-03-14T05:25:05.4699959Z >>> AsyncExecutionClass.class_async_add, 2025-03-14T05:25:05.4700174Z >>> args=("worker2", torch.ones(2), 1, 2) 2025-03-14T05:25:05.4700339Z >>> ) 2025-03-14T05:25:05.4700559Z >>> print(ret) # prints tensor([4., 4.]) 2025-03-14T05:25:05.4700570Z 2025-03-14T05:25:05.4700887Z This decorator also works with RRef helpers, i.e., . 2025-03-14T05:25:05.4701145Z :meth:`torch.distributed.rpc.RRef.rpc_sync`, 2025-03-14T05:25:05.4701456Z :meth:`torch.distributed.rpc.RRef.rpc_async`, and 2025-03-14T05:25:05.4701708Z :meth:`torch.distributed.rpc.RRef.remote`. 2025-03-14T05:25:05.4701718Z 2025-03-14T05:25:05.4701956Z >>> from torch.distributed import rpc 2025-03-14T05:25:05.4702116Z >>> 2025-03-14T05:25:05.4702383Z >>> # reuse the AsyncExecutionClass class above 2025-03-14T05:25:05.4702664Z >>> rref = rpc.remote("worker1", AsyncExecutionClass) 2025-03-14T05:25:05.4703072Z >>> ret = rref.rpc_sync().static_async_add("worker2", torch.ones(2), 1, 2) 2025-03-14T05:25:05.4703302Z >>> print(ret) # prints tensor([4., 4.]) 2025-03-14T05:25:05.4703476Z >>> 2025-03-14T05:25:05.4703752Z >>> rref = rpc.remote("worker1", AsyncExecutionClass) 2025-03-14T05:25:05.4704202Z >>> ret = rref.rpc_async().static_async_add("worker2", torch.ones(2), 1, 2).wait() 2025-03-14T05:25:05.4704424Z >>> print(ret) # prints tensor([4., 4.]) 2025-03-14T05:25:05.4704590Z >>> 2025-03-14T05:25:05.4705068Z >>> rref = rpc.remote("worker1", AsyncExecutionClass) 2025-03-14T05:25:05.4705520Z >>> ret = rref.remote().static_async_add("worker2", torch.ones(2), 1, 2).to_here() 2025-03-14T05:25:05.4705742Z >>> print(ret) # prints tensor([4., 4.]) 2025-03-14T05:25:05.4705751Z 2025-03-14T05:25:05.4706258Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:05.4706267Z 2025-03-14T05:25:05.4729659Z msg = Cannot scrape callname=TensorPipeRpcBackendOptions.set_device_map in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/rpc/options.py line=108. 2025-03-14T05:25:05.4729985Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:05.4729993Z 2025-03-14T05:25:05.4730208Z Set device mapping between each RPC caller and callee pair. This 2025-03-14T05:25:05.4730407Z function can be called multiple times to incrementally add 2025-03-14T05:25:05.4730529Z device placement configurations. 2025-03-14T05:25:05.4730542Z 2025-03-14T05:25:05.4730642Z Args: 2025-03-14T05:25:05.4730746Z to (str): Callee name. 2025-03-14T05:25:05.4730962Z device_map (Dict of int, str, or torch.device): Device placement 2025-03-14T05:25:05.4731152Z mappings from this worker to the callee. This map must be 2025-03-14T05:25:05.4731260Z invertible. 2025-03-14T05:25:05.4731264Z 2025-03-14T05:25:05.4731356Z Example: 2025-03-14T05:25:05.4731488Z >>> # xdoctest: +SKIP("distributed") 2025-03-14T05:25:05.4731612Z >>> # both workers 2025-03-14T05:25:05.4731764Z >>> def add(x, y): 2025-03-14T05:25:05.4731907Z >>> print(x) # tensor([1., 1.], device='cuda:1') 2025-03-14T05:25:05.4732029Z >>> return x + y, (x + y).to(2) 2025-03-14T05:25:05.4732117Z >>> 2025-03-14T05:25:05.4732226Z >>> # on worker 0 2025-03-14T05:25:05.4732368Z >>> options = TensorPipeRpcBackendOptions( 2025-03-14T05:25:05.4732488Z >>> num_worker_threads=8, 2025-03-14T05:25:05.4732607Z >>> device_maps={"worker1": {0: 1}} 2025-03-14T05:25:05.4732751Z >>> # maps worker0's cuda:0 to worker1's cuda:1 2025-03-14T05:25:05.4732844Z >>> ) 2025-03-14T05:25:05.4732987Z >>> options.set_device_map("worker1", {1: 2}) 2025-03-14T05:25:05.4733120Z >>> # maps worker0's cuda:1 to worker1's cuda:2 2025-03-14T05:25:05.4733220Z >>> 2025-03-14T05:25:05.4733318Z >>> rpc.init_rpc( 2025-03-14T05:25:05.4733423Z >>> "worker0", 2025-03-14T05:25:05.4733515Z >>> rank=0, 2025-03-14T05:25:05.4733628Z >>> world_size=2, 2025-03-14T05:25:05.4733764Z >>> backend=rpc.BackendType.TENSORPIPE, 2025-03-14T05:25:05.4733889Z >>> rpc_backend_options=options 2025-03-14T05:25:05.4733976Z >>> ) 2025-03-14T05:25:05.4734077Z >>> 2025-03-14T05:25:05.4734177Z >>> x = torch.ones(2) 2025-03-14T05:25:05.4734345Z >>> rets = rpc.rpc_sync("worker1", add, args=(x.to(0), 1)) 2025-03-14T05:25:05.4734548Z >>> # The first argument will be moved to cuda:1 on worker1. When 2025-03-14T05:25:05.4734741Z >>> # sending the return value back, it will follow the invert of 2025-03-14T05:25:05.4734931Z >>> # the device map, and hence will be moved back to cuda:0 and 2025-03-14T05:25:05.4735030Z >>> # cuda:1 on worker0 2025-03-14T05:25:05.4735206Z >>> print(rets[0]) # tensor([2., 2.], device='cuda:0') 2025-03-14T05:25:05.4735356Z >>> print(rets[1]) # tensor([2., 2.], device='cuda:1') 2025-03-14T05:25:05.4735372Z 2025-03-14T05:25:05.4735698Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:05.4735708Z 2025-03-14T05:25:05.4767808Z msg = Cannot scrape callname=_server_process_global_profile in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/rpc/server_process_global_profiler.py line=19. 2025-03-14T05:25:05.4768113Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:05.4768135Z 2025-03-14T05:25:05.4768344Z It has the same API as ``torch.autograd.profiler.profile`` class, 2025-03-14T05:25:05.4768762Z except that it enables profiling on all threads running RPC server request callbacks. 2025-03-14T05:25:05.4768767Z 2025-03-14T05:25:05.4769053Z Context manager that manages autograd profiler state and holds a summary of results. 2025-03-14T05:25:05.4769307Z Under the hood it just records events of functions being executed in C++ and 2025-03-14T05:25:05.4769547Z exposes those events to Python. You can wrap any code into it and it will 2025-03-14T05:25:05.4769694Z only report runtime of PyTorch functions. 2025-03-14T05:25:05.4770138Z Note: profiler is thread local and is automatically propagated into the async tasks 2025-03-14T05:25:05.4770143Z 2025-03-14T05:25:05.4770248Z Args: 2025-03-14T05:25:05.4770522Z enabled (bool, optional): Setting this to False makes this context manager a no-op. 2025-03-14T05:25:05.4770641Z Default: ``True``. 2025-03-14T05:25:05.4770645Z 2025-03-14T05:25:05.4770933Z use_cuda (bool, optional): Enables timing of CUDA events as well using the cudaEvent API. 2025-03-14T05:25:05.4771153Z Adds approximately 4us of overhead to each tensor operation. 2025-03-14T05:25:05.4771255Z Default: ``False`` 2025-03-14T05:25:05.4771259Z 2025-03-14T05:25:05.4771500Z record_shapes (bool, optional): If shapes recording is set, information 2025-03-14T05:25:05.4771737Z about input dimensions will be collected. This allows one to see which 2025-03-14T05:25:05.4771968Z dimensions have been used under the hood and further group by them 2025-03-14T05:25:05.4772195Z using prof.key_averages(group_by_input_shape=True). Please note that 2025-03-14T05:25:05.4772438Z shape recording might skew your profiling data. It is recommended to 2025-03-14T05:25:05.4772680Z use separate runs with and without shape recording to validate the timing. 2025-03-14T05:25:05.4772922Z Most likely the skew will be negligible for bottom most events (in a case 2025-03-14T05:25:05.4773143Z of nested function calls). But for higher level functions the total 2025-03-14T05:25:05.4773361Z self cpu time might be artificially increased because of the shape 2025-03-14T05:25:05.4773456Z collection. 2025-03-14T05:25:05.4773461Z 2025-03-14T05:25:05.4773743Z profile_memory (bool, optional): Whether to report memory usage, default: ``False`` 2025-03-14T05:25:05.4773747Z 2025-03-14T05:25:05.4773840Z .. warning: 2025-03-14T05:25:05.4774060Z Enabling memory profiling incurs additional profiler overhead 2025-03-14T05:25:05.4774064Z 2025-03-14T05:25:05.4774156Z .. warning: 2025-03-14T05:25:05.4774419Z Due to some CUDA multiprocessing limitations (multiprocessing-cuda-note_), 2025-03-14T05:25:05.4774617Z one cannot use the profiler with ``use_cuda = True`` to benchmark 2025-03-14T05:25:05.4774867Z DataLoaders with ``num_workers > 0``. If you wish to benchmark data loading, 2025-03-14T05:25:05.4775036Z please use ``use_cuda = False`` or ``num_workers = 0``. 2025-03-14T05:25:05.4775045Z 2025-03-14T05:25:05.4775147Z Example: 2025-03-14T05:25:05.4775252Z >>> # xdoctest: +SKIP 2025-03-14T05:25:05.4775361Z >>> # On worker 0: 2025-03-14T05:25:05.4775456Z >>> import torch 2025-03-14T05:25:05.4775679Z >>> import torch.distributed.rpc as rpc 2025-03-14T05:25:05.4775829Z >>> rpc.init_rpc("worker0", rank=0, world_size=2) 2025-03-14T05:25:05.4775970Z >>> x, y = torch.tensor(1), torch.tensor(2) 2025-03-14T05:25:05.4776086Z >>> outer_profile_rref = rpc.remote( 2025-03-14T05:25:05.4776270Z ... dst_worker_name, rpc._server_process_global_profile 2025-03-14T05:25:05.4776358Z ... ) 2025-03-14T05:25:05.4776505Z >>> outer_profile_rref.rpc_sync().__enter__() 2025-03-14T05:25:05.4776658Z >>> rpc.rpc_sync(dst_worker_name, torch.add, (x, y)) 2025-03-14T05:25:05.4776788Z >>> inner_profile_rref = rpc.remote( 2025-03-14T05:25:05.4776954Z ... dst_worker_name, rpc._server_process_global_profile 2025-03-14T05:25:05.4777056Z ... ) 2025-03-14T05:25:05.4777248Z >>> inner_profile_rref.rpc_sync().__enter__() 2025-03-14T05:25:05.4777411Z >>> rpc.rpc_sync(dst_worker_name, torch.sub, (x, y)) 2025-03-14T05:25:05.4777587Z >>> inner_profile_rref.rpc_sync().__exit__(None, None, None) 2025-03-14T05:25:05.4777773Z >>> outer_profile_rref.rpc_sync().__exit__(None, None, None) 2025-03-14T05:25:05.4777938Z >>> print(inner_profile_rref.rpc_sync().key_averages()) 2025-03-14T05:25:05.4778192Z --------- --------------- --------------- --------------- --------------- --------------- --------------- 2025-03-14T05:25:05.4778556Z Name Self CPU total % Self CPU total CPU total % CPU total CPU time avg Number of Calls 2025-03-14T05:25:05.4778800Z --------- --------------- --------------- --------------- --------------- --------------- --------------- 2025-03-14T05:25:05.4778996Z sub 85.06% 76.275us 100.00% 89.667us 89.667us 1 2025-03-14T05:25:05.4779203Z empty 14.94% 13.392us 14.94% 13.392us 13.392us 1 2025-03-14T05:25:05.4779431Z --------- --------------- --------------- --------------- --------------- --------------- --------------- 2025-03-14T05:25:05.4779556Z Self CPU time total: 89.667us 2025-03-14T05:25:05.4779723Z >>> print(outer_profile_rref.rpc_sync().key_averages()) 2025-03-14T05:25:05.4779964Z --------- --------------- --------------- --------------- --------------- --------------- --------------- 2025-03-14T05:25:05.4780276Z Name Self CPU total % Self CPU total CPU total % CPU total CPU time avg Number of Calls 2025-03-14T05:25:05.4780516Z --------- --------------- --------------- --------------- --------------- --------------- --------------- 2025-03-14T05:25:05.4780698Z sub 35.65% 76.275us 41.91% 89.667us 89.667us 1 2025-03-14T05:25:05.4780900Z empty 12.67% 27.101us 12.67% 27.101us 13.551us 2 2025-03-14T05:25:05.4781086Z add 51.68% 110.550us 58.09% 124.259us 124.259us 1 2025-03-14T05:25:05.4781330Z --------- --------------- --------------- --------------- --------------- --------------- --------------- 2025-03-14T05:25:05.4781443Z Self CPU time total: 213.926us 2025-03-14T05:25:05.4781561Z >>> rpc.shutdown() 2025-03-14T05:25:05.4781566Z 2025-03-14T05:25:05.4781662Z >>> # On worker 1: 2025-03-14T05:25:05.4781809Z >>> import torch.distributed.rpc as rpc 2025-03-14T05:25:05.4781954Z >>> rpc.init_rpc("worker1", rank=1, world_size=2) 2025-03-14T05:25:05.4782131Z >>> # wait for worker 0 to finish work, and then shutdown. 2025-03-14T05:25:05.4792075Z >>> rpc.shutdown() 2025-03-14T05:25:05.4792100Z 2025-03-14T05:25:05.4792494Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:05.4792516Z 2025-03-14T05:25:05.5932206Z msg = Cannot scrape callname=local_map in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/tensor/experimental/_func_map.py line=34. 2025-03-14T05:25:05.5932516Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:05.5932524Z 2025-03-14T05:25:05.5932858Z :meth:`local_map` is an experimental API that allows users to pass :class:`DTensor` s 2025-03-14T05:25:05.5933160Z to a function that is written to be applied on ``torch.Tensor`` s. It is done by extracting 2025-03-14T05:25:05.5933510Z the local components of :class:`DTensor`, call the function, and wrap the outputs to 2025-03-14T05:25:05.5933693Z :class:`DTensor` according to the ``out_placements``. 2025-03-14T05:25:05.5933698Z 2025-03-14T05:25:05.5933802Z Args: 2025-03-14T05:25:05.5934021Z func (Callable): the function to be applied on each local shard of 2025-03-14T05:25:05.5934159Z :class:`DTensor` s. 2025-03-14T05:25:05.5934425Z out_placements (Union[`PlacementType`, Tuple[`PlacementType`, ...]]): 2025-03-14T05:25:05.5934985Z the desired placements of the :class:`DTensor` s in ``func``'s flattened output. 2025-03-14T05:25:05.5935249Z If the flattened ``output`` is a single value, the ``out_placements`` should be 2025-03-14T05:25:05.5935511Z of type `PlacementType`. Otherwise if the flattened ``output`` has multiple 2025-03-14T05:25:05.5935877Z values, the ``out_placements`` should be a tuple of `PlacementType` values 1:1 2025-03-14T05:25:05.5936024Z mapping to the flattened ``output``. 2025-03-14T05:25:05.5936357Z Besides, for :class:`Tensor` output, we use `PlacementType` as its 2025-03-14T05:25:05.5936711Z placements (a `Tuple[Placement]` value). For non-Tensor output, the `PlacementType` 2025-03-14T05:25:05.5936816Z should be `None`. 2025-03-14T05:25:05.5937071Z Note that the only exception is when no :class:`DTensor` argument is passed 2025-03-14T05:25:05.5937363Z in. In this case, even if `out_placements` is not `None`, the result function 2025-03-14T05:25:05.5937641Z should ignore the desired placements because the function is not running with 2025-03-14T05:25:05.5937752Z :class:`DTensor` s. 2025-03-14T05:25:05.5937954Z in_placements (Tuple[`PlacementType`, ...], optional): 2025-03-14T05:25:05.5938279Z the required placements of the :class:`DTensor` s in the flattened inputs of ``func``. 2025-03-14T05:25:05.5938533Z If ``in_placements`` is specified, :meth:`local_map` would examine whether the 2025-03-14T05:25:05.5938819Z placements of each :class:`DTensor` argument is the same as the required 2025-03-14T05:25:05.5939021Z placements or not. If the placements are not the same and 2025-03-14T05:25:05.5939269Z ``redistribute_inputs`` is ``False``, an exception will be raised. Otherwise if 2025-03-14T05:25:05.5939574Z ``redistribute_inputs`` is ``True``, the argument will be first redistributed to 2025-03-14T05:25:05.5939846Z the required sharding placements before passing its local tensor to ``func``. 2025-03-14T05:25:05.5940092Z The only exception is when required placements are not ``None`` and the 2025-03-14T05:25:05.5940391Z argument is a :class:`torch.Tensor`. In this case, the placements examination 2025-03-14T05:25:05.5940628Z will be skipped and the argument will be directly passed to ``func``. 2025-03-14T05:25:05.5940855Z If ``in_placements`` is ``None``, no placements examination will be performed. 2025-03-14T05:25:05.5940980Z Default: None 2025-03-14T05:25:05.5941164Z device_mesh (:class:`DeviceMesh`, optional): 2025-03-14T05:25:05.5941392Z the device mesh that all the :class:`DTensor` s are placed on. If not 2025-03-14T05:25:05.5941630Z specified, this will be inferred from the input :class:`DTensor` s' device 2025-03-14T05:25:05.5941940Z mesh. `local_map` requires every :class:`DTensor` s to be placed on the same 2025-03-14T05:25:05.5942059Z device mesh. Default: None. 2025-03-14T05:25:05.5942195Z redistribute_inputs (bool, optional): 2025-03-14T05:25:05.5942450Z the bool value indicating whether to reshard the input :class:`DTensor` s when 2025-03-14T05:25:05.5942770Z their placements are different from the required input placements. If this 2025-03-14T05:25:05.5942999Z value is ``False`` and some :class:`DTensor` input has a different placement, 2025-03-14T05:25:05.5943153Z an exception will be raised. Default: False. 2025-03-14T05:25:05.5943159Z 2025-03-14T05:25:05.5943262Z Returns: 2025-03-14T05:25:05.5943577Z A ``Callable`` that applies ``func`` to each local shard of the input :class:`DTensor` 2025-03-14T05:25:05.5943819Z and returns a :class:`DTensor` constructed from the return value of ``func``. 2025-03-14T05:25:05.5943824Z 2025-03-14T05:25:05.5943924Z Raises: 2025-03-14T05:25:05.5944236Z AssertionError: If the input :class:`DTensor` is not placed on the same device 2025-03-14T05:25:05.5944567Z mesh, or if they are placed on a different device mesh than the ``device_mesh`` 2025-03-14T05:25:05.5944673Z argument passed in. 2025-03-14T05:25:05.5944678Z 2025-03-14T05:25:05.5944996Z AssertionError: For any non-DTensor output, we require its corresponding 2025-03-14T05:25:05.5945257Z output placement in ``out_placements`` be None. An AssertionError will be raised 2025-03-14T05:25:05.5945377Z if this is not the case. 2025-03-14T05:25:05.5945382Z 2025-03-14T05:25:05.5945764Z ValueError: If ``redistribute_inputs=False`` but the input :class:`DTensor` needs 2025-03-14T05:25:05.5945935Z a redistribution according to ``in_placements``. 2025-03-14T05:25:05.5945940Z 2025-03-14T05:25:05.5946054Z Example: 2025-03-14T05:25:05.5946188Z >>> # xdoctest: +SKIP("distributed") 2025-03-14T05:25:05.5946364Z >>> def mm_allreduce_forward(device_mesh, W, X): 2025-03-14T05:25:05.5946520Z >>> partial_sum_tensor = torch.mm(W, X) 2025-03-14T05:25:05.5946770Z >>> reduced_tensor = funcol.all_reduce(partial_sum_tensor, "sum", device_mesh) 2025-03-14T05:25:05.5946892Z >>> return reduced_tensor 2025-03-14T05:25:05.5946981Z >>> 2025-03-14T05:25:05.5947177Z >>> W = torch.randn(12, 8, requires_grad=False) 2025-03-14T05:25:05.5947309Z >>> X = torch.randn(8, 16, requires_grad=False) 2025-03-14T05:25:05.5947422Z >>> Y = torch.mm(W, X) 2025-03-14T05:25:05.5947617Z >>> row_wise = [Shard(0)] # row-wise sharding placements on 1-d mesh 2025-03-14T05:25:05.5947824Z >>> col_wise = [Shard(1)] # col-wise sharding placements on 1-d mesh 2025-03-14T05:25:05.5947959Z >>> 2025-03-14T05:25:05.5948252Z >>> # local_mm_allreduce_forward is the function wrapped with DTensor/Tensor convertion 2025-03-14T05:25:05.5948390Z >>> local_mm_allreduce_forward = local_map( 2025-03-14T05:25:05.5948513Z >>> mm_allreduce_forward, 2025-03-14T05:25:05.5948670Z >>> out_placements=[Replicate()], 2025-03-14T05:25:05.5948827Z >>> in_placements=[col_wise, row_wise], 2025-03-14T05:25:05.5948937Z >>> device_mesh=device_mesh, 2025-03-14T05:25:05.5949043Z >>> ) 2025-03-14T05:25:05.5949130Z >>> 2025-03-14T05:25:05.5949297Z >>> W_dt = distribute_tensor( 2025-03-14T05:25:05.5949470Z ... W, device_mesh, (col_wise) 2025-03-14T05:25:05.5949650Z ... ) # col-wisely sharded W tensor 2025-03-14T05:25:05.5949790Z >>> X_dt = distribute_tensor( 2025-03-14T05:25:05.5949911Z ... X, device_mesh, (row_wise) 2025-03-14T05:25:05.5950028Z ... ) # row-wisely sharded X tensor 2025-03-14T05:25:05.5950163Z >>> Y_dt = local_mm_allreduce_forward( 2025-03-14T05:25:05.5950309Z ... device_mesh, W_dt, X_dt 2025-03-14T05:25:05.5950564Z ... ) # apply local_mm_allreduce_forward to DTensors 2025-03-14T05:25:05.5950573Z 2025-03-14T05:25:05.5950818Z .. note:: This API is currently experimental and subject to change 2025-03-14T05:25:05.5950823Z 2025-03-14T05:25:05.5951099Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:05.5951104Z 2025-03-14T05:25:05.5951848Z msg = Cannot scrape callname=register_sharding in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/tensor/experimental/_register_sharding.py line=26. 2025-03-14T05:25:05.5952130Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:05.5952134Z 2025-03-14T05:25:05.5952418Z :meth:`register_sharding` is an experimental API that allows users to register sharding 2025-03-14T05:25:05.5952676Z strategies for an operator when the tensor inputs and outputs are DTensor. 2025-03-14T05:25:05.5952943Z It can be useful when: (1) there doesn't exist a default sharding strategy for ``op``, 2025-03-14T05:25:05.5953190Z e.g. when ``op`` is a custom operator that is not supported by :class:`DTensor`; (2) 2025-03-14T05:25:05.5953483Z when users would like to overwrite default sharding strategies of existing operators. 2025-03-14T05:25:05.5953585Z 2025-03-14T05:25:05.5953677Z Args: 2025-03-14T05:25:05.5953828Z op (Union[OpOverload, List[OpOverload]]): 2025-03-14T05:25:05.5954028Z An op or a list of ops to register the customized sharding function. 2025-03-14T05:25:05.5954032Z 2025-03-14T05:25:05.5954141Z Returns: 2025-03-14T05:25:05.5954412Z A function decorator which can be used to wrap a function that defines the sharding 2025-03-14T05:25:05.5954708Z strategy for the operator specified in ``op``. The defined sharding strategy will be 2025-03-14T05:25:05.5955055Z registered to DTensor and will override the default sharding strategy if DTensor has 2025-03-14T05:25:05.5955375Z already implemented the operator. The customized sharding function takes the same inputs 2025-03-14T05:25:05.5955622Z as the original op (except that if an arg is a :class:`torch.Tensor`, it will be 2025-03-14T05:25:05.5955914Z replaced by a tensor-like object that DTensor uses internally). The function should 2025-03-14T05:25:05.5956199Z return a sequence of 2-tuples, each specifying acceptable output placements and its 2025-03-14T05:25:05.5956337Z corresponding intput placements. 2025-03-14T05:25:05.5956342Z 2025-03-14T05:25:05.5956435Z Example: 2025-03-14T05:25:05.5956570Z >>> # xdoctest: +SKIP("distributed") 2025-03-14T05:25:05.5956710Z >>> @register_sharding(aten._softmax.default) 2025-03-14T05:25:05.5956888Z >>> def custom_softmax_sharding(x, dim, half_to_float): 2025-03-14T05:25:05.5957040Z >>> softmax_dim = dim if dim >= 0 else dim + x.ndim 2025-03-14T05:25:05.5957171Z >>> acceptable_shardings = [] 2025-03-14T05:25:05.5957260Z >>> 2025-03-14T05:25:05.5957457Z >>> all_replicate = ([Replicate()], [Replicate(), None, None]) 2025-03-14T05:25:05.5957603Z >>> acceptable_shardings.append(all_replicate) 2025-03-14T05:25:05.5957705Z >>> 2025-03-14T05:25:05.5957831Z >>> for sharding_dim in range(x.ndim): 2025-03-14T05:25:05.5957953Z >>> if sharding_dim != softmax_dim: 2025-03-14T05:25:05.5958073Z >>> all_sharded = ( 2025-03-14T05:25:05.5958191Z >>> [Shard(sharding_dim)], 2025-03-14T05:25:05.5958333Z >>> [Shard(sharding_dim), None, None], 2025-03-14T05:25:05.5958428Z >>> ) 2025-03-14T05:25:05.5958585Z >>> acceptable_shardings.append(all_sharded) 2025-03-14T05:25:05.5958673Z >>> 2025-03-14T05:25:05.5958800Z >>> return acceptable_shardings 2025-03-14T05:25:05.5958804Z 2025-03-14T05:25:05.5959010Z .. note:: This API is currently experimental and subject to change 2025-03-14T05:25:05.5959015Z 2025-03-14T05:25:05.5959287Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:05.5959291Z 2025-03-14T05:25:05.6223271Z msg = Cannot scrape callname=PrepareModuleInput in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/tensor/parallel/style.py line=403. 2025-03-14T05:25:05.6225291Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:05.6226048Z 2025-03-14T05:25:05.6226788Z Configure the nn.Module's inputs to convert the input tensors of the nn.Module to DTensors at runtime according to 2025-03-14T05:25:05.6228413Z ``input_layouts``, and perform layout redistribution according to the ``desired_input_layouts``. 2025-03-14T05:25:05.6229223Z 2025-03-14T05:25:05.6229397Z Keyword Args: 2025-03-14T05:25:05.6229961Z input_layouts (Union[Placement, Tuple[Optional[Placement]]]): 2025-03-14T05:25:05.6231145Z The DTensor layouts of input tensors for the nn.Module, this is used to convert the input tensors to 2025-03-14T05:25:05.6232581Z DTensors. If some inputs are not torch.Tensor or no need to convert to DTensors, ``None`` need to be specified 2025-03-14T05:25:05.6233701Z as a placeholder. default: None. 2025-03-14T05:25:05.6234557Z desired_input_layouts (Union[Placement, Tuple[Optional[Placement]]]): 2025-03-14T05:25:05.6236283Z The desired DTensor layout of input tensors for the nn.Module, this is used to ensure the inputs of the nn.Module 2025-03-14T05:25:05.6237997Z have the desired DTensor layouts. This argument needs to have the same length with ``input_layouts``. default: None. 2025-03-14T05:25:05.6239224Z input_kwarg_layouts (Dict[str, Placement]): 2025-03-14T05:25:05.6240442Z The DTensor layouts of input kwargs for the nn.Module, this is used to convert the input kwarg tensors to DTensors. 2025-03-14T05:25:05.6241562Z default: None 2025-03-14T05:25:05.6242355Z desired_input_kwarg_layouts: (Dict[str, Placement]): 2025-03-14T05:25:05.6243558Z The desired DTensor layout of input kwargs for the nn.Module, this is used to ensure the inputs of the nn.Module 2025-03-14T05:25:05.6244702Z have the desired DTensor layouts. default: None. 2025-03-14T05:25:05.6245392Z use_local_output (bool, optional): 2025-03-14T05:25:05.6246485Z Whether to use local :class:`torch.Tensor` instead of :class:`DTensor` for the module inputs, default: False. 2025-03-14T05:25:05.6247590Z Returns: 2025-03-14T05:25:05.6248416Z A :class:`ParallelStyle` object that prepares the sharding layouts of the nn.Module's inputs. 2025-03-14T05:25:05.6249253Z 2025-03-14T05:25:05.6249432Z Example:: 2025-03-14T05:25:05.6249846Z >>> # xdoctest: +SKIP(failing) 2025-03-14T05:25:05.6250793Z >>> from torch.distributed.tensor.parallel import parallelize_module, PrepareModuleInput 2025-03-14T05:25:05.6251939Z >>> from torch.distributed.device_mesh import init_device_mesh 2025-03-14T05:25:05.6252671Z >>> ... 2025-03-14T05:25:05.6253461Z >>> block = TransformerBlock(...) # block is a nn.Module that contains an "attn" Attention submodule 2025-03-14T05:25:05.6254475Z >>> tp_mesh = init_device_mesh("cuda", (8,)) 2025-03-14T05:25:05.6255070Z >>> 2025-03-14T05:25:05.6256001Z >>> # According to the style specified below, the first input of attn will be annotated to Sharded DTensor 2025-03-14T05:25:05.6257130Z >>> # and then redistributed to Replicated DTensor. 2025-03-14T05:25:05.6257774Z >>> parallelize_module( 2025-03-14T05:25:05.6258322Z >>> block, # this can be a submodule or module 2025-03-14T05:25:05.6258941Z >>> tp_mesh, 2025-03-14T05:25:05.6259404Z >>> parallelize_plan={ 2025-03-14T05:25:05.6259973Z >>> "attn": PrepareModuleInput( 2025-03-14T05:25:05.6260649Z >>> input_layouts=(Shard(0), None, None, ...), 2025-03-14T05:25:05.6261429Z >>> desired_input_layouts=(Replicate(), None, None, ...) 2025-03-14T05:25:05.6262138Z >>> ), 2025-03-14T05:25:05.6262548Z >>> } 2025-03-14T05:25:05.6262948Z >>> ) 2025-03-14T05:25:05.6263182Z 2025-03-14T05:25:05.6263659Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:05.6264398Z 2025-03-14T05:25:05.6265745Z msg = Cannot scrape callname=PrepareModuleOutput in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/tensor/parallel/style.py line=562. 2025-03-14T05:25:05.6267674Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:05.6268374Z 2025-03-14T05:25:05.6269111Z Configure the nn.Module's outputs to convert the output tensors of the nn.Module to DTensors at runtime according to 2025-03-14T05:25:05.6270716Z ``output_layouts``, and perform layout redistribution according to the ``desired_output_layouts``. 2025-03-14T05:25:05.6271583Z 2025-03-14T05:25:05.6271761Z Keyword Args: 2025-03-14T05:25:05.6272302Z output_layouts (Union[Placement, Tuple[Placement]]): 2025-03-14T05:25:05.6273415Z The DTensor layouts of output tensors for the nn.Module, this is used to convert the output tensors to 2025-03-14T05:25:05.6275008Z DTensors if they are :class:`torch.Tensor`. If some outputs are not torch.Tensor or no need to convert to DTensors, 2025-03-14T05:25:05.6276193Z ``None`` need to be specified as a placeholder. 2025-03-14T05:25:05.6277218Z desired_output_layouts (Union[Placement, Tuple[Placement]]): 2025-03-14T05:25:05.6278494Z The desired DTensor layouts of output tensors for the nn.Module, this is used to ensure the outputs of the nn.Module 2025-03-14T05:25:05.6279628Z have the desired DTensor layouts. 2025-03-14T05:25:05.6280256Z use_local_output (bool, optional): 2025-03-14T05:25:05.6281346Z Whether to use local :class:`torch.Tensor` instead of :class:`DTensor` for the module outputs, default: True. 2025-03-14T05:25:05.6282423Z Returns: 2025-03-14T05:25:05.6283338Z A ParallelStyle object that prepares the sharding layouts of the nn.Module's outputs. 2025-03-14T05:25:05.6284154Z 2025-03-14T05:25:05.6284334Z Example:: 2025-03-14T05:25:05.6284761Z >>> # xdoctest: +SKIP(failing) 2025-03-14T05:25:05.6285742Z >>> from torch.distributed.tensor.parallel import parallelize_module, PrepareModuleOutput 2025-03-14T05:25:05.6286902Z >>> from torch.distributed.device_mesh import init_device_mesh 2025-03-14T05:25:05.6287673Z >>> ... 2025-03-14T05:25:05.6288497Z >>> block = TransformerBlock(...) # block is a nn.Module that contains an "attn" Attention submodule 2025-03-14T05:25:05.6289559Z >>> tp_mesh = init_device_mesh("cuda", (8,)) 2025-03-14T05:25:05.6290171Z >>> 2025-03-14T05:25:05.6291136Z >>> # According to the style specified below, the output of the TransformerBlock will be converted to Replicated DTensor 2025-03-14T05:25:05.6292331Z >>> # and then redistributed to Sharded DTensor. 2025-03-14T05:25:05.6292956Z >>> parallelize_module( 2025-03-14T05:25:05.6293521Z >>> block, # this can be a submodule or module 2025-03-14T05:25:05.6294158Z >>> tp_mesh, 2025-03-14T05:25:05.6294695Z >>> parallelize_plan = PrepareModuleOutput( 2025-03-14T05:25:05.6295357Z >>> output_layouts=Replicate(), 2025-03-14T05:25:05.6296102Z >>> desired_output_layouts=Shard(0) 2025-03-14T05:25:05.6296696Z >>> ) 2025-03-14T05:25:05.6297093Z >>> ) 2025-03-14T05:25:05.6297303Z 2025-03-14T05:25:05.6297779Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:05.6298710Z 2025-03-14T05:25:05.6835634Z msg = Cannot scrape callname=LowRankMultivariateNormal in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/lowrank_multivariate_normal.py line=55. 2025-03-14T05:25:05.6837830Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:05.6838589Z 2025-03-14T05:25:05.6839216Z Creates a multivariate normal distribution with covariance matrix having a low-rank form 2025-03-14T05:25:05.6840453Z parameterized by :attr:`cov_factor` and :attr:`cov_diag`:: 2025-03-14T05:25:05.6841007Z 2025-03-14T05:25:05.6841333Z covariance_matrix = cov_factor @ cov_factor.T + cov_diag 2025-03-14T05:25:05.6841893Z 2025-03-14T05:25:05.6842053Z Example: 2025-03-14T05:25:05.6842559Z >>> # xdoctest: +REQUIRES(env:TORCH_DOCTEST_LAPACK) 2025-03-14T05:25:05.6843331Z >>> # xdoctest: +IGNORE_WANT("non-deterministic") 2025-03-14T05:25:05.6844040Z >>> m = LowRankMultivariateNormal( 2025-03-14T05:25:05.6844809Z ... torch.zeros(2), torch.tensor([[1.0], [0.0]]), torch.ones(2) 2025-03-14T05:25:05.6845555Z ... ) 2025-03-14T05:25:05.6846290Z >>> m.sample() # normally distributed with mean=`[0,0]`, cov_factor=`[[1],[0]]`, cov_diag=`[1,1]` 2025-03-14T05:25:05.6847211Z tensor([-0.2102, -0.5429]) 2025-03-14T05:25:05.6847558Z 2025-03-14T05:25:05.6847700Z Args: 2025-03-14T05:25:05.6848407Z loc (Tensor): mean of the distribution with shape `batch_shape + event_shape` 2025-03-14T05:25:05.6849571Z cov_factor (Tensor): factor part of low-rank form of covariance matrix with shape 2025-03-14T05:25:05.6850527Z `batch_shape + event_shape + (rank,)` 2025-03-14T05:25:05.6851422Z cov_diag (Tensor): diagonal part of low-rank form of covariance matrix with shape 2025-03-14T05:25:05.6852381Z `batch_shape + event_shape` 2025-03-14T05:25:05.6853124Z 2025-03-14T05:25:05.6853285Z Note: 2025-03-14T05:25:05.6854037Z The computation for determinant and inverse of covariance matrix is avoided when 2025-03-14T05:25:05.6855225Z `cov_factor.shape[1] << cov_factor.shape[0]` thanks to `Woodbury matrix identity 2025-03-14T05:25:05.6856378Z `_ and 2025-03-14T05:25:05.6857553Z `matrix determinant lemma `_. 2025-03-14T05:25:05.6858999Z Thanks to these formulas, we just need to compute the determinant and inverse of 2025-03-14T05:25:05.6859971Z the small size "capacitance" matrix:: 2025-03-14T05:25:05.6860411Z 2025-03-14T05:25:05.6860769Z capacitance = I + cov_factor.T @ inv(cov_diag) @ cov_factor 2025-03-14T05:25:05.6861310Z 2025-03-14T05:25:05.6861745Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:05.6862377Z 2025-03-14T05:25:05.6864209Z msg = Cannot scrape callname=MixtureSameFamily in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/mixture_same_family.py line=13. 2025-03-14T05:25:05.6866182Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:05.6866919Z 2025-03-14T05:25:05.6867359Z The `MixtureSameFamily` distribution implements a (batch of) mixture 2025-03-14T05:25:05.6868469Z distribution where all component are from different parameterizations of 2025-03-14T05:25:05.6869569Z the same distribution type. It is parameterized by a `Categorical` 2025-03-14T05:25:05.6870581Z "selecting distribution" (over `k` component) and a component 2025-03-14T05:25:05.6871570Z distribution, i.e., a `Distribution` with a rightmost batch shape 2025-03-14T05:25:05.6872486Z (equal to `[k]`) which indexes each (batch of) component. 2025-03-14T05:25:05.6873011Z 2025-03-14T05:25:05.6873203Z Examples:: 2025-03-14T05:25:05.6873437Z 2025-03-14T05:25:05.6873664Z >>> # xdoctest: +SKIP("undefined vars") 2025-03-14T05:25:05.6874439Z >>> # Construct Gaussian Mixture Model in 1D consisting of 5 equally 2025-03-14T05:25:05.6875230Z >>> # weighted normal distributions 2025-03-14T05:25:05.6875853Z >>> mix = D.Categorical(torch.ones(5,)) 2025-03-14T05:25:05.6876554Z >>> comp = D.Normal(torch.randn(5,), torch.rand(5,)) 2025-03-14T05:25:05.6877236Z >>> gmm = MixtureSameFamily(mix, comp) 2025-03-14T05:25:05.6877690Z 2025-03-14T05:25:05.6878072Z >>> # Construct Gaussian Mixture Model in 2D consisting of 5 equally 2025-03-14T05:25:05.6878925Z >>> # weighted bivariate normal distributions 2025-03-14T05:25:05.6879577Z >>> mix = D.Categorical(torch.ones(5,)) 2025-03-14T05:25:05.6880188Z >>> comp = D.Independent(D.Normal( 2025-03-14T05:25:05.6880801Z ... torch.randn(5,2), torch.rand(5,2)), 1) 2025-03-14T05:25:05.6881487Z >>> gmm = MixtureSameFamily(mix, comp) 2025-03-14T05:25:05.6881932Z 2025-03-14T05:25:05.6882274Z >>> # Construct a batch of 3 Gaussian Mixture Models in 2D each 2025-03-14T05:25:05.6883204Z >>> # consisting of 5 random weighted bivariate normal distributions 2025-03-14T05:25:05.6884034Z >>> mix = D.Categorical(torch.rand(3,5)) 2025-03-14T05:25:05.6884674Z >>> comp = D.Independent(D.Normal( 2025-03-14T05:25:05.6885312Z ... torch.randn(3,5,2), torch.rand(3,5,2)), 1) 2025-03-14T05:25:05.6886009Z >>> gmm = MixtureSameFamily(mix, comp) 2025-03-14T05:25:05.6886424Z 2025-03-14T05:25:05.6886582Z Args: 2025-03-14T05:25:05.6887156Z mixture_distribution: `torch.distributions.Categorical`-like 2025-03-14T05:25:05.6888096Z instance. Manages the probability of selecting component. 2025-03-14T05:25:05.6888962Z The number of categories must match the rightmost batch 2025-03-14T05:25:05.6889848Z dimension of the `component_distribution`. Must have either 2025-03-14T05:25:05.6890693Z scalar `batch_shape` or `batch_shape` matching 2025-03-14T05:25:05.6891428Z `component_distribution.batch_shape[:-1]` 2025-03-14T05:25:05.6892486Z component_distribution: `torch.distributions.Distribution`-like 2025-03-14T05:25:05.6893476Z instance. Right-most batch dimension indexes component. 2025-03-14T05:25:05.6894037Z 2025-03-14T05:25:05.6894537Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:05.6895259Z 2025-03-14T05:25:05.7003508Z msg = Cannot scrape callname=RelaxedBernoulli in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/relaxed_bernoulli.py line=111. 2025-03-14T05:25:05.7004824Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:05.7005215Z 2025-03-14T05:25:05.7005422Z Creates a RelaxedBernoulli distribution, parametrized by 2025-03-14T05:25:05.7005928Z :attr:`temperature`, and either :attr:`probs` or :attr:`logits` 2025-03-14T05:25:05.7006468Z (but not both). This is a relaxed version of the `Bernoulli` distribution, 2025-03-14T05:25:05.7007143Z so the values are in (0, 1), and has reparametrizable samples. 2025-03-14T05:25:05.7007665Z 2025-03-14T05:25:05.7007848Z Example:: 2025-03-14T05:25:05.7008072Z 2025-03-14T05:25:05.7008332Z >>> # xdoctest: +IGNORE_WANT("non-deterministic") 2025-03-14T05:25:05.7009040Z >>> m = RelaxedBernoulli(torch.tensor([2.2]), 2025-03-14T05:25:05.7009730Z ... torch.tensor([0.1, 0.2, 0.3, 0.99])) 2025-03-14T05:25:05.7010345Z >>> m.sample() 2025-03-14T05:25:05.7010813Z tensor([ 0.2951, 0.3442, 0.8918, 0.9021]) 2025-03-14T05:25:05.7011245Z 2025-03-14T05:25:05.7011396Z Args: 2025-03-14T05:25:05.7011873Z temperature (Tensor): relaxation temperature 2025-03-14T05:25:05.7012669Z probs (Number, Tensor): the probability of sampling `1` 2025-03-14T05:25:05.7013513Z logits (Number, Tensor): the log-odds of sampling `1` 2025-03-14T05:25:05.7014048Z 2025-03-14T05:25:05.7014526Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:05.7015265Z 2025-03-14T05:25:05.7026945Z msg = Cannot scrape callname=RelaxedOneHotCategorical in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/relaxed_categorical.py line=101. 2025-03-14T05:25:05.7029042Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:05.7029777Z 2025-03-14T05:25:05.7030200Z Creates a RelaxedOneHotCategorical distribution parametrized by 2025-03-14T05:25:05.7031174Z :attr:`temperature`, and either :attr:`probs` or :attr:`logits`. 2025-03-14T05:25:05.7032241Z This is a relaxed version of the :class:`OneHotCategorical` distribution, so 2025-03-14T05:25:05.7033253Z its samples are on simplex, and are reparametrizable. 2025-03-14T05:25:05.7033808Z 2025-03-14T05:25:05.7033986Z Example:: 2025-03-14T05:25:05.7034220Z 2025-03-14T05:25:05.7034460Z >>> # xdoctest: +IGNORE_WANT("non-deterministic") 2025-03-14T05:25:05.7035180Z >>> m = RelaxedOneHotCategorical(torch.tensor([2.2]), 2025-03-14T05:25:05.7035921Z ... torch.tensor([0.1, 0.2, 0.3, 0.4])) 2025-03-14T05:25:05.7036560Z >>> m.sample() 2025-03-14T05:25:05.7037049Z tensor([ 0.1294, 0.2324, 0.3859, 0.2523]) 2025-03-14T05:25:05.7037475Z 2025-03-14T05:25:05.7037627Z Args: 2025-03-14T05:25:05.7038090Z temperature (Tensor): relaxation temperature 2025-03-14T05:25:05.7038776Z probs (Tensor): event probabilities 2025-03-14T05:25:05.7039502Z logits (Tensor): unnormalized log probability for each event 2025-03-14T05:25:05.7040044Z 2025-03-14T05:25:05.7040557Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:05.7041273Z 2025-03-14T05:25:06.0565321Z msg = Cannot scrape callname=assoc_in in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/unification_tools.py line=245. 2025-03-14T05:25:06.0567450Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:06.0568551Z Return a new dict with new, potentially nested, key value pair 2025-03-14T05:25:06.0569524Z 2025-03-14T05:25:06.0569747Z >>> purchase = { 2025-03-14T05:25:06.0570234Z ... "name": "Alice", 2025-03-14T05:25:06.0570915Z ... "order": {"items": ["Apple", "Orange"], "costs": [0.50, 1.25]}, 2025-03-14T05:25:06.0571702Z ... "credit card": "5555-1234-1234-1234", 2025-03-14T05:25:06.0572300Z ... } 2025-03-14T05:25:06.0572939Z >>> assoc_in(purchase, ["order", "costs"], [0.25, 1.00]) # doctest: +SKIP 2025-03-14T05:25:06.0573711Z {'credit card': '5555-1234-1234-1234', 2025-03-14T05:25:06.0574270Z 'name': 'Alice', 2025-03-14T05:25:06.0575112Z 'order': {'costs': [0.25, 1.00], 'items': ['Apple', 'Orange']}} 2025-03-14T05:25:06.0575905Z 2025-03-14T05:25:06.0576587Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:06.0577304Z 2025-03-14T05:25:06.0578546Z msg = Cannot scrape callname=update_in in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/unification_tools.py line=261. 2025-03-14T05:25:06.0579904Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:06.0580455Z Update value in a (potentially) nested dictionary 2025-03-14T05:25:06.0580722Z 2025-03-14T05:25:06.0580827Z inputs: 2025-03-14T05:25:06.0581089Z d - dictionary on which to operate 2025-03-14T05:25:06.0581529Z keys - list or tuple giving the location of the value to be changed in d 2025-03-14T05:25:06.0582006Z func - function to operate on that value 2025-03-14T05:25:06.0582252Z 2025-03-14T05:25:06.0582455Z If keys == [k0,..,kX] and d[k0]..[kX] == v, update_in returns a copy of the 2025-03-14T05:25:06.0583012Z original dictionary with v replaced by func(v), but does not mutate the 2025-03-14T05:25:06.0583475Z original dictionary. 2025-03-14T05:25:06.0583664Z 2025-03-14T05:25:06.0583876Z If k0 is not a key in d, update_in creates nested dictionaries to the depth 2025-03-14T05:25:06.0584433Z specified by the keys, with the innermost value set to func(default). 2025-03-14T05:25:06.0584786Z 2025-03-14T05:25:06.0584894Z >>> inc = lambda x: x + 1 2025-03-14T05:25:06.0585469Z >>> update_in({"a": 0}, ["a"], inc) 2025-03-14T05:25:06.0585980Z {'a': 1} 2025-03-14T05:25:06.0586222Z 2025-03-14T05:25:06.0586398Z >>> transaction = { 2025-03-14T05:25:06.0586859Z ... "name": "Alice", 2025-03-14T05:25:06.0587519Z ... "purchase": {"items": ["Apple", "Orange"], "costs": [0.50, 1.25]}, 2025-03-14T05:25:06.0588293Z ... "credit card": "5555-1234-1234-1234", 2025-03-14T05:25:06.0588893Z ... } 2025-03-14T05:25:06.0589516Z >>> update_in(transaction, ["purchase", "costs"], sum) # doctest: +SKIP 2025-03-14T05:25:06.0590321Z {'credit card': '5555-1234-1234-1234', 2025-03-14T05:25:06.0590894Z 'name': 'Alice', 2025-03-14T05:25:06.0591473Z 'purchase': {'costs': 1.75, 'items': ['Apple', 'Orange']}} 2025-03-14T05:25:06.0591960Z 2025-03-14T05:25:06.0592185Z >>> # updating a value when k0 is not in d 2025-03-14T05:25:06.0592831Z >>> update_in({}, [1, 2, 3], str, default="bar") 2025-03-14T05:25:06.0593448Z {1: {2: {3: 'bar'}}} 2025-03-14T05:25:06.0593943Z >>> update_in({1: "foo"}, [2, 3, 4], inc, 0) 2025-03-14T05:25:06.0594499Z {1: 'foo', 2: {3: {4: 1}}} 2025-03-14T05:25:06.0594977Z 2025-03-14T05:25:06.0595635Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:06.0596362Z 2025-03-14T05:25:06.0597576Z msg = Cannot scrape callname=get_in in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/unification_tools.py line=320. 2025-03-14T05:25:06.0599748Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:06.0600789Z Returns coll[i0][i1]...[iX] where [i0, i1, ..., iX]==keys. 2025-03-14T05:25:06.0601314Z 2025-03-14T05:25:06.0601652Z If coll[i0][i1]...[iX] cannot be found, returns ``default``, unless 2025-03-14T05:25:06.0602829Z ``no_default`` is specified, then it raises KeyError or IndexError. 2025-03-14T05:25:06.0603424Z 2025-03-14T05:25:06.0603816Z ``get_in`` is a generalization of ``operator.getitem`` for nested data 2025-03-14T05:25:06.0604653Z structures such as dictionaries and lists. 2025-03-14T05:25:06.0605113Z 2025-03-14T05:25:06.0605306Z >>> transaction = { 2025-03-14T05:25:06.0605746Z ... "name": "Alice", 2025-03-14T05:25:06.0606420Z ... "purchase": {"items": ["Apple", "Orange"], "costs": [0.50, 1.25]}, 2025-03-14T05:25:06.0607411Z ... "credit card": "5555-1234-1234-1234", 2025-03-14T05:25:06.0608002Z ... } 2025-03-14T05:25:06.0608483Z >>> get_in(["purchase", "items", 0], transaction) 2025-03-14T05:25:06.0609111Z 'Apple' 2025-03-14T05:25:06.0609526Z >>> get_in(["name"], transaction) 2025-03-14T05:25:06.0610073Z 'Alice' 2025-03-14T05:25:06.0610536Z >>> get_in(["purchase", "total"], transaction) 2025-03-14T05:25:06.0611243Z >>> get_in(["purchase", "items", "apple"], transaction) 2025-03-14T05:25:06.0611977Z >>> get_in(["purchase", "items", 10], transaction) 2025-03-14T05:25:06.0612676Z >>> get_in(["purchase", "total"], transaction, 0) 2025-03-14T05:25:06.0613282Z 0 2025-03-14T05:25:06.0613692Z >>> get_in(["y"], {}, no_default=True) 2025-03-14T05:25:06.0614324Z Traceback (most recent call last): 2025-03-14T05:25:06.0614861Z ... 2025-03-14T05:25:06.0615248Z KeyError: 'y' 2025-03-14T05:25:06.0615507Z 2025-03-14T05:25:06.0615770Z See Also: 2025-03-14T05:25:06.0616188Z itertoolz.get 2025-03-14T05:25:06.0616671Z operator.getitem 2025-03-14T05:25:06.0617130Z 2025-03-14T05:25:06.0617788Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:06.0618505Z 2025-03-14T05:25:06.0619244Z msg = Cannot scrape callname=groupby in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/unification_tools.py line=373. 2025-03-14T05:25:06.0620308Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:06.0620821Z Group a collection by a key function 2025-03-14T05:25:06.0621053Z 2025-03-14T05:25:06.0621226Z >>> names = ["Alice", "Bob", "Charlie", "Dan", "Edith", "Frank"] 2025-03-14T05:25:06.0621640Z >>> groupby(len, names) # doctest: +SKIP 2025-03-14T05:25:06.0622048Z {3: ['Bob', 'Dan'], 5: ['Alice', 'Edith', 'Frank'], 7: ['Charlie']} 2025-03-14T05:25:06.0622345Z 2025-03-14T05:25:06.0622457Z >>> iseven = lambda x: x % 2 == 0 2025-03-14T05:25:06.0622854Z >>> groupby(iseven, [1, 2, 3, 4, 5, 6, 7, 8]) # doctest: +SKIP 2025-03-14T05:25:06.0623265Z {False: [1, 3, 5, 7], True: [2, 4, 6, 8]} 2025-03-14T05:25:06.0623499Z 2025-03-14T05:25:06.0623648Z Non-callable keys imply grouping on a member. 2025-03-14T05:25:06.0623932Z 2025-03-14T05:25:06.0624026Z >>> groupby( 2025-03-14T05:25:06.0624277Z ... "gender", 2025-03-14T05:25:06.0624533Z ... [ 2025-03-14T05:25:06.0624805Z ... {"name": "Alice", "gender": "F"}, 2025-03-14T05:25:06.0625175Z ... {"name": "Bob", "gender": "M"}, 2025-03-14T05:25:06.0625966Z ... {"name": "Charlie", "gender": "M"}, 2025-03-14T05:25:06.0626554Z ... ], 2025-03-14T05:25:06.0626944Z ... ) # doctest:+SKIP 2025-03-14T05:25:06.0627338Z {'F': [{'gender': 'F', 'name': 'Alice'}], 2025-03-14T05:25:06.0627698Z 'M': [{'gender': 'M', 'name': 'Bob'}, 2025-03-14T05:25:06.0628045Z {'gender': 'M', 'name': 'Charlie'}]} 2025-03-14T05:25:06.0628290Z 2025-03-14T05:25:06.0628447Z Not to be confused with ``itertools.groupby`` 2025-03-14T05:25:06.0628719Z 2025-03-14T05:25:06.0628812Z See Also: 2025-03-14T05:25:06.0629051Z countby 2025-03-14T05:25:06.0629286Z 2025-03-14T05:25:06.0629671Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:06.0630062Z 2025-03-14T05:25:06.4468440Z msg = Cannot scrape callname=SyncBatchNorm in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/batchnorm.py line=601. 2025-03-14T05:25:06.4470695Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:06.4471705Z Applies Batch Normalization over a N-Dimensional input. 2025-03-14T05:25:06.4472210Z 2025-03-14T05:25:06.4472823Z The N-D input is a mini-batch of [N-2]D inputs with additional channel dimension) as described in the paper 2025-03-14T05:25:06.4474059Z `Batch Normalization: Accelerating Deep Network Training by Reducing 2025-03-14T05:25:06.4475352Z Internal Covariate Shift `__ . 2025-03-14T05:25:06.4475954Z 2025-03-14T05:25:06.4476136Z .. math:: 2025-03-14T05:25:06.4476363Z 2025-03-14T05:25:06.4476772Z y = \frac{x - \mathrm{E}[x]}{ \sqrt{\mathrm{Var}[x] + \epsilon}} * \gamma + \beta 2025-03-14T05:25:06.4477388Z 2025-03-14T05:25:06.4477832Z The mean and standard-deviation are calculated per-dimension over all 2025-03-14T05:25:06.4478968Z mini-batches of the same process groups. :math:`\gamma` and :math:`\beta` 2025-03-14T05:25:06.4480092Z are learnable parameter vectors of size `C` (where `C` is the input size). 2025-03-14T05:25:06.4481101Z By default, the elements of :math:`\gamma` are sampled from 2025-03-14T05:25:06.4481992Z :math:`\mathcal{U}(0, 1)` and the elements of :math:`\beta` are set to 0. 2025-03-14T05:25:06.4483098Z The standard-deviation is calculated via the biased estimator, equivalent to 2025-03-14T05:25:06.4484042Z `torch.var(input, unbiased=False)`. 2025-03-14T05:25:06.4484449Z 2025-03-14T05:25:06.4484909Z Also by default, during training this layer keeps running estimates of its 2025-03-14T05:25:06.4486028Z computed mean and variance, which are then used for normalization during 2025-03-14T05:25:06.4487150Z evaluation. The running estimates are kept with a default :attr:`momentum` 2025-03-14T05:25:06.4487995Z of 0.1. 2025-03-14T05:25:06.4488232Z 2025-03-14T05:25:06.4488659Z If :attr:`track_running_stats` is set to ``False``, this layer then does not 2025-03-14T05:25:06.4489707Z keep running estimates, and batch statistics are instead used during 2025-03-14T05:25:06.4490531Z evaluation time as well. 2025-03-14T05:25:06.4490844Z 2025-03-14T05:25:06.4491021Z .. note:: 2025-03-14T05:25:06.4491646Z This :attr:`momentum` argument is different from one used in optimizer 2025-03-14T05:25:06.4492713Z classes and the conventional notion of momentum. Mathematically, the 2025-03-14T05:25:06.4493635Z update rule for running statistics here is 2025-03-14T05:25:06.4494592Z :math:`\hat{x}_\text{new} = (1 - \text{momentum}) \times \hat{x} + \text{momentum} \times x_t`, 2025-03-14T05:25:06.4495803Z where :math:`\hat{x}` is the estimated statistic and :math:`x_t` is the 2025-03-14T05:25:06.4496621Z new observed value. 2025-03-14T05:25:06.4496972Z 2025-03-14T05:25:06.4497543Z Because the Batch Normalization is done for each channel in the ``C`` dimension, computing 2025-03-14T05:25:06.4499180Z statistics on ``(N, +)`` slices, it's common terminology to call this Volumetric Batch 2025-03-14T05:25:06.4500199Z Normalization or Spatio-temporal Batch Normalization. 2025-03-14T05:25:06.4500759Z 2025-03-14T05:25:06.4501028Z Currently :class:`SyncBatchNorm` only supports 2025-03-14T05:25:06.4502057Z :class:`~torch.nn.DistributedDataParallel` (DDP) with single GPU per process. Use 2025-03-14T05:25:06.4503253Z :meth:`torch.nn.SyncBatchNorm.convert_sync_batchnorm()` to convert 2025-03-14T05:25:06.4504284Z :attr:`BatchNorm*D` layer to :class:`SyncBatchNorm` before wrapping 2025-03-14T05:25:06.4505091Z Network with DDP. 2025-03-14T05:25:06.4505402Z 2025-03-14T05:25:06.4505559Z Args: 2025-03-14T05:25:06.4506090Z num_features: :math:`C` from an expected input of size 2025-03-14T05:25:06.4506816Z :math:`(N, C, +)` 2025-03-14T05:25:06.4507492Z eps: a value added to the denominator for numerical stability. 2025-03-14T05:25:06.4508524Z Default: ``1e-5`` 2025-03-14T05:25:06.4509230Z momentum: the value used for the running_mean and running_var 2025-03-14T05:25:06.4510210Z computation. Can be set to ``None`` for cumulative moving average 2025-03-14T05:25:06.4511053Z (i.e. simple average). Default: 0.1 2025-03-14T05:25:06.4511880Z affine: a boolean value that when set to ``True``, this module has 2025-03-14T05:25:06.4512751Z learnable affine parameters. Default: ``True`` 2025-03-14T05:25:06.4513848Z track_running_stats: a boolean value that when set to ``True``, this 2025-03-14T05:25:06.4514926Z module tracks the running mean and variance, and when set to ``False``, 2025-03-14T05:25:06.4516018Z this module does not track such statistics, and initializes statistics 2025-03-14T05:25:06.4517065Z buffers :attr:`running_mean` and :attr:`running_var` as ``None``. 2025-03-14T05:25:06.4518096Z When these buffers are ``None``, this module always uses batch statistics. 2025-03-14T05:25:06.4519033Z in both training and eval modes. Default: ``True`` 2025-03-14T05:25:06.4520000Z process_group: synchronization of stats happen within each process group 2025-03-14T05:25:06.4521134Z individually. Default behavior is synchronization across the whole 2025-03-14T05:25:06.4521944Z world 2025-03-14T05:25:06.4522215Z 2025-03-14T05:25:06.4522376Z Shape: 2025-03-14T05:25:06.4522799Z - Input: :math:`(N, C, +)` 2025-03-14T05:25:06.4523460Z - Output: :math:`(N, C, +)` (same shape as input) 2025-03-14T05:25:06.4523923Z 2025-03-14T05:25:06.4524058Z .. note:: 2025-03-14T05:25:06.4524595Z Synchronization of batchnorm statistics occurs only while training, i.e. 2025-03-14T05:25:06.4525630Z synchronization is disabled when ``model.eval()`` is set or if 2025-03-14T05:25:06.4526456Z ``self.training`` is otherwise ``False``. 2025-03-14T05:25:06.4526922Z 2025-03-14T05:25:06.4527095Z Examples:: 2025-03-14T05:25:06.4527354Z 2025-03-14T05:25:06.4527537Z >>> # xdoctest: +SKIP 2025-03-14T05:25:06.4528082Z >>> # With Learnable Parameters 2025-03-14T05:25:06.4528687Z >>> m = nn.SyncBatchNorm(100) 2025-03-14T05:25:06.4529313Z >>> # creating process group (optional) 2025-03-14T05:25:06.4530007Z >>> # ranks is a list of int identifying rank ids. 2025-03-14T05:25:06.4530666Z >>> ranks = list(range(8)) 2025-03-14T05:25:06.4531229Z >>> r1, r2 = ranks[:4], ranks[4:] 2025-03-14T05:25:06.4531899Z >>> # Note: every rank calls into new_group for every 2025-03-14T05:25:06.4532674Z >>> # process group created, even if that rank is not 2025-03-14T05:25:06.4533350Z >>> # part of the group. 2025-03-14T05:25:06.4534146Z >>> process_groups = [torch.distributed.new_group(pids) for pids in [r1, r2]] 2025-03-14T05:25:06.4535204Z >>> process_group = process_groups[0 if dist.get_rank() <= 3 else 1] 2025-03-14T05:25:06.4536157Z >>> # Without Learnable Parameters 2025-03-14T05:25:06.4536978Z >>> m = nn.BatchNorm3d(100, affine=False, process_group=process_group) 2025-03-14T05:25:06.4537821Z >>> input = torch.randn(20, 100, 35, 45, 10) 2025-03-14T05:25:06.4538453Z >>> output = m(input) 2025-03-14T05:25:06.4538808Z 2025-03-14T05:25:06.4539021Z >>> # network is nn.BatchNorm layer 2025-03-14T05:25:06.4539966Z >>> sync_bn_network = nn.SyncBatchNorm.convert_sync_batchnorm(network, process_group) 2025-03-14T05:25:06.4541039Z >>> # only single gpu per process is currently supported 2025-03-14T05:25:06.4541971Z >>> ddp_sync_bn_network = torch.nn.parallel.DistributedDataParallel( 2025-03-14T05:25:06.4542822Z >>> sync_bn_network, 2025-03-14T05:25:06.4543492Z >>> device_ids=[args.local_rank], 2025-03-14T05:25:06.4544180Z >>> output_device=args.local_rank) 2025-03-14T05:25:06.4544985Z 2025-03-14T05:25:06.4545685Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:06.4546404Z 2025-03-14T05:25:06.4547697Z msg = Cannot scrape callname=SyncBatchNorm.convert_sync_batchnorm in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/batchnorm.py line=825. 2025-03-14T05:25:06.4549635Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:06.4551134Z Converts all :attr:`BatchNorm*D` layers in the model to :class:`torch.nn.SyncBatchNorm` layers. 2025-03-14T05:25:06.4551955Z 2025-03-14T05:25:06.4552112Z Args: 2025-03-14T05:25:06.4552804Z module (nn.Module): module containing one or more :attr:`BatchNorm*D` layers 2025-03-14T05:25:06.4553912Z process_group (optional): process group to scope synchronization, 2025-03-14T05:25:06.4554735Z default is the whole world 2025-03-14T05:25:06.4555139Z 2025-03-14T05:25:06.4555312Z Returns: 2025-03-14T05:25:06.4556127Z The original :attr:`module` with the converted :class:`torch.nn.SyncBatchNorm` 2025-03-14T05:25:06.4557228Z layers. If the original :attr:`module` is a :attr:`BatchNorm*D` layer, 2025-03-14T05:25:06.4558214Z a new :class:`torch.nn.SyncBatchNorm` layer object will be returned 2025-03-14T05:25:06.4558954Z instead. 2025-03-14T05:25:06.4559194Z 2025-03-14T05:25:06.4559368Z Example:: 2025-03-14T05:25:06.4559598Z 2025-03-14T05:25:06.4559817Z >>> # Network with nn.BatchNorm layer 2025-03-14T05:25:06.4560457Z >>> # xdoctest: +REQUIRES(env:TORCH_DOCTEST_CUDA) 2025-03-14T05:25:06.4561132Z >>> module = torch.nn.Sequential( 2025-03-14T05:25:06.4561764Z >>> torch.nn.Linear(20, 100), 2025-03-14T05:25:06.4562389Z >>> torch.nn.BatchNorm1d(100), 2025-03-14T05:25:06.4562955Z >>> ).cuda() 2025-03-14T05:25:06.4563517Z >>> # creating process group (optional) 2025-03-14T05:25:06.4564276Z >>> # ranks is a list of int identifying rank ids. 2025-03-14T05:25:06.4564976Z >>> ranks = list(range(8)) 2025-03-14T05:25:06.4565579Z >>> r1, r2 = ranks[:4], ranks[4:] 2025-03-14T05:25:06.4566247Z >>> # Note: every rank calls into new_group for every 2025-03-14T05:25:06.4566991Z >>> # process group created, even if that rank is not 2025-03-14T05:25:06.4567668Z >>> # part of the group. 2025-03-14T05:25:06.4568244Z >>> # xdoctest: +SKIP("distributed") 2025-03-14T05:25:06.4569060Z >>> process_groups = [torch.distributed.new_group(pids) for pids in [r1, r2]] 2025-03-14T05:25:06.4570152Z >>> process_group = process_groups[0 if dist.get_rank() <= 3 else 1] 2025-03-14T05:25:06.4571334Z >>> sync_bn_module = torch.nn.SyncBatchNorm.convert_sync_batchnorm(module, process_group) 2025-03-14T05:25:06.4572138Z 2025-03-14T05:25:06.4572296Z 2025-03-14T05:25:06.4572994Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:06.4573703Z 2025-03-14T05:25:06.4751992Z msg = Cannot scrape callname=Unflatten in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/flatten.py line=60. 2025-03-14T05:25:06.4753735Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:06.4754488Z 2025-03-14T05:25:06.4755094Z Unflattens a tensor dim expanding it to a desired shape. For use with :class:`~nn.Sequential`. 2025-03-14T05:25:06.4755966Z 2025-03-14T05:25:06.4756489Z * :attr:`dim` specifies the dimension of the input tensor to be unflattened, and it can 2025-03-14T05:25:06.4757602Z be either `int` or `str` when `Tensor` or `NamedTensor` is used, respectively. 2025-03-14T05:25:06.4758285Z 2025-03-14T05:25:06.4758873Z * :attr:`unflattened_size` is the new shape of the unflattened dimension of the tensor and it can be 2025-03-14T05:25:06.4760423Z a `tuple` of ints or a `list` of ints or `torch.Size` for `Tensor` input; a `NamedShape` 2025-03-14T05:25:06.4761465Z (tuple of `(name, size)` tuples) for `NamedTensor` input. 2025-03-14T05:25:06.4762026Z 2025-03-14T05:25:06.4762187Z Shape: 2025-03-14T05:25:06.4762804Z - Input: :math:`(*, S_{\text{dim}}, *)`, where :math:`S_{\text{dim}}` is the size at 2025-03-14T05:25:06.4763924Z dimension :attr:`dim` and :math:`*` means any number of dimensions including none. 2025-03-14T05:25:06.4765197Z - Output: :math:`(*, U_1, ..., U_n, *)`, where :math:`U` = :attr:`unflattened_size` and 2025-03-14T05:25:06.4766083Z :math:`\prod_{i=1}^n U_i = S_{\text{dim}}`. 2025-03-14T05:25:06.4766537Z 2025-03-14T05:25:06.4766703Z Args: 2025-03-14T05:25:06.4767182Z dim (Union[int, str]): Dimension to be unflattened 2025-03-14T05:25:06.4768334Z unflattened_size (Union[torch.Size, Tuple, List, NamedShape]): New shape of the unflattened dimension 2025-03-14T05:25:06.4769221Z 2025-03-14T05:25:06.4769385Z Examples: 2025-03-14T05:25:06.4769824Z >>> input = torch.randn(2, 50) 2025-03-14T05:25:06.4770344Z >>> # With tuple of ints 2025-03-14T05:25:06.4770869Z >>> m = nn.Sequential( 2025-03-14T05:25:06.4771381Z >>> nn.Linear(50, 50), 2025-03-14T05:25:06.4771918Z >>> nn.Unflatten(1, (2, 5, 5)) 2025-03-14T05:25:06.4772472Z >>> ) 2025-03-14T05:25:06.4772870Z >>> output = m(input) 2025-03-14T05:25:06.4773345Z >>> output.size() 2025-03-14T05:25:06.4773817Z torch.Size([2, 2, 5, 5]) 2025-03-14T05:25:06.4774352Z >>> # With torch.Size 2025-03-14T05:25:06.4774856Z >>> m = nn.Sequential( 2025-03-14T05:25:06.4775350Z >>> nn.Linear(50, 50), 2025-03-14T05:25:06.4776023Z >>> nn.Unflatten(1, torch.Size([2, 5, 5])) 2025-03-14T05:25:06.4776647Z >>> ) 2025-03-14T05:25:06.4777062Z >>> output = m(input) 2025-03-14T05:25:06.4777569Z >>> output.size() 2025-03-14T05:25:06.4778041Z torch.Size([2, 2, 5, 5]) 2025-03-14T05:25:06.4778618Z >>> # With namedshape (tuple of tuples) 2025-03-14T05:25:06.4779330Z >>> input = torch.randn(2, 50, names=('N', 'features')) 2025-03-14T05:25:06.4780249Z >>> unflatten = nn.Unflatten('features', (('C', 2), ('H', 5), ('W', 5))) 2025-03-14T05:25:06.4781076Z >>> output = unflatten(input) 2025-03-14T05:25:06.4781650Z >>> output.size() 2025-03-14T05:25:06.4782136Z torch.Size([2, 2, 5, 5]) 2025-03-14T05:25:06.4782482Z 2025-03-14T05:25:06.4782968Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:06.4783713Z 2025-03-14T05:25:06.5102603Z msg = Cannot scrape callname=TripletMarginWithDistanceLoss in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/loss.py line=1700. 2025-03-14T05:25:06.5104639Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:06.5105780Z Creates a criterion that measures the triplet loss given input 2025-03-14T05:25:06.5106775Z tensors :math:`a`, :math:`p`, and :math:`n` (representing anchor, 2025-03-14T05:25:06.5107827Z positive, and negative examples, respectively), and a nonnegative, 2025-03-14T05:25:06.5108918Z real-valued function ("distance function") used to compute the relationship 2025-03-14T05:25:06.5110076Z between the anchor and positive example ("positive distance") and the 2025-03-14T05:25:06.5111040Z anchor and negative example ("negative distance"). 2025-03-14T05:25:06.5111509Z 2025-03-14T05:25:06.5111902Z The unreduced loss (i.e., with :attr:`reduction` set to ``'none'``) 2025-03-14T05:25:06.5112725Z can be described as: 2025-03-14T05:25:06.5113038Z 2025-03-14T05:25:06.5113211Z .. math:: 2025-03-14T05:25:06.5113709Z \ell(a, p, n) = L = \{l_1,\dots,l_N\}^\top, \quad 2025-03-14T05:25:06.5114464Z l_i = \max \{d(a_i, p_i) - d(a_i, n_i) + {\rm margin}, 0\} 2025-03-14T05:25:06.5114979Z 2025-03-14T05:25:06.5115436Z where :math:`N` is the batch size; :math:`d` is a nonnegative, real-valued function 2025-03-14T05:25:06.5117050Z quantifying the closeness of two tensors, referred to as the :attr:`distance_function`; 2025-03-14T05:25:06.5118313Z and :math:`margin` is a nonnegative margin representing the minimum difference 2025-03-14T05:25:06.5119487Z between the positive and negative distances that is required for the loss to 2025-03-14T05:25:06.5120619Z be 0. The input tensors have :math:`N` elements each and can be of any shape 2025-03-14T05:25:06.5121513Z that the distance function can handle. 2025-03-14T05:25:06.5121971Z 2025-03-14T05:25:06.5122317Z If :attr:`reduction` is not ``'none'`` 2025-03-14T05:25:06.5122934Z (default ``'mean'``), then: 2025-03-14T05:25:06.5123289Z 2025-03-14T05:25:06.5123455Z .. math:: 2025-03-14T05:25:06.5123866Z \ell(x, y) = 2025-03-14T05:25:06.5124322Z \begin{cases} 2025-03-14T05:25:06.5124995Z \operatorname{mean}(L), & \text{if reduction} = \text{`mean';}\\ 2025-03-14T05:25:06.5125979Z \operatorname{sum}(L), & \text{if reduction} = \text{`sum'.} 2025-03-14T05:25:06.5126744Z \end{cases} 2025-03-14T05:25:06.5127007Z 2025-03-14T05:25:06.5127467Z See also :class:`~torch.nn.TripletMarginLoss`, which computes the triplet 2025-03-14T05:25:06.5128617Z loss for input tensors using the :math:`l_p` distance as the distance function. 2025-03-14T05:25:06.5129333Z 2025-03-14T05:25:06.5129506Z Args: 2025-03-14T05:25:06.5130259Z distance_function (Callable, optional): A nonnegative, real-valued function that 2025-03-14T05:25:06.5131354Z quantifies the closeness of two tensors. If not specified, 2025-03-14T05:25:06.5132210Z `nn.PairwiseDistance` will be used. Default: ``None`` 2025-03-14T05:25:06.5133242Z margin (float, optional): A nonnegative margin representing the minimum difference 2025-03-14T05:25:06.5134513Z between the positive and negative distances required for the loss to be 0. Larger 2025-03-14T05:25:06.5135890Z margins penalize cases where the negative examples are not distant enough from the 2025-03-14T05:25:06.5136983Z anchors, relative to the positives. Default: :math:`1`. 2025-03-14T05:25:06.5137977Z swap (bool, optional): Whether to use the distance swap described in the paper 2025-03-14T05:25:06.5139193Z `Learning shallow convolutional feature descriptors with triplet losses` by 2025-03-14T05:25:06.5140380Z V. Balntas, E. Riba et al. If True, and if the positive example is closer to the 2025-03-14T05:25:06.5141582Z negative example than the anchor is, swaps the positive example and the anchor in 2025-03-14T05:25:06.5142584Z the loss computation. Default: ``False``. 2025-03-14T05:25:06.5143592Z reduction (str, optional): Specifies the (optional) reduction to apply to the output: 2025-03-14T05:25:06.5144675Z ``'none'`` | ``'mean'`` | ``'sum'``. ``'none'``: no reduction will be applied, 2025-03-14T05:25:06.5145607Z ``'mean'``: the sum of the output will be divided by the number of 2025-03-14T05:25:06.5146643Z elements in the output, ``'sum'``: the output will be summed. Default: ``'mean'`` 2025-03-14T05:25:06.5147342Z 2025-03-14T05:25:06.5147351Z 2025-03-14T05:25:06.5147511Z Shape: 2025-03-14T05:25:06.5148210Z - Input: :math:`(N, *)` where :math:`*` represents any number of additional dimensions 2025-03-14T05:25:06.5149135Z as supported by the distance function. 2025-03-14T05:25:06.5150069Z - Output: A Tensor of shape :math:`(N)` if :attr:`reduction` is ``'none'``, or a scalar 2025-03-14T05:25:06.5150900Z otherwise. 2025-03-14T05:25:06.5151190Z 2025-03-14T05:25:06.5151367Z Examples:: 2025-03-14T05:25:06.5151633Z 2025-03-14T05:25:06.5151824Z >>> # Initialize embeddings 2025-03-14T05:25:06.5152397Z >>> embedding = nn.Embedding(1000, 128) 2025-03-14T05:25:06.5153009Z >>> anchor_ids = torch.randint(0, 1000, (1,)) 2025-03-14T05:25:06.5153895Z >>> positive_ids = torch.randint(0, 1000, (1,)) 2025-03-14T05:25:06.5154576Z >>> negative_ids = torch.randint(0, 1000, (1,)) 2025-03-14T05:25:06.5155206Z >>> anchor = embedding(anchor_ids) 2025-03-14T05:25:06.5155818Z >>> positive = embedding(positive_ids) 2025-03-14T05:25:06.5156456Z >>> negative = embedding(negative_ids) 2025-03-14T05:25:06.5157031Z >>> 2025-03-14T05:25:06.5157456Z >>> # Built-in Distance Function 2025-03-14T05:25:06.5158017Z >>> triplet_loss = \ 2025-03-14T05:25:06.5159004Z >>> nn.TripletMarginWithDistanceLoss(distance_function=nn.PairwiseDistance()) 2025-03-14T05:25:06.5160059Z >>> output = triplet_loss(anchor, positive, negative) 2025-03-14T05:25:06.5160680Z >>> output.backward() 2025-03-14T05:25:06.5161123Z >>> 2025-03-14T05:25:06.5161518Z >>> # Custom Distance Function 2025-03-14T05:25:06.5162074Z >>> def l_infinity(x1, x2): 2025-03-14T05:25:06.5162671Z >>> return torch.max(torch.abs(x1 - x2), dim=1).values 2025-03-14T05:25:06.5163345Z >>> 2025-03-14T05:25:06.5163909Z >>> # xdoctest: +SKIP("FIXME: Would call backwards a second time") 2025-03-14T05:25:06.5164634Z >>> triplet_loss = ( 2025-03-14T05:25:06.5165474Z >>> nn.TripletMarginWithDistanceLoss(distance_function=l_infinity, margin=1.5)) 2025-03-14T05:25:06.5166509Z >>> output = triplet_loss(anchor, positive, negative) 2025-03-14T05:25:06.5167206Z >>> output.backward() 2025-03-14T05:25:06.5167683Z >>> 2025-03-14T05:25:06.5168115Z >>> # Custom Distance Function (Lambda) 2025-03-14T05:25:06.5168725Z >>> triplet_loss = ( 2025-03-14T05:25:06.5169229Z >>> nn.TripletMarginWithDistanceLoss( 2025-03-14T05:25:06.5170028Z >>> distance_function=lambda x, y: 1.0 - F.cosine_similarity(x, y))) 2025-03-14T05:25:06.5170962Z >>> output = triplet_loss(anchor, positive, negative) 2025-03-14T05:25:06.5171621Z >>> output.backward() 2025-03-14T05:25:06.5171944Z 2025-03-14T05:25:06.5172102Z Reference: 2025-03-14T05:25:06.5172918Z V. Balntas, et al.: Learning shallow convolutional feature descriptors with triplet losses: 2025-03-14T05:25:06.5174129Z https://bmva-archive.org.uk/bmvc/2016/papers/paper119/index.html 2025-03-14T05:25:06.5174911Z 2025-03-14T05:25:06.5175730Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 17)) 2025-03-14T05:25:06.5176456Z 2025-03-14T05:25:06.5707178Z msg = Cannot scrape callname=MaxUnpool2d in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pooling.py line=395. 2025-03-14T05:25:06.5708952Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:06.5709982Z Computes a partial inverse of :class:`MaxPool2d`. 2025-03-14T05:25:06.5710492Z 2025-03-14T05:25:06.5710990Z :class:`MaxPool2d` is not fully invertible, since the non-maximal values are lost. 2025-03-14T05:25:06.5711705Z 2025-03-14T05:25:06.5712165Z :class:`MaxUnpool2d` takes in as input the output of :class:`MaxPool2d` 2025-03-14T05:25:06.5713296Z including the indices of the maximal values and computes a partial inverse 2025-03-14T05:25:06.5714252Z in which all non-maximal values are set to zero. 2025-03-14T05:25:06.5714761Z 2025-03-14T05:25:06.5714923Z Note: 2025-03-14T05:25:06.5715746Z This operation may behave nondeterministically when the input indices has repeat values. 2025-03-14T05:25:06.5717349Z See https://github.com/pytorch/pytorch/issues/80827 and :doc:`/notes/randomness` for more information. 2025-03-14T05:25:06.5718323Z 2025-03-14T05:25:06.5718789Z .. note:: :class:`MaxPool2d` can map several input sizes to the same output 2025-03-14T05:25:06.5719757Z sizes. Hence, the inversion process can get ambiguous. 2025-03-14T05:25:06.5720639Z To accommodate this, you can provide the needed output size 2025-03-14T05:25:06.5721614Z as an additional argument :attr:`output_size` in the forward call. 2025-03-14T05:25:06.5722813Z See the Inputs and Example below. 2025-03-14T05:25:06.5723255Z 2025-03-14T05:25:06.5723417Z Args: 2025-03-14T05:25:06.5723981Z kernel_size (int or tuple): Size of the max pooling window. 2025-03-14T05:25:06.5724860Z stride (int or tuple): Stride of the max pooling window. 2025-03-14T05:25:06.5725671Z It is set to :attr:`kernel_size` by default. 2025-03-14T05:25:06.5726490Z padding (int or tuple): Padding that was added to the input 2025-03-14T05:25:06.5727088Z 2025-03-14T05:25:06.5727253Z Inputs: 2025-03-14T05:25:06.5727911Z - `input`: the input Tensor to invert 2025-03-14T05:25:06.5728745Z - `indices`: the indices given out by :class:`~torch.nn.MaxPool2d` 2025-03-14T05:25:06.5729656Z - `output_size` (optional): the targeted output size 2025-03-14T05:25:06.5730169Z 2025-03-14T05:25:06.5730330Z Shape: 2025-03-14T05:25:06.5730908Z - Input: :math:`(N, C, H_{in}, W_{in})` or :math:`(C, H_{in}, W_{in})`. 2025-03-14T05:25:06.5731867Z - Output: :math:`(N, C, H_{out}, W_{out})` or :math:`(C, H_{out}, W_{out})`, where 2025-03-14T05:25:06.5732507Z 2025-03-14T05:25:06.5732697Z .. math:: 2025-03-14T05:25:06.5733469Z H_{out} = (H_{in} - 1) \times \text{stride[0]} - 2 \times \text{padding[0]} + \text{kernel\_size[0]} 2025-03-14T05:25:06.5734167Z 2025-03-14T05:25:06.5734348Z .. math:: 2025-03-14T05:25:06.5735073Z W_{out} = (W_{in} - 1) \times \text{stride[1]} - 2 \times \text{padding[1]} + \text{kernel\_size[1]} 2025-03-14T05:25:06.5735996Z 2025-03-14T05:25:06.5736347Z or as given by :attr:`output_size` in the call operator 2025-03-14T05:25:06.5736869Z 2025-03-14T05:25:06.5737062Z Example:: 2025-03-14T05:25:06.5737315Z 2025-03-14T05:25:06.5737639Z >>> pool = nn.MaxPool2d(2, stride=2, return_indices=True) 2025-03-14T05:25:06.5738396Z >>> unpool = nn.MaxUnpool2d(2, stride=2) 2025-03-14T05:25:06.5739103Z >>> input = torch.tensor([[[[ 1., 2., 3., 4.], 2025-03-14T05:25:06.5739790Z [ 5., 6., 7., 8.], 2025-03-14T05:25:06.5740413Z [ 9., 10., 11., 12.], 2025-03-14T05:25:06.5741013Z [13., 14., 15., 16.]]]]) 2025-03-14T05:25:06.5741655Z >>> output, indices = pool(input) 2025-03-14T05:25:06.5742286Z >>> unpool(output, indices) 2025-03-14T05:25:06.5742821Z tensor([[[[ 0., 0., 0., 0.], 2025-03-14T05:25:06.5743389Z [ 0., 6., 0., 8.], 2025-03-14T05:25:06.5743947Z [ 0., 0., 0., 0.], 2025-03-14T05:25:06.5744529Z [ 0., 14., 0., 16.]]]]) 2025-03-14T05:25:06.5745321Z >>> # Now using output_size to resolve an ambiguous size for the inverse 2025-03-14T05:25:06.5746213Z >>> input = torch.tensor([[[[ 1., 2., 3., 4., 5.], 2025-03-14T05:25:06.5746866Z [ 6., 7., 8., 9., 10.], 2025-03-14T05:25:06.5747497Z [11., 12., 13., 14., 15.], 2025-03-14T05:25:06.5748112Z [16., 17., 18., 19., 20.]]]]) 2025-03-14T05:25:06.5748765Z >>> output, indices = pool(input) 2025-03-14T05:25:06.5749492Z >>> # This call will not work without specifying output_size 2025-03-14T05:25:06.5750341Z >>> unpool(output, indices, output_size=input.size()) 2025-03-14T05:25:06.5751066Z tensor([[[[ 0., 0., 0., 0., 0.], 2025-03-14T05:25:06.5751659Z [ 0., 7., 0., 9., 0.], 2025-03-14T05:25:06.5752422Z [ 0., 0., 0., 0., 0.], 2025-03-14T05:25:06.5753013Z [ 0., 17., 0., 19., 0.]]]]) 2025-03-14T05:25:06.5753413Z 2025-03-14T05:25:06.5753419Z 2025-03-14T05:25:06.5753575Z 2025-03-14T05:25:06.5754259Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:06.5754953Z 2025-03-14T05:25:06.6006215Z msg = Cannot scrape callname=EmbeddingBag in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/sparse.py line=270. 2025-03-14T05:25:06.6008390Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:06.6009789Z Compute sums or means of 'bags' of embeddings, without instantiating the intermediate embeddings. 2025-03-14T05:25:06.6010631Z 2025-03-14T05:25:06.6011231Z For bags of constant length, no :attr:`per_sample_weights`, no indices equal to :attr:`padding_idx`, 2025-03-14T05:25:06.6012266Z and with 2D inputs, this class 2025-03-14T05:25:06.6012659Z 2025-03-14T05:25:06.6013446Z * with ``mode="sum"`` is equivalent to :class:`~torch.nn.Embedding` followed by ``torch.sum(dim=1)``, 2025-03-14T05:25:06.6014833Z * with ``mode="mean"`` is equivalent to :class:`~torch.nn.Embedding` followed by ``torch.mean(dim=1)``, 2025-03-14T05:25:06.6016304Z * with ``mode="max"`` is equivalent to :class:`~torch.nn.Embedding` followed by ``torch.max(dim=1)``. 2025-03-14T05:25:06.6017134Z 2025-03-14T05:25:06.6017831Z However, :class:`~torch.nn.EmbeddingBag` is much more time and memory efficient than using a chain of these 2025-03-14T05:25:06.6018859Z operations. 2025-03-14T05:25:06.6019127Z 2025-03-14T05:25:06.6019609Z EmbeddingBag also supports per-sample weights as an argument to the forward 2025-03-14T05:25:06.6020724Z pass. This scales the output of the Embedding before performing a weighted 2025-03-14T05:25:06.6021869Z reduction as specified by ``mode``. If :attr:`per_sample_weights` is passed, the 2025-03-14T05:25:06.6022974Z only supported ``mode`` is ``"sum"``, which computes a weighted sum according to 2025-03-14T05:25:06.6023831Z :attr:`per_sample_weights`. 2025-03-14T05:25:06.6024188Z 2025-03-14T05:25:06.6024366Z Args: 2025-03-14T05:25:06.6024916Z num_embeddings (int): size of the dictionary of embeddings 2025-03-14T05:25:06.6025785Z embedding_dim (int): the size of each embedding vector 2025-03-14T05:25:06.6026912Z max_norm (float, optional): If given, each embedding vector with norm larger than :attr:`max_norm` 2025-03-14T05:25:06.6028027Z is renormalized to have norm :attr:`max_norm`. 2025-03-14T05:25:06.6029194Z norm_type (float, optional): The p of the p-norm to compute for the :attr:`max_norm` option. Default ``2``. 2025-03-14T05:25:06.6030688Z scale_grad_by_freq (bool, optional): if given, this will scale gradients by the inverse of frequency of 2025-03-14T05:25:06.6031829Z the words in the mini-batch. Default ``False``. 2025-03-14T05:25:06.6032699Z Note: this option is not supported when ``mode="max"``. 2025-03-14T05:25:06.6033727Z mode (str, optional): ``"sum"``, ``"mean"`` or ``"max"``. Specifies the way to reduce the bag. 2025-03-14T05:25:06.6034845Z ``"sum"`` computes the weighted sum, taking :attr:`per_sample_weights` 2025-03-14T05:25:06.6035913Z into consideration. ``"mean"`` computes the average of the values 2025-03-14T05:25:06.6036887Z in the bag, ``"max"`` computes the max value over each bag. 2025-03-14T05:25:06.6037644Z Default: ``"mean"`` 2025-03-14T05:25:06.6038668Z sparse (bool, optional): if ``True``, gradient w.r.t. :attr:`weight` matrix will be a sparse tensor. See 2025-03-14T05:25:06.6039923Z Notes for more details regarding sparse gradients. Note: this option is not 2025-03-14T05:25:06.6040877Z supported when ``mode="max"``. 2025-03-14T05:25:06.6042046Z include_last_offset (bool, optional): if ``True``, :attr:`offsets` has one additional element, where the last element 2025-03-14T05:25:06.6043390Z is equivalent to the size of `indices`. This matches the CSR format. 2025-03-14T05:25:06.6044864Z padding_idx (int, optional): If specified, the entries at :attr:`padding_idx` do not contribute to the 2025-03-14T05:25:06.6046232Z gradient; therefore, the embedding vector at :attr:`padding_idx` is not updated 2025-03-14T05:25:06.6047454Z during training, i.e. it remains as a fixed "pad". For a newly constructed 2025-03-14T05:25:06.6048656Z EmbeddingBag, the embedding vector at :attr:`padding_idx` will default to all 2025-03-14T05:25:06.6049990Z zeros, but can be updated to another value to be used as the padding vector. 2025-03-14T05:25:06.6051157Z Note that the embedding vector at :attr:`padding_idx` is excluded from the 2025-03-14T05:25:06.6052037Z reduction. 2025-03-14T05:25:06.6052467Z 2025-03-14T05:25:06.6052638Z Attributes: 2025-03-14T05:25:06.6053497Z weight (Tensor): the learnable weights of the module of shape `(num_embeddings, embedding_dim)` 2025-03-14T05:25:06.6054583Z initialized from :math:`\mathcal{N}(0, 1)`. 2025-03-14T05:25:06.6055086Z 2025-03-14T05:25:06.6055275Z Examples:: 2025-03-14T05:25:06.6055538Z 2025-03-14T05:25:06.6055924Z >>> # an EmbeddingBag module containing 10 tensors of size 3 2025-03-14T05:25:06.6056681Z >>> embedding_sum = nn.EmbeddingBag(10, 3, mode='sum') 2025-03-14T05:25:06.6057422Z >>> # a batch of 2 samples of 4 indices each 2025-03-14T05:25:06.6058238Z >>> input = torch.tensor([1, 2, 4, 5, 4, 3, 2, 9], dtype=torch.long) 2025-03-14T05:25:06.6059078Z >>> offsets = torch.tensor([0, 4], dtype=torch.long) 2025-03-14T05:25:06.6059820Z >>> # xdoctest: +IGNORE_WANT("non-deterministic") 2025-03-14T05:25:06.6060535Z >>> embedding_sum(input, offsets) 2025-03-14T05:25:06.6061157Z tensor([[-0.8861, -5.4350, -0.0523], 2025-03-14T05:25:06.6061773Z [ 1.1306, -2.5798, -1.0044]]) 2025-03-14T05:25:06.6062180Z 2025-03-14T05:25:06.6062409Z >>> # Example with padding_idx 2025-03-14T05:25:06.6063209Z >>> embedding_sum = nn.EmbeddingBag(10, 3, mode='sum', padding_idx=2) 2025-03-14T05:25:06.6064196Z >>> input = torch.tensor([2, 2, 2, 2, 4, 3, 2, 9], dtype=torch.long) 2025-03-14T05:25:06.6065057Z >>> offsets = torch.tensor([0, 4], dtype=torch.long) 2025-03-14T05:25:06.6065777Z >>> embedding_sum(input, offsets) 2025-03-14T05:25:06.6066399Z tensor([[ 0.0000, 0.0000, 0.0000], 2025-03-14T05:25:06.6067000Z [-0.7082, 3.2145, -2.6251]]) 2025-03-14T05:25:06.6067398Z 2025-03-14T05:25:06.6067741Z >>> # An EmbeddingBag can be loaded from an Embedding like so 2025-03-14T05:25:06.6068559Z >>> embedding = nn.Embedding(10, 3, padding_idx=2) 2025-03-14T05:25:06.6069349Z >>> embedding_sum = nn.EmbeddingBag.from_pretrained( 2025-03-14T05:25:06.6070058Z embedding.weight, 2025-03-14T05:25:06.6070686Z padding_idx=embedding.padding_idx, 2025-03-14T05:25:06.6071317Z mode='sum') 2025-03-14T05:25:06.6071800Z 2025-03-14T05:25:06.6072505Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:06.6073245Z 2025-03-14T05:25:06.6402238Z msg = Cannot scrape callname=DistributedDataParallel.join in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/parallel/distributed.py line=1742. 2025-03-14T05:25:06.6403320Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:06.6403721Z 2025-03-14T05:25:06.6403963Z Context manager for training with uneven inputs across processes in DDP. 2025-03-14T05:25:06.6404331Z 2025-03-14T05:25:06.6404558Z This context manager will keep track of already-joined DDP processes, 2025-03-14T05:25:06.6414007Z and "shadow" the forward and backward passes by inserting collective 2025-03-14T05:25:06.6414683Z communication operations to match with the ones created by non-joined 2025-03-14T05:25:06.6415469Z DDP processes. This will ensure each collective call has a corresponding 2025-03-14T05:25:06.6416126Z call by already-joined DDP processes, preventing hangs or errors that 2025-03-14T05:25:06.6416688Z would otherwise happen when training with uneven inputs across 2025-03-14T05:25:06.6417260Z processes. Alternatively, if the flag ``throw_on_early_termination`` is 2025-03-14T05:25:06.6417839Z specified to be ``True``, all trainers will throw an error once one rank 2025-03-14T05:25:06.6418478Z runs out of inputs, allowing these errors to be caught and handled 2025-03-14T05:25:06.6418926Z according to application logic. 2025-03-14T05:25:06.6419144Z 2025-03-14T05:25:06.6419371Z Once all DDP processes have joined, the context manager will broadcast 2025-03-14T05:25:06.6419952Z the model corresponding to the last joined process to all processes to 2025-03-14T05:25:06.6420464Z ensure the model is the same across all processes 2025-03-14T05:25:06.6420848Z (which is guaranteed by DDP). 2025-03-14T05:25:06.6421054Z 2025-03-14T05:25:06.6421263Z To use this to enable training with uneven inputs across processes, 2025-03-14T05:25:06.6421817Z simply wrap this context manager around your training loop. No further 2025-03-14T05:25:06.6422344Z modifications to the model or data loading is required. 2025-03-14T05:25:06.6422642Z 2025-03-14T05:25:06.6422752Z .. warning:: 2025-03-14T05:25:06.6423108Z If the model or training loop this context manager is wrapped around 2025-03-14T05:25:06.6423638Z has additional distributed collective operations, such as 2025-03-14T05:25:06.6424136Z ``SyncBatchNorm`` in the model's forward pass, then the flag 2025-03-14T05:25:06.6424656Z ``throw_on_early_termination`` must be enabled. This is because this 2025-03-14T05:25:06.6425202Z context manager is not aware of non-DDP collective communication. 2025-03-14T05:25:06.6425712Z This flag will cause all ranks to throw when any one rank 2025-03-14T05:25:06.6426227Z exhausts inputs, allowing these errors to be caught and recovered 2025-03-14T05:25:06.6426662Z from across all ranks. 2025-03-14T05:25:06.6426840Z 2025-03-14T05:25:06.6426968Z Args: 2025-03-14T05:25:06.6427284Z divide_by_initial_world_size (bool): If ``True``, will divide 2025-03-14T05:25:06.6427802Z gradients by the initial ``world_size`` DDP training was launched 2025-03-14T05:25:06.6428306Z with. If ``False``, will compute the effective world size 2025-03-14T05:25:06.6428972Z (number of ranks that have not depleted their inputs yet) and 2025-03-14T05:25:06.6429535Z divide gradients by that during allreduce. Set 2025-03-14T05:25:06.6430205Z ``divide_by_initial_world_size=True`` to ensure every input 2025-03-14T05:25:06.6431156Z sample including the uneven inputs have equal weight in terms of 2025-03-14T05:25:06.6431688Z how much they contribute to the global gradient. This is 2025-03-14T05:25:06.6432155Z achieved by always dividing the gradient by the initial 2025-03-14T05:25:06.6432646Z ``world_size`` even when we encounter uneven inputs. If you set 2025-03-14T05:25:06.6433122Z this to ``False``, we divide the gradient by the remaining 2025-03-14T05:25:06.6433613Z number of nodes. This ensures parity with training on a smaller 2025-03-14T05:25:06.6434214Z ``world_size`` although it also means the uneven inputs would 2025-03-14T05:25:06.6434722Z contribute more towards the global gradient. Typically, you 2025-03-14T05:25:06.6435238Z would want to set this to ``True`` for cases where the last few 2025-03-14T05:25:06.6435758Z inputs of your training job are uneven. In extreme cases, where 2025-03-14T05:25:06.6436266Z there is a large discrepancy in the number of inputs, setting 2025-03-14T05:25:06.6436723Z this to ``False`` might provide better results. 2025-03-14T05:25:06.6437197Z enable (bool): Whether to enable uneven input detection or not. Pass 2025-03-14T05:25:06.6437827Z in ``enable=False`` to disable in cases where you know that 2025-03-14T05:25:06.6438317Z inputs are even across participating processes. Default is 2025-03-14T05:25:06.6438724Z ``True``. 2025-03-14T05:25:06.6439068Z throw_on_early_termination (bool): Whether to throw an error 2025-03-14T05:25:06.6439558Z or continue training when at least one rank has exhausted 2025-03-14T05:25:06.6440047Z inputs. If ``True``, will throw upon the first rank reaching end 2025-03-14T05:25:06.6440596Z of data. If ``False``, will continue training with a smaller 2025-03-14T05:25:06.6441092Z effective world size until all ranks are joined. Note that if 2025-03-14T05:25:06.6441539Z this flag is specified, then the flag 2025-03-14T05:25:06.6441957Z ``divide_by_initial_world_size`` would be ignored. Default 2025-03-14T05:25:06.6442351Z is ``False``. 2025-03-14T05:25:06.6442509Z 2025-03-14T05:25:06.6442514Z 2025-03-14T05:25:06.6442632Z Example:: 2025-03-14T05:25:06.6442760Z 2025-03-14T05:25:06.6442891Z >>> # xdoctest: +SKIP("Distributed") 2025-03-14T05:25:06.6443218Z >>> import torch 2025-03-14T05:25:06.6443504Z >>> import torch.distributed as dist 2025-03-14T05:25:06.6443819Z >>> import os 2025-03-14T05:25:06.6444103Z >>> import torch.multiprocessing as mp 2025-03-14T05:25:06.6444461Z >>> import torch.nn as nn 2025-03-14T05:25:06.6444875Z >>> # On each spawned worker 2025-03-14T05:25:06.6445242Z >>> def worker(rank): 2025-03-14T05:25:06.6445606Z >>> dist.init_process_group("nccl", rank=rank, world_size=2) 2025-03-14T05:25:06.6446020Z >>> torch.cuda.set_device(rank) 2025-03-14T05:25:06.6446385Z >>> model = nn.Linear(1, 1, bias=False).to(rank) 2025-03-14T05:25:06.6446817Z >>> model = torch.nn.parallel.DistributedDataParallel( 2025-03-14T05:25:06.6447255Z >>> model, device_ids=[rank], output_device=rank 2025-03-14T05:25:06.6447605Z >>> ) 2025-03-14T05:25:06.6447882Z >>> # Rank 1 gets one more input than rank 0. 2025-03-14T05:25:06.6448324Z >>> inputs = [torch.tensor([1]).float() for _ in range(10 + rank)] 2025-03-14T05:25:06.6448746Z >>> with model.join(): 2025-03-14T05:25:06.6449043Z >>> for _ in range(5): 2025-03-14T05:25:06.6449356Z >>> for inp in inputs: 2025-03-14T05:25:06.6449692Z >>> loss = model(inp).sum() 2025-03-14T05:25:06.6450034Z >>> loss.backward() 2025-03-14T05:25:06.6450434Z >>> # Without the join() API, the below synchronization will hang 2025-03-14T05:25:06.6450901Z >>> # blocking for rank 1's allreduce to complete. 2025-03-14T05:25:06.6451297Z >>> torch.cuda.synchronize(device=rank) 2025-03-14T05:25:06.6451551Z 2025-03-14T05:25:06.6451811Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:06.6452194Z 2025-03-14T05:25:06.6452950Z msg = Cannot scrape callname=DistributedDataParallel._register_fused_optim in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/parallel/distributed.py line=2033. 2025-03-14T05:25:06.6454049Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:06.6454431Z 2025-03-14T05:25:06.6454749Z Register an optimizer in DDP to optimize parameter immediately after its gradient reduction. 2025-03-14T05:25:06.6455178Z 2025-03-14T05:25:06.6455403Z Registers an optimizer with DDP such that the optimization for a 2025-03-14T05:25:06.6456043Z parameter will run immediately when that parameter's gradient is 2025-03-14T05:25:06.6456587Z finished with reduction, instead of waiting for all parameters' 2025-03-14T05:25:06.6457138Z gradients to finish reduction. This can result in a training speedup 2025-03-14T05:25:06.6457707Z depending on your workload since the optimizer can run while gradient 2025-03-14T05:25:06.6458272Z reduction for other parameters are still ongoing. In addition, this has 2025-03-14T05:25:06.6458963Z the potential to reduce peak memory consumption during training, as it 2025-03-14T05:25:06.6459523Z only needs to load the per-parameter optimizer states of a single 2025-03-14T05:25:06.6460069Z parameter at a time, instead of loading all per-parameter optimizer 2025-03-14T05:25:06.6460509Z states at once. 2025-03-14T05:25:06.6460670Z 2025-03-14T05:25:06.6460759Z Args: 2025-03-14T05:25:06.6461094Z optim (Type): a ``torch.optim.Optimizer`` class to be registered 2025-03-14T05:25:06.6461522Z as a fused optimizer. 2025-03-14T05:25:06.6461935Z *args (Sequence[Any]): Arguments to forward to `optim`. 2025-03-14T05:25:06.6462441Z optim_params (Optional[Iterable[torch.Tensor]]): Set of parameters 2025-03-14T05:25:06.6463008Z to optimize, similar to `params` argument of traditional `torch.optim` 2025-03-14T05:25:06.6463571Z Optimizers. If this is omitted, all DDP model parameters will be 2025-03-14T05:25:06.6463997Z optimized. 2025-03-14T05:25:06.6464351Z **kwargs: (Dict[str, Any]): Keyword arguments to forward to `optim`. 2025-03-14T05:25:06.6464670Z 2025-03-14T05:25:06.6464784Z .. warning :: 2025-03-14T05:25:06.6465145Z _register_fused_optim should only be called once on a DDP instance, 2025-03-14T05:25:06.6465704Z and registering multiple fused optimizers for the same DDP model 2025-03-14T05:25:06.6466170Z is not currently supported. Please ping 2025-03-14T05:25:06.6466656Z https://github.com/pytorch/pytorch/issues/71595 if this is necessary 2025-03-14T05:25:06.6467112Z for your use case. 2025-03-14T05:25:06.6467274Z 2025-03-14T05:25:06.6467383Z .. warning :: 2025-03-14T05:25:06.6467723Z _register_fused_optim and register_comm_hook currently do not 2025-03-14T05:25:06.6468245Z compose together, meaning that custom DDP communication hooks are 2025-03-14T05:25:06.6468759Z not supported with overlapped optimizers. Please ping 2025-03-14T05:25:06.6469277Z https://github.com/pytorch/pytorch/issues/71595 if this is necessary 2025-03-14T05:25:06.6469733Z for your use case. 2025-03-14T05:25:06.6469905Z 2025-03-14T05:25:06.6469998Z .. warning :: 2025-03-14T05:25:06.6470372Z Gradient accumulation and DDP `no_sync` are currently not supported 2025-03-14T05:25:06.6470850Z with overlapped optimizer. Please ping 2025-03-14T05:25:06.6471321Z https://github.com/pytorch/pytorch/issues/71595 if this is necessary 2025-03-14T05:25:06.6471773Z for your use case. 2025-03-14T05:25:06.6471946Z 2025-03-14T05:25:06.6472039Z Example:: 2025-03-14T05:25:06.6472178Z 2025-03-14T05:25:06.6472317Z >>> # xdoctest: +SKIP("No rendezvous handler") 2025-03-14T05:25:06.6472874Z >>> torch.distributed.init_process_group(backend='nccl', world_size=4, init_method='...') 2025-03-14T05:25:06.6473503Z >>> net = torch.nn.parallel.DistributedDataParallel(model, pg) 2025-03-14T05:25:06.6473916Z >>> lr = 1e-2 2025-03-14T05:25:06.6474166Z >>> betas = (0.9, 0.99) 2025-03-14T05:25:06.6474447Z >>> eps = 1e-6 2025-03-14T05:25:06.6474837Z >>> net._register_fused_optim(torch.optim.Adam, lr, betas=betas, eps=eps) 2025-03-14T05:25:06.6475313Z >>> # Example with subset of parameters 2025-03-14T05:25:06.6475688Z >>> params_to_opt = [list(net.parameters())[0]] 2025-03-14T05:25:06.6476056Z >>> net._register_fused_optim( 2025-03-14T05:25:06.6476500Z ... torch.optim.Adam, lr, optim_params=params_to_opt, betas=betas, eps=eps 2025-03-14T05:25:06.6476949Z ... ) 2025-03-14T05:25:06.6477071Z 2025-03-14T05:25:06.6477326Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:06.6477712Z 2025-03-14T05:25:06.6927119Z msg = Cannot scrape callname=convert_conv2d_weight_memory_format in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/memory_format.py line=6. 2025-03-14T05:25:06.6928228Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:06.6928846Z Convert ``memory_format`` of ``nn.Conv2d.weight`` to ``memory_format``. 2025-03-14T05:25:06.6929345Z 2025-03-14T05:25:06.6929645Z The conversion recursively applies to nested ``nn.Module``, including ``module``. 2025-03-14T05:25:06.6930329Z Note that it only changes the memory_format, but not the semantics of each dimensions. 2025-03-14T05:25:06.6930990Z This function is used to facilitate the computation to adopt NHWC kernels, which 2025-03-14T05:25:06.6931692Z provides considerable speed up for fp16 data on CUDA devices with compute capability >= 7.0 2025-03-14T05:25:06.6932193Z 2025-03-14T05:25:06.6932341Z .. note:: 2025-03-14T05:25:06.6933012Z Calling ``model.to(memory_format=torch.channels_last)`` is more aggressive 2025-03-14T05:25:06.6933961Z than the utility function ``convert_conv2d_weight_memory_format``. Any 2025-03-14T05:25:06.6934761Z layer with 4d weight will be affected by ``model.to``, which does not 2025-03-14T05:25:06.6935334Z necessarily benefit from conversion to specified ``memory_format``. 2025-03-14T05:25:06.6935994Z One place we are confident in is that NHWC(channels_last) conversion for 2025-03-14T05:25:06.6936573Z convolution in cuDNN, as it is beneficial to run convolution in NHWC, 2025-03-14T05:25:06.6937129Z even in cases where we have to apply permutation to input tensors. 2025-03-14T05:25:06.6937469Z 2025-03-14T05:25:06.6937699Z Hence our strategy here is to convert only the weight of convolution to 2025-03-14T05:25:06.6938171Z channels_last. This ensures that; 2025-03-14T05:25:06.6938629Z 1. Fast convolution kernels will be used, the benefit of which could 2025-03-14T05:25:06.6939209Z outweigh overhead of permutation (if input is not in the same format). 2025-03-14T05:25:06.6939807Z 2. No unnecessary permutations are applied on layers that do not benefit 2025-03-14T05:25:06.6940311Z from memory_format conversion. 2025-03-14T05:25:06.6940541Z 2025-03-14T05:25:06.6940771Z The optimal case is that, layers between convolution layers are channels 2025-03-14T05:25:06.6941364Z last compatible. Input tensor would be permuted to channels last when it 2025-03-14T05:25:06.6941959Z encounters the first convolution layer and stay in that memory format. 2025-03-14T05:25:06.6942557Z Hence following convolutions will not need to permute its input tensor. 2025-03-14T05:25:06.6942927Z 2025-03-14T05:25:06.6943153Z In case where a channels last incompatible layer is between convolution 2025-03-14T05:25:06.6943718Z layers, we need to permute the input tensor back to contiguous format 2025-03-14T05:25:06.6944287Z for that layer. The input tensor will go through the remaining layers in 2025-03-14T05:25:06.6944871Z contiguous format and be permuted to channels last when it encounters 2025-03-14T05:25:06.6945440Z another convolution layer. There's no point in propagating that 2025-03-14T05:25:06.6945999Z permutation to an earlier layer, as most layers are quite agnostic to 2025-03-14T05:25:06.6946455Z ``memory_format``. 2025-03-14T05:25:06.6946644Z 2025-03-14T05:25:06.6946883Z This claim might change when PyTorch supports fusion of permutation, as 2025-03-14T05:25:06.6947469Z there might have been a better spot to fuse the permutation other than 2025-03-14T05:25:06.6947948Z immediately before a convolution. 2025-03-14T05:25:06.6948200Z 2025-03-14T05:25:06.6948286Z Args: 2025-03-14T05:25:06.6948629Z module (nn.Module): ``nn.Conv2d`` & ``nn.ConvTranspose2d`` or container 2025-03-14T05:25:06.6949077Z ``nn.Module`` 2025-03-14T05:25:06.6949446Z memory_format: user specified ``memory_format``, 2025-03-14T05:25:06.6949895Z e.g. ``torch.channels_last`` or ``torch.contiguous_format`` 2025-03-14T05:25:06.6950193Z 2025-03-14T05:25:06.6950295Z Returns: 2025-03-14T05:25:06.6950580Z The original module with updated ``nn.Conv2d`` 2025-03-14T05:25:06.6950834Z 2025-03-14T05:25:06.6950933Z Example: 2025-03-14T05:25:06.6951308Z >>> # xdoctest: +REQUIRES(env:TORCH_DOCTEST_CUDA) 2025-03-14T05:25:06.6951722Z >>> # xdoctest: +REQUIRES(env:CUBLAS_WORKSPACE_CONFIG) 2025-03-14T05:25:06.6952225Z >>> input = torch.randint(1, 10, (2, 8, 4, 4), dtype=torch.float16, device="cuda") 2025-03-14T05:25:06.6952692Z >>> model = nn.Sequential( 2025-03-14T05:25:06.6953007Z >>> nn.Conv2d(8, 4, 3)).cuda().half() 2025-03-14T05:25:06.6953349Z >>> # This is identical to: 2025-03-14T05:25:06.6953867Z >>> # nn.utils.convert_conv2d_weight_memory_format(model, torch.channels_last) 2025-03-14T05:25:06.6954499Z >>> model = nn.utils.convert_conv2d_weight_memory_format(model, torch.channels_last) 2025-03-14T05:25:06.6954991Z >>> out = model(input) 2025-03-14T05:25:06.6955269Z 2025-03-14T05:25:06.6955646Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:06.6956025Z 2025-03-14T05:25:06.6956660Z msg = Cannot scrape callname=convert_conv3d_weight_memory_format in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/memory_format.py line=81. 2025-03-14T05:25:06.6957678Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:06.6958273Z Convert ``memory_format`` of ``nn.Conv3d.weight`` to ``memory_format`` 2025-03-14T05:25:06.6958881Z The conversion recursively applies to nested ``nn.Module``, including ``module``. 2025-03-14T05:25:06.6959548Z Note that it only changes the memory_format, but not the semantics of each dimensions. 2025-03-14T05:25:06.6960195Z This function is used to facilitate the computation to adopt NHWC kernels, which 2025-03-14T05:25:06.6960880Z provides considerable speed up for fp16 data on CUDA devices with compute capability >= 7.0 2025-03-14T05:25:06.6961317Z 2025-03-14T05:25:06.6961412Z .. note:: 2025-03-14T05:25:06.6961790Z Calling ``model.to(memory_format=torch.channels_last_3d)`` is more aggressive 2025-03-14T05:25:06.6962382Z than the utility function ``convert_conv3d_weight_memory_format``. Any 2025-03-14T05:25:06.6962937Z layer with 4d weight will be affected by ``model.to``, which does not 2025-03-14T05:25:06.6963496Z necessarily benefit from conversion to specified ``memory_format``. 2025-03-14T05:25:06.6964085Z One place we are confident in is that NDHWC(channels_last_3d) conversion for 2025-03-14T05:25:06.6964663Z convolution in cuDNN, as it is beneficial to run convolution in NDHWC, 2025-03-14T05:25:06.6965211Z even in cases where we have to apply permutation to input tensors. 2025-03-14T05:25:06.6965535Z 2025-03-14T05:25:06.6965767Z Hence our strategy here is to convert only the weight of convolution to 2025-03-14T05:25:06.6966233Z channels_last_3d. This ensures that; 2025-03-14T05:25:06.6966677Z 1. Fast convolution kernels will be used, the benefit of which could 2025-03-14T05:25:06.6967250Z outweigh overhead of permutation (if input is not in the same format). 2025-03-14T05:25:06.6967842Z 2. No unnecessary permutations are applied on layers that do not benefit 2025-03-14T05:25:06.6968313Z from memory_format conversion. 2025-03-14T05:25:06.6968528Z 2025-03-14T05:25:06.6968762Z The optimal case is that, layers between convolution layers are channels 2025-03-14T05:25:06.6969349Z last compatible. Input tensor would be permuted to channels last when it 2025-03-14T05:25:06.6969929Z encounters the first convolution layer and stay in that memory format. 2025-03-14T05:25:06.6970527Z Hence following convolutions will not need to permute its input tensor. 2025-03-14T05:25:06.6970885Z 2025-03-14T05:25:06.6971120Z In case where a channels last incompatible layer is between convolution 2025-03-14T05:25:06.6971681Z layers, we need to permute the input tensor back to contiguous format 2025-03-14T05:25:06.6972239Z for that layer. The input tensor will go through the remaining layers in 2025-03-14T05:25:06.6972867Z contiguous format and be permuted to channels last when it encounters 2025-03-14T05:25:06.6973419Z another convolution layer. There's no point in propagating that 2025-03-14T05:25:06.6973974Z permutation to an earlier layer, as most layers are quite agnostic to 2025-03-14T05:25:06.6974417Z ``memory_format``. 2025-03-14T05:25:06.6974598Z 2025-03-14T05:25:06.6974833Z This claim might change when PyTorch supports fusion of permutation, as 2025-03-14T05:25:06.6975462Z there might have been a better spot to fuse the permutation other than 2025-03-14T05:25:06.6976043Z immediately before a convolution. 2025-03-14T05:25:06.6976280Z 2025-03-14T05:25:06.6976366Z Args: 2025-03-14T05:25:06.6976711Z module (nn.Module): ``nn.Conv3d`` & ``nn.ConvTranspose3d`` or container 2025-03-14T05:25:06.6977151Z ``nn.Module`` 2025-03-14T05:25:06.6977519Z memory_format: user specified ``memory_format``, 2025-03-14T05:25:06.6977971Z e.g. ``torch.channels_last`` or ``torch.contiguous_format`` 2025-03-14T05:25:06.6978272Z 2025-03-14T05:25:06.6978361Z Returns: 2025-03-14T05:25:06.6978637Z The original module with updated ``nn.Conv3d`` 2025-03-14T05:25:06.6978902Z 2025-03-14T05:25:06.6978989Z Example: 2025-03-14T05:25:06.6979264Z >>> # xdoctest: +REQUIRES(env:TORCH_DOCTEST_CUDA) 2025-03-14T05:25:06.6979672Z >>> # xdoctest: +REQUIRES(env:CUBLAS_WORKSPACE_CONFIG) 2025-03-14T05:25:06.6980175Z >>> input = torch.randint(1, 10, (2, 8, 4, 4, 4), dtype=torch.float16, device="cuda") 2025-03-14T05:25:06.6980637Z >>> model = nn.Sequential( 2025-03-14T05:25:06.6980948Z >>> nn.Conv3d(8, 4, 3)).cuda().half() 2025-03-14T05:25:06.6981290Z >>> # This is identical to: 2025-03-14T05:25:06.6981746Z >>> # nn.utils.convert_conv3d_weight_memory_format(model, torch.channels_last_3d) 2025-03-14T05:25:06.6982395Z >>> model = nn.utils.convert_conv3d_weight_memory_format(model, torch.channels_last_3d) 2025-03-14T05:25:06.6982893Z >>> out = model(input) 2025-03-14T05:25:06.6983164Z 2025-03-14T05:25:06.6983526Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:06.6983896Z 2025-03-14T05:25:06.7161155Z msg = Cannot scrape callname=random_structured in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/prune.py line=935. 2025-03-14T05:25:06.7162072Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:06.7162702Z Prune tensor by removing random channels along the specified dimension. 2025-03-14T05:25:06.7163049Z 2025-03-14T05:25:06.7163295Z Prunes tensor corresponding to parameter called ``name`` in ``module`` 2025-03-14T05:25:06.7163868Z by removing the specified ``amount`` of (currently unpruned) channels 2025-03-14T05:25:06.7164352Z along the specified ``dim`` selected at random. 2025-03-14T05:25:06.7164919Z Modifies module in place (and also return the modified module) 2025-03-14T05:25:06.7165332Z by: 2025-03-14T05:25:06.7165543Z 2025-03-14T05:25:06.7165793Z 1) adding a named buffer called ``name+'_mask'`` corresponding to the 2025-03-14T05:25:06.7166739Z binary mask applied to the parameter ``name`` by the pruning method. 2025-03-14T05:25:06.7167303Z 2) replacing the parameter ``name`` by its pruned version, while the 2025-03-14T05:25:06.7167864Z original (unpruned) parameter is stored in a new parameter named 2025-03-14T05:25:06.7168311Z ``name+'_orig'``. 2025-03-14T05:25:06.7168502Z 2025-03-14T05:25:06.7168595Z Args: 2025-03-14T05:25:06.7168915Z module (nn.Module): module containing the tensor to prune 2025-03-14T05:25:06.7169406Z name (str): parameter name within ``module`` on which pruning 2025-03-14T05:25:06.7169816Z will act. 2025-03-14T05:25:06.7170172Z amount (int or float): quantity of parameters to prune. 2025-03-14T05:25:06.7170810Z If ``float``, should be between 0.0 and 1.0 and represent the 2025-03-14T05:25:06.7171457Z fraction of parameters to prune. If ``int``, it represents the 2025-03-14T05:25:06.7172078Z absolute number of parameters to prune. 2025-03-14T05:25:06.7172848Z dim (int): index of the dim along which we define channels to prune. 2025-03-14T05:25:06.7173442Z 2025-03-14T05:25:06.7173556Z Returns: 2025-03-14T05:25:06.7173929Z module (nn.Module): modified (i.e. pruned) version of the input module 2025-03-14T05:25:06.7174373Z 2025-03-14T05:25:06.7174486Z Examples: 2025-03-14T05:25:06.7174741Z >>> # xdoctest: +SKIP 2025-03-14T05:25:06.7175062Z >>> m = prune.random_structured( 2025-03-14T05:25:06.7175437Z ... nn.Linear(5, 3), 'weight', amount=3, dim=1 2025-03-14T05:25:06.7175882Z ... ) 2025-03-14T05:25:06.7176211Z >>> columns_pruned = int(sum(torch.sum(m.weight, dim=0) == 0)) 2025-03-14T05:25:06.7176672Z >>> print(columns_pruned) 2025-03-14T05:25:06.7177073Z 3 2025-03-14T05:25:06.7177356Z 2025-03-14T05:25:06.7178038Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:06.7178515Z 2025-03-14T05:25:06.7179034Z msg = Cannot scrape callname=ln_structured in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/prune.py line=976. 2025-03-14T05:25:06.7179921Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:06.7180628Z Prune tensor by removing channels with the lowest L\ ``n``-norm along the specified dimension. 2025-03-14T05:25:06.7181053Z 2025-03-14T05:25:06.7181302Z Prunes tensor corresponding to parameter called ``name`` in ``module`` 2025-03-14T05:25:06.7181886Z by removing the specified ``amount`` of (currently unpruned) channels 2025-03-14T05:25:06.7182414Z along the specified ``dim`` with the lowest L\ ``n``-norm. 2025-03-14T05:25:06.7182907Z Modifies module in place (and also return the modified module) 2025-03-14T05:25:06.7183319Z by: 2025-03-14T05:25:06.7183454Z 2025-03-14T05:25:06.7183673Z 1) adding a named buffer called ``name+'_mask'`` corresponding to the 2025-03-14T05:25:06.7184232Z binary mask applied to the parameter ``name`` by the pruning method. 2025-03-14T05:25:06.7184795Z 2) replacing the parameter ``name`` by its pruned version, while the 2025-03-14T05:25:06.7185349Z original (unpruned) parameter is stored in a new parameter named 2025-03-14T05:25:06.7185783Z ``name+'_orig'``. 2025-03-14T05:25:06.7185974Z 2025-03-14T05:25:06.7186064Z Args: 2025-03-14T05:25:06.7186381Z module (nn.Module): module containing the tensor to prune 2025-03-14T05:25:06.7186870Z name (str): parameter name within ``module`` on which pruning 2025-03-14T05:25:06.7187272Z will act. 2025-03-14T05:25:06.7187622Z amount (int or float): quantity of parameters to prune. 2025-03-14T05:25:06.7188099Z If ``float``, should be between 0.0 and 1.0 and represent the 2025-03-14T05:25:06.7188608Z fraction of parameters to prune. If ``int``, it represents the 2025-03-14T05:25:06.7189072Z absolute number of parameters to prune. 2025-03-14T05:25:06.7189529Z n (int, float, inf, -inf, 'fro', 'nuc'): See documentation of valid 2025-03-14T05:25:06.7190012Z entries for argument ``p`` in :func:`torch.norm`. 2025-03-14T05:25:06.7190497Z dim (int): index of the dim along which we define channels to prune. 2025-03-14T05:25:06.7191065Z importance_scores (torch.Tensor): tensor of importance scores (of same 2025-03-14T05:25:06.7191619Z shape as module parameter) used to compute mask for pruning. 2025-03-14T05:25:06.7192163Z The values in this tensor indicate the importance of the corresponding 2025-03-14T05:25:06.7192647Z elements in the parameter being pruned. 2025-03-14T05:25:06.7193130Z If unspecified or None, the module parameter will be used in its place. 2025-03-14T05:25:06.7193908Z 2025-03-14T05:25:06.7194020Z Returns: 2025-03-14T05:25:06.7194389Z module (nn.Module): modified (i.e. pruned) version of the input module 2025-03-14T05:25:06.7194730Z 2025-03-14T05:25:06.7194835Z Examples: 2025-03-14T05:25:06.7195092Z >>> from torch.nn.utils import prune 2025-03-14T05:25:06.7195445Z >>> m = prune.ln_structured( 2025-03-14T05:25:06.7195845Z ... nn.Conv2d(5, 3, 2), 'weight', amount=0.3, dim=1, n=float('-inf') 2025-03-14T05:25:06.7196298Z ... ) 2025-03-14T05:25:06.7196526Z 2025-03-14T05:25:06.7196905Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:06.7197291Z 2025-03-14T05:25:06.7198021Z msg = Cannot scrape callname=global_unstructured in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/prune.py line=1023. 2025-03-14T05:25:06.7198955Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:06.7199351Z 2025-03-14T05:25:06.7199787Z Globally prunes tensors corresponding to all parameters in ``parameters`` by applying the specified ``pruning_method``. 2025-03-14T05:25:06.7200348Z 2025-03-14T05:25:06.7200465Z Modifies modules in place by: 2025-03-14T05:25:06.7200675Z 2025-03-14T05:25:06.7200886Z 1) adding a named buffer called ``name+'_mask'`` corresponding to the 2025-03-14T05:25:06.7201439Z binary mask applied to the parameter ``name`` by the pruning method. 2025-03-14T05:25:06.7201998Z 2) replacing the parameter ``name`` by its pruned version, while the 2025-03-14T05:25:06.7202544Z original (unpruned) parameter is stored in a new parameter named 2025-03-14T05:25:06.7202974Z ``name+'_orig'``. 2025-03-14T05:25:06.7203142Z 2025-03-14T05:25:06.7203230Z Args: 2025-03-14T05:25:06.7203563Z parameters (Iterable of (module, name) tuples): parameters of 2025-03-14T05:25:06.7204082Z the model to prune in a global fashion, i.e. by aggregating all 2025-03-14T05:25:06.7204618Z weights prior to deciding which ones to prune. module must be of 2025-03-14T05:25:06.7205106Z type :class:`nn.Module`, and name must be a string. 2025-03-14T05:25:06.7205608Z pruning_method (function): a valid pruning function from this module, 2025-03-14T05:25:06.7206139Z or a custom one implemented by the user that satisfies the 2025-03-14T05:25:06.7206675Z implementation guidelines and has ``PRUNING_TYPE='unstructured'``. 2025-03-14T05:25:06.7207272Z importance_scores (dict): a dictionary mapping (module, name) tuples to 2025-03-14T05:25:06.7207861Z the corresponding parameter's importance scores tensor. The tensor 2025-03-14T05:25:06.7208427Z should be the same shape as the parameter, and is used for computing 2025-03-14T05:25:06.7208867Z mask for pruning. 2025-03-14T05:25:06.7209261Z If unspecified or None, the parameter will be used in place of its 2025-03-14T05:25:06.7209709Z importance scores. 2025-03-14T05:25:06.7210010Z kwargs: other keyword arguments such as: 2025-03-14T05:25:06.7210455Z amount (int or float): quantity of parameters to prune across the 2025-03-14T05:25:06.7210891Z specified parameters. 2025-03-14T05:25:06.7211277Z If ``float``, should be between 0.0 and 1.0 and represent the 2025-03-14T05:25:06.7211781Z fraction of parameters to prune. If ``int``, it represents the 2025-03-14T05:25:06.7212243Z absolute number of parameters to prune. 2025-03-14T05:25:06.7212503Z 2025-03-14T05:25:06.7212595Z Raises: 2025-03-14T05:25:06.7212890Z TypeError: if ``PRUNING_TYPE != 'unstructured'`` 2025-03-14T05:25:06.7213168Z 2025-03-14T05:25:06.7213257Z Note: 2025-03-14T05:25:06.7213609Z Since global structured pruning doesn't make much sense unless the 2025-03-14T05:25:06.7214157Z norm is normalized by the size of the parameter, we now limit the 2025-03-14T05:25:06.7214643Z scope of global pruning to unstructured methods. 2025-03-14T05:25:06.7215029Z 2025-03-14T05:25:06.7215141Z Examples: 2025-03-14T05:25:06.7215403Z >>> from torch.nn.utils import prune 2025-03-14T05:25:06.7215850Z >>> from collections import OrderedDict 2025-03-14T05:25:06.7216217Z >>> net = nn.Sequential(OrderedDict([ 2025-03-14T05:25:06.7216566Z ... ('first', nn.Linear(10, 4)), 2025-03-14T05:25:06.7216904Z ... ('second', nn.Linear(4, 1)), 2025-03-14T05:25:06.7217221Z ... ])) 2025-03-14T05:25:06.7217469Z >>> parameters_to_prune = ( 2025-03-14T05:25:06.7217767Z ... (net.first, 'weight'), 2025-03-14T05:25:06.7218160Z ... (net.second, 'weight'), 2025-03-14T05:25:06.7218455Z ... ) 2025-03-14T05:25:06.7218700Z >>> prune.global_unstructured( 2025-03-14T05:25:06.7219025Z ... parameters_to_prune, 2025-03-14T05:25:06.7219367Z ... pruning_method=prune.L1Unstructured, 2025-03-14T05:25:06.7219714Z ... amount=10, 2025-03-14T05:25:06.7219966Z ... ) 2025-03-14T05:25:06.7220323Z >>> print(sum(torch.nn.utils.parameters_to_vector(net.buffers()) == 0)) 2025-03-14T05:25:06.7220764Z tensor(10) 2025-03-14T05:25:06.7220902Z 2025-03-14T05:25:06.7220907Z 2025-03-14T05:25:06.7221176Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:06.7221545Z 2025-03-14T05:25:06.7222096Z msg = Cannot scrape callname=custom_from_mask in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/prune.py line=1142. 2025-03-14T05:25:06.7222995Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:06.7223784Z Prune tensor corresponding to parameter called ``name`` in ``module`` by applying the pre-computed mask in ``mask``. 2025-03-14T05:25:06.7224305Z 2025-03-14T05:25:06.7224524Z Modifies module in place (and also return the modified module) by: 2025-03-14T05:25:06.7224869Z 2025-03-14T05:25:06.7225083Z 1) adding a named buffer called ``name+'_mask'`` corresponding to the 2025-03-14T05:25:06.7225652Z binary mask applied to the parameter ``name`` by the pruning method. 2025-03-14T05:25:06.7226217Z 2) replacing the parameter ``name`` by its pruned version, while the 2025-03-14T05:25:06.7226770Z original (unpruned) parameter is stored in a new parameter named 2025-03-14T05:25:06.7227202Z ``name+'_orig'``. 2025-03-14T05:25:06.7227369Z 2025-03-14T05:25:06.7227471Z Args: 2025-03-14T05:25:06.7227785Z module (nn.Module): module containing the tensor to prune 2025-03-14T05:25:06.7228277Z name (str): parameter name within ``module`` on which pruning 2025-03-14T05:25:06.7228677Z will act. 2025-03-14T05:25:06.7229020Z mask (Tensor): binary mask to be applied to the parameter. 2025-03-14T05:25:06.7229314Z 2025-03-14T05:25:06.7229418Z Returns: 2025-03-14T05:25:06.7229783Z module (nn.Module): modified (i.e. pruned) version of the input module 2025-03-14T05:25:06.7230121Z 2025-03-14T05:25:06.7230225Z Examples: 2025-03-14T05:25:06.7230497Z >>> from torch.nn.utils import prune 2025-03-14T05:25:06.7230839Z >>> m = prune.custom_from_mask( 2025-03-14T05:25:06.7231242Z ... nn.Linear(5, 3), name='bias', mask=torch.tensor([0, 1, 0]) 2025-03-14T05:25:06.7231627Z ... ) 2025-03-14T05:25:06.7231873Z >>> print(m.bias_mask) 2025-03-14T05:25:06.7232169Z tensor([0., 1., 0.]) 2025-03-14T05:25:06.7232361Z 2025-03-14T05:25:06.7232447Z 2025-03-14T05:25:06.7232825Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:06.7233210Z 2025-03-14T05:25:06.8421573Z msg = Cannot scrape callname=AveragedModel in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/optim/swa_utils.py line=117. 2025-03-14T05:25:06.8422688Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:06.8423446Z Implements averaged model for Stochastic Weight Averaging (SWA) and Exponential Moving Average (EMA). 2025-03-14T05:25:06.8424182Z 2025-03-14T05:25:06.8424433Z Stochastic Weight Averaging was proposed in `Averaging Weights Leads to 2025-03-14T05:25:06.8425035Z Wider Optima and Better Generalization`_ by Pavel Izmailov, Dmitrii 2025-03-14T05:25:06.8425611Z Podoprikhin, Timur Garipov, Dmitry Vetrov and Andrew Gordon Wilson 2025-03-14T05:25:06.8426048Z (UAI 2018). 2025-03-14T05:25:06.8426201Z 2025-03-14T05:25:06.8426451Z Exponential Moving Average is a variation of `Polyak averaging`_, 2025-03-14T05:25:06.8427041Z but using exponential weights instead of equal weights across iterations. 2025-03-14T05:25:06.8427520Z 2025-03-14T05:25:06.8427764Z AveragedModel class creates a copy of the provided module :attr:`model` 2025-03-14T05:25:06.8428361Z on the device :attr:`device` and allows to compute running averages of the 2025-03-14T05:25:06.8428827Z parameters of the :attr:`model`. 2025-03-14T05:25:06.8429053Z 2025-03-14T05:25:06.8429142Z Args: 2025-03-14T05:25:06.8429432Z model (torch.nn.Module): model to use with SWA/EMA 2025-03-14T05:25:06.8429952Z device (torch.device, optional): if provided, the averaged model will be 2025-03-14T05:25:06.8430473Z stored on the :attr:`device` 2025-03-14T05:25:06.8430970Z avg_fn (function, optional): the averaging function used to update 2025-03-14T05:25:06.8431616Z parameters; the function must take in the current value of the 2025-03-14T05:25:06.8432404Z :class:`AveragedModel` parameter, the current value of :attr:`model` 2025-03-14T05:25:06.8433301Z parameter, and the number of models already averaged; if None, 2025-03-14T05:25:06.8433800Z an equally weighted average is used (default: None) 2025-03-14T05:25:06.8434322Z multi_avg_fn (function, optional): the averaging function used to update 2025-03-14T05:25:06.8434931Z parameters inplace; the function must take in the current values of the 2025-03-14T05:25:06.8435571Z :class:`AveragedModel` parameters as a list, the current values of :attr:`model` 2025-03-14T05:25:06.8436207Z parameters as a list, and the number of models already averaged; if None, 2025-03-14T05:25:06.8436730Z an equally weighted average is used (default: None) 2025-03-14T05:25:06.8437223Z use_buffers (bool): if ``True``, it will compute running averages for 2025-03-14T05:25:06.8437910Z both the parameters and the buffers of the model. (default: ``False``) 2025-03-14T05:25:06.8438259Z 2025-03-14T05:25:06.8438365Z Example: 2025-03-14T05:25:06.8438649Z >>> # xdoctest: +SKIP("undefined variables") 2025-03-14T05:25:06.8439036Z >>> loader, optimizer, model, loss_fn = ... 2025-03-14T05:25:06.8439468Z >>> swa_model = torch.optim.swa_utils.AveragedModel(model) 2025-03-14T05:25:06.8440001Z >>> scheduler = torch.optim.lr_scheduler.CosineAnnealingLR(optimizer, 2025-03-14T05:25:06.8440460Z >>> T_max=300) 2025-03-14T05:25:06.8440809Z >>> swa_start = 160 2025-03-14T05:25:06.8441150Z >>> swa_scheduler = SWALR(optimizer, swa_lr=0.05) 2025-03-14T05:25:06.8441525Z >>> for i in range(300): 2025-03-14T05:25:06.8441854Z >>> for input, target in loader: 2025-03-14T05:25:06.8442212Z >>> optimizer.zero_grad() 2025-03-14T05:25:06.8442585Z >>> loss_fn(model(input), target).backward() 2025-03-14T05:25:06.8442965Z >>> optimizer.step() 2025-03-14T05:25:06.8443293Z >>> if i > swa_start: 2025-03-14T05:25:06.8443643Z >>> swa_model.update_parameters(model) 2025-03-14T05:25:06.8444012Z >>> swa_scheduler.step() 2025-03-14T05:25:06.8444338Z >>> else: 2025-03-14T05:25:06.8444615Z >>> scheduler.step() 2025-03-14T05:25:06.8444922Z >>> 2025-03-14T05:25:06.8445218Z >>> # Update bn statistics for the swa_model at the end 2025-03-14T05:25:06.8445668Z >>> torch.optim.swa_utils.update_bn(loader, swa_model) 2025-03-14T05:25:06.8446061Z 2025-03-14T05:25:06.8446375Z You can also use custom averaging functions with the `avg_fn` or `multi_avg_fn` parameters. 2025-03-14T05:25:06.8447004Z If no averaging function is provided, the default is to compute 2025-03-14T05:25:06.8447478Z equally-weighted average of the weights (SWA). 2025-03-14T05:25:06.8447742Z 2025-03-14T05:25:06.8447848Z Example: 2025-03-14T05:25:06.8448113Z >>> # xdoctest: +SKIP("undefined variables") 2025-03-14T05:25:06.8448710Z >>> # Compute exponential moving averages of the weights and buffers 2025-03-14T05:25:06.8449220Z >>> ema_model = torch.optim.swa_utils.AveragedModel(model, 2025-03-14T05:25:06.8449734Z >>> torch.optim.swa_utils.get_ema_multi_avg_fn(0.9), use_buffers=True) 2025-03-14T05:25:06.8450086Z 2025-03-14T05:25:06.8450197Z .. note:: 2025-03-14T05:25:06.8450567Z When using SWA/EMA with models containing Batch Normalization you may 2025-03-14T05:25:06.8451130Z need to update the activation statistics for Batch Normalization. 2025-03-14T05:25:06.8451703Z This can be done either by using the :meth:`torch.optim.swa_utils.update_bn` 2025-03-14T05:25:06.8452295Z or by setting :attr:`use_buffers` to `True`. The first approach updates the 2025-03-14T05:25:06.8452901Z statistics in a post-training step by passing data through the model. The 2025-03-14T05:25:06.8453512Z second does it during the parameter update phase by averaging all buffers. 2025-03-14T05:25:06.8454137Z Empirical evidence has shown that updating the statistics in normalization 2025-03-14T05:25:06.8454745Z layers increases accuracy, but you may wish to empirically test which 2025-03-14T05:25:06.8455265Z approach yields the best results in your problem. 2025-03-14T05:25:06.8455549Z 2025-03-14T05:25:06.8455739Z .. note:: 2025-03-14T05:25:06.8456142Z :attr:`avg_fn` and `multi_avg_fn` are not saved in the :meth:`state_dict` of the model. 2025-03-14T05:25:06.8456531Z 2025-03-14T05:25:06.8456623Z .. note:: 2025-03-14T05:25:06.8456969Z When :meth:`update_parameters` is called for the first time (i.e. 2025-03-14T05:25:06.8457489Z :attr:`n_averaged` is `0`) the parameters of `model` are copied 2025-03-14T05:25:06.8458012Z to the parameters of :class:`AveragedModel`. For every subsequent 2025-03-14T05:25:06.8458536Z call of :meth:`update_parameters` the function `avg_fn` is used 2025-03-14T05:25:06.8458963Z to update the parameters. 2025-03-14T05:25:06.8459171Z 2025-03-14T05:25:06.8459413Z .. _Averaging Weights Leads to Wider Optima and Better Generalization: 2025-03-14T05:25:06.8459901Z https://arxiv.org/abs/1803.05407 2025-03-14T05:25:06.8460377Z .. _There Are Many Consistent Explanations of Unlabeled Data: Why You Should 2025-03-14T05:25:06.8460838Z Average: 2025-03-14T05:25:06.8461109Z https://arxiv.org/abs/1806.05594 2025-03-14T05:25:06.8461550Z .. _SWALP: Stochastic Weight Averaging in Low-Precision Training: 2025-03-14T05:25:06.8462001Z https://arxiv.org/abs/1904.11943 2025-03-14T05:25:06.8462445Z .. _Stochastic Weight Averaging in Parallel: Large-Batch Training That 2025-03-14T05:25:06.8462900Z Generalizes Well: 2025-03-14T05:25:06.8463202Z https://arxiv.org/abs/2001.02312 2025-03-14T05:25:06.8463539Z .. _Polyak averaging: 2025-03-14T05:25:06.8463897Z https://paperswithcode.com/method/polyak-averaging 2025-03-14T05:25:06.8464272Z 2025-03-14T05:25:06.8464654Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:06.8465034Z 2025-03-14T05:25:06.8465538Z msg = Cannot scrape callname=SWALR in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/optim/swa_utils.py line=369. 2025-03-14T05:25:06.8466395Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:06.8467002Z Anneals the learning rate in each parameter group to a fixed value. 2025-03-14T05:25:06.8467464Z 2025-03-14T05:25:06.8467699Z This learning rate scheduler is meant to be used with Stochastic Weight 2025-03-14T05:25:06.8468279Z Averaging (SWA) method (see `torch.optim.swa_utils.AveragedModel`). 2025-03-14T05:25:06.8468624Z 2025-03-14T05:25:06.8468714Z Args: 2025-03-14T05:25:06.8469025Z optimizer (torch.optim.Optimizer): wrapped optimizer 2025-03-14T05:25:06.8469530Z swa_lrs (float or list): the learning rate value for all param groups 2025-03-14T05:25:06.8470056Z together or separately for each group. 2025-03-14T05:25:06.8470515Z annealing_epochs (int): number of epochs in the annealing phase 2025-03-14T05:25:06.8470942Z (default: 10) 2025-03-14T05:25:06.8471342Z annealing_strategy (str): "cos" or "linear"; specifies the annealing 2025-03-14T05:25:06.8471900Z strategy: "cos" for cosine annealing, "linear" for linear annealing 2025-03-14T05:25:06.8472335Z (default: "cos") 2025-03-14T05:25:06.8472714Z last_epoch (int): the index of the last epoch (default: -1) 2025-03-14T05:25:06.8473011Z 2025-03-14T05:25:06.8473207Z The :class:`SWALR` scheduler can be used together with other 2025-03-14T05:25:06.8473735Z schedulers to switch to a constant learning rate late in the training 2025-03-14T05:25:06.8474187Z as in the example below. 2025-03-14T05:25:06.8474376Z 2025-03-14T05:25:06.8474485Z Example: 2025-03-14T05:25:06.8474767Z >>> # xdoctest: +SKIP("Undefined variables") 2025-03-14T05:25:06.8475148Z >>> loader, optimizer, model = ... 2025-03-14T05:25:06.8475499Z >>> lr_lambda = lambda epoch: 0.9 2025-03-14T05:25:06.8475946Z >>> scheduler = torch.optim.lr_scheduler.MultiplicativeLR(optimizer, 2025-03-14T05:25:06.8476410Z >>> lr_lambda=lr_lambda) 2025-03-14T05:25:06.8476810Z >>> swa_scheduler = torch.optim.swa_utils.SWALR(optimizer, 2025-03-14T05:25:06.8477289Z >>> anneal_strategy="linear", anneal_epochs=20, swa_lr=0.05) 2025-03-14T05:25:06.8477703Z >>> swa_start = 160 2025-03-14T05:25:06.8477995Z >>> for i in range(300): 2025-03-14T05:25:06.8478329Z >>> for input, target in loader: 2025-03-14T05:25:06.8478681Z >>> optimizer.zero_grad() 2025-03-14T05:25:06.8479053Z >>> loss_fn(model(input), target).backward() 2025-03-14T05:25:06.8479428Z >>> optimizer.step() 2025-03-14T05:25:06.8479751Z >>> if i > swa_start: 2025-03-14T05:25:06.8480076Z >>> swa_scheduler.step() 2025-03-14T05:25:06.8480401Z >>> else: 2025-03-14T05:25:06.8480679Z >>> scheduler.step() 2025-03-14T05:25:06.8480887Z 2025-03-14T05:25:06.8481130Z .. _Averaging Weights Leads to Wider Optima and Better Generalization: 2025-03-14T05:25:06.8481608Z https://arxiv.org/abs/1803.05407 2025-03-14T05:25:06.8481932Z 2025-03-14T05:25:06.8482317Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:06.8482691Z 2025-03-14T05:25:07.3445917Z msg = Cannot scrape callname=assert_close in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/testing/_comparison.py line=1263. 2025-03-14T05:25:07.3447352Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:07.3447894Z Asserts that ``actual`` and ``expected`` are close. 2025-03-14T05:25:07.3448160Z 2025-03-14T05:25:07.3448584Z If ``actual`` and ``expected`` are strided, non-quantized, real-valued, and finite, they are considered close if 2025-03-14T05:25:07.3449130Z 2025-03-14T05:25:07.3449239Z .. math:: 2025-03-14T05:25:07.3449386Z 2025-03-14T05:25:07.3449758Z \lvert \text{actual} - \text{expected} \rvert \le \texttt{atol} + \texttt{rtol} \cdot \lvert \text{expected} \rvert 2025-03-14T05:25:07.3450250Z 2025-03-14T05:25:07.3450596Z Non-finite values (``-inf`` and ``inf``) are only considered close if and only if they are equal. ``NaN``'s are 2025-03-14T05:25:07.3451492Z only considered equal to each other if ``equal_nan`` is ``True``. 2025-03-14T05:25:07.3451826Z 2025-03-14T05:25:07.3452033Z In addition, they are only considered close if they have the same 2025-03-14T05:25:07.3452362Z 2025-03-14T05:25:07.3452560Z - :attr:`~torch.Tensor.device` (if ``check_device`` is ``True``), 2025-03-14T05:25:07.3453094Z - ``dtype`` (if ``check_dtype`` is ``True``), 2025-03-14T05:25:07.3453489Z - ``layout`` (if ``check_layout`` is ``True``), and 2025-03-14T05:25:07.3454018Z - stride (if ``check_stride`` is ``True``). 2025-03-14T05:25:07.3454269Z 2025-03-14T05:25:07.3454568Z If either ``actual`` or ``expected`` is a meta tensor, only the attribute checks will be performed. 2025-03-14T05:25:07.3454993Z 2025-03-14T05:25:07.3455354Z If ``actual`` and ``expected`` are sparse (either having COO, CSR, CSC, BSR, or BSC layout), their strided members are 2025-03-14T05:25:07.3456275Z checked individually. Indices, namely ``indices`` for COO, ``crow_indices`` and ``col_indices`` for CSR and BSR, 2025-03-14T05:25:07.3457008Z or ``ccol_indices`` and ``row_indices`` for CSC and BSC layouts, respectively, 2025-03-14T05:25:07.3457755Z are always checked for equality whereas the values are checked for closeness according to the definition above. 2025-03-14T05:25:07.3458271Z 2025-03-14T05:25:07.3458560Z If ``actual`` and ``expected`` are quantized, they are considered close if they have the same 2025-03-14T05:25:07.3459332Z :meth:`~torch.Tensor.qscheme` and the result of :meth:`~torch.Tensor.dequantize` is close according to the 2025-03-14T05:25:07.3459911Z definition above. 2025-03-14T05:25:07.3460085Z 2025-03-14T05:25:07.3460398Z ``actual`` and ``expected`` can be :class:`~torch.Tensor`'s or any tensor-or-scalar-likes from which 2025-03-14T05:25:07.3461209Z :class:`torch.Tensor`'s can be constructed with :func:`torch.as_tensor`. Except for Python scalars the input types 2025-03-14T05:25:07.3462077Z have to be directly related. In addition, ``actual`` and ``expected`` can be :class:`~collections.abc.Sequence`'s 2025-03-14T05:25:07.3462947Z or :class:`~collections.abc.Mapping`'s in which case they are considered close if their structure matches and all 2025-03-14T05:25:07.3463683Z their elements are considered close according to the above definition. 2025-03-14T05:25:07.3464039Z 2025-03-14T05:25:07.3464133Z .. note:: 2025-03-14T05:25:07.3464277Z 2025-03-14T05:25:07.3464620Z Python scalars are an exception to the type relation requirement, because their :func:`type`, i.e. 2025-03-14T05:25:07.3465404Z :class:`int`, :class:`float`, and :class:`complex`, is equivalent to the ``dtype`` of a tensor-like. Thus, 2025-03-14T05:25:07.3466131Z Python scalars of different types can be checked, but require ``check_dtype=False``. 2025-03-14T05:25:07.3466542Z 2025-03-14T05:25:07.3466632Z Args: 2025-03-14T05:25:07.3466876Z actual (Any): Actual input. 2025-03-14T05:25:07.3467213Z expected (Any): Expected input. 2025-03-14T05:25:07.3467803Z allow_subclasses (bool): If ``True`` (default) and except for Python scalars, inputs of directly related types 2025-03-14T05:25:07.3468446Z are allowed. Otherwise type equality is required. 2025-03-14T05:25:07.3469096Z rtol (Optional[float]): Relative tolerance. If specified ``atol`` must also be specified. If omitted, default 2025-03-14T05:25:07.3469849Z values based on the :attr:`~torch.Tensor.dtype` are selected with the below table. 2025-03-14T05:25:07.3470606Z atol (Optional[float]): Absolute tolerance. If specified ``rtol`` must also be specified. If omitted, default 2025-03-14T05:25:07.3471359Z values based on the :attr:`~torch.Tensor.dtype` are selected with the below table. 2025-03-14T05:25:07.3472000Z equal_nan (Union[bool, str]): If ``True``, two ``NaN`` values will be considered equal. 2025-03-14T05:25:07.3472660Z check_device (bool): If ``True`` (default), asserts that corresponding tensors are on the same 2025-03-14T05:25:07.3473402Z :attr:`~torch.Tensor.device`. If this check is disabled, tensors on different 2025-03-14T05:25:07.3474015Z :attr:`~torch.Tensor.device`'s are moved to the CPU before being compared. 2025-03-14T05:25:07.3474733Z check_dtype (bool): If ``True`` (default), asserts that corresponding tensors have the same ``dtype``. If this 2025-03-14T05:25:07.3475612Z check is disabled, tensors with different ``dtype``'s are promoted to a common ``dtype`` (according to 2025-03-14T05:25:07.3476245Z :func:`torch.promote_types`) before being compared. 2025-03-14T05:25:07.3476888Z check_layout (bool): If ``True`` (default), asserts that corresponding tensors have the same ``layout``. If this 2025-03-14T05:25:07.3477704Z check is disabled, tensors with different ``layout``'s are converted to strided tensors before being 2025-03-14T05:25:07.3478263Z compared. 2025-03-14T05:25:07.3478789Z check_stride (bool): If ``True`` and corresponding tensors are strided, asserts that they have the same stride. 2025-03-14T05:25:07.3479631Z msg (Optional[Union[str, Callable[[str], str]]]): Optional error message to use in case a failure occurs during 2025-03-14T05:25:07.3480460Z the comparison. Can also passed as callable in which case it will be called with the generated message and 2025-03-14T05:25:07.3481057Z should return the new message. 2025-03-14T05:25:07.3481282Z 2025-03-14T05:25:07.3481386Z Raises: 2025-03-14T05:25:07.3481756Z ValueError: If no :class:`torch.Tensor` can be constructed from an input. 2025-03-14T05:25:07.3482285Z ValueError: If only ``rtol`` or ``atol`` is specified. 2025-03-14T05:25:07.3482898Z AssertionError: If corresponding inputs are not Python scalars and are not directly related. 2025-03-14T05:25:07.3483717Z AssertionError: If ``allow_subclasses`` is ``False``, but corresponding inputs are not Python scalars and have 2025-03-14T05:25:07.3484317Z different types. 2025-03-14T05:25:07.3484880Z AssertionError: If the inputs are :class:`~collections.abc.Sequence`'s, but their length does not match. 2025-03-14T05:25:07.3485737Z AssertionError: If the inputs are :class:`~collections.abc.Mapping`'s, but their set of keys do not match. 2025-03-14T05:25:07.3486558Z AssertionError: If corresponding tensors do not have the same :attr:`~torch.Tensor.shape`. 2025-03-14T05:25:07.3487310Z AssertionError: If ``check_layout`` is ``True``, but corresponding tensors do not have the same 2025-03-14T05:25:07.3487845Z :attr:`~torch.Tensor.layout`. 2025-03-14T05:25:07.3488304Z AssertionError: If only one of corresponding tensors is quantized. 2025-03-14T05:25:07.3489044Z AssertionError: If corresponding tensors are quantized, but have different :meth:`~torch.Tensor.qscheme`'s. 2025-03-14T05:25:07.3489859Z AssertionError: If ``check_device`` is ``True``, but corresponding tensors are not on the same 2025-03-14T05:25:07.3490404Z :attr:`~torch.Tensor.device`. 2025-03-14T05:25:07.3490971Z AssertionError: If ``check_dtype`` is ``True``, but corresponding tensors do not have the same ``dtype``. 2025-03-14T05:25:07.3491795Z AssertionError: If ``check_stride`` is ``True``, but corresponding strided tensors do not have the same stride. 2025-03-14T05:25:07.3492656Z AssertionError: If the values of corresponding tensors are not close according to the definition above. 2025-03-14T05:25:07.3493151Z 2025-03-14T05:25:07.3493517Z The following table displays the default ``rtol`` and ``atol`` for different ``dtype``'s. In case of mismatching 2025-03-14T05:25:07.3494156Z ``dtype``'s, the maximum of both tolerances is used. 2025-03-14T05:25:07.3494432Z 2025-03-14T05:25:07.3494568Z +---------------------------+------------+----------+ 2025-03-14T05:25:07.3494955Z | ``dtype`` | ``rtol`` | ``atol`` | 2025-03-14T05:25:07.3495391Z +===========================+============+==========+ 2025-03-14T05:25:07.3495842Z | :attr:`~torch.float16` | ``1e-3`` | ``1e-5`` | 2025-03-14T05:25:07.3496237Z +---------------------------+------------+----------+ 2025-03-14T05:25:07.3496629Z | :attr:`~torch.bfloat16` | ``1.6e-2`` | ``1e-5`` | 2025-03-14T05:25:07.3497021Z +---------------------------+------------+----------+ 2025-03-14T05:25:07.3497413Z | :attr:`~torch.float32` | ``1.3e-6`` | ``1e-5`` | 2025-03-14T05:25:07.3498086Z +---------------------------+------------+----------+ 2025-03-14T05:25:07.3498490Z | :attr:`~torch.float64` | ``1e-7`` | ``1e-7`` | 2025-03-14T05:25:07.3498874Z +---------------------------+------------+----------+ 2025-03-14T05:25:07.3499264Z | :attr:`~torch.complex32` | ``1e-3`` | ``1e-5`` | 2025-03-14T05:25:07.3499653Z +---------------------------+------------+----------+ 2025-03-14T05:25:07.3500048Z | :attr:`~torch.complex64` | ``1.3e-6`` | ``1e-5`` | 2025-03-14T05:25:07.3500434Z +---------------------------+------------+----------+ 2025-03-14T05:25:07.3500821Z | :attr:`~torch.complex128` | ``1e-7`` | ``1e-7`` | 2025-03-14T05:25:07.3501209Z +---------------------------+------------+----------+ 2025-03-14T05:25:07.3501593Z | :attr:`~torch.quint8` | ``1.3e-6`` | ``1e-5`` | 2025-03-14T05:25:07.3501973Z +---------------------------+------------+----------+ 2025-03-14T05:25:07.3502358Z | :attr:`~torch.quint2x4` | ``1.3e-6`` | ``1e-5`` | 2025-03-14T05:25:07.3502735Z +---------------------------+------------+----------+ 2025-03-14T05:25:07.3503118Z | :attr:`~torch.quint4x2` | ``1.3e-6`` | ``1e-5`` | 2025-03-14T05:25:07.3503502Z +---------------------------+------------+----------+ 2025-03-14T05:25:07.3503884Z | :attr:`~torch.qint8` | ``1.3e-6`` | ``1e-5`` | 2025-03-14T05:25:07.3504266Z +---------------------------+------------+----------+ 2025-03-14T05:25:07.3504657Z | :attr:`~torch.qint32` | ``1.3e-6`` | ``1e-5`` | 2025-03-14T05:25:07.3505039Z +---------------------------+------------+----------+ 2025-03-14T05:25:07.3505411Z | other | ``0.0`` | ``0.0`` | 2025-03-14T05:25:07.3505785Z +---------------------------+------------+----------+ 2025-03-14T05:25:07.3506038Z 2025-03-14T05:25:07.3506139Z .. note:: 2025-03-14T05:25:07.3506286Z 2025-03-14T05:25:07.3506675Z :func:`~torch.testing.assert_close` is highly configurable with strict default settings. Users are encouraged 2025-03-14T05:25:07.3507539Z to :func:`~functools.partial` it to fit their use case. For example, if an equality check is needed, one might 2025-03-14T05:25:07.3508286Z define an ``assert_equal`` that uses zero tolerances for every ``dtype`` by default: 2025-03-14T05:25:07.3508682Z 2025-03-14T05:25:07.3508786Z >>> import functools 2025-03-14T05:25:07.3509238Z >>> assert_equal = functools.partial(torch.testing.assert_close, rtol=0, atol=0) 2025-03-14T05:25:07.3509739Z >>> assert_equal(1e-9, 1e-10) 2025-03-14T05:25:07.3510081Z Traceback (most recent call last): 2025-03-14T05:25:07.3510405Z ... 2025-03-14T05:25:07.3510668Z AssertionError: Scalars are not equal! 2025-03-14T05:25:07.3511008Z 2025-03-14T05:25:07.3511279Z Expected 1e-10 but got 1e-09. 2025-03-14T05:25:07.3511628Z Absolute difference: 9.000000000000001e-10 2025-03-14T05:25:07.3511989Z Relative difference: 9.0 2025-03-14T05:25:07.3512191Z 2025-03-14T05:25:07.3512302Z Examples: 2025-03-14T05:25:07.3512550Z >>> # tensor to tensor comparison 2025-03-14T05:25:07.3512918Z >>> expected = torch.tensor([1e0, 1e-1, 1e-2]) 2025-03-14T05:25:07.3513308Z >>> actual = torch.acos(torch.cos(expected)) 2025-03-14T05:25:07.3513717Z >>> torch.testing.assert_close(actual, expected) 2025-03-14T05:25:07.3513986Z 2025-03-14T05:25:07.3514213Z >>> # scalar to scalar comparison 2025-03-14T05:25:07.3514545Z >>> import math 2025-03-14T05:25:07.3514829Z >>> expected = math.sqrt(2.0) 2025-03-14T05:25:07.3515163Z >>> actual = 2.0 / math.sqrt(2.0) 2025-03-14T05:25:07.3515540Z >>> torch.testing.assert_close(actual, expected) 2025-03-14T05:25:07.3515811Z 2025-03-14T05:25:07.3515941Z >>> # numpy array to numpy array comparison 2025-03-14T05:25:07.3516296Z >>> import numpy as np 2025-03-14T05:25:07.3516623Z >>> expected = np.array([1e0, 1e-1, 1e-2]) 2025-03-14T05:25:07.3517061Z >>> actual = np.arccos(np.cos(expected)) 2025-03-14T05:25:07.3517455Z >>> torch.testing.assert_close(actual, expected) 2025-03-14T05:25:07.3517714Z 2025-03-14T05:25:07.3517849Z >>> # sequence to sequence comparison 2025-03-14T05:25:07.3518192Z >>> import numpy as np 2025-03-14T05:25:07.3518647Z >>> # The types of the sequences do not have to match. They only have to have the same 2025-03-14T05:25:07.3519166Z >>> # length and their elements have to match. 2025-03-14T05:25:07.3519577Z >>> expected = [torch.tensor([1.0]), 2.0, np.array(3.0)] 2025-03-14T05:25:07.3519964Z >>> actual = tuple(expected) 2025-03-14T05:25:07.3520327Z >>> torch.testing.assert_close(actual, expected) 2025-03-14T05:25:07.3520582Z 2025-03-14T05:25:07.3520715Z >>> # mapping to mapping comparison 2025-03-14T05:25:07.3521066Z >>> from collections import OrderedDict 2025-03-14T05:25:07.3521416Z >>> import numpy as np 2025-03-14T05:25:07.3521724Z >>> foo = torch.tensor(1.0) 2025-03-14T05:25:07.3522029Z >>> bar = 2.0 2025-03-14T05:25:07.3522295Z >>> baz = np.array(3.0) 2025-03-14T05:25:07.3522745Z >>> # The types and a possible ordering of mappings do not have to match. They only 2025-03-14T05:25:07.3523335Z >>> # have to have the same set of keys and their elements have to match. 2025-03-14T05:25:07.3523874Z >>> expected = OrderedDict([("foo", foo), ("bar", bar), ("baz", baz)]) 2025-03-14T05:25:07.3524379Z >>> actual = {"baz": baz, "bar": bar, "foo": foo} 2025-03-14T05:25:07.3524790Z >>> torch.testing.assert_close(actual, expected) 2025-03-14T05:25:07.3525052Z 2025-03-14T05:25:07.3525199Z >>> expected = torch.tensor([1.0, 2.0, 3.0]) 2025-03-14T05:25:07.3525567Z >>> actual = expected.clone() 2025-03-14T05:25:07.3525964Z >>> # By default, directly related instances can be compared 2025-03-14T05:25:07.3526487Z >>> torch.testing.assert_close(torch.nn.Parameter(actual), expected) 2025-03-14T05:25:07.3527034Z >>> # This check can be made more strict with allow_subclasses=False 2025-03-14T05:25:07.3527478Z >>> torch.testing.assert_close( 2025-03-14T05:25:07.3527918Z ... torch.nn.Parameter(actual), expected, allow_subclasses=False 2025-03-14T05:25:07.3528340Z ... ) 2025-03-14T05:25:07.3528608Z Traceback (most recent call last): 2025-03-14T05:25:07.3528927Z ... 2025-03-14T05:25:07.3529276Z TypeError: No comparison pair was able to handle inputs of type 2025-03-14T05:25:07.3529839Z and . 2025-03-14T05:25:07.3530412Z >>> # If the inputs are not directly related, they are never considered close 2025-03-14T05:25:07.3530943Z >>> torch.testing.assert_close(actual.numpy(), expected) 2025-03-14T05:25:07.3531363Z Traceback (most recent call last): 2025-03-14T05:25:07.3531690Z ... 2025-03-14T05:25:07.3532130Z TypeError: No comparison pair was able to handle inputs of type 2025-03-14T05:25:07.3532662Z and . 2025-03-14T05:25:07.3533147Z >>> # Exceptions to these rules are Python scalars. They can be checked regardless of 2025-03-14T05:25:07.3533660Z >>> # their type if check_dtype=False. 2025-03-14T05:25:07.3534071Z >>> torch.testing.assert_close(1.0, 1, check_dtype=False) 2025-03-14T05:25:07.3534472Z 2025-03-14T05:25:07.3534577Z >>> # NaN != NaN by default. 2025-03-14T05:25:07.3534917Z >>> expected = torch.tensor(float("Nan")) 2025-03-14T05:25:07.3535277Z >>> actual = expected.clone() 2025-03-14T05:25:07.3535751Z >>> torch.testing.assert_close(actual, expected) 2025-03-14T05:25:07.3536144Z Traceback (most recent call last): 2025-03-14T05:25:07.3536470Z ... 2025-03-14T05:25:07.3536733Z AssertionError: Scalars are not close! 2025-03-14T05:25:07.3537076Z 2025-03-14T05:25:07.3537411Z Expected nan but got nan. 2025-03-14T05:25:07.3537765Z Absolute difference: nan (up to 1e-05 allowed) 2025-03-14T05:25:07.3538185Z Relative difference: nan (up to 1.3e-06 allowed) 2025-03-14T05:25:07.3538659Z >>> torch.testing.assert_close(actual, expected, equal_nan=True) 2025-03-14T05:25:07.3538991Z 2025-03-14T05:25:07.3539122Z >>> expected = torch.tensor([1.0, 2.0, 3.0]) 2025-03-14T05:25:07.3539494Z >>> actual = torch.tensor([1.0, 4.0, 5.0]) 2025-03-14T05:25:07.3539887Z >>> # The default error message can be overwritten. 2025-03-14T05:25:07.3540444Z >>> torch.testing.assert_close(actual, expected, msg="Argh, the tensors are not close!") 2025-03-14T05:25:07.3540977Z Traceback (most recent call last): 2025-03-14T05:25:07.3541304Z ... 2025-03-14T05:25:07.3541596Z AssertionError: Argh, the tensors are not close! 2025-03-14T05:25:07.3542097Z >>> # If msg is a callable, it can be used to augment the generated message with 2025-03-14T05:25:07.3542552Z >>> # extra information 2025-03-14T05:25:07.3542867Z >>> torch.testing.assert_close( 2025-03-14T05:25:07.3543303Z ... actual, expected, msg=lambda msg: f"Header\n\n{msg}\n\nFooter" 2025-03-14T05:25:07.3543719Z ... ) 2025-03-14T05:25:07.3543982Z Traceback (most recent call last): 2025-03-14T05:25:07.3544304Z ... 2025-03-14T05:25:07.3544552Z AssertionError: Header 2025-03-14T05:25:07.3544844Z 2025-03-14T05:25:07.3545109Z Tensor-likes are not close! 2025-03-14T05:25:07.3545405Z 2025-03-14T05:25:07.3545674Z Mismatched elements: 2 / 3 (66.7%) 2025-03-14T05:25:07.3546133Z Greatest absolute difference: 2.0 at index (1,) (up to 1e-05 allowed) 2025-03-14T05:25:07.3546713Z Greatest relative difference: 1.0 at index (1,) (up to 1.3e-06 allowed) 2025-03-14T05:25:07.3547161Z 2025-03-14T05:25:07.3547406Z Footer 2025-03-14T05:25:07.3547635Z 2025-03-14T05:25:07.3548014Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:07.3548393Z 2025-03-14T05:25:08.5041771Z msg = Cannot scrape callname=register_pytree_node in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/_cxx_pytree.py line=104. 2025-03-14T05:25:08.5042790Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:08.5043412Z Register a container-like type as pytree node. 2025-03-14T05:25:08.5043686Z 2025-03-14T05:25:08.5043778Z Args: 2025-03-14T05:25:08.5044160Z cls (type): A Python type to treat as an internal pytree node. 2025-03-14T05:25:08.5044812Z flatten_fn (callable): A function to be used during flattening, taking an instance of 2025-03-14T05:25:08.5045486Z ``cls`` and returning a pair, with (1) an iterable for the children to be flattened 2025-03-14T05:25:08.5046218Z recursively, and (2) some hashable auxiliary data to be stored in the treespec and to be 2025-03-14T05:25:08.5046815Z passed to the ``unflatten_fn``. 2025-03-14T05:25:08.5047382Z unflatten_fn (callable): A function taking two arguments: the auxiliary data that was 2025-03-14T05:25:08.5055398Z returned by ``flatten_fn`` and stored in the treespec, and the unflattened children. 2025-03-14T05:25:08.5056205Z The function should return an instance of ``cls``. 2025-03-14T05:25:08.5057060Z serialized_type_name (str, optional): A keyword argument used to specify the fully 2025-03-14T05:25:08.5057641Z qualified name used when serializing the tree spec. 2025-03-14T05:25:08.5058313Z to_dumpable_context (callable, optional): An optional keyword argument to custom specify how 2025-03-14T05:25:08.5059102Z to convert the context of the pytree to a custom json dumpable representation. This is 2025-03-14T05:25:08.5059966Z used for json serialization, which is being used in :mod:`torch.export` right now. 2025-03-14T05:25:08.5060735Z from_dumpable_context (callable, optional): An optional keyword argument to custom specify 2025-03-14T05:25:08.5061492Z how to convert the custom json dumpable representation of the context back to the 2025-03-14T05:25:08.5062196Z original context. This is used for json deserialization, which is being used in 2025-03-14T05:25:08.5062771Z :mod:`torch.export` right now. 2025-03-14T05:25:08.5063010Z 2025-03-14T05:25:08.5063171Z Example:: 2025-03-14T05:25:08.5063311Z 2025-03-14T05:25:08.5063426Z >>> # xdoctest: +SKIP 2025-03-14T05:25:08.5063783Z >>> # Registry a Python type with lambda functions 2025-03-14T05:25:08.5064208Z >>> register_pytree_node( 2025-03-14T05:25:08.5064498Z ... set, 2025-03-14T05:25:08.5064844Z ... lambda s: (sorted(s), None, None), 2025-03-14T05:25:08.5065220Z ... lambda children, _: set(children), 2025-03-14T05:25:08.5065612Z ... ) 2025-03-14T05:25:08.5065839Z 2025-03-14T05:25:08.5066281Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:08.5066665Z 2025-03-14T05:25:08.5654679Z msg = Cannot scrape callname=SelectiveCheckpointContext in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/checkpoint.py line=1200. 2025-03-14T05:25:08.5655817Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:08.5656276Z 2025-03-14T05:25:08.5656496Z Context passed to policy function during selective checkpointing. 2025-03-14T05:25:08.5656919Z 2025-03-14T05:25:08.5657150Z This class is used to pass relevant metadata to the policy function during 2025-03-14T05:25:08.5657840Z selective checkpointing. The metadata includes whether the current invocation 2025-03-14T05:25:08.5658458Z of the policy function is during recomputation or not. 2025-03-14T05:25:08.5658748Z 2025-03-14T05:25:08.5658842Z Example: 2025-03-14T05:25:08.5659142Z >>> # xdoctest: +SKIP(stub) 2025-03-14T05:25:08.5659431Z >>> 2025-03-14T05:25:08.5659733Z >>> def policy_fn(ctx, op, *args, **kwargs): 2025-03-14T05:25:08.5660095Z >>> print(ctx.is_recompute) 2025-03-14T05:25:08.5660482Z >>> 2025-03-14T05:25:08.5661079Z >>> context_fn = functools.partial(create_selective_checkpoint_contexts, policy_fn) 2025-03-14T05:25:08.5661694Z >>> 2025-03-14T05:25:08.5662102Z >>> out = torch.utils.checkpoint.checkpoint( 2025-03-14T05:25:08.5662743Z >>> fn, x, y, 2025-03-14T05:25:08.5663143Z >>> use_reentrant=False, 2025-03-14T05:25:08.5663453Z >>> context_fn=context_fn, 2025-03-14T05:25:08.5663795Z >>> ) 2025-03-14T05:25:08.5663933Z 2025-03-14T05:25:08.5664193Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:08.5664581Z 2025-03-14T05:25:08.5665254Z msg = Cannot scrape callname=create_selective_checkpoint_contexts in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/checkpoint.py line=1334. 2025-03-14T05:25:08.5666270Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:08.5666651Z 2025-03-14T05:25:08.5666906Z Helper to avoid recomputing certain ops during activation checkpointing. 2025-03-14T05:25:08.5667261Z 2025-03-14T05:25:08.5667492Z Use this with `torch.utils.checkpoint.checkpoint` to control which 2025-03-14T05:25:08.5668212Z operations are recomputed during the backward pass. 2025-03-14T05:25:08.5668485Z 2025-03-14T05:25:08.5668586Z Args: 2025-03-14T05:25:08.5668838Z policy_fn_or_list (Callable or List): 2025-03-14T05:25:08.5669237Z - If a policy function is provided, it should accept a 2025-03-14T05:25:08.5669778Z :class:`SelectiveCheckpointContext`, the :class:`OpOverload`, args and 2025-03-14T05:25:08.5670362Z kwargs to the op, and return a :class:`CheckpointPolicy` enum value 2025-03-14T05:25:08.5671440Z indicating whether the execution of the op should be recomputed or not. 2025-03-14T05:25:08.5672161Z - If a list of operations is provided, it is equivalent to a policy 2025-03-14T05:25:08.5672689Z returning `CheckpointPolicy.MUST_SAVE` for the specified 2025-03-14T05:25:08.5673228Z operations and `CheckpointPolicy.PREFER_RECOMPUTE` for all other 2025-03-14T05:25:08.5673675Z operations. 2025-03-14T05:25:08.5674053Z allow_cache_entry_mutation (bool, optional): By default, an error is 2025-03-14T05:25:08.5674623Z raised if any tensors cached by selective activation checkpoint are 2025-03-14T05:25:08.5675179Z mutated in order to ensure correctness. If set to `True`, this check 2025-03-14T05:25:08.5675617Z is disabled. 2025-03-14T05:25:08.5675867Z Returns: 2025-03-14T05:25:08.5676112Z A tuple of two context managers. 2025-03-14T05:25:08.5676324Z 2025-03-14T05:25:08.5676423Z Example: 2025-03-14T05:25:08.5676663Z >>> # xdoctest: +REQUIRES(LINUX) 2025-03-14T05:25:08.5676979Z >>> import functools 2025-03-14T05:25:08.5677246Z >>> 2025-03-14T05:25:08.5677502Z >>> x = torch.rand(10, 10, requires_grad=True) 2025-03-14T05:25:08.5677875Z >>> y = torch.rand(10, 10, requires_grad=True) 2025-03-14T05:25:08.5678196Z >>> 2025-03-14T05:25:08.5678418Z >>> ops_to_save = [ 2025-03-14T05:25:08.5678704Z >>> torch.ops.aten.mm.default, 2025-03-14T05:25:08.5679014Z >>> ] 2025-03-14T05:25:08.5679229Z >>> 2025-03-14T05:25:08.5679486Z >>> def policy_fn(ctx, op, *args, **kwargs): 2025-03-14T05:25:08.5679837Z >>> if op in ops_to_save: 2025-03-14T05:25:08.5680170Z >>> return CheckpointPolicy.MUST_SAVE 2025-03-14T05:25:08.5680509Z >>> else: 2025-03-14T05:25:08.5680803Z >>> return CheckpointPolicy.PREFER_RECOMPUTE 2025-03-14T05:25:08.5681156Z >>> 2025-03-14T05:25:08.5681556Z >>> context_fn = functools.partial(create_selective_checkpoint_contexts, policy_fn) 2025-03-14T05:25:08.5682042Z >>> 2025-03-14T05:25:08.5682270Z >>> # or equivalently 2025-03-14T05:25:08.5682730Z >>> context_fn = functools.partial(create_selective_checkpoint_contexts, ops_to_save) 2025-03-14T05:25:08.5683225Z >>> 2025-03-14T05:25:08.5683438Z >>> def fn(x, y): 2025-03-14T05:25:08.5683817Z >>> return torch.sigmoid(torch.matmul(torch.matmul(x, y), y)) * y 2025-03-14T05:25:08.5684233Z >>> 2025-03-14T05:25:08.5684503Z >>> out = torch.utils.checkpoint.checkpoint( 2025-03-14T05:25:08.5684859Z >>> fn, x, y, 2025-03-14T05:25:08.5685129Z >>> use_reentrant=False, 2025-03-14T05:25:08.5685441Z >>> context_fn=context_fn, 2025-03-14T05:25:08.5685740Z >>> ) 2025-03-14T05:25:08.5685874Z 2025-03-14T05:25:08.5686132Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:08.5686519Z 2025-03-14T05:25:08.5900632Z msg = Cannot scrape callname=CppExtension in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/cpp_extension.py line=1064. 2025-03-14T05:25:08.5901603Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:08.5901998Z 2025-03-14T05:25:08.5902151Z Create a :class:`setuptools.Extension` for C++. 2025-03-14T05:25:08.5902423Z 2025-03-14T05:25:08.5902668Z Convenience method that creates a :class:`setuptools.Extension` with the 2025-03-14T05:25:08.5903273Z bare minimum (but often sufficient) arguments to build a C++ extension. 2025-03-14T05:25:08.5903809Z 2025-03-14T05:25:08.5904041Z All arguments are forwarded to the :class:`setuptools.Extension` 2025-03-14T05:25:08.5904526Z constructor. Full list arguments can be found at 2025-03-14T05:25:08.5905135Z https://setuptools.pypa.io/en/latest/userguide/ext_modules.html#extension-api-reference 2025-03-14T05:25:08.5905590Z 2025-03-14T05:25:08.5905698Z .. warning:: 2025-03-14T05:25:08.5906070Z The PyTorch python API (as provided in libtorch_python) cannot be built 2025-03-14T05:25:08.5906703Z with the flag ``py_limited_api=True``. When this flag is passed, it is 2025-03-14T05:25:08.5907651Z the user's responsibility in their library to not use APIs from 2025-03-14T05:25:08.5908560Z libtorch_python (in particular pytorch/python bindings) and to only use 2025-03-14T05:25:08.5909502Z APIs from libtorch (aten objects, operators and the dispatcher). For 2025-03-14T05:25:08.5910071Z example, to give access to custom ops from python, the library should 2025-03-14T05:25:08.5910544Z register the ops through the dispatcher. 2025-03-14T05:25:08.5910789Z 2025-03-14T05:25:08.5911032Z Contrary to CPython setuptools, who does not define -DPy_LIMITED_API 2025-03-14T05:25:08.5911594Z as a compile flag when py_limited_api is specified as an option for 2025-03-14T05:25:08.5912130Z the "bdist_wheel" command in ``setup``, PyTorch does! We will specify 2025-03-14T05:25:08.5912680Z -DPy_LIMITED_API=min_supported_cpython to best enforce consistency, 2025-03-14T05:25:08.5913312Z safety, and sanity in order to encourage best practices. To target a 2025-03-14T05:25:08.5914112Z different version, set min_supported_cpython to the hexcode of the 2025-03-14T05:25:08.5914618Z CPython version of choice. 2025-03-14T05:25:08.5914812Z 2025-03-14T05:25:08.5914914Z Example: 2025-03-14T05:25:08.5915148Z >>> # xdoctest: +SKIP 2025-03-14T05:25:08.5915470Z >>> # xdoctest: +REQUIRES(env:TORCH_DOCTEST_CPP_EXT) 2025-03-14T05:25:08.5915854Z >>> from setuptools import setup 2025-03-14T05:25:08.5916308Z >>> from torch.utils.cpp_extension import BuildExtension, CppExtension 2025-03-14T05:25:08.5916745Z >>> setup( 2025-03-14T05:25:08.5916993Z ... name='extension', 2025-03-14T05:25:08.5917287Z ... ext_modules=[ 2025-03-14T05:25:08.5917568Z ... CppExtension( 2025-03-14T05:25:08.5917865Z ... name='extension', 2025-03-14T05:25:08.5918203Z ... sources=['extension.cpp'], 2025-03-14T05:25:08.5918566Z ... extra_compile_args=['-g'], 2025-03-14T05:25:08.5918964Z ... extra_link_args=['-Wl,--no-as-needed', '-lm']) 2025-03-14T05:25:08.5919329Z ... ], 2025-03-14T05:25:08.5919565Z ... cmdclass={ 2025-03-14T05:25:08.5919846Z ... 'build_ext': BuildExtension 2025-03-14T05:25:08.5920164Z ... }) 2025-03-14T05:25:08.5920297Z 2025-03-14T05:25:08.5920564Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:08.5920934Z 2025-03-14T05:25:08.5921550Z msg = Cannot scrape callname=CUDAExtension in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/cpp_extension.py line=1134. 2025-03-14T05:25:08.5922481Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:08.5922990Z 2025-03-14T05:25:08.5923219Z Create a :class:`setuptools.Extension` for CUDA/C++. 2025-03-14T05:25:08.5923637Z 2025-03-14T05:25:08.5924011Z Convenience method that creates a :class:`setuptools.Extension` with the 2025-03-14T05:25:08.5924712Z bare minimum (but often sufficient) arguments to build a CUDA/C++ 2025-03-14T05:25:08.5925723Z extension. This includes the CUDA include path, library path and runtime 2025-03-14T05:25:08.5926174Z library. 2025-03-14T05:25:08.5926308Z 2025-03-14T05:25:08.5926520Z All arguments are forwarded to the :class:`setuptools.Extension` 2025-03-14T05:25:08.5927002Z constructor. Full list arguments can be found at 2025-03-14T05:25:08.5927602Z https://setuptools.pypa.io/en/latest/userguide/ext_modules.html#extension-api-reference 2025-03-14T05:25:08.5928190Z 2025-03-14T05:25:08.5928293Z .. warning:: 2025-03-14T05:25:08.5928672Z The PyTorch python API (as provided in libtorch_python) cannot be built 2025-03-14T05:25:08.5929241Z with the flag ``py_limited_api=True``. When this flag is passed, it is 2025-03-14T05:25:08.5929784Z the user's responsibility in their library to not use APIs from 2025-03-14T05:25:08.5930341Z libtorch_python (in particular pytorch/python bindings) and to only use 2025-03-14T05:25:08.5931011Z APIs from libtorch (aten objects, operators and the dispatcher). For 2025-03-14T05:25:08.5931577Z example, to give access to custom ops from python, the library should 2025-03-14T05:25:08.5932051Z register the ops through the dispatcher. 2025-03-14T05:25:08.5932289Z 2025-03-14T05:25:08.5932535Z Contrary to CPython setuptools, who does not define -DPy_LIMITED_API 2025-03-14T05:25:08.5933156Z as a compile flag when py_limited_api is specified as an option for 2025-03-14T05:25:08.5933982Z the "bdist_wheel" command in ``setup``, PyTorch does! We will specify 2025-03-14T05:25:08.5934685Z -DPy_LIMITED_API=min_supported_cpython to best enforce consistency, 2025-03-14T05:25:08.5935351Z safety, and sanity in order to encourage best practices. To target a 2025-03-14T05:25:08.5936035Z different version, set min_supported_cpython to the hexcode of the 2025-03-14T05:25:08.5936495Z CPython version of choice. 2025-03-14T05:25:08.5936732Z 2025-03-14T05:25:08.5936823Z Example: 2025-03-14T05:25:08.5937061Z >>> # xdoctest: +SKIP 2025-03-14T05:25:08.5937449Z >>> # xdoctest: +REQUIRES(env:TORCH_DOCTEST_CPP_EXT) 2025-03-14T05:25:08.5937838Z >>> from setuptools import setup 2025-03-14T05:25:08.5938346Z >>> from torch.utils.cpp_extension import BuildExtension, CUDAExtension 2025-03-14T05:25:08.5938795Z >>> setup( 2025-03-14T05:25:08.5939050Z ... name='cuda_extension', 2025-03-14T05:25:08.5939362Z ... ext_modules=[ 2025-03-14T05:25:08.5939705Z ... CUDAExtension( 2025-03-14T05:25:08.5940038Z ... name='cuda_extension', 2025-03-14T05:25:08.5940444Z ... sources=['extension.cpp', 'extension_kernel.cu'], 2025-03-14T05:25:08.5940872Z ... extra_compile_args={'cxx': ['-g'], 2025-03-14T05:25:08.5941250Z ... 'nvcc': ['-O2']}, 2025-03-14T05:25:08.5941660Z ... extra_link_args=['-Wl,--no-as-needed', '-lcuda']) 2025-03-14T05:25:08.5942096Z ... ], 2025-03-14T05:25:08.5942339Z ... cmdclass={ 2025-03-14T05:25:08.5942619Z ... 'build_ext': BuildExtension 2025-03-14T05:25:08.5942950Z ... }) 2025-03-14T05:25:08.5943102Z 2025-03-14T05:25:08.5943209Z Compute capabilities: 2025-03-14T05:25:08.5943390Z 2025-03-14T05:25:08.5943692Z By default the extension will be compiled to run on all archs of the cards visible during the 2025-03-14T05:25:08.5944417Z building process of the extension, plus PTX. If down the road a new card is installed the 2025-03-14T05:25:08.5945148Z extension may need to be recompiled. If a visible card has a compute capability (CC) that's 2025-03-14T05:25:08.5945936Z newer than the newest version for which your nvcc can build fully-compiled binaries, PyTorch 2025-03-14T05:25:08.5946660Z will make nvcc fall back to building kernels with the newest version of PTX your nvcc does 2025-03-14T05:25:08.5947200Z support (see below for details on PTX). 2025-03-14T05:25:08.5947441Z 2025-03-14T05:25:08.5947760Z You can override the default behavior using `TORCH_CUDA_ARCH_LIST` to explicitly specify which 2025-03-14T05:25:08.5948323Z CCs you want the extension to support: 2025-03-14T05:25:08.5948557Z 2025-03-14T05:25:08.5948752Z ``TORCH_CUDA_ARCH_LIST="6.1 8.6" python build_my_extension.py`` 2025-03-14T05:25:08.5949305Z ``TORCH_CUDA_ARCH_LIST="5.2 6.0 6.1 7.0 7.5 8.0 8.6+PTX" python build_my_extension.py`` 2025-03-14T05:25:08.5949675Z 2025-03-14T05:25:08.5949999Z The +PTX option causes extension kernel binaries to include PTX instructions for the specified 2025-03-14T05:25:08.5950864Z CC. PTX is an intermediate representation that allows kernels to runtime-compile for any CC >= 2025-03-14T05:25:08.5951615Z the specified CC (for example, 8.6+PTX generates PTX that can runtime-compile for any GPU with 2025-03-14T05:25:08.5952345Z CC >= 8.6). This improves your binary's forward compatibility. However, relying on older PTX to 2025-03-14T05:25:08.5953152Z provide forward compat by runtime-compiling for newer CCs can modestly reduce performance on 2025-03-14T05:25:08.5953948Z those newer CCs. If you know exact CC(s) of the GPUs you want to target, you're always better 2025-03-14T05:25:08.5954670Z off specifying them individually. For example, if you want your extension to run on 8.0 and 8.6, 2025-03-14T05:25:08.5955435Z "8.0+PTX" would work functionally because it includes PTX that can runtime-compile for 8.6, but 2025-03-14T05:25:08.5955976Z "8.0 8.6" would be better. 2025-03-14T05:25:08.5956175Z 2025-03-14T05:25:08.5956477Z Note that while it's possible to include all supported archs, the more archs get included the 2025-03-14T05:25:08.5957194Z slower the building process will be, as it will build a separate kernel image for each arch. 2025-03-14T05:25:08.5957621Z 2025-03-14T05:25:08.5957955Z Note that CUDA-11.5 nvcc will hit internal compiler error while parsing torch/extension.h on Windows. 2025-03-14T05:25:08.5958632Z To workaround the issue, move python binding logic to pure C++ file. 2025-03-14T05:25:08.5958972Z 2025-03-14T05:25:08.5959070Z Example use: 2025-03-14T05:25:08.5959322Z #include 2025-03-14T05:25:08.5959670Z at::Tensor SigmoidAlphaBlendForwardCuda(....) 2025-03-14T05:25:08.5959930Z 2025-03-14T05:25:08.5960034Z Instead of: 2025-03-14T05:25:08.5960281Z #include 2025-03-14T05:25:08.5960645Z torch::Tensor SigmoidAlphaBlendForwardCuda(...) 2025-03-14T05:25:08.5960916Z 2025-03-14T05:25:08.5961206Z Currently open issue for nvcc bug: https://github.com/pytorch/pytorch/issues/69460 2025-03-14T05:25:08.5962119Z Complete workaround code example: https://github.com/facebookresearch/pytorch3d/commit/cb170ac024a949f1f9614ffe6af1c38d972f7d48 2025-03-14T05:25:08.5962737Z 2025-03-14T05:25:08.5962866Z Relocatable device code linking: 2025-03-14T05:25:08.5963069Z 2025-03-14T05:25:08.5963363Z If you want to reference device symbols across compilation units (across object files), 2025-03-14T05:25:08.5964032Z the object files need to be built with `relocatable device code` (-rdc=true or -dc). 2025-03-14T05:25:08.5964783Z An exception to this rule is "dynamic parallelism" (nested kernel launches) which is not used a lot anymore. 2025-03-14T05:25:08.5965603Z `Relocatable device code` is less optimized so it needs to be used only on object files that need it. 2025-03-14T05:25:08.5966453Z Using `-dlto` (Device Link Time Optimization) at the device code compilation step and `dlink` step 2025-03-14T05:25:08.5967089Z helps reduce the protentional perf degradation of `-rdc`. 2025-03-14T05:25:08.5967566Z Note that it needs to be used at both steps to be useful. 2025-03-14T05:25:08.5967845Z 2025-03-14T05:25:08.5968225Z If you have `rdc` objects you need to have an extra `-dlink` (device linking) step before the CPU symbol linking step. 2025-03-14T05:25:08.5968894Z There is also a case where `-dlink` is used without `-rdc`: 2025-03-14T05:25:08.5969452Z when an extension is linked against a static lib containing rdc-compiled objects 2025-03-14T05:25:08.5970053Z like the [NVSHMEM library](https://developer.nvidia.com/nvshmem). 2025-03-14T05:25:08.5970383Z 2025-03-14T05:25:08.5970600Z Note: Ninja is required to build a CUDA Extension with RDC linking. 2025-03-14T05:25:08.5970920Z 2025-03-14T05:25:08.5971023Z Example: 2025-03-14T05:25:08.5971244Z >>> # xdoctest: +SKIP 2025-03-14T05:25:08.5971579Z >>> # xdoctest: +REQUIRES(env:TORCH_DOCTEST_CPP_EXT) 2025-03-14T05:25:08.5971945Z >>> CUDAExtension( 2025-03-14T05:25:08.5972226Z ... name='cuda_extension', 2025-03-14T05:25:08.5972688Z ... sources=['extension.cpp', 'extension_kernel.cu'], 2025-03-14T05:25:08.5973069Z ... dlink=True, 2025-03-14T05:25:08.5973372Z ... dlink_libraries=["dlink_lib"], 2025-03-14T05:25:08.5973741Z ... extra_compile_args={'cxx': ['-g'], 2025-03-14T05:25:08.5974114Z ... 'nvcc': ['-O2', '-rdc=true']}) 2025-03-14T05:25:08.5974366Z 2025-03-14T05:25:08.5974622Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:08.5975004Z 2025-03-14T05:25:08.5975694Z msg = Cannot scrape callname=SyclExtension in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/cpp_extension.py line=1325. 2025-03-14T05:25:08.5976628Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:08.5977021Z 2025-03-14T05:25:08.5977188Z Creates a :class:`setuptools.Extension` for SYCL/C++. 2025-03-14T05:25:08.5977477Z 2025-03-14T05:25:08.5977725Z Convenience method that creates a :class:`setuptools.Extension` with the 2025-03-14T05:25:08.5978302Z bare minimum (but often sufficient) arguments to build a SYCL/C++ 2025-03-14T05:25:08.5978717Z extension. 2025-03-14T05:25:08.5978844Z 2025-03-14T05:25:08.5979064Z All arguments are forwarded to the :class:`setuptools.Extension` 2025-03-14T05:25:08.5979487Z constructor. 2025-03-14T05:25:08.5979620Z 2025-03-14T05:25:08.5979727Z .. warning:: 2025-03-14T05:25:08.5980099Z The PyTorch python API (as provided in libtorch_python) cannot be built 2025-03-14T05:25:08.5980677Z with the flag ``py_limited_api=True``. When this flag is passed, it is 2025-03-14T05:25:08.5981215Z the user's responsibility in their library to not use APIs from 2025-03-14T05:25:08.5981770Z libtorch_python (in particular pytorch/python bindings) and to only use 2025-03-14T05:25:08.5982350Z APIs from libtorch (aten objects, operators and the dispatcher). For 2025-03-14T05:25:08.5982903Z example, to give access to custom ops from python, the library should 2025-03-14T05:25:08.5983378Z register the ops through the dispatcher. 2025-03-14T05:25:08.5983613Z 2025-03-14T05:25:08.5983853Z Contrary to CPython setuptools, who does not define -DPy_LIMITED_API 2025-03-14T05:25:08.5984414Z as a compile flag when py_limited_api is specified as an option for 2025-03-14T05:25:08.5984942Z the "bdist_wheel" command in ``setup``, PyTorch does! We will specify 2025-03-14T05:25:08.5985496Z -DPy_LIMITED_API=min_supported_cpython to best enforce consistency, 2025-03-14T05:25:08.5986059Z safety, and sanity in order to encourage best practices. To target a 2025-03-14T05:25:08.5986621Z different version, set min_supported_cpython to the hexcode of the 2025-03-14T05:25:08.5987074Z CPython version of choice. 2025-03-14T05:25:08.5987280Z 2025-03-14T05:25:08.5987372Z Example: 2025-03-14T05:25:08.5987611Z >>> # xdoctest: +SKIP 2025-03-14T05:25:08.5987949Z >>> # xdoctest: +REQUIRES(env:TORCH_DOCTEST_CPP_EXT) 2025-03-14T05:25:08.5988456Z >>> from torch.utils.cpp_extension import BuildExtension, SyclExtension 2025-03-14T05:25:08.5988902Z >>> setup( 2025-03-14T05:25:08.5989161Z ... name='xpu_extension', 2025-03-14T05:25:08.5989476Z ... ext_modules=[ 2025-03-14T05:25:08.5989760Z ... SyclExtension( 2025-03-14T05:25:08.5990069Z ... name='xpu_extension', 2025-03-14T05:25:08.5990483Z ... sources=['extension.cpp', 'extension_kernel.cpp'], 2025-03-14T05:25:08.5990978Z ... extra_compile_args={'cxx': ['-g', '-std=c++20', '-fPIC']}) 2025-03-14T05:25:08.5991383Z ... ], 2025-03-14T05:25:08.5991624Z ... cmdclass={ 2025-03-14T05:25:08.5991911Z ... 'build_ext': BuildExtension 2025-03-14T05:25:08.5992296Z ... }) 2025-03-14T05:25:08.5992442Z 2025-03-14T05:25:08.5992747Z By default the extension will be compiled to run on all archs of the cards visible during the 2025-03-14T05:25:08.5993426Z building process of the extension. If down the road a new card is installed the 2025-03-14T05:25:08.5994147Z extension may need to be recompiled. You can override the default behavior using 2025-03-14T05:25:08.5994838Z `TORCH_XPU_ARCH_LIST` to explicitly specify which device architectures you want the extension 2025-03-14T05:25:08.5995366Z to support: 2025-03-14T05:25:08.5995510Z 2025-03-14T05:25:08.5995721Z ``TORCH_XPU_ARCH_LIST="pvc,xe-lpg" python build_my_extension.py`` 2025-03-14T05:25:08.5996050Z 2025-03-14T05:25:08.5996408Z Note that while it's possible to include all supported archs, the more archs get included the 2025-03-14T05:25:08.5997126Z slower the building process will be, as it will build a separate kernel image for each arch. 2025-03-14T05:25:08.5997546Z 2025-03-14T05:25:08.5997689Z Note: Ninja is required to build SyclExtension. 2025-03-14T05:25:08.5998169Z 2025-03-14T05:25:08.5998427Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:08.5998811Z 2025-03-14T05:25:08.5999377Z msg = Cannot scrape callname=load in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/cpp_extension.py line=1502. 2025-03-14T05:25:08.6000263Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:08.6000642Z 2025-03-14T05:25:08.6000802Z Load a PyTorch C++ extension just-in-time (JIT). 2025-03-14T05:25:08.6001058Z 2025-03-14T05:25:08.6001282Z To load an extension, a Ninja build file is emitted, which is used to 2025-03-14T05:25:08.6001825Z compile the given sources into a dynamic library. This library is 2025-03-14T05:25:08.6002385Z subsequently loaded into the current Python process as a module and 2025-03-14T05:25:08.6002865Z returned from this function, ready for use. 2025-03-14T05:25:08.6003103Z 2025-03-14T05:25:08.6003332Z By default, the directory to which the build file is emitted and the 2025-03-14T05:25:08.6003900Z resulting library compiled to is ``/torch_extensions/``, where 2025-03-14T05:25:08.6004470Z ```` is the temporary folder on the current platform and ```` 2025-03-14T05:25:08.6005019Z the name of the extension. This location can be overridden in two ways. 2025-03-14T05:25:08.6005569Z First, if the ``TORCH_EXTENSIONS_DIR`` environment variable is set, it 2025-03-14T05:25:08.6006124Z replaces ``/torch_extensions`` and all extensions will be compiled 2025-03-14T05:25:08.6006691Z into subfolders of this directory. Second, if the ``build_directory`` 2025-03-14T05:25:08.6007268Z argument to this function is supplied, it overrides the entire path, i.e. 2025-03-14T05:25:08.6007783Z the library will be compiled into that folder directly. 2025-03-14T05:25:08.6008073Z 2025-03-14T05:25:08.6008290Z To compile the sources, the default system compiler (``c++``) is used, 2025-03-14T05:25:08.6008872Z which can be overridden by setting the ``CXX`` environment variable. To pass 2025-03-14T05:25:08.6009471Z additional arguments to the compilation process, ``extra_cflags`` or 2025-03-14T05:25:08.6010052Z ``extra_ldflags`` can be provided. For example, to compile your extension 2025-03-14T05:25:08.6010616Z with optimizations, pass ``extra_cflags=['-O3']``. You can also use 2025-03-14T05:25:08.6011114Z ``extra_cflags`` to pass further include directories. 2025-03-14T05:25:08.6011392Z 2025-03-14T05:25:08.6011634Z CUDA support with mixed compilation is provided. Simply pass CUDA source 2025-03-14T05:25:08.6012184Z files (``.cu`` or ``.cuh``) along with other sources. Such files will be 2025-03-14T05:25:08.6012741Z detected and compiled with nvcc rather than the C++ compiler. This includes 2025-03-14T05:25:08.6013326Z passing the CUDA lib64 directory as a library directory, and linking 2025-03-14T05:25:08.6013817Z ``cudart``. You can pass additional flags to nvcc via 2025-03-14T05:25:08.6014296Z ``extra_cuda_cflags``, just like with ``extra_cflags`` for C++. Various 2025-03-14T05:25:08.6014864Z heuristics for finding the CUDA install directory are used, which usually 2025-03-14T05:25:08.6015442Z work fine. If not, setting the ``CUDA_HOME`` environment variable is the 2025-03-14T05:25:08.6016124Z safest option. 2025-03-14T05:25:08.6016268Z 2025-03-14T05:25:08.6016521Z SYCL support with mixed compilation is provided. Simply pass SYCL source 2025-03-14T05:25:08.6017088Z files (``.sycl``) along with other sources. Such files will be detected 2025-03-14T05:25:08.6017638Z and compiled with SYCL compiler (such as Intel DPC++ Compiler) rather 2025-03-14T05:25:08.6018189Z than the C++ compiler. You can pass additional flags to SYCL compiler 2025-03-14T05:25:08.6018852Z via ``extra_sycl_cflags``, just like with ``extra_cflags`` for C++. 2025-03-14T05:25:08.6019384Z SYCL compiler is expected to be found via system PATH environment 2025-03-14T05:25:08.6019807Z variable. 2025-03-14T05:25:08.6019931Z 2025-03-14T05:25:08.6020032Z Args: 2025-03-14T05:25:08.6020368Z name: The name of the extension to build. This MUST be the same as the 2025-03-14T05:25:08.6020817Z name of the pybind11 module! 2025-03-14T05:25:08.6021250Z sources: A list of relative or absolute paths to C++ source files. 2025-03-14T05:25:08.6021805Z extra_cflags: optional list of compiler flags to forward to the build. 2025-03-14T05:25:08.6022373Z extra_cuda_cflags: optional list of compiler flags to forward to nvcc 2025-03-14T05:25:08.6022828Z when building CUDA sources. 2025-03-14T05:25:08.6023263Z extra_sycl_cflags: optional list of compiler flags to forward to SYCL 2025-03-14T05:25:08.6023736Z compiler when building SYCL sources. 2025-03-14T05:25:08.6024200Z extra_ldflags: optional list of linker flags to forward to the build. 2025-03-14T05:25:08.6024776Z extra_include_paths: optional list of include directories to forward 2025-03-14T05:25:08.6025217Z to the build. 2025-03-14T05:25:08.6025568Z build_directory: optional path to use as build workspace. 2025-03-14T05:25:08.6026056Z verbose: If ``True``, turns on verbose logging of load steps. 2025-03-14T05:25:08.6026586Z with_cuda: Determines whether CUDA headers and libraries are added to 2025-03-14T05:25:08.6027101Z the build. If set to ``None`` (default), this value is 2025-03-14T05:25:08.6027594Z automatically determined based on the existence of ``.cu`` or 2025-03-14T05:25:08.6028100Z ``.cuh`` in ``sources``. Set it to `True`` to force CUDA headers 2025-03-14T05:25:08.6028506Z and libraries to be included. 2025-03-14T05:25:08.6028956Z with_sycl: Determines whether SYCL headers and libraries are added to 2025-03-14T05:25:08.6029471Z the build. If set to ``None`` (default), this value is 2025-03-14T05:25:08.6029981Z automatically determined based on the existence of ``.sycl`` in 2025-03-14T05:25:08.6030488Z ``sources``. Set it to `True`` to force SYCL headers and 2025-03-14T05:25:08.6030884Z libraries to be included. 2025-03-14T05:25:08.6031310Z is_python_module: If ``True`` (default), imports the produced shared 2025-03-14T05:25:08.6031838Z library as a Python module. If ``False``, behavior depends on 2025-03-14T05:25:08.6032263Z ``is_standalone``. 2025-03-14T05:25:08.6032665Z is_standalone: If ``False`` (default) loads the constructed extension 2025-03-14T05:25:08.6033191Z into the process as a plain dynamic library. If ``True``, build a 2025-03-14T05:25:08.6033629Z standalone executable. 2025-03-14T05:25:08.6033838Z 2025-03-14T05:25:08.6033931Z Returns: 2025-03-14T05:25:08.6034184Z If ``is_python_module`` is ``True``: 2025-03-14T05:25:08.6034601Z Returns the loaded PyTorch extension as a Python module. 2025-03-14T05:25:08.6034913Z 2025-03-14T05:25:08.6035124Z If ``is_python_module`` is ``False`` and ``is_standalone`` is ``False``: 2025-03-14T05:25:08.6035680Z Returns nothing. (The shared library is loaded into the process as 2025-03-14T05:25:08.6036119Z a side effect.) 2025-03-14T05:25:08.6036295Z 2025-03-14T05:25:08.6036411Z If ``is_standalone`` is ``True``. 2025-03-14T05:25:08.6036837Z Return the path to the executable. (On Windows, TORCH_LIB_PATH is 2025-03-14T05:25:08.6037412Z added to the PATH environment variable as a side effect.) 2025-03-14T05:25:08.6037717Z 2025-03-14T05:25:08.6037809Z Example: 2025-03-14T05:25:08.6038041Z >>> # xdoctest: +SKIP 2025-03-14T05:25:08.6038365Z >>> from torch.utils.cpp_extension import load 2025-03-14T05:25:08.6038721Z >>> module = load( 2025-03-14T05:25:08.6038988Z ... name='extension', 2025-03-14T05:25:08.6039341Z ... sources=['extension.cpp', 'extension_kernel.cu'], 2025-03-14T05:25:08.6039781Z ... extra_cflags=['-O2'], 2025-03-14T05:25:08.6040084Z ... verbose=True) 2025-03-14T05:25:08.6040250Z 2025-03-14T05:25:08.6040523Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:08.6040892Z 2025-03-14T05:25:08.6041430Z msg = Cannot scrape callname=load_inline in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/cpp_extension.py line=1811. 2025-03-14T05:25:08.6042345Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:08.6042726Z 2025-03-14T05:25:08.6042951Z Load a PyTorch C++ extension just-in-time (JIT) from string sources. 2025-03-14T05:25:08.6043279Z 2025-03-14T05:25:08.6043529Z This function behaves exactly like :func:`load`, but takes its sources as 2025-03-14T05:25:08.6044205Z strings rather than filenames. These strings are stored to files in the 2025-03-14T05:25:08.6044833Z build directory, after which the behavior of :func:`load_inline` is 2025-03-14T05:25:08.6045285Z identical to :func:`load`. 2025-03-14T05:25:08.6045471Z 2025-03-14T05:25:08.6045576Z See `the 2025-03-14T05:25:08.6046026Z tests `_ 2025-03-14T05:25:08.6046604Z for good examples of using this function. 2025-03-14T05:25:08.6046847Z 2025-03-14T05:25:08.6047084Z Sources may omit two required parts of a typical non-inline C++ extension: 2025-03-14T05:25:08.6047697Z the necessary header includes, as well as the (pybind11) binding code. More 2025-03-14T05:25:08.6048309Z precisely, strings passed to ``cpp_sources`` are first concatenated into a 2025-03-14T05:25:08.6048867Z single ``.cpp`` file. This file is then prepended with ``#include 2025-03-14T05:25:08.6049281Z ``. 2025-03-14T05:25:08.6049457Z 2025-03-14T05:25:08.6049687Z Furthermore, if the ``functions`` argument is supplied, bindings will be 2025-03-14T05:25:08.6050281Z automatically generated for each function specified. ``functions`` can 2025-03-14T05:25:08.6050872Z either be a list of function names, or a dictionary mapping from function 2025-03-14T05:25:08.6051446Z names to docstrings. If a list is given, the name of each function is used 2025-03-14T05:25:08.6051894Z as its docstring. 2025-03-14T05:25:08.6052054Z 2025-03-14T05:25:08.6052271Z The sources in ``cuda_sources`` are concatenated into a separate ``.cu`` 2025-03-14T05:25:08.6052790Z file and prepended with ``torch/types.h``, ``cuda.h`` and 2025-03-14T05:25:08.6053303Z ``cuda_runtime.h`` includes. The ``.cpp`` and ``.cu`` files are compiled 2025-03-14T05:25:08.6053860Z separately, but ultimately linked into a single library. Note that no 2025-03-14T05:25:08.6054444Z bindings are generated for functions in ``cuda_sources`` per se. To bind 2025-03-14T05:25:08.6055022Z to a CUDA kernel, you must create a C++ function that calls it, and either 2025-03-14T05:25:08.6055654Z declare or define this C++ function in one of the ``cpp_sources`` (and 2025-03-14T05:25:08.6056112Z include its name in ``functions``). 2025-03-14T05:25:08.6056327Z 2025-03-14T05:25:08.6056563Z The sources in ``sycl_sources`` are concatenated into a separate ``.sycl`` 2025-03-14T05:25:08.6057130Z file and prepended with ``torch/types.h``, ``sycl/sycl.hpp`` includes. 2025-03-14T05:25:08.6057676Z The ``.cpp`` and ``.sycl`` files are compiled separately, but ultimately 2025-03-14T05:25:08.6058222Z linked into a single library. Note that no bindings are generated for 2025-03-14T05:25:08.6058865Z functions in ``sycl_sources`` per se. To bind to a SYCL kernel, you must 2025-03-14T05:25:08.6059424Z create a C++ function that calls it, and either declare or define this 2025-03-14T05:25:08.6059955Z C++ function in one of the ``cpp_sources`` (and include its name 2025-03-14T05:25:08.6060366Z in ``functions``). 2025-03-14T05:25:08.6060516Z 2025-03-14T05:25:08.6060713Z See :func:`load` for a description of arguments omitted below. 2025-03-14T05:25:08.6061006Z 2025-03-14T05:25:08.6061105Z Args: 2025-03-14T05:25:08.6061490Z cpp_sources: A string, or list of strings, containing C++ source code. 2025-03-14T05:25:08.6062057Z cuda_sources: A string, or list of strings, containing CUDA source code. 2025-03-14T05:25:08.6062629Z sycl_sources: A string, or list of strings, containing SYCL source code. 2025-03-14T05:25:08.6063183Z functions: A list of function names for which to generate function 2025-03-14T05:25:08.6063729Z bindings. If a dictionary is given, it should map function names to 2025-03-14T05:25:08.6064261Z docstrings (which are otherwise just the function names). 2025-03-14T05:25:08.6064794Z with_cuda: Determines whether CUDA headers and libraries are added to 2025-03-14T05:25:08.6065308Z the build. If set to ``None`` (default), this value is 2025-03-14T05:25:08.6065801Z automatically determined based on whether ``cuda_sources`` is 2025-03-14T05:25:08.6066292Z provided. Set it to ``True`` to force CUDA headers 2025-03-14T05:25:08.6066683Z and libraries to be included. 2025-03-14T05:25:08.6067143Z with_sycl: Determines whether SYCL headers and libraries are added to 2025-03-14T05:25:08.6067657Z the build. If set to ``None`` (default), this value is 2025-03-14T05:25:08.6068145Z automatically determined based on whether ``sycl_sources`` is 2025-03-14T05:25:08.6068634Z provided. Set it to ``True`` to force SYCL headers 2025-03-14T05:25:08.6069024Z and libraries to be included. 2025-03-14T05:25:08.6069460Z with_pytorch_error_handling: Determines whether pytorch error and 2025-03-14T05:25:08.6069998Z warning macros are handled by pytorch instead of pybind. To do 2025-03-14T05:25:08.6070542Z this, each function ``foo`` is called via an intermediary ``_safe_foo`` 2025-03-14T05:25:08.6071091Z function. This redirection might cause issues in obscure cases 2025-03-14T05:25:08.6071607Z of cpp. This flag should be set to ``False`` when this redirect 2025-03-14T05:25:08.6072013Z causes issues. 2025-03-14T05:25:08.6072173Z 2025-03-14T05:25:08.6072282Z Example: 2025-03-14T05:25:08.6072572Z >>> # xdoctest: +REQUIRES(env:TORCH_DOCTEST_CPP_EXT) 2025-03-14T05:25:08.6073008Z >>> from torch.utils.cpp_extension import load_inline 2025-03-14T05:25:08.6073372Z >>> source = """ 2025-03-14T05:25:08.6073695Z at::Tensor sin_add(at::Tensor x, at::Tensor y) { 2025-03-14T05:25:08.6074066Z return x.sin() + y.sin(); 2025-03-14T05:25:08.6074360Z } 2025-03-14T05:25:08.6074579Z """ 2025-03-14T05:25:08.6074857Z >>> module = load_inline(name='inline_extension', 2025-03-14T05:25:08.6075244Z ... cpp_sources=[source], 2025-03-14T05:25:08.6075611Z ... functions=['sin_add']) 2025-03-14T05:25:08.6075857Z 2025-03-14T05:25:08.6075952Z .. note:: 2025-03-14T05:25:08.6076333Z Since load_inline will just-in-time compile the source code, please ensure 2025-03-14T05:25:08.6076932Z that you have the right toolchains installed in the runtime. For example, 2025-03-14T05:25:08.6077515Z when loading C++, make sure a C++ compiler is available. If you're loading 2025-03-14T05:25:08.6078111Z a CUDA extension, you will need to additionally install the corresponding CUDA 2025-03-14T05:25:08.6078737Z toolkit (nvcc and any other dependencies your code has). Compiling toolchains 2025-03-14T05:25:08.6079356Z are not included when you install torch and must be additionally installed. 2025-03-14T05:25:08.6079774Z 2025-03-14T05:25:08.6080046Z During compiling, by default, the Ninja backend uses #CPUS + 2 workers to build 2025-03-14T05:25:08.6080653Z the extension. This may use up too many resources on some systems. One 2025-03-14T05:25:08.6081224Z can control the number of workers by setting the `MAX_JOBS` environment 2025-03-14T05:25:08.6081685Z variable to a non-negative number. 2025-03-14T05:25:08.6081906Z 2025-03-14T05:25:08.6082171Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:08.6082538Z 2025-03-14T05:25:08.7827853Z msg = Cannot scrape callname=ThroughputBenchmark in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/throughput_benchmark.py line=61. 2025-03-14T05:25:08.7828880Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:08.7829277Z 2025-03-14T05:25:08.7829615Z This class is a wrapper around a c++ component throughput_benchmark::ThroughputBenchmark. 2025-03-14T05:25:08.7830049Z 2025-03-14T05:25:08.7830350Z This wrapper on the throughput_benchmark::ThroughputBenchmark component is responsible 2025-03-14T05:25:08.7831026Z for executing a PyTorch module (nn.Module or ScriptModule) under an inference 2025-03-14T05:25:08.7831641Z server like load. It can emulate multiple calling threads to a single module 2025-03-14T05:25:08.7832238Z provided. In the future we plan to enhance this component to support inter and 2025-03-14T05:25:08.7832856Z intra-op parallelism as well as multiple models running in a single process. 2025-03-14T05:25:08.7833233Z 2025-03-14T05:25:08.7833494Z Please note that even though nn.Module is supported, it might incur an overhead 2025-03-14T05:25:08.7834098Z from the need to hold GIL every time we execute Python code or pass around 2025-03-14T05:25:08.7834687Z inputs as Python objects. As soon as you have a ScriptModule version of your 2025-03-14T05:25:08.7835291Z model for inference deployment it is better to switch to using it in this 2025-03-14T05:25:08.7835754Z benchmark. 2025-03-14T05:25:08.7835896Z 2025-03-14T05:25:08.7835992Z Example:: 2025-03-14T05:25:08.7836117Z 2025-03-14T05:25:08.7836251Z >>> # xdoctest: +SKIP("undefined vars") 2025-03-14T05:25:08.7836637Z >>> from torch.utils import ThroughputBenchmark 2025-03-14T05:25:08.7837035Z >>> bench = ThroughputBenchmark(my_module) 2025-03-14T05:25:08.7837452Z >>> # Pre-populate benchmark's data set with the inputs 2025-03-14T05:25:08.7837843Z >>> for input in inputs: 2025-03-14T05:25:08.7838261Z ... # Both args and kwargs work, same as any PyTorch Module / ScriptModule 2025-03-14T05:25:08.7838740Z ... bench.add_input(input[0], x2=input[1]) 2025-03-14T05:25:08.7839191Z >>> # Inputs supplied above are randomly used during the execution 2025-03-14T05:25:08.7839625Z >>> stats = bench.benchmark( 2025-03-14T05:25:08.7839939Z ... num_calling_threads=4, 2025-03-14T05:25:08.7840246Z ... num_warmup_iters = 100, 2025-03-14T05:25:08.7840566Z ... num_iters = 1000, 2025-03-14T05:25:08.7840846Z ... ) 2025-03-14T05:25:08.7841161Z >>> print("Avg latency (ms): {}".format(stats.latency_avg_ms)) 2025-03-14T05:25:08.7841640Z >>> print("Number of iterations: {}".format(stats.num_iters)) 2025-03-14T05:25:08.7841943Z 2025-03-14T05:25:08.7842200Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:08.7842584Z 2025-03-14T05:25:08.9025250Z msg = Cannot scrape callname=DistributedSampler in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/distributed.py line=18. 2025-03-14T05:25:08.9026251Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:08.9026845Z Sampler that restricts data loading to a subset of the dataset. 2025-03-14T05:25:08.9027182Z 2025-03-14T05:25:08.9027321Z It is especially useful in conjunction with 2025-03-14T05:25:08.9027843Z :class:`torch.nn.parallel.DistributedDataParallel`. In such a case, each 2025-03-14T05:25:08.9028752Z process can pass a :class:`~torch.utils.data.DistributedSampler` instance as a 2025-03-14T05:25:08.9029376Z :class:`~torch.utils.data.DataLoader` sampler, and load a subset of the 2025-03-14T05:25:08.9029868Z original dataset that is exclusive to it. 2025-03-14T05:25:08.9030121Z 2025-03-14T05:25:08.9030226Z .. note:: 2025-03-14T05:25:08.9030603Z Dataset is assumed to be of constant size and that any instance of it always 2025-03-14T05:25:08.9031110Z returns the same elements in the same order. 2025-03-14T05:25:08.9031377Z 2025-03-14T05:25:08.9031572Z Args: 2025-03-14T05:25:08.9031884Z dataset: Dataset used for sampling. 2025-03-14T05:25:08.9032348Z num_replicas (int, optional): Number of processes participating in 2025-03-14T05:25:08.9033013Z distributed training. By default, :attr:`world_size` is retrieved from the 2025-03-14T05:25:08.9033565Z current distributed group. 2025-03-14T05:25:08.9034072Z rank (int, optional): Rank of the current process within :attr:`num_replicas`. 2025-03-14T05:25:08.9034683Z By default, :attr:`rank` is retrieved from the current distributed 2025-03-14T05:25:08.9035164Z group. 2025-03-14T05:25:08.9035543Z shuffle (bool, optional): If ``True`` (default), sampler will shuffle the 2025-03-14T05:25:08.9036043Z indices. 2025-03-14T05:25:08.9036458Z seed (int, optional): random seed used to shuffle the sampler if 2025-03-14T05:25:08.9036989Z :attr:`shuffle=True`. This number should be identical across all 2025-03-14T05:25:08.9037547Z processes in the distributed group. Default: ``0``. 2025-03-14T05:25:08.9038109Z drop_last (bool, optional): if ``True``, then the sampler will drop the 2025-03-14T05:25:08.9038693Z tail of the data to make it evenly divisible across the number of 2025-03-14T05:25:08.9039233Z replicas. If ``False``, the sampler will add extra indices to make 2025-03-14T05:25:08.9039842Z the data evenly divisible across the replicas. Default: ``False``. 2025-03-14T05:25:08.9040235Z 2025-03-14T05:25:08.9040338Z .. warning:: 2025-03-14T05:25:08.9040687Z In distributed mode, calling the :meth:`set_epoch` method at 2025-03-14T05:25:08.9041315Z the beginning of each epoch **before** creating the :class:`DataLoader` iterator 2025-03-14T05:25:08.9042019Z is necessary to make shuffling work properly across multiple epochs. Otherwise, 2025-03-14T05:25:08.9042588Z the same ordering will be always used. 2025-03-14T05:25:08.9042830Z 2025-03-14T05:25:08.9042942Z Example:: 2025-03-14T05:25:08.9043079Z 2025-03-14T05:25:08.9043225Z >>> # xdoctest: +SKIP 2025-03-14T05:25:08.9043676Z >>> sampler = DistributedSampler(dataset) if is_distributed else None 2025-03-14T05:25:08.9044260Z >>> loader = DataLoader(dataset, shuffle=(sampler is None), 2025-03-14T05:25:08.9044686Z ... sampler=sampler) 2025-03-14T05:25:08.9045120Z >>> for epoch in range(start_epoch, n_epochs): 2025-03-14T05:25:08.9045500Z ... if is_distributed: 2025-03-14T05:25:08.9045850Z ... sampler.set_epoch(epoch) 2025-03-14T05:25:08.9046183Z ... train(loader) 2025-03-14T05:25:08.9046514Z 2025-03-14T05:25:08.9046891Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:08.9047330Z 2025-03-14T05:25:09.1211538Z gathering tests 2025-03-14T05:25:09.1222573Z running 709 test(s) 2025-03-14T05:25:09.1267751Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/__init__.py::typename:0, line 1077 <- wrt source file 2025-03-14T05:25:09.1275360Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/__init__.py::typename:0 2025-03-14T05:25:09.1276843Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/__init__.py::is_tensor:0, line 1113 <- wrt source file 2025-03-14T05:25:09.1280432Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/__init__.py::is_tensor:0 2025-03-14T05:25:09.1282111Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/__init__.py::set_default_device:0, line 1182 <- wrt source file 2025-03-14T05:25:09.1283510Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/__init__.py::set_default_device:0 2025-03-14T05:25:09.1285502Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/__init__.py::set_default_tensor_type:0, line 1231 <- wrt source file 2025-03-14T05:25:09.1287107Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/__init__.py::set_default_tensor_type:0 2025-03-14T05:25:09.1288311Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/__init__.py::set_default_dtype:0, line 1268 <- wrt source file 2025-03-14T05:25:09.1289582Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/__init__.py::set_default_dtype:0 2025-03-14T05:25:09.1290859Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/__init__.py::use_deterministic_algorithms:0, line 1423 <- wrt source file 2025-03-14T05:25:09.1292451Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/__init__.py::use_deterministic_algorithms:0 2025-03-14T05:25:09.1293758Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/__init__.py::compile:0, line 2523 <- wrt source file 2025-03-14T05:25:09.1294970Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/__init__.py::compile:0 2025-03-14T05:25:09.1296275Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/__init__.py::_is_device_backend_autoload_enabled:0, line 2785 <- wrt source file 2025-03-14T05:25:09.1297665Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/__init__.py::_is_device_backend_autoload_enabled:0 2025-03-14T05:25:09.1299198Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_C.cpython-313-x86_64-linux-gnu.so::Generator:0, line 15 <- wrt source file 2025-03-14T05:25:09.1300548Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_C.cpython-313-x86_64-linux-gnu.so::Generator:0 2025-03-14T05:25:09.1301946Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_C.cpython-313-x86_64-linux-gnu.so::_LinAlgError:0, line 5 <- wrt source file 2025-03-14T05:25:09.1303323Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_C.cpython-313-x86_64-linux-gnu.so::_LinAlgError:0 2025-03-14T05:25:09.1304541Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_custom_ops.py::custom_op:0, line 55 <- wrt source file 2025-03-14T05:25:09.1305687Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_custom_ops.py::custom_op:0 2025-03-14T05:25:09.1306781Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_custom_ops.py::impl:0, line 137 <- wrt source file 2025-03-14T05:25:09.1307889Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_custom_ops.py::impl:0 2025-03-14T05:25:09.1309018Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_custom_ops.py::impl_abstract:0, line 206 <- wrt source file 2025-03-14T05:25:09.1933317Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_custom_ops.py::impl_abstract:0 2025-03-14T05:25:09.1934624Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_namedtensor_internals.py::update_names:0, line 118 <- wrt source file 2025-03-14T05:25:09.1936012Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_namedtensor_internals.py::update_names:0 2025-03-14T05:25:09.1937529Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_tensor.py::Tensor.register_hook:0, line 672 <- wrt source file 2025-03-14T05:25:09.1942442Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_tensor.py::Tensor.register_hook:0 2025-03-14T05:25:09.1943884Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_tensor.py::Tensor.register_post_accumulate_grad_hook:0, line 729 <- wrt source file 2025-03-14T05:25:09.1960822Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_tensor.py::Tensor.register_post_accumulate_grad_hook:0 2025-03-14T05:25:09.1962212Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_tensor.py::Tensor.refine_names:0, line 1347 <- wrt source file 2025-03-14T05:25:09.2081013Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_tensor.py::Tensor.refine_names:0 2025-03-14T05:25:09.2084279Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_tensor.py::Tensor.align_to:0, line 1392 <- wrt source file 2025-03-14T05:25:09.2089352Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_tensor.py::Tensor.align_to:0 2025-03-14T05:25:09.2090574Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_tensor.py::Tensor.rename:0, line 1465 <- wrt source file 2025-03-14T05:25:09.2096754Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_tensor.py::Tensor.rename:0 2025-03-14T05:25:09.2098090Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_tensor.py::Tensor.to_sparse_coo:0, line 1495 <- wrt source file 2025-03-14T05:25:09.2103495Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_tensor.py::Tensor.to_sparse_coo:0 2025-03-14T05:25:09.2104819Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_tensor_str.py::set_printoptions:0, line 53 <- wrt source file 2025-03-14T05:25:09.2125723Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_tensor_str.py::set_printoptions:0 2025-03-14T05:25:09.2127016Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/functional.py::broadcast_tensors:0, line 64 <- wrt source file 2025-03-14T05:25:09.2132295Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/functional.py::broadcast_tensors:0 2025-03-14T05:25:09.2133509Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/functional.py::broadcast_shapes:0, line 92 <- wrt source file 2025-03-14T05:25:09.2135853Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/functional.py::broadcast_shapes:0 2025-03-14T05:25:09.2137027Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/functional.py::split:0, line 193 <- wrt source file 2025-03-14T05:25:09.2147747Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/functional.py::split:0 2025-03-14T05:25:09.2148865Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/functional.py::einsum:0, line 307 <- wrt source file 2025-03-14T05:25:09.2199238Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/functional.py::einsum:0 2025-03-14T05:25:09.2200516Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/functional.py::_unique_consecutive_impl:0, line 1041 <- wrt source file 2025-03-14T05:25:09.2210564Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/functional.py::_unique_consecutive_impl:0 2025-03-14T05:25:09.2211792Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/functional.py::tensordot:0, line 1316 <- wrt source file 2025-03-14T05:25:09.2221460Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/functional.py::tensordot:0 2025-03-14T05:25:09.2222645Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/functional.py::cartesian_prod:0, line 1400 <- wrt source file 2025-03-14T05:25:09.2228928Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/functional.py::cartesian_prod:0 2025-03-14T05:25:09.2230279Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/functional.py::block_diag:0, line 1434 <- wrt source file 2025-03-14T05:25:09.2237684Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/functional.py::block_diag:0 2025-03-14T05:25:09.2238821Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/functional.py::cdist:0, line 1485 <- wrt source file 2025-03-14T05:25:09.2251531Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/functional.py::cdist:0 2025-03-14T05:25:09.2252674Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/functional.py::atleast_1d:0, line 1526 <- wrt source file 2025-03-14T05:25:09.2267226Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/functional.py::atleast_1d:0 2025-03-14T05:25:09.2268395Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/functional.py::atleast_2d:0, line 1562 <- wrt source file 2025-03-14T05:25:09.2283706Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/functional.py::atleast_2d:0 2025-03-14T05:25:09.2284864Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/functional.py::atleast_3d:0, line 1600 <- wrt source file 2025-03-14T05:25:09.2304813Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/functional.py::atleast_3d:0 2025-03-14T05:25:09.2305956Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/functional.py::norm:0, line 1773 <- wrt source file 2025-03-14T05:25:09.2336316Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/functional.py::norm:0 2025-03-14T05:25:09.2337472Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/functional.py::unravel_index:0, line 1940 <- wrt source file 2025-03-14T05:25:09.2361642Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/functional.py::unravel_index:0 2025-03-14T05:25:09.2362999Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/functional.py::chain_matmul:0, line 2040 <- wrt source file 2025-03-14T05:25:09.2364477Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/functional.py::chain_matmul:0 2025-03-14T05:25:09.2365977Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/functional.py::_lu_impl:0, line 2140 <- wrt source file 2025-03-14T05:25:09.2367240Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/functional.py::_lu_impl:0 2025-03-14T05:25:09.2368380Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/hub.py::list:0, line 468 <- wrt source file 2025-03-14T05:25:09.2369530Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/hub.py::list:0 2025-03-14T05:25:09.2370838Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/hub.py::help:0, line 528 <- wrt source file 2025-03-14T05:25:09.2371957Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/hub.py::help:0 2025-03-14T05:25:09.2373055Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/library.py::Library.define:0, line 151 <- wrt source file 2025-03-14T05:25:09.2374431Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/library.py::Library.define:0 2025-03-14T05:25:09.2375728Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/library.py::Library._impl_with_aoti_compile:0, line 251 <- wrt source file 2025-03-14T05:25:09.2390638Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/library.py::Library._impl_with_aoti_compile:0 2025-03-14T05:25:09.2391983Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/library.py::Library.impl:0, line 306 <- wrt source file 2025-03-14T05:25:09.2395097Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/library.py::Library.impl:0 2025-03-14T05:25:09.2396208Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/library.py::define:0, line 499 <- wrt source file 2025-03-14T05:25:09.2412092Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/library.py::define:0 2025-03-14T05:25:09.2413157Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/library.py::impl:0, line 605 <- wrt source file 2025-03-14T05:25:09.2428500Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/library.py::impl:0 2025-03-14T05:25:09.2430031Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/library.py::register_kernel:0, line 786 <- wrt source file 2025-03-14T05:25:09.2431327Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/library.py::register_kernel:0 2025-03-14T05:25:09.2432498Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/library.py::register_autocast:0, line 854 <- wrt source file 2025-03-14T05:25:09.2433710Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/library.py::register_autocast:0 2025-03-14T05:25:09.2434931Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/library.py::register_torch_dispatch:0, line 1190 <- wrt source file 2025-03-14T05:25:09.2538524Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/library.py::register_torch_dispatch:0 2025-03-14T05:25:09.2539725Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/library.py::register_vmap:0, line 1279 <- wrt source file 2025-03-14T05:25:09.2702511Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/library.py::register_vmap:0 2025-03-14T05:25:09.2703716Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/overrides.py::get_ignored_functions:0, line 112 <- wrt source file 2025-03-14T05:25:09.2708832Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/overrides.py::get_ignored_functions:0 2025-03-14T05:25:09.2710090Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/overrides.py::get_testing_overrides:0, line 418 <- wrt source file 2025-03-14T05:25:09.2741367Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/overrides.py::get_testing_overrides:0 2025-03-14T05:25:09.2742592Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/overrides.py::wrap_torch_function:0, line 1571 <- wrt source file 2025-03-14T05:25:09.2744408Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/overrides.py::wrap_torch_function:0 2025-03-14T05:25:09.2745642Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/overrides.py::handle_torch_function:0, line 1706 <- wrt source file 2025-03-14T05:25:09.2747481Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/overrides.py::handle_torch_function:0 2025-03-14T05:25:09.2749061Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/overrides.py::is_tensor_method_or_property:0, line 1954 <- wrt source file 2025-03-14T05:25:09.2777289Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/overrides.py::is_tensor_method_or_property:0 2025-03-14T05:25:09.2778527Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/overrides.py::is_tensor_like:0, line 1973 <- wrt source file 2025-03-14T05:25:09.2784526Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/overrides.py::is_tensor_like:0 2025-03-14T05:25:09.2786024Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/quasirandom.py::SobolEngine:0, line 39 <- wrt source file 2025-03-14T05:25:09.2787748Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/quasirandom.py::SobolEngine:0 2025-03-14T05:25:09.2789058Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/serialization.py::add_safe_globals:0, line 299 <- wrt source file 2025-03-14T05:25:09.2790311Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/serialization.py::add_safe_globals:0 2025-03-14T05:25:09.2791763Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/serialization.py::safe_globals:0, line 324 <- wrt source file 2025-03-14T05:25:09.2793422Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/serialization.py::safe_globals:0 2025-03-14T05:25:09.2794754Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/serialization.py::skip_data:0, line 400 <- wrt source file 2025-03-14T05:25:09.2795946Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/serialization.py::skip_data:0 2025-03-14T05:25:09.2797318Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/serialization.py::register_package:0, line 472 <- wrt source file 2025-03-14T05:25:09.2798768Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/serialization.py::register_package:0 2025-03-14T05:25:09.2799943Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/serialization.py::save:0, line 948 <- wrt source file 2025-03-14T05:25:09.2801084Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/serialization.py::save:0 2025-03-14T05:25:09.2802243Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/torch_version.py::TorchVersion:0, line 19 <- wrt source file 2025-03-14T05:25:09.2803448Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/torch_version.py::TorchVersion:0 2025-03-14T05:25:09.2804668Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_inductor/__init__.py::list_mode_options:0, line 306 <- wrt source file 2025-03-14T05:25:09.2805965Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_inductor/__init__.py::list_mode_options:0 2025-03-14T05:25:09.2807195Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_inductor/__init__.py::list_options:0, line 343 <- wrt source file 2025-03-14T05:25:09.2809137Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_inductor/__init__.py::list_options:0 2025-03-14T05:25:09.2810561Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_prims_common/__init__.py::compute_required_storage_length:0, line 1793 <- wrt source file 2025-03-14T05:25:09.2813740Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_prims_common/__init__.py::compute_required_storage_length:0 2025-03-14T05:25:09.2815130Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/accelerator/__init__.py::current_accelerator:0, line 79 <- wrt source file 2025-03-14T05:25:09.2819234Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/accelerator/__init__.py::current_accelerator:0 2025-03-14T05:25:09.2821112Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/compiler/__init__.py::allow_in_graph:0, line 117 <- wrt source file 2025-03-14T05:25:09.2822586Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/compiler/__init__.py::allow_in_graph:0 2025-03-14T05:25:09.2823864Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/compiler/__init__.py::substitute_in_graph:0, line 171 <- wrt source file 2025-03-14T05:25:09.3286840Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/compiler/__init__.py::substitute_in_graph:0 2025-03-14T05:25:09.3288153Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/compiler/__init__.py::wrap_numpy:0, line 357 <- wrt source file 2025-03-14T05:25:09.3290062Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/compiler/__init__.py::wrap_numpy:0 2025-03-14T05:25:09.3291290Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/compiler/__init__.py::is_compiling:0, line 389 <- wrt source file 2025-03-14T05:25:09.3293091Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/compiler/__init__.py::is_compiling:0 2025-03-14T05:25:09.3294363Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/compiler/__init__.py::is_dynamo_compiling:0, line 410 <- wrt source file 2025-03-14T05:25:09.3296233Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/compiler/__init__.py::is_dynamo_compiling:0 2025-03-14T05:25:09.3298174Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/compiler/__init__.py::is_exporting:0, line 428 <- wrt source file 2025-03-14T05:25:09.3299982Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/compiler/__init__.py::is_exporting:0 2025-03-14T05:25:09.3301742Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/compiler/__init__.py::save_cache_artifacts:0, line 443 <- wrt source file 2025-03-14T05:25:09.3303321Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/compiler/__init__.py::save_cache_artifacts:0 2025-03-14T05:25:09.3304915Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/compiler/__init__.py::load_cache_artifacts:0, line 458 <- wrt source file 2025-03-14T05:25:09.3306549Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/compiler/__init__.py::load_cache_artifacts:0 2025-03-14T05:25:09.3307761Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/export/__init__.py::save:0, line 406 <- wrt source file 2025-03-14T05:25:09.3308934Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/export/__init__.py::save:0 2025-03-14T05:25:09.3310050Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/export/__init__.py::load:0, line 488 <- wrt source file 2025-03-14T05:25:09.3311203Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/export/__init__.py::load:0 2025-03-14T05:25:09.3312411Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/export/__init__.py::register_dataclass:0, line 586 <- wrt source file 2025-03-14T05:25:09.3313694Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/export/__init__.py::register_dataclass:0 2025-03-14T05:25:09.3314982Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/futures/__init__.py::Future.add_done_callback:0, line 200 <- wrt source file 2025-03-14T05:25:09.3316583Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/futures/__init__.py::Future.add_done_callback:0 2025-03-14T05:25:09.3317886Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/futures/__init__.py::Future.set_exception:0, line 262 <- wrt source file 2025-03-14T05:25:09.3319197Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/futures/__init__.py::Future.set_exception:0 2025-03-14T05:25:09.3320520Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/futures/__init__.py::collect_all:0, line 295 <- wrt source file 2025-03-14T05:25:09.3321736Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/futures/__init__.py::collect_all:0 2025-03-14T05:25:09.3322896Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/jit/__init__.py::annotate:0, line 147 <- wrt source file 2025-03-14T05:25:09.3324040Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/jit/__init__.py::annotate:0 2025-03-14T05:25:09.3325270Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/monitor/__init__.py::TensorboardEventHandler:0, line 22 <- wrt source file 2025-03-14T05:25:09.3335547Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/monitor/__init__.py::TensorboardEventHandler:0 2025-03-14T05:25:09.3336889Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nested/__init__.py::as_nested_tensor:0, line 61 <- wrt source file 2025-03-14T05:25:09.3366376Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nested/__init__.py::as_nested_tensor:0 2025-03-14T05:25:09.3368634Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nested/__init__.py::nested_tensor:0, line 240 <- wrt source file 2025-03-14T05:25:09.3370904Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nested/__init__.py::nested_tensor:0 2025-03-14T05:25:09.3373055Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nested/__init__.py::narrow:0, line 315 <- wrt source file 2025-03-14T05:25:09.3442536Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nested/__init__.py::narrow:0 2025-03-14T05:25:09.3444705Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nested/__init__.py::nested_tensor_from_jagged:0, line 405 <- wrt source file 2025-03-14T05:25:09.3462673Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nested/__init__.py::nested_tensor_from_jagged:0 2025-03-14T05:25:09.3464896Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nested/__init__.py::masked_select:0, line 479 <- wrt source file 2025-03-14T05:25:09.3481719Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nested/__init__.py::masked_select:0 2025-03-14T05:25:09.3484138Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/sparse/__init__.py::check_sparse_tensor_invariants:0, line 475 <- wrt source file 2025-03-14T05:25:09.3499753Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/sparse/__init__.py::check_sparse_tensor_invariants:0 2025-03-14T05:25:09.3502200Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/sparse/__init__.py::as_sparse_gradcheck:0, line 561 <- wrt source file 2025-03-14T05:25:09.3556559Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/sparse/__init__.py::as_sparse_gradcheck:0 2025-03-14T05:25:09.3558990Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_dynamo/decorators.py::substitute_in_graph:0, line 317 <- wrt source file 2025-03-14T05:25:09.3561906Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_dynamo/decorators.py::substitute_in_graph:0 2025-03-14T05:25:09.3564396Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_dynamo/variables/base.py::VariableTracker.python_type:0, line 321 <- wrt source file 2025-03-14T05:25:09.3566915Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_dynamo/variables/base.py::VariableTracker.python_type:0 2025-03-14T05:25:09.3569722Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_export/utils.py::register_module_as_pytree_input_node:0, line 1233 <- wrt source file 2025-03-14T05:25:09.3572208Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_export/utils.py::register_module_as_pytree_input_node:0 2025-03-14T05:25:09.3574513Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_functorch/aot_autograd.py::aot_function:0, line 886 <- wrt source file 2025-03-14T05:25:09.3832809Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_functorch/aot_autograd.py::aot_function:0 2025-03-14T05:25:09.3835669Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_functorch/apis.py::grad:0, line 323 <- wrt source file 2025-03-14T05:25:09.3838163Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_functorch/apis.py::grad:0 2025-03-14T05:25:09.3841020Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_functorch/benchmark_utils.py::benchmark_utilization:0, line 184 <- wrt source file 2025-03-14T05:25:09.3844337Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_functorch/benchmark_utils.py::benchmark_utilization:0 2025-03-14T05:25:09.3847455Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_functorch/eager_transforms.py::vjp:0, line 232 <- wrt source file 2025-03-14T05:25:09.3876643Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_functorch/eager_transforms.py::vjp:0 2025-03-14T05:25:09.3878867Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_functorch/eager_transforms.py::jacrev:0, line 474 <- wrt source file 2025-03-14T05:25:09.3944207Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_functorch/eager_transforms.py::jacrev:0 2025-03-14T05:25:09.3946543Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_functorch/eager_transforms.py::jvp:0, line 1023 <- wrt source file 2025-03-14T05:25:09.4413834Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_functorch/eager_transforms.py::jvp:0 2025-03-14T05:25:09.4416168Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_functorch/eager_transforms.py::jacfwd:0, line 1181 <- wrt source file 2025-03-14T05:25:09.4480383Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_functorch/eager_transforms.py::jacfwd:0 2025-03-14T05:25:09.4482747Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_functorch/eager_transforms.py::hessian:0, line 1341 <- wrt source file 2025-03-14T05:25:09.4500042Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_functorch/eager_transforms.py::hessian:0 2025-03-14T05:25:09.4502500Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_functorch/eager_transforms.py::functionalize:0, line 1505 <- wrt source file 2025-03-14T05:25:09.4505046Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_functorch/eager_transforms.py::functionalize:0 2025-03-14T05:25:09.4507857Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_functorch/eager_transforms.py::linearize:0, line 1704 <- wrt source file 2025-03-14T05:25:09.4650132Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_functorch/eager_transforms.py::linearize:0 2025-03-14T05:25:09.4652635Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_functorch/functional_call.py::functional_call:0, line 36 <- wrt source file 2025-03-14T05:25:09.4655563Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_functorch/functional_call.py::functional_call:0 2025-03-14T05:25:09.4658218Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_functorch/fx_minifier.py::minifier:0, line 194 <- wrt source file 2025-03-14T05:25:09.4660723Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_functorch/fx_minifier.py::minifier:0 2025-03-14T05:25:09.4663457Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_functorch/_aot_autograd/runtime_wrappers.py::CompilerWrapper.post_compile:0, line 115 <- wrt source file 2025-03-14T05:25:09.4666706Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_functorch/_aot_autograd/runtime_wrappers.py::CompilerWrapper.post_compile:0 2025-03-14T05:25:09.4669822Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_higher_order_ops/associative_scan.py::associative_scan:0, line 128 <- wrt source file 2025-03-14T05:25:09.4672620Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_higher_order_ops/associative_scan.py::associative_scan:0 2025-03-14T05:25:09.4675477Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_higher_order_ops/associative_scan.py::generic_associative_scan:0, line 270 <- wrt source file 2025-03-14T05:25:09.4678344Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_higher_order_ops/associative_scan.py::generic_associative_scan:0 2025-03-14T05:25:09.4680683Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_higher_order_ops/cond.py::cond:0, line 110 <- wrt source file 2025-03-14T05:25:09.4682828Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_higher_order_ops/cond.py::cond:0 2025-03-14T05:25:09.4684883Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_higher_order_ops/flat_apply.py::FlatApply.__call__:0, line 80 <- wrt source file 2025-03-14T05:25:09.4697587Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_higher_order_ops/flat_apply.py::FlatApply.__call__:0 2025-03-14T05:25:09.4699788Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_higher_order_ops/scan.py::scan:0, line 94 <- wrt source file 2025-03-14T05:25:09.4701692Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_higher_order_ops/scan.py::scan:0 2025-03-14T05:25:09.4703787Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_inductor/cpp_builder.py::get_name_and_dir_from_output_file_path:0, line 1351 <- wrt source file 2025-03-14T05:25:09.4706165Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_inductor/cpp_builder.py::get_name_and_dir_from_output_file_path:0 2025-03-14T05:25:09.4708255Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_library/custom_ops.py::custom_op:0, line 99 <- wrt source file 2025-03-14T05:25:09.5009955Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_library/custom_ops.py::custom_op:0 2025-03-14T05:25:09.5012409Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_library/custom_ops.py::CustomOpDef.set_kernel_enabled:0, line 230 <- wrt source file 2025-03-14T05:25:09.5093741Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_library/custom_ops.py::CustomOpDef.set_kernel_enabled:0 2025-03-14T05:25:09.5096524Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_library/custom_ops.py::CustomOpDef.register_kernel:0, line 299 <- wrt source file 2025-03-14T05:25:09.5099425Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_library/custom_ops.py::CustomOpDef.register_kernel:0 2025-03-14T05:25:09.5102175Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_library/custom_ops.py::CustomOpDef.register_fake:0, line 405 <- wrt source file 2025-03-14T05:25:09.5174612Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_library/custom_ops.py::CustomOpDef.register_fake:0 2025-03-14T05:25:09.5177275Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_library/custom_ops.py::CustomOpDef.register_autograd:0, line 532 <- wrt source file 2025-03-14T05:25:09.5332659Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_library/custom_ops.py::CustomOpDef.register_autograd:0 2025-03-14T05:25:09.5335244Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_library/custom_ops.py::CustomOpDef.register_vmap:0, line 704 <- wrt source file 2025-03-14T05:25:09.5490184Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_library/custom_ops.py::CustomOpDef.register_vmap:0 2025-03-14T05:25:09.5493009Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_library/custom_ops.py::CustomOpDef.register_autocast:0, line 790 <- wrt source file 2025-03-14T05:25:09.5495726Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_library/custom_ops.py::CustomOpDef.register_autocast:0 2025-03-14T05:25:09.5498450Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_library/fake_class_registry.py::register_fake_class:0, line 197 <- wrt source file 2025-03-14T05:25:09.5501065Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_library/fake_class_registry.py::register_fake_class:0 2025-03-14T05:25:09.5503621Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_library/fake_impl.py::FakeImplCtx.new_dynamic_size:0, line 161 <- wrt source file 2025-03-14T05:25:09.5564603Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_library/fake_impl.py::FakeImplCtx.new_dynamic_size:0 2025-03-14T05:25:09.5565923Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_library/infer_schema.py::infer_schema:0, line 51 <- wrt source file 2025-03-14T05:25:09.5570743Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_library/infer_schema.py::infer_schema:0 2025-03-14T05:25:09.5572106Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_logging/_internal.py::set_logs:0, line 442 <- wrt source file 2025-03-14T05:25:09.5573324Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_logging/_internal.py::set_logs:0 2025-03-14T05:25:09.5574541Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_numpy/testing/utils.py::assert_equal:0, line 170 <- wrt source file 2025-03-14T05:25:09.5630685Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_numpy/testing/utils.py::assert_equal:0 2025-03-14T05:25:09.5632081Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_numpy/testing/utils.py::print_assert_equal:0, line 301 <- wrt source file 2025-03-14T05:25:09.5633421Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_numpy/testing/utils.py::print_assert_equal:0 2025-03-14T05:25:09.5634913Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_numpy/testing/utils.py::assert_array_less:0, line 992 <- wrt source file 2025-03-14T05:25:09.5679789Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_numpy/testing/utils.py::assert_array_less:0 2025-03-14T05:25:09.5681122Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_numpy/testing/utils.py::assert_string_equal:0, line 1057 <- wrt source file 2025-03-14T05:25:09.5682637Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_numpy/testing/utils.py::assert_string_equal:0 2025-03-14T05:25:09.5683944Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_numpy/testing/utils.py::assert_allclose:0, line 1278 <- wrt source file 2025-03-14T05:25:09.5698179Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_numpy/testing/utils.py::assert_allclose:0 2025-03-14T05:25:09.5699569Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_numpy/testing/utils.py::assert_array_almost_equal_nulp:0, line 1344 <- wrt source file 2025-03-14T05:25:09.5702037Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_numpy/testing/utils.py::assert_array_almost_equal_nulp:0 2025-03-14T05:25:09.5703420Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_numpy/testing/utils.py::assert_array_max_ulp:0, line 1407 <- wrt source file 2025-03-14T05:25:09.5706477Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_numpy/testing/utils.py::assert_array_max_ulp:0 2025-03-14T05:25:09.5707858Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_numpy/testing/utils.py::nulp_diff:0, line 1452 <- wrt source file 2025-03-14T05:25:09.5709119Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_numpy/testing/utils.py::nulp_diff:0 2025-03-14T05:25:09.5710355Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_numpy/testing/utils.py::assert_warns:0, line 1562 <- wrt source file 2025-03-14T05:25:09.5712022Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_numpy/testing/utils.py::assert_warns:0 2025-03-14T05:25:09.5713585Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_prims/context.py::TorchRefsMode:0, line 86 <- wrt source file 2025-03-14T05:25:09.5715274Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_prims/context.py::TorchRefsMode:0 2025-03-14T05:25:09.5716929Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/amp/grad_scaler.py::GradScaler:0, line 64 <- wrt source file 2025-03-14T05:25:09.5718278Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/amp/grad_scaler.py::GradScaler:0 2025-03-14T05:25:09.5719636Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/intrinsic/qat/modules/linear_relu.py::LinearReLU:0, line 23 <- wrt source file 2025-03-14T05:25:09.5721134Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/intrinsic/qat/modules/linear_relu.py::LinearReLU:0 2025-03-14T05:25:09.5722705Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/intrinsic/quantized/dynamic/modules/linear_relu.py::LinearReLU:0, line 22 <- wrt source file 2025-03-14T05:25:09.5724385Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/intrinsic/quantized/dynamic/modules/linear_relu.py::LinearReLU:0 2025-03-14T05:25:09.5725968Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/intrinsic/quantized/modules/linear_relu.py::LinearReLU:0, line 25 <- wrt source file 2025-03-14T05:25:09.5727781Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/intrinsic/quantized/modules/linear_relu.py::LinearReLU:0 2025-03-14T05:25:09.5729360Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/intrinsic/quantized/modules/linear_relu.py::LinearLeakyReLU:0, line 66 <- wrt source file 2025-03-14T05:25:09.5731080Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/intrinsic/quantized/modules/linear_relu.py::LinearLeakyReLU:0 2025-03-14T05:25:09.5732653Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/intrinsic/quantized/modules/linear_relu.py::LinearTanh:0, line 140 <- wrt source file 2025-03-14T05:25:09.5734241Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/intrinsic/quantized/modules/linear_relu.py::LinearTanh:0 2025-03-14T05:25:09.5735764Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantizable/modules/rnn.py::LSTMCell:0, line 30 <- wrt source file 2025-03-14T05:25:09.5739922Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantizable/modules/rnn.py::LSTMCell:0 2025-03-14T05:25:09.5741892Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantizable/modules/rnn.py::LSTM:0, line 410 <- wrt source file 2025-03-14T05:25:09.5771615Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantizable/modules/rnn.py::LSTM:0 2025-03-14T05:25:09.5773961Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/functional.py::conv1d:0, line 210 <- wrt source file 2025-03-14T05:25:09.5775807Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/functional.py::conv1d:0 2025-03-14T05:25:09.5777122Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/functional.py::conv2d:0, line 282 <- wrt source file 2025-03-14T05:25:09.5778437Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/functional.py::conv2d:0 2025-03-14T05:25:09.5779708Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/functional.py::conv3d:0, line 358 <- wrt source file 2025-03-14T05:25:09.5781146Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/functional.py::conv3d:0 2025-03-14T05:25:09.5782453Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/modules/__init__.py::Quantize:0, line 95 <- wrt source file 2025-03-14T05:25:09.5783828Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/modules/__init__.py::Quantize:0 2025-03-14T05:25:09.5785179Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/modules/__init__.py::DeQuantize:0, line 145 <- wrt source file 2025-03-14T05:25:09.5787774Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/modules/__init__.py::DeQuantize:0 2025-03-14T05:25:09.5790416Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/dynamic/modules/conv.py::Conv1d:0, line 43 <- wrt source file 2025-03-14T05:25:09.5793149Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/dynamic/modules/conv.py::Conv1d:0 2025-03-14T05:25:09.5795756Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/dynamic/modules/conv.py::Conv2d:0, line 124 <- wrt source file 2025-03-14T05:25:09.5798670Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/dynamic/modules/conv.py::Conv2d:0 2025-03-14T05:25:09.5801427Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/dynamic/modules/conv.py::Conv3d:0, line 208 <- wrt source file 2025-03-14T05:25:09.5804117Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/dynamic/modules/conv.py::Conv3d:0 2025-03-14T05:25:09.5807092Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/dynamic/modules/conv.py::ConvTranspose1d:0, line 294 <- wrt source file 2025-03-14T05:25:09.5810031Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/dynamic/modules/conv.py::ConvTranspose1d:0 2025-03-14T05:25:09.5812592Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/dynamic/modules/conv.py::ConvTranspose2d:0, line 376 <- wrt source file 2025-03-14T05:25:09.5815154Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/dynamic/modules/conv.py::ConvTranspose2d:0 2025-03-14T05:25:09.5817364Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/dynamic/modules/conv.py::ConvTranspose3d:0, line 458 <- wrt source file 2025-03-14T05:25:09.5818957Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/dynamic/modules/conv.py::ConvTranspose3d:0 2025-03-14T05:25:09.5820443Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/dynamic/modules/linear.py::Linear:0, line 30 <- wrt source file 2025-03-14T05:25:09.5821906Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/dynamic/modules/linear.py::Linear:0 2025-03-14T05:25:09.5823299Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/dynamic/modules/rnn.py::LSTM:0, line 516 <- wrt source file 2025-03-14T05:25:09.5824698Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/dynamic/modules/rnn.py::LSTM:0 2025-03-14T05:25:09.5826053Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/dynamic/modules/rnn.py::GRU:0, line 801 <- wrt source file 2025-03-14T05:25:09.5828629Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/dynamic/modules/rnn.py::GRU:0 2025-03-14T05:25:09.5831601Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/dynamic/modules/rnn.py::RNNCell:0, line 1203 <- wrt source file 2025-03-14T05:25:09.5834975Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/dynamic/modules/rnn.py::RNNCell:0 2025-03-14T05:25:09.5837557Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/dynamic/modules/rnn.py::LSTMCell:0, line 1269 <- wrt source file 2025-03-14T05:25:09.5840047Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/dynamic/modules/rnn.py::LSTMCell:0 2025-03-14T05:25:09.5842813Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/dynamic/modules/rnn.py::GRUCell:0, line 1322 <- wrt source file 2025-03-14T05:25:09.5845936Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/dynamic/modules/rnn.py::GRUCell:0 2025-03-14T05:25:09.5848925Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/modules/activation.py::ReLU6:0, line 36 <- wrt source file 2025-03-14T05:25:09.5851417Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/modules/activation.py::ReLU6:0 2025-03-14T05:25:09.5854036Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/modules/conv.py::Conv2d:0, line 505 <- wrt source file 2025-03-14T05:25:09.5856559Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/modules/conv.py::Conv2d:0 2025-03-14T05:25:09.5859007Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/modules/conv.py::Conv3d:0, line 634 <- wrt source file 2025-03-14T05:25:09.5861596Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/modules/conv.py::Conv3d:0 2025-03-14T05:25:09.5863389Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/modules/conv.py::ConvTranspose1d:0, line 890 <- wrt source file 2025-03-14T05:25:09.5864842Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/modules/conv.py::ConvTranspose1d:0 2025-03-14T05:25:09.5866265Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/modules/conv.py::ConvTranspose2d:0, line 1012 <- wrt source file 2025-03-14T05:25:09.5867705Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/modules/conv.py::ConvTranspose2d:0 2025-03-14T05:25:09.5869829Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/modules/conv.py::ConvTranspose3d:0, line 1138 <- wrt source file 2025-03-14T05:25:09.5871842Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/modules/conv.py::ConvTranspose3d:0 2025-03-14T05:25:09.5873265Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/modules/embedding_ops.py::Embedding:0, line 112 <- wrt source file 2025-03-14T05:25:09.5874754Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/modules/embedding_ops.py::Embedding:0 2025-03-14T05:25:09.5876603Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/modules/embedding_ops.py::EmbeddingBag:0, line 275 <- wrt source file 2025-03-14T05:25:09.5878919Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/modules/embedding_ops.py::EmbeddingBag:0 2025-03-14T05:25:09.5880468Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/modules/functional_modules.py::FloatFunctional:0, line 23 <- wrt source file 2025-03-14T05:25:09.5882078Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/modules/functional_modules.py::FloatFunctional:0 2025-03-14T05:25:09.5883919Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/modules/functional_modules.py::QFunctional:0, line 176 <- wrt source file 2025-03-14T05:25:09.5886264Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/modules/functional_modules.py::QFunctional:0 2025-03-14T05:25:09.5887691Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/modules/linear.py::Linear:0, line 138 <- wrt source file 2025-03-14T05:25:09.5889046Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/modules/linear.py::Linear:0 2025-03-14T05:25:09.5890986Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/pruning/_experimental/activation_sparsifier/activation_sparsifier.py::ActivationSparsifier:0, line 62 <- wrt source file 2025-03-14T05:25:09.5894011Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/pruning/_experimental/activation_sparsifier/activation_sparsifier.py::ActivationSparsifier:0 2025-03-14T05:25:09.5896156Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/pruning/_experimental/data_scheduler/base_data_scheduler.py::BaseDataScheduler.get_schedule_param:0, line 98 <- wrt source file 2025-03-14T05:25:09.5994324Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/pruning/_experimental/data_scheduler/base_data_scheduler.py::BaseDataScheduler.get_schedule_param:0 2025-03-14T05:25:09.5998040Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/pruning/_experimental/data_sparsifier/base_data_sparsifier.py::BaseDataSparsifier:0, line 55 <- wrt source file 2025-03-14T05:25:09.6001411Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/pruning/_experimental/data_sparsifier/base_data_sparsifier.py::BaseDataSparsifier:0 2025-03-14T05:25:09.6004428Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/pruning/scheduler/lambda_scheduler.py::LambdaSL:0, line 22 <- wrt source file 2025-03-14T05:25:09.6007127Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/pruning/scheduler/lambda_scheduler.py::LambdaSL:0 2025-03-14T05:25:09.6009838Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/pruning/sparsifier/base_sparsifier.py::BaseSparsifier:0, line 47 <- wrt source file 2025-03-14T05:25:09.6012658Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/pruning/sparsifier/base_sparsifier.py::BaseSparsifier:0 2025-03-14T05:25:09.6015277Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/fuse_modules.py::fuse_modules:0, line 176 <- wrt source file 2025-03-14T05:25:09.6017883Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/fuse_modules.py::fuse_modules:0 2025-03-14T05:25:09.6020466Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/fuser_method_mappings.py::fuse_conv_bn:0, line 31 <- wrt source file 2025-03-14T05:25:09.6023190Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/fuser_method_mappings.py::fuse_conv_bn:0 2025-03-14T05:25:09.6025907Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/fuser_method_mappings.py::fuse_conv_bn_relu:0, line 76 <- wrt source file 2025-03-14T05:25:09.6028727Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/fuser_method_mappings.py::fuse_conv_bn_relu:0 2025-03-14T05:25:09.6031468Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/fuser_method_mappings.py::fuse_linear_bn:0, line 130 <- wrt source file 2025-03-14T05:25:09.6034224Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/fuser_method_mappings.py::fuse_linear_bn:0 2025-03-14T05:25:09.6037008Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/fuser_method_mappings.py::fuse_convtranspose_bn:0, line 163 <- wrt source file 2025-03-14T05:25:09.6039916Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/fuser_method_mappings.py::fuse_convtranspose_bn:0 2025-03-14T05:25:09.6042501Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/observer.py::_with_args:0, line 108 <- wrt source file 2025-03-14T05:25:09.6044917Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/observer.py::_with_args:0 2025-03-14T05:25:09.6047396Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/observer.py::_with_callable_args:0, line 130 <- wrt source file 2025-03-14T05:25:09.6050002Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/observer.py::_with_callable_args:0 2025-03-14T05:25:09.6052587Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/quantize_fx.py::fuse_fx:0, line 218 <- wrt source file 2025-03-14T05:25:09.6055009Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/quantize_fx.py::fuse_fx:0 2025-03-14T05:25:09.6057575Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/quantize_fx.py::prepare_fx:0, line 286 <- wrt source file 2025-03-14T05:25:09.6060070Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/quantize_fx.py::prepare_fx:0 2025-03-14T05:25:09.6062540Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/quantize_fx.py::prepare_qat_fx:0, line 424 <- wrt source file 2025-03-14T05:25:09.6065119Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/quantize_fx.py::prepare_qat_fx:0 2025-03-14T05:25:09.6067644Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/quantize_fx.py::convert_fx:0, line 598 <- wrt source file 2025-03-14T05:25:09.6070112Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/quantize_fx.py::convert_fx:0 2025-03-14T05:25:09.6072674Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/quantize_fx.py::convert_to_reference_fx:0, line 658 <- wrt source file 2025-03-14T05:25:09.6075411Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/quantize_fx.py::convert_to_reference_fx:0 2025-03-14T05:25:09.6078226Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/quantize_fx.py::_convert_to_reference_decomposed_fx:0, line 710 <- wrt source file 2025-03-14T05:25:09.6081198Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/quantize_fx.py::_convert_to_reference_decomposed_fx:0 2025-03-14T05:25:09.6083920Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/quantize_pt2e.py::prepare_pt2e:0, line 47 <- wrt source file 2025-03-14T05:25:09.6086506Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/quantize_pt2e.py::prepare_pt2e:0 2025-03-14T05:25:09.6089082Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/quantize_pt2e.py::prepare_qat_pt2e:0, line 125 <- wrt source file 2025-03-14T05:25:09.6091736Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/quantize_pt2e.py::prepare_qat_pt2e:0 2025-03-14T05:25:09.6094304Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/quantize_pt2e.py::convert_pt2e:0, line 222 <- wrt source file 2025-03-14T05:25:09.6096946Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/quantize_pt2e.py::convert_pt2e:0 2025-03-14T05:25:09.6099653Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/utils.py::get_combined_dict:0, line 145 <- wrt source file 2025-03-14T05:25:09.6102169Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/utils.py::get_combined_dict:0 2025-03-14T05:25:09.6104615Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/utils.py::_get_path_of_module:0, line 517 <- wrt source file 2025-03-14T05:25:09.6107159Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/utils.py::_get_path_of_module:0 2025-03-14T05:25:09.6109827Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/utils.py::_get_signature_locals:0, line 539 <- wrt source file 2025-03-14T05:25:09.6112402Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/utils.py::_get_signature_locals:0 2025-03-14T05:25:09.6114905Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/utils.py::_get_default_kwargs:0, line 553 <- wrt source file 2025-03-14T05:25:09.6117525Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/utils.py::_get_default_kwargs:0 2025-03-14T05:25:09.6120000Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/utils.py::_normalize_kwargs:0, line 575 <- wrt source file 2025-03-14T05:25:09.6122509Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/utils.py::_normalize_kwargs:0 2025-03-14T05:25:09.6124952Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/utils.py::_get_num_pos_args:0, line 702 <- wrt source file 2025-03-14T05:25:09.6127426Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/utils.py::_get_num_pos_args:0 2025-03-14T05:25:09.6130127Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/backend_config/onednn.py::_fuse_linear_bn_leaky_relu:0, line 85 <- wrt source file 2025-03-14T05:25:09.6133107Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/backend_config/onednn.py::_fuse_linear_bn_leaky_relu:0 2025-03-14T05:25:09.6136028Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/fx/_model_report/model_report.py::ModelReport:0, line 84 <- wrt source file 2025-03-14T05:25:09.6138988Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/fx/_model_report/model_report.py::ModelReport:0 2025-03-14T05:25:09.6141873Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/pt2e/_affine_quantization.py::_get_reduction_params:0, line 102 <- wrt source file 2025-03-14T05:25:09.6144865Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/pt2e/_affine_quantization.py::_get_reduction_params:0 2025-03-14T05:25:09.6147773Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/pt2e/_affine_quantization.py::_register_custom_op:0, line 148 <- wrt source file 2025-03-14T05:25:09.6150750Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/pt2e/_affine_quantization.py::_register_custom_op:0 2025-03-14T05:25:09.6153594Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/pt2e/prepare.py::_get_edge_or_node_to_group_id:0, line 188 <- wrt source file 2025-03-14T05:25:09.6156468Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/pt2e/prepare.py::_get_edge_or_node_to_group_id:0 2025-03-14T05:25:09.6159391Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/pt2e/utils.py::_replace_literals_with_new_placeholders:0, line 430 <- wrt source file 2025-03-14T05:25:09.6162434Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/pt2e/utils.py::_replace_literals_with_new_placeholders:0 2025-03-14T05:25:09.6165092Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/anomaly_mode.py::detect_anomaly:0, line 27 <- wrt source file 2025-03-14T05:25:09.6167509Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/anomaly_mode.py::detect_anomaly:0 2025-03-14T05:25:09.6169882Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/forward_ad.py::make_dual:0, line 83 <- wrt source file 2025-03-14T05:25:09.6172186Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/forward_ad.py::make_dual:0 2025-03-14T05:25:09.6174448Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/forward_ad.py::unpack_dual:0, line 153 <- wrt source file 2025-03-14T05:25:09.6176895Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/forward_ad.py::unpack_dual:0 2025-03-14T05:25:09.6179155Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/forward_ad.py::dual_level:0, line 189 <- wrt source file 2025-03-14T05:25:09.6181443Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/forward_ad.py::dual_level:0 2025-03-14T05:25:09.6183900Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/function.py::FunctionCtx.save_for_backward:0, line 66 <- wrt source file 2025-03-14T05:25:09.6186555Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/function.py::FunctionCtx.save_for_backward:0 2025-03-14T05:25:09.6189162Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/function.py::FunctionCtx.save_for_forward:0, line 109 <- wrt source file 2025-03-14T05:25:09.6191812Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/function.py::FunctionCtx.save_for_forward:0 2025-03-14T05:25:09.6194347Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/function.py::FunctionCtx.mark_dirty:0, line 160 <- wrt source file 2025-03-14T05:25:09.6196881Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/function.py::FunctionCtx.mark_dirty:0 2025-03-14T05:25:09.6199629Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/function.py::FunctionCtx.mark_non_differentiable:0, line 207 <- wrt source file 2025-03-14T05:25:09.6202426Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/function.py::FunctionCtx.mark_non_differentiable:0 2025-03-14T05:25:09.6205159Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/function.py::FunctionCtx.set_materialize_grads:0, line 236 <- wrt source file 2025-03-14T05:25:09.6207912Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/function.py::FunctionCtx.set_materialize_grads:0 2025-03-14T05:25:09.6210363Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/function.py::Function:0, line 479 <- wrt source file 2025-03-14T05:25:09.6212603Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/function.py::Function:0 2025-03-14T05:25:09.6214766Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/functional.py::vjp:0, line 293 <- wrt source file 2025-03-14T05:25:09.6217014Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/functional.py::vjp:0 2025-03-14T05:25:09.6219173Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/functional.py::jvp:0, line 395 <- wrt source file 2025-03-14T05:25:09.6221369Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/functional.py::jvp:0 2025-03-14T05:25:09.6223567Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/functional.py::jacobian:0, line 630 <- wrt source file 2025-03-14T05:25:09.6225852Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/functional.py::jacobian:0 2025-03-14T05:25:09.6228216Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/functional.py::hessian:0, line 884 <- wrt source file 2025-03-14T05:25:09.6230474Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/functional.py::hessian:0 2025-03-14T05:25:09.6232661Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/functional.py::vhp:0, line 1000 <- wrt source file 2025-03-14T05:25:09.6234927Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/functional.py::vhp:0 2025-03-14T05:25:09.6237084Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/functional.py::hvp:0, line 1099 <- wrt source file 2025-03-14T05:25:09.6239285Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/functional.py::hvp:0 2025-03-14T05:25:09.6241414Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/grad_mode.py::no_grad:0, line 50 <- wrt source file 2025-03-14T05:25:09.6243620Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/grad_mode.py::no_grad:0 2025-03-14T05:25:09.6245828Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/grad_mode.py::enable_grad:0, line 108 <- wrt source file 2025-03-14T05:25:09.6248110Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/grad_mode.py::enable_grad:0 2025-03-14T05:25:09.6250398Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/grad_mode.py::set_grad_enabled:0, line 166 <- wrt source file 2025-03-14T05:25:09.6252787Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/grad_mode.py::set_grad_enabled:0 2025-03-14T05:25:09.6255131Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/grad_mode.py::inference_mode:0, line 232 <- wrt source file 2025-03-14T05:25:09.6257559Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/grad_mode.py::inference_mode:0 2025-03-14T05:25:09.6259788Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/graph.py::Node.name:0, line 53 <- wrt source file 2025-03-14T05:25:09.6261974Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/graph.py::Node.name:0 2025-03-14T05:25:09.6264208Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/graph.py::Node.register_hook:0, line 110 <- wrt source file 2025-03-14T05:25:09.6266568Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/graph.py::Node.register_hook:0 2025-03-14T05:25:09.6268940Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/graph.py::Node.register_prehook:0, line 147 <- wrt source file 2025-03-14T05:25:09.6271377Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/graph.py::Node.register_prehook:0 2025-03-14T05:25:09.6273727Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/graph.py::saved_tensors_hooks:0, line 271 <- wrt source file 2025-03-14T05:25:09.6276122Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/graph.py::saved_tensors_hooks:0 2025-03-14T05:25:09.6278360Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/graph.py::save_on_cpu:0, line 336 <- wrt source file 2025-03-14T05:25:09.6280571Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/graph.py::save_on_cpu:0 2025-03-14T05:25:09.6282922Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/graph.py::disable_saved_tensors_hooks:0, line 393 <- wrt source file 2025-03-14T05:25:09.6285534Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/graph.py::disable_saved_tensors_hooks:0 2025-03-14T05:25:09.6288022Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/graph.py::register_multi_grad_hook:0, line 470 <- wrt source file 2025-03-14T05:25:09.6290580Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/graph.py::register_multi_grad_hook:0 2025-03-14T05:25:09.6293100Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/graph.py::allow_mutation_on_saved_tensors:0, line 736 <- wrt source file 2025-03-14T05:25:09.6295783Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/graph.py::allow_mutation_on_saved_tensors:0 2025-03-14T05:25:09.6298359Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/profiler.py::profile:0, line 178 <- wrt source file 2025-03-14T05:25:09.6300628Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/profiler.py::profile:0 2025-03-14T05:25:09.6302895Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/profiler.py::record_function:0, line 733 <- wrt source file 2025-03-14T05:25:09.6305307Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/profiler.py::record_function:0 2025-03-14T05:25:09.6307583Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/profiler.py::emit_itt:0, line 867 <- wrt source file 2025-03-14T05:25:09.6309817Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/profiler.py::emit_itt:0 2025-03-14T05:25:09.6312027Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/profiler.py::emit_nvtx:0, line 940 <- wrt source file 2025-03-14T05:25:09.6314303Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/autograd/profiler.py::emit_nvtx:0 2025-03-14T05:25:09.6316545Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/cuda/gds.py::gds_register_buffer:0, line 42 <- wrt source file 2025-03-14T05:25:09.6318784Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/cuda/gds.py::gds_register_buffer:0 2025-03-14T05:25:09.6320999Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/cuda/gds.py::gds_deregister_buffer:0, line 58 <- wrt source file 2025-03-14T05:25:09.6323265Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/cuda/gds.py::gds_deregister_buffer:0 2025-03-14T05:25:09.6325373Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/cuda/gds.py::GdsFile:0, line 85 <- wrt source file 2025-03-14T05:25:09.6327409Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/cuda/gds.py::GdsFile:0 2025-03-14T05:25:09.6329533Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/cuda/jiterator.py::_create_jit_fn:0, line 114 <- wrt source file 2025-03-14T05:25:09.6331806Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/cuda/jiterator.py::_create_jit_fn:0 2025-03-14T05:25:09.6334038Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/cuda/jiterator.py::_create_jit_fn:1, line 125 <- wrt source file 2025-03-14T05:25:09.6336361Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/cuda/jiterator.py::_create_jit_fn:1 2025-03-14T05:25:09.6338590Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/cuda/jiterator.py::_create_jit_fn:2, line 138 <- wrt source file 2025-03-14T05:25:09.6341029Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/cuda/jiterator.py::_create_jit_fn:2 2025-03-14T05:25:09.6343400Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/cuda/jiterator.py::_create_multi_output_jit_fn:0, line 171 <- wrt source file 2025-03-14T05:25:09.6345932Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/cuda/jiterator.py::_create_multi_output_jit_fn:0 2025-03-14T05:25:09.6348324Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/cuda/profiler.py::profile:0, line 75 <- wrt source file 2025-03-14T05:25:09.6350468Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/cuda/profiler.py::profile:0 2025-03-14T05:25:09.6352723Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/device_mesh.py::DeviceMesh:0, line 415 <- wrt source file 2025-03-14T05:25:09.6355153Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/device_mesh.py::DeviceMesh:0 2025-03-14T05:25:09.6357662Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/device_mesh.py::DeviceMesh.get_local_rank:0, line 931 <- wrt source file 2025-03-14T05:25:09.6360382Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/device_mesh.py::DeviceMesh.get_local_rank:0 2025-03-14T05:25:09.6362984Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/device_mesh.py::init_device_mesh:0, line 1013 <- wrt source file 2025-03-14T05:25:09.6365555Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/device_mesh.py::init_device_mesh:0 2025-03-14T05:25:09.6368167Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/distributed_c10d.py::_coalescing_manager:0, line 2523 <- wrt source file 2025-03-14T05:25:09.6370904Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/distributed_c10d.py::_coalescing_manager:0 2025-03-14T05:25:09.6373537Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/distributed_c10d.py::all_gather_object:0, line 3035 <- wrt source file 2025-03-14T05:25:09.6376273Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/distributed_c10d.py::all_gather_object:0 2025-03-14T05:25:09.6378887Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/distributed_c10d.py::send_object_list:0, line 3256 <- wrt source file 2025-03-14T05:25:09.6381529Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/distributed_c10d.py::send_object_list:0 2025-03-14T05:25:09.6384140Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/distributed_c10d.py::recv_object_list:0, line 3354 <- wrt source file 2025-03-14T05:25:09.6386798Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/distributed_c10d.py::recv_object_list:0 2025-03-14T05:25:09.6389459Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/distributed_c10d.py::broadcast_object_list:0, line 3464 <- wrt source file 2025-03-14T05:25:09.6392224Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/distributed_c10d.py::broadcast_object_list:0 2025-03-14T05:25:09.6394913Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/distributed_c10d.py::scatter_object_list:0, line 3583 <- wrt source file 2025-03-14T05:25:09.6397804Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/distributed_c10d.py::scatter_object_list:0 2025-03-14T05:25:09.6401255Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/distributed_c10d.py::all_gather_into_tensor:0, line 3792 <- wrt source file 2025-03-14T05:25:09.6404431Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/distributed_c10d.py::all_gather_into_tensor:0 2025-03-14T05:25:09.6407212Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/distributed_c10d.py::all_gather_coalesced:0, line 3934 <- wrt source file 2025-03-14T05:25:09.6409930Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/distributed_c10d.py::all_gather_coalesced:0 2025-03-14T05:25:09.6412468Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/distributed_c10d.py::gather:0, line 4040 <- wrt source file 2025-03-14T05:25:09.6414926Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/distributed_c10d.py::gather:0 2025-03-14T05:25:09.6417405Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/distributed_c10d.py::scatter:0, line 4126 <- wrt source file 2025-03-14T05:25:09.6419893Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/distributed_c10d.py::scatter:0 2025-03-14T05:25:09.6422462Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/distributed_c10d.py::reduce_scatter_tensor:0, line 4265 <- wrt source file 2025-03-14T05:25:09.6425208Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/distributed_c10d.py::reduce_scatter_tensor:0 2025-03-14T05:25:09.6427887Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/distributed_c10d.py::monitored_barrier:0, line 4732 <- wrt source file 2025-03-14T05:25:09.6430573Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/distributed_c10d.py::monitored_barrier:0 2025-03-14T05:25:09.6433218Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/distributed_c10d.py::new_subgroups:0, line 5310 <- wrt source file 2025-03-14T05:25:09.6435805Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/distributed_c10d.py::new_subgroups:0 2025-03-14T05:25:09.6438562Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/distributed_c10d.py::new_subgroups_by_enumeration:0, line 5412 <- wrt source file 2025-03-14T05:25:09.6441453Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/distributed_c10d.py::new_subgroups_by_enumeration:0 2025-03-14T05:25:09.6443885Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/run.py::__doc__:0, line 57 <- wrt source file 2025-03-14T05:25:09.6446028Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/run.py::__doc__:0 2025-03-14T05:25:09.6448287Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/autograd/__init__.py::context:0, line 39 <- wrt source file 2025-03-14T05:25:09.6450749Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/autograd/__init__.py::context:0 2025-03-14T05:25:09.6453385Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/_composable/checkpoint_activation.py::checkpoint:0, line 53 <- wrt source file 2025-03-14T05:25:09.6456325Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/_composable/checkpoint_activation.py::checkpoint:0 2025-03-14T05:25:09.6458987Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/_composable/contract.py::contract:0, line 66 <- wrt source file 2025-03-14T05:25:09.6461631Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/_composable/contract.py::contract:0 2025-03-14T05:25:09.6464166Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/_composable/replicate.py::replicate:0, line 190 <- wrt source file 2025-03-14T05:25:09.6466827Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/_composable/replicate.py::replicate:0 2025-03-14T05:25:09.6469628Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/_shard/sharded_optim/__init__.py::named_params_with_sharded_tensor:0, line 31 <- wrt source file 2025-03-14T05:25:09.6472760Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/_shard/sharded_optim/__init__.py::named_params_with_sharded_tensor:0 2025-03-14T05:25:09.6475734Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/_shard/sharded_tensor/__init__.py::custom_sharded_op_impl:0, line 457 <- wrt source file 2025-03-14T05:25:09.6478685Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/_shard/sharded_tensor/__init__.py::custom_sharded_op_impl:0 2025-03-14T05:25:09.6481561Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/_shard/sharded_tensor/_ops/_common.py::_sharded_op_common:0, line 18 <- wrt source file 2025-03-14T05:25:09.6484491Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/_shard/sharded_tensor/_ops/_common.py::_sharded_op_common:0 2025-03-14T05:25:09.6487239Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/_tools/memory_tracker.py::MemoryTracker:0, line 55 <- wrt source file 2025-03-14T05:25:09.6489911Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/_tools/memory_tracker.py::MemoryTracker:0 2025-03-14T05:25:09.6492400Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/algorithms/join.py::Join:0, line 141 <- wrt source file 2025-03-14T05:25:09.6494785Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/algorithms/join.py::Join:0 2025-03-14T05:25:09.6497534Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/algorithms/ddp_comm_hooks/__init__.py::register_ddp_comm_hook:0, line 107 <- wrt source file 2025-03-14T05:25:09.6500827Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/algorithms/ddp_comm_hooks/__init__.py::register_ddp_comm_hook:0 2025-03-14T05:25:09.6503822Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/algorithms/ddp_comm_hooks/debugging_hooks.py::noop_hook:0, line 23 <- wrt source file 2025-03-14T05:25:09.6506835Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/algorithms/ddp_comm_hooks/debugging_hooks.py::noop_hook:0 2025-03-14T05:25:09.6509808Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/algorithms/ddp_comm_hooks/default_hooks.py::allreduce_hook:0, line 49 <- wrt source file 2025-03-14T05:25:09.6512884Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/algorithms/ddp_comm_hooks/default_hooks.py::allreduce_hook:0 2025-03-14T05:25:09.6515922Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/algorithms/ddp_comm_hooks/default_hooks.py::fp16_compress_hook:0, line 104 <- wrt source file 2025-03-14T05:25:09.6519054Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/algorithms/ddp_comm_hooks/default_hooks.py::fp16_compress_hook:0 2025-03-14T05:25:09.6522233Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/algorithms/ddp_comm_hooks/default_hooks.py::bf16_compress_hook:0, line 125 <- wrt source file 2025-03-14T05:25:09.6525352Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/algorithms/ddp_comm_hooks/default_hooks.py::bf16_compress_hook:0 2025-03-14T05:25:09.6528562Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/algorithms/ddp_comm_hooks/default_hooks.py::fp16_compress_wrapper:0, line 143 <- wrt source file 2025-03-14T05:25:09.6531760Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/algorithms/ddp_comm_hooks/default_hooks.py::fp16_compress_wrapper:0 2025-03-14T05:25:09.6534879Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/algorithms/ddp_comm_hooks/default_hooks.py::bf16_compress_wrapper:0, line 182 <- wrt source file 2025-03-14T05:25:09.6538099Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/algorithms/ddp_comm_hooks/default_hooks.py::bf16_compress_wrapper:0 2025-03-14T05:25:09.6541231Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/algorithms/ddp_comm_hooks/powerSGD_hook.py::batched_powerSGD_hook:0, line 707 <- wrt source file 2025-03-14T05:25:09.6544436Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/algorithms/ddp_comm_hooks/powerSGD_hook.py::batched_powerSGD_hook:0 2025-03-14T05:25:09.6547690Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/algorithms/ddp_comm_hooks/quantization_hooks.py::quantization_pertensor_hook:0, line 64 <- wrt source file 2025-03-14T05:25:09.6551152Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/algorithms/ddp_comm_hooks/quantization_hooks.py::quantization_pertensor_hook:0 2025-03-14T05:25:09.6554533Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/algorithms/ddp_comm_hooks/quantization_hooks.py::quantization_perchannel_hook:0, line 145 <- wrt source file 2025-03-14T05:25:09.6558005Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/algorithms/ddp_comm_hooks/quantization_hooks.py::quantization_perchannel_hook:0 2025-03-14T05:25:09.6561099Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/checkpoint/state_dict.py::_patch_model_state_dict:0, line 1401 <- wrt source file 2025-03-14T05:25:09.6563989Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/checkpoint/state_dict.py::_patch_model_state_dict:0 2025-03-14T05:25:09.6566872Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/checkpoint/state_dict.py::_patch_optimizer_state_dict:0, line 1460 <- wrt source file 2025-03-14T05:25:09.6569848Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/checkpoint/state_dict.py::_patch_optimizer_state_dict:0 2025-03-14T05:25:09.6572840Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/elastic/rendezvous/api.py::RendezvousHandler.shutdown:0, line 231 <- wrt source file 2025-03-14T05:25:09.6575949Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/elastic/rendezvous/api.py::RendezvousHandler.shutdown:0 2025-03-14T05:25:09.6578819Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/elastic/utils/distributed.py::get_free_port:0, line 141 <- wrt source file 2025-03-14T05:25:09.6581701Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/elastic/utils/distributed.py::get_free_port:0 2025-03-14T05:25:09.6584256Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/fsdp/api.py::StateDictType:0, line 262 <- wrt source file 2025-03-14T05:25:09.6586678Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/fsdp/api.py::StateDictType:0 2025-03-14T05:25:09.6589500Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/fsdp/fully_sharded_data_parallel.py::FullyShardedDataParallel:0, line 130 <- wrt source file 2025-03-14T05:25:09.6592671Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/fsdp/fully_sharded_data_parallel.py::FullyShardedDataParallel:0 2025-03-14T05:25:09.6596037Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/fsdp/fully_sharded_data_parallel.py::FullyShardedDataParallel.shard_full_optim_state_dict:0, line 1495 <- wrt source file 2025-03-14T05:25:09.6599841Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/fsdp/fully_sharded_data_parallel.py::FullyShardedDataParallel.shard_full_optim_state_dict:0 2025-03-14T05:25:09.6603489Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/fsdp/fully_sharded_data_parallel.py::FullyShardedDataParallel.scatter_full_optim_state_dict:0, line 1615 <- wrt source file 2025-03-14T05:25:09.6607204Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/fsdp/fully_sharded_data_parallel.py::FullyShardedDataParallel.scatter_full_optim_state_dict:0 2025-03-14T05:25:09.6610802Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/fsdp/fully_sharded_data_parallel.py::FullyShardedDataParallel.rekey_optim_state_dict:0, line 1700 <- wrt source file 2025-03-14T05:25:09.6614390Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/fsdp/fully_sharded_data_parallel.py::FullyShardedDataParallel.rekey_optim_state_dict:0 2025-03-14T05:25:09.6617572Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/fsdp/sharded_grad_scaler.py::ShardedGradScaler:0, line 54 <- wrt source file 2025-03-14T05:25:09.6620427Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/fsdp/sharded_grad_scaler.py::ShardedGradScaler:0 2025-03-14T05:25:09.6623010Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/fsdp/wrap.py::CustomPolicy:0, line 224 <- wrt source file 2025-03-14T05:25:09.6625444Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/fsdp/wrap.py::CustomPolicy:0 2025-03-14T05:25:09.6627898Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/nn/functional.py::_all_gather_base:0, line 134 <- wrt source file 2025-03-14T05:25:09.6630455Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/nn/functional.py::_all_gather_base:0 2025-03-14T05:25:09.6633268Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/optim/apply_optimizer_in_backward.py::_apply_optimizer_in_backward:0, line 43 <- wrt source file 2025-03-14T05:25:09.6636459Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/optim/apply_optimizer_in_backward.py::_apply_optimizer_in_backward:0 2025-03-14T05:25:09.6639569Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/optim/apply_optimizer_in_backward.py::_get_in_backward_optimizers:0, line 114 <- wrt source file 2025-03-14T05:25:09.6642728Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/optim/apply_optimizer_in_backward.py::_get_in_backward_optimizers:0 2025-03-14T05:25:09.6645733Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/optim/named_optimizer.py::_NamedOptimizer:0, line 44 <- wrt source file 2025-03-14T05:25:09.6648464Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/optim/named_optimizer.py::_NamedOptimizer:0 2025-03-14T05:25:09.6651243Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/optim/utils.py::register_functional_optim:0, line 37 <- wrt source file 2025-03-14T05:25:09.6653966Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/optim/utils.py::register_functional_optim:0 2025-03-14T05:25:09.6656573Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/pipelining/_IR.py::pipe_split:0, line 333 <- wrt source file 2025-03-14T05:25:09.6659047Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/pipelining/_IR.py::pipe_split:0 2025-03-14T05:25:09.6661753Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/pipelining/microbatch.py::TensorChunkSpec.from_tuple:0, line 82 <- wrt source file 2025-03-14T05:25:09.6664758Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/pipelining/microbatch.py::TensorChunkSpec.from_tuple:0 2025-03-14T05:25:09.6667703Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/pipelining/microbatch.py::TensorChunkSpec.from_dict:0, line 101 <- wrt source file 2025-03-14T05:25:09.6670689Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/pipelining/microbatch.py::TensorChunkSpec.from_dict:0 2025-03-14T05:25:09.6673251Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/rpc/api.py::_wait_all:0, line 175 <- wrt source file 2025-03-14T05:25:09.6675529Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/rpc/api.py::_wait_all:0 2025-03-14T05:25:09.6677761Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/rpc/api.py::shutdown:0, line 346 <- wrt source file 2025-03-14T05:25:09.6680043Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/rpc/api.py::shutdown:0 2025-03-14T05:25:09.6682253Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/rpc/api.py::remote:0, line 605 <- wrt source file 2025-03-14T05:25:09.6684499Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/rpc/api.py::remote:0 2025-03-14T05:25:09.6686708Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/rpc/api.py::rpc_sync:0, line 785 <- wrt source file 2025-03-14T05:25:09.6688975Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/rpc/api.py::rpc_sync:0 2025-03-14T05:25:09.6691213Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/rpc/api.py::rpc_async:0, line 877 <- wrt source file 2025-03-14T05:25:09.6693494Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/rpc/api.py::rpc_async:0 2025-03-14T05:25:09.6695866Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/tensor/_api.py::_shard_tensor:0, line 813 <- wrt source file 2025-03-14T05:25:09.6698472Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/tensor/_api.py::_shard_tensor:0 2025-03-14T05:25:09.6701192Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/tensor/_random.py::OffsetBasedRNGTracker._set_pre_op_offset:0, line 251 <- wrt source file 2025-03-14T05:25:09.6704352Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/tensor/_random.py::OffsetBasedRNGTracker._set_pre_op_offset:0 2025-03-14T05:25:09.6707183Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/tensor/_ops/_common_rules.py::pointwise_rule:0, line 235 <- wrt source file 2025-03-14T05:25:09.6710029Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/tensor/_ops/_common_rules.py::pointwise_rule:0 2025-03-14T05:25:09.6712767Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/tensor/parallel/api.py::parallelize_module:0, line 57 <- wrt source file 2025-03-14T05:25:09.6715554Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/tensor/parallel/api.py::parallelize_module:0 2025-03-14T05:25:09.6718327Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/tensor/parallel/ddp.py::_pre_dp_module_transform:0, line 88 <- wrt source file 2025-03-14T05:25:09.6721183Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/tensor/parallel/ddp.py::_pre_dp_module_transform:0 2025-03-14T05:25:09.6723910Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/tensor/parallel/loss.py::loss_parallel:0, line 55 <- wrt source file 2025-03-14T05:25:09.6726590Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/tensor/parallel/loss.py::loss_parallel:0 2025-03-14T05:25:09.6729280Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/tensor/parallel/style.py::ColwiseParallel:0, line 63 <- wrt source file 2025-03-14T05:25:09.6732055Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/tensor/parallel/style.py::ColwiseParallel:0 2025-03-14T05:25:09.6734796Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/tensor/parallel/style.py::RowwiseParallel:0, line 189 <- wrt source file 2025-03-14T05:25:09.6737646Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/tensor/parallel/style.py::RowwiseParallel:0 2025-03-14T05:25:09.6740403Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/tensor/parallel/style.py::SequenceParallel:0, line 333 <- wrt source file 2025-03-14T05:25:09.6743207Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/tensor/parallel/style.py::SequenceParallel:0 2025-03-14T05:25:09.6745752Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/bernoulli.py::Bernoulli:0, line 28 <- wrt source file 2025-03-14T05:25:09.6748157Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/bernoulli.py::Bernoulli:0 2025-03-14T05:25:09.6750389Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/beta.py::Beta:0, line 19 <- wrt source file 2025-03-14T05:25:09.6752572Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/beta.py::Beta:0 2025-03-14T05:25:09.6754811Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/binomial.py::Binomial:0, line 29 <- wrt source file 2025-03-14T05:25:09.6757163Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/binomial.py::Binomial:0 2025-03-14T05:25:09.6759553Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/categorical.py::Categorical:0, line 40 <- wrt source file 2025-03-14T05:25:09.6762137Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/categorical.py::Categorical:0 2025-03-14T05:25:09.6764447Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/cauchy.py::Cauchy:0, line 22 <- wrt source file 2025-03-14T05:25:09.6766708Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/cauchy.py::Cauchy:0 2025-03-14T05:25:09.6768937Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/chi2.py::Chi2:0, line 16 <- wrt source file 2025-03-14T05:25:09.6771104Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/chi2.py::Chi2:0 2025-03-14T05:25:09.6773402Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/constraints.py::is_dependent:0, line 164 <- wrt source file 2025-03-14T05:25:09.6775979Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/constraints.py::is_dependent:0 2025-03-14T05:25:09.6778536Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/constraints.py::_DependentProperty:0, line 185 <- wrt source file 2025-03-14T05:25:09.6781277Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/constraints.py::_DependentProperty:0 2025-03-14T05:25:09.6783997Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/continuous_bernoulli.py::ContinuousBernoulli:0, line 34 <- wrt source file 2025-03-14T05:25:09.6786871Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/continuous_bernoulli.py::ContinuousBernoulli:0 2025-03-14T05:25:09.6789449Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/dirichlet.py::Dirichlet:0, line 40 <- wrt source file 2025-03-14T05:25:09.6792183Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/dirichlet.py::Dirichlet:0 2025-03-14T05:25:09.6795097Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/exponential.py::Exponential:0, line 18 <- wrt source file 2025-03-14T05:25:09.6798345Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/exponential.py::Exponential:0 2025-03-14T05:25:09.6801006Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/fishersnedecor.py::FisherSnedecor:0, line 19 <- wrt source file 2025-03-14T05:25:09.6803747Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/fishersnedecor.py::FisherSnedecor:0 2025-03-14T05:25:09.6806213Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/gamma.py::Gamma:0, line 22 <- wrt source file 2025-03-14T05:25:09.6808531Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/gamma.py::Gamma:0 2025-03-14T05:25:09.6810899Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/geometric.py::Geometric:0, line 34 <- wrt source file 2025-03-14T05:25:09.6813422Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/geometric.py::Geometric:0 2025-03-14T05:25:09.6815860Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/gumbel.py::Gumbel:0, line 22 <- wrt source file 2025-03-14T05:25:09.6818227Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/gumbel.py::Gumbel:0 2025-03-14T05:25:09.6820647Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/half_cauchy.py::HalfCauchy:0, line 23 <- wrt source file 2025-03-14T05:25:09.6823384Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/half_cauchy.py::HalfCauchy:0 2025-03-14T05:25:09.6825867Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/half_normal.py::HalfNormal:0, line 23 <- wrt source file 2025-03-14T05:25:09.6828329Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/half_normal.py::HalfNormal:0 2025-03-14T05:25:09.6830858Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/independent.py::Independent:0, line 23 <- wrt source file 2025-03-14T05:25:09.6833368Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/independent.py::Independent:0 2025-03-14T05:25:09.6835845Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/inverse_gamma.py::InverseGamma:0, line 22 <- wrt source file 2025-03-14T05:25:09.6838524Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/inverse_gamma.py::InverseGamma:0 2025-03-14T05:25:09.6841002Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/kumaraswamy.py::Kumaraswamy:0, line 28 <- wrt source file 2025-03-14T05:25:09.6843504Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/kumaraswamy.py::Kumaraswamy:0 2025-03-14T05:25:09.6845860Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/laplace.py::Laplace:0, line 18 <- wrt source file 2025-03-14T05:25:09.6848174Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/laplace.py::Laplace:0 2025-03-14T05:25:09.6850533Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/lkj_cholesky.py::LKJCholesky:0, line 41 <- wrt source file 2025-03-14T05:25:09.6853026Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/lkj_cholesky.py::LKJCholesky:0 2025-03-14T05:25:09.6855415Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/log_normal.py::LogNormal:0, line 21 <- wrt source file 2025-03-14T05:25:09.6857882Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/log_normal.py::LogNormal:0 2025-03-14T05:25:09.6860377Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/logistic_normal.py::LogisticNormal:0, line 26 <- wrt source file 2025-03-14T05:25:09.6863014Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/logistic_normal.py::LogisticNormal:0 2025-03-14T05:25:09.6865522Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/multinomial.py::Multinomial:0, line 36 <- wrt source file 2025-03-14T05:25:09.6868021Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/multinomial.py::Multinomial:0 2025-03-14T05:25:09.6870650Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/multivariate_normal.py::MultivariateNormal:0, line 102 <- wrt source file 2025-03-14T05:25:09.6873490Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/multivariate_normal.py::MultivariateNormal:0 2025-03-14T05:25:09.6875961Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/normal.py::Normal:0, line 21 <- wrt source file 2025-03-14T05:25:09.6878215Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/normal.py::Normal:0 2025-03-14T05:25:09.6880696Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/one_hot_categorical.py::OneHotCategorical:0, line 32 <- wrt source file 2025-03-14T05:25:09.6883618Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/one_hot_categorical.py::OneHotCategorical:0 2025-03-14T05:25:09.6886074Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/pareto.py::Pareto:0, line 20 <- wrt source file 2025-03-14T05:25:09.6888408Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/pareto.py::Pareto:0 2025-03-14T05:25:09.6890658Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/poisson.py::Poisson:0, line 23 <- wrt source file 2025-03-14T05:25:09.6892956Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/poisson.py::Poisson:0 2025-03-14T05:25:09.6895248Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/studentT.py::StudentT:0, line 21 <- wrt source file 2025-03-14T05:25:09.6897684Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/studentT.py::StudentT:0 2025-03-14T05:25:09.6900209Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/transforms.py::CatTransform:0, line 1046 <- wrt source file 2025-03-14T05:25:09.6902737Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/transforms.py::CatTransform:0 2025-03-14T05:25:09.6905239Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/transforms.py::StackTransform:0, line 1152 <- wrt source file 2025-03-14T05:25:09.6907794Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/transforms.py::StackTransform:0 2025-03-14T05:25:09.6910553Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/transforms.py::CumulativeDistributionTransform:0, line 1226 <- wrt source file 2025-03-14T05:25:09.6913521Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/transforms.py::CumulativeDistributionTransform:0 2025-03-14T05:25:09.6916080Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/uniform.py::Uniform:0, line 19 <- wrt source file 2025-03-14T05:25:09.6918399Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/uniform.py::Uniform:0 2025-03-14T05:25:09.6920669Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/utils.py::clamp_probs:0, line 109 <- wrt source file 2025-03-14T05:25:09.6923012Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/utils.py::clamp_probs:0 2025-03-14T05:25:09.6925324Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/von_mises.py::VonMises:0, line 116 <- wrt source file 2025-03-14T05:25:09.6927679Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/von_mises.py::VonMises:0 2025-03-14T05:25:09.6929966Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/weibull.py::Weibull:0, line 20 <- wrt source file 2025-03-14T05:25:09.6932259Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/weibull.py::Weibull:0 2025-03-14T05:25:09.6934508Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/wishart.py::Wishart:0, line 39 <- wrt source file 2025-03-14T05:25:09.6936874Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/wishart.py::Wishart:0 2025-03-14T05:25:09.6939381Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/export/dynamic_shapes.py::ShapesCollection:0, line 611 <- wrt source file 2025-03-14T05:25:09.6941897Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/export/dynamic_shapes.py::ShapesCollection:0 2025-03-14T05:25:09.6944127Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/graph.py::_snake_case:0, line 101 <- wrt source file 2025-03-14T05:25:09.6946304Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/graph.py::_snake_case:0 2025-03-14T05:25:09.6948532Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/graph.py::Graph.eliminate_dead_code:0, line 1781 <- wrt source file 2025-03-14T05:25:09.6950904Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/graph.py::Graph.eliminate_dead_code:0 2025-03-14T05:25:09.6953215Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/graph.py::Graph.on_generate_code:0, line 1855 <- wrt source file 2025-03-14T05:25:09.6955526Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/graph.py::Graph.on_generate_code:0 2025-03-14T05:25:09.6957764Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/interpreter.py::Interpreter:0, line 48 <- wrt source file 2025-03-14T05:25:09.6960003Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/interpreter.py::Interpreter:0 2025-03-14T05:25:09.6962211Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/interpreter.py::Transformer:0, line 464 <- wrt source file 2025-03-14T05:25:09.6964454Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/interpreter.py::Transformer:0 2025-03-14T05:25:09.6966756Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/subgraph_rewriter.py::replace_pattern:0, line 125 <- wrt source file 2025-03-14T05:25:09.6969211Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/subgraph_rewriter.py::replace_pattern:0 2025-03-14T05:25:09.6971462Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/tensor_type.py::TensorType:0, line 12 <- wrt source file 2025-03-14T05:25:09.6973634Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/tensor_type.py::TensorType:0 2025-03-14T05:25:09.6975854Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/tensor_type.py::is_consistent:0, line 65 <- wrt source file 2025-03-14T05:25:09.6978083Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/tensor_type.py::is_consistent:0 2025-03-14T05:25:09.6980290Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/tensor_type.py::is_more_precise:0, line 93 <- wrt source file 2025-03-14T05:25:09.6982544Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/tensor_type.py::is_more_precise:0 2025-03-14T05:25:09.6985043Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/rewriter.py::AST_Rewriter.visit_AnnAssign:0, line 96 <- wrt source file 2025-03-14T05:25:09.6987834Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/rewriter.py::AST_Rewriter.visit_AnnAssign:0 2025-03-14T05:25:09.6990445Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/core.py::reify:0, line 58 <- wrt source file 2025-03-14T05:25:09.6992963Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/core.py::reify:0 2025-03-14T05:25:09.6995547Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/match.py::VarDispatcher:0, line 48 <- wrt source file 2025-03-14T05:25:09.6998508Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/match.py::VarDispatcher:0 2025-03-14T05:25:09.7001134Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/more.py::unifiable:0, line 11 <- wrt source file 2025-03-14T05:25:09.7003840Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/more.py::unifiable:0 2025-03-14T05:25:09.7006419Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/more.py::reify_object:0, line 37 <- wrt source file 2025-03-14T05:25:09.7009085Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/more.py::reify_object:0 2025-03-14T05:25:09.7011702Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/more.py::unify_object:0, line 93 <- wrt source file 2025-03-14T05:25:09.7014363Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/more.py::unify_object:0 2025-03-14T05:25:09.7017120Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/unification_tools.py::merge:0, line 37 <- wrt source file 2025-03-14T05:25:09.7019940Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/unification_tools.py::merge:0 2025-03-14T05:25:09.7022753Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/unification_tools.py::merge_with:0, line 64 <- wrt source file 2025-03-14T05:25:09.7025692Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/unification_tools.py::merge_with:0 2025-03-14T05:25:09.7028536Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/unification_tools.py::valmap:0, line 90 <- wrt source file 2025-03-14T05:25:09.7031377Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/unification_tools.py::valmap:0 2025-03-14T05:25:09.7034168Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/unification_tools.py::keymap:0, line 106 <- wrt source file 2025-03-14T05:25:09.7037015Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/unification_tools.py::keymap:0 2025-03-14T05:25:09.7039802Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/unification_tools.py::itemmap:0, line 122 <- wrt source file 2025-03-14T05:25:09.7042699Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/unification_tools.py::itemmap:0 2025-03-14T05:25:09.7045538Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/unification_tools.py::valfilter:0, line 138 <- wrt source file 2025-03-14T05:25:09.7048464Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/unification_tools.py::valfilter:0 2025-03-14T05:25:09.7051324Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/unification_tools.py::keyfilter:0, line 158 <- wrt source file 2025-03-14T05:25:09.7054239Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/unification_tools.py::keyfilter:0 2025-03-14T05:25:09.7057170Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/unification_tools.py::itemfilter:0, line 178 <- wrt source file 2025-03-14T05:25:09.7060209Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/unification_tools.py::itemfilter:0 2025-03-14T05:25:09.7063036Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/unification_tools.py::assoc:0, line 204 <- wrt source file 2025-03-14T05:25:09.7065931Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/unification_tools.py::assoc:0 2025-03-14T05:25:09.7068713Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/unification_tools.py::dissoc:0, line 221 <- wrt source file 2025-03-14T05:25:09.7071566Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/unification_tools.py::dissoc:0 2025-03-14T05:25:09.7074351Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/unification_tools.py::first:0, line 416 <- wrt source file 2025-03-14T05:25:09.7077166Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/unification_tools.py::first:0 2025-03-14T05:25:09.7079875Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/utils.py::transitive_get:0, line 15 <- wrt source file 2025-03-14T05:25:09.7082630Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/utils.py::transitive_get:0 2025-03-14T05:25:09.7085252Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/utils.py::_toposort:0, line 42 <- wrt source file 2025-03-14T05:25:09.7087884Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/utils.py::_toposort:0 2025-03-14T05:25:09.7090494Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/utils.py::reverse_dict:0, line 70 <- wrt source file 2025-03-14T05:25:09.7093184Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/utils.py::reverse_dict:0 2025-03-14T05:25:09.7095808Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/utils.py::freeze:0, line 95 <- wrt source file 2025-03-14T05:25:09.7098531Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/utils.py::freeze:0 2025-03-14T05:25:09.7101125Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/variable.py::variables:0, line 67 <- wrt source file 2025-03-14T05:25:09.7103847Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/variable.py::variables:0 2025-03-14T05:25:09.7106679Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/multipledispatch/core.py::dispatch:0, line 20 <- wrt source file 2025-03-14T05:25:09.7109695Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/multipledispatch/core.py::dispatch:0 2025-03-14T05:25:09.7112765Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/multipledispatch/dispatcher.py::Dispatcher:0, line 113 <- wrt source file 2025-03-14T05:25:09.7115970Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/multipledispatch/dispatcher.py::Dispatcher:0 2025-03-14T05:25:09.7119340Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/multipledispatch/dispatcher.py::Dispatcher.register:0, line 138 <- wrt source file 2025-03-14T05:25:09.7122745Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/multipledispatch/dispatcher.py::Dispatcher.register:0 2025-03-14T05:25:09.7126543Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/multipledispatch/dispatcher.py::Dispatcher.add:0, line 191 <- wrt source file 2025-03-14T05:25:09.7129848Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/multipledispatch/dispatcher.py::Dispatcher.add:0 2025-03-14T05:25:09.7133154Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/multipledispatch/dispatcher.py::Dispatcher.dispatch:0, line 304 <- wrt source file 2025-03-14T05:25:09.7136653Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/multipledispatch/dispatcher.py::Dispatcher.dispatch:0 2025-03-14T05:25:09.7139931Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/multipledispatch/dispatcher.py::str_signature:0, line 434 <- wrt source file 2025-03-14T05:25:09.7143208Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/multipledispatch/dispatcher.py::str_signature:0 2025-03-14T05:25:09.7146332Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/multipledispatch/utils.py::expand_tuples:0, line 18 <- wrt source file 2025-03-14T05:25:09.7149457Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/multipledispatch/utils.py::expand_tuples:0 2025-03-14T05:25:09.7152477Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/multipledispatch/utils.py::_toposort:0, line 41 <- wrt source file 2025-03-14T05:25:09.7155523Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/multipledispatch/utils.py::_toposort:0 2025-03-14T05:25:09.7158547Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/multipledispatch/utils.py::reverse_dict:0, line 68 <- wrt source file 2025-03-14T05:25:09.7161660Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/multipledispatch/utils.py::reverse_dict:0 2025-03-14T05:25:09.7164650Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/multipledispatch/utils.py::groupby:0, line 87 <- wrt source file 2025-03-14T05:25:09.7167663Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/multipledispatch/utils.py::groupby:0 2025-03-14T05:25:09.7170630Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/multipledispatch/utils.py::typename:0, line 117 <- wrt source file 2025-03-14T05:25:09.7173684Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/multipledispatch/utils.py::typename:0 2025-03-14T05:25:09.7176792Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/multipledispatch/variadic.py::isvariadic:0, line 47 <- wrt source file 2025-03-14T05:25:09.7179935Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/multipledispatch/variadic.py::isvariadic:0 2025-03-14T05:25:09.7183007Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/multipledispatch/variadic.py::Variadic:0, line 83 <- wrt source file 2025-03-14T05:25:09.7186212Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/multipledispatch/variadic.py::Variadic:0 2025-03-14T05:25:09.7189039Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/passes/graph_drawer.py::FxGraphDrawer.get_dot_graph:0, line 122 <- wrt source file 2025-03-14T05:25:09.7191843Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/passes/graph_drawer.py::FxGraphDrawer.get_dot_graph:0 2025-03-14T05:25:09.7194308Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/passes/shape_prop.py::ShapeProp:0, line 92 <- wrt source file 2025-03-14T05:25:09.7196615Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/passes/shape_prop.py::ShapeProp:0 2025-03-14T05:25:09.7199054Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/passes/split_module.py::split_module:0, line 85 <- wrt source file 2025-03-14T05:25:09.7201460Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/passes/split_module.py::split_module:0 2025-03-14T05:25:09.7204325Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/passes/utils/matcher_with_name_node_map_utils.py::SubgraphMatcherWithNameNodeMap:0, line 51 <- wrt source file 2025-03-14T05:25:09.7207652Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/passes/utils/matcher_with_name_node_map_utils.py::SubgraphMatcherWithNameNodeMap:0 2025-03-14T05:25:09.7210526Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/jit/_check.py::AttributeTypeIsSupportedChecker:0, line 36 <- wrt source file 2025-03-14T05:25:09.7213103Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/jit/_check.py::AttributeTypeIsSupportedChecker:0 2025-03-14T05:25:09.7215652Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/jit/mobile/__init__.py::_load_for_lite_interpreter:0, line 22 <- wrt source file 2025-03-14T05:25:09.7218212Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/jit/mobile/__init__.py::_load_for_lite_interpreter:0 2025-03-14T05:25:09.7220796Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/jit/mobile/__init__.py::_get_mobile_model_contained_types:0, line 122 <- wrt source file 2025-03-14T05:25:09.7223492Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/jit/mobile/__init__.py::_get_mobile_model_contained_types:0 2025-03-14T05:25:09.7226035Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/jit/mobile/__init__.py::_get_model_ops_and_info:0, line 214 <- wrt source file 2025-03-14T05:25:09.7228521Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/jit/mobile/__init__.py::_get_model_ops_and_info:0 2025-03-14T05:25:09.7230799Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/masked/_ops.py::logaddexp:0, line 1529 <- wrt source file 2025-03-14T05:25:09.7232925Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/masked/_ops.py::logaddexp:0 2025-03-14T05:25:09.7235216Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/masked/maskedtensor/core.py::is_masked_tensor:0, line 25 <- wrt source file 2025-03-14T05:25:09.7237755Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/masked/maskedtensor/core.py::is_masked_tensor:0 2025-03-14T05:25:09.7240317Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/functional.py::fractional_max_pool2d_with_indices:0, line 467 <- wrt source file 2025-03-14T05:25:09.7243119Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/functional.py::fractional_max_pool2d_with_indices:0 2025-03-14T05:25:09.7245722Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/functional.py::fractional_max_pool3d_with_indices:0, line 586 <- wrt source file 2025-03-14T05:25:09.7853071Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/functional.py::fractional_max_pool3d_with_indices:0 2025-03-14T05:25:09.7875232Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/functional.py::gumbel_softmax:0, line 2181 <- wrt source file 2025-03-14T05:25:09.7885259Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/functional.py::gumbel_softmax:0 2025-03-14T05:25:09.7887793Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/functional.py::embedding:0, line 2487 <- wrt source file 2025-03-14T05:25:09.7893830Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/functional.py::embedding:0 2025-03-14T05:25:09.7896063Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/functional.py::embedding_bag:0, line 2627 <- wrt source file 2025-03-14T05:25:09.7904314Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/functional.py::embedding_bag:0 2025-03-14T05:25:09.7906493Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/functional.py::ctc_loss:0, line 3059 <- wrt source file 2025-03-14T05:25:09.7922236Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/functional.py::ctc_loss:0 2025-03-14T05:25:09.7924355Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/functional.py::nll_loss:0, line 3136 <- wrt source file 2025-03-14T05:25:09.7928837Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/functional.py::nll_loss:0 2025-03-14T05:25:09.7931354Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/functional.py::cross_entropy:0, line 3466 <- wrt source file 2025-03-14T05:25:09.7938300Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/functional.py::cross_entropy:0 2025-03-14T05:25:09.7940966Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/functional.py::binary_cross_entropy:0, line 3538 <- wrt source file 2025-03-14T05:25:09.7945227Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/functional.py::binary_cross_entropy:0 2025-03-14T05:25:09.7947686Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/functional.py::binary_cross_entropy_with_logits:0, line 3615 <- wrt source file 2025-03-14T05:25:09.7951856Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/functional.py::binary_cross_entropy_with_logits:0 2025-03-14T05:25:09.7954509Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/functional.py::pad:0, line 5178 <- wrt source file 2025-03-14T05:25:09.7962028Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/functional.py::pad:0 2025-03-14T05:25:09.7964061Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/grad.py::conv1d_input:0, line 32 <- wrt source file 2025-03-14T05:25:09.7970659Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/grad.py::conv1d_input:0 2025-03-14T05:25:09.7972707Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/grad.py::conv1d_weight:0, line 79 <- wrt source file 2025-03-14T05:25:09.7975547Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/grad.py::conv1d_weight:0 2025-03-14T05:25:09.7977937Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/grad.py::conv2d_input:0, line 130 <- wrt source file 2025-03-14T05:25:09.7983494Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/grad.py::conv2d_input:0 2025-03-14T05:25:09.7985553Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/grad.py::conv2d_weight:0, line 177 <- wrt source file 2025-03-14T05:25:09.7988532Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/grad.py::conv2d_weight:0 2025-03-14T05:25:09.7990595Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/grad.py::conv3d_input:0, line 228 <- wrt source file 2025-03-14T05:25:09.8043073Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/grad.py::conv3d_input:0 2025-03-14T05:25:09.8045914Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/grad.py::conv3d_weight:0, line 275 <- wrt source file 2025-03-14T05:25:09.8063305Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/grad.py::conv3d_weight:0 2025-03-14T05:25:09.8065721Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/init.py::calculate_gain:0, line 102 <- wrt source file 2025-03-14T05:25:09.8068023Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/init.py::calculate_gain:0 2025-03-14T05:25:09.8070049Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/init.py::uniform_:0, line 159 <- wrt source file 2025-03-14T05:25:09.8072054Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/init.py::uniform_:0 2025-03-14T05:25:09.8074011Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/init.py::normal_:0, line 186 <- wrt source file 2025-03-14T05:25:09.8076006Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/init.py::normal_:0 2025-03-14T05:25:09.8078011Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/init.py::trunc_normal_:0, line 221 <- wrt source file 2025-03-14T05:25:09.8097378Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/init.py::trunc_normal_:0 2025-03-14T05:25:09.8099541Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/init.py::constant_:0, line 235 <- wrt source file 2025-03-14T05:25:09.8102119Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/init.py::constant_:0 2025-03-14T05:25:09.8104064Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/init.py::ones_:0, line 252 <- wrt source file 2025-03-14T05:25:09.8106027Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/init.py::ones_:0 2025-03-14T05:25:09.8107947Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/init.py::zeros_:0, line 265 <- wrt source file 2025-03-14T05:25:09.8109916Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/init.py::zeros_:0 2025-03-14T05:25:09.8111818Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/init.py::eye_:0, line 281 <- wrt source file 2025-03-14T05:25:09.8113768Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/init.py::eye_:0 2025-03-14T05:25:09.8115701Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/init.py::dirac_:0, line 303 <- wrt source file 2025-03-14T05:25:09.8117916Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/init.py::dirac_:0 2025-03-14T05:25:09.8120174Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/init.py::xavier_uniform_:0, line 389 <- wrt source file 2025-03-14T05:25:09.8122545Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/init.py::xavier_uniform_:0 2025-03-14T05:25:09.8124636Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/init.py::xavier_normal_:0, line 429 <- wrt source file 2025-03-14T05:25:09.8126878Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/init.py::xavier_normal_:0 2025-03-14T05:25:09.8128987Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/init.py::kaiming_uniform_:0, line 488 <- wrt source file 2025-03-14T05:25:09.8131151Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/init.py::kaiming_uniform_:0 2025-03-14T05:25:09.8133270Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/init.py::kaiming_normal_:0, line 553 <- wrt source file 2025-03-14T05:25:09.8135409Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/init.py::kaiming_normal_:0 2025-03-14T05:25:09.8137531Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/init.py::orthogonal_:0, line 592 <- wrt source file 2025-03-14T05:25:09.8139617Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/init.py::orthogonal_:0 2025-03-14T05:25:09.8141626Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/init.py::sparse_:0, line 645 <- wrt source file 2025-03-14T05:25:09.8143648Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/init.py::sparse_:0 2025-03-14T05:25:09.8145779Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/attention/__init__.py::sdpa_kernel:0, line 117 <- wrt source file 2025-03-14T05:25:09.8148123Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/attention/__init__.py::sdpa_kernel:0 2025-03-14T05:25:09.8150388Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/attention/bias.py::CausalBias:0, line 94 <- wrt source file 2025-03-14T05:25:09.8152657Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/attention/bias.py::CausalBias:0 2025-03-14T05:25:09.8154929Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::Threshold:0, line 70 <- wrt source file 2025-03-14T05:25:09.8157282Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::Threshold:0 2025-03-14T05:25:09.8159520Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::ReLU:0, line 112 <- wrt source file 2025-03-14T05:25:09.8161769Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::ReLU:0 2025-03-14T05:25:09.8163951Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::RReLU:0, line 171 <- wrt source file 2025-03-14T05:25:09.8166191Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::RReLU:0 2025-03-14T05:25:09.8168443Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::Hardtanh:0, line 227 <- wrt source file 2025-03-14T05:25:09.8170748Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::Hardtanh:0 2025-03-14T05:25:09.8172984Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::ReLU6:0, line 292 <- wrt source file 2025-03-14T05:25:09.8175358Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::ReLU6:0 2025-03-14T05:25:09.8177665Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::Sigmoid:0, line 320 <- wrt source file 2025-03-14T05:25:09.8179965Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::Sigmoid:0 2025-03-14T05:25:09.8182332Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::Hardsigmoid:0, line 352 <- wrt source file 2025-03-14T05:25:09.8184742Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::Hardsigmoid:0 2025-03-14T05:25:09.8186999Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::Tanh:0, line 385 <- wrt source file 2025-03-14T05:25:09.8189225Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::Tanh:0 2025-03-14T05:25:09.8191408Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::SiLU:0, line 418 <- wrt source file 2025-03-14T05:25:09.8193637Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::SiLU:0 2025-03-14T05:25:09.8195828Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::Mish:0, line 457 <- wrt source file 2025-03-14T05:25:09.8198184Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::Mish:0 2025-03-14T05:25:09.8200445Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::Hardswish:0, line 502 <- wrt source file 2025-03-14T05:25:09.8202785Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::Hardswish:0 2025-03-14T05:25:09.8205027Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::ELU:0, line 545 <- wrt source file 2025-03-14T05:25:09.8207249Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::ELU:0 2025-03-14T05:25:09.8209426Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::CELU:0, line 587 <- wrt source file 2025-03-14T05:25:09.8211674Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::CELU:0 2025-03-14T05:25:09.8213872Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::SELU:0, line 640 <- wrt source file 2025-03-14T05:25:09.8216171Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::SELU:0 2025-03-14T05:25:09.8218355Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::GLU:0, line 678 <- wrt source file 2025-03-14T05:25:09.8220576Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::GLU:0 2025-03-14T05:25:09.8222935Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::GELU:0, line 720 <- wrt source file 2025-03-14T05:25:09.8225189Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::GELU:0 2025-03-14T05:25:09.8227462Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::Hardshrink:0, line 763 <- wrt source file 2025-03-14T05:25:09.8229833Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::Hardshrink:0 2025-03-14T05:25:09.8232290Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::LeakyReLU:0, line 812 <- wrt source file 2025-03-14T05:25:09.8234634Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::LeakyReLU:0 2025-03-14T05:25:09.8236961Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::LogSigmoid:0, line 848 <- wrt source file 2025-03-14T05:25:09.8239432Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::LogSigmoid:0 2025-03-14T05:25:09.8241732Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::Softplus:0, line 881 <- wrt source file 2025-03-14T05:25:09.8244052Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::Softplus:0 2025-03-14T05:25:09.8246351Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::Softshrink:0, line 924 <- wrt source file 2025-03-14T05:25:09.8248719Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::Softshrink:0 2025-03-14T05:25:09.8251154Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::MultiheadAttention:0, line 1031 <- wrt source file 2025-03-14T05:25:09.8253723Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::MultiheadAttention:0 2025-03-14T05:25:09.8256124Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::PReLU:0, line 1494 <- wrt source file 2025-03-14T05:25:09.8258399Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::PReLU:0 2025-03-14T05:25:09.8260667Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::Softsign:0, line 1536 <- wrt source file 2025-03-14T05:25:09.8263000Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::Softsign:0 2025-03-14T05:25:09.8265399Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::Tanhshrink:0, line 1559 <- wrt source file 2025-03-14T05:25:09.8267778Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::Tanhshrink:0 2025-03-14T05:25:09.8270067Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::Softmin:0, line 1594 <- wrt source file 2025-03-14T05:25:09.8272360Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::Softmin:0 2025-03-14T05:25:09.8274609Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::Softmax:0, line 1652 <- wrt source file 2025-03-14T05:25:09.8276923Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::Softmax:0 2025-03-14T05:25:09.8279616Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::Softmax2d:0, line 1693 <- wrt source file 2025-03-14T05:25:09.8282344Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::Softmax2d:0 2025-03-14T05:25:09.8285007Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::LogSoftmax:0, line 1729 <- wrt source file 2025-03-14T05:25:09.8287377Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/activation.py::LogSoftmax:0 2025-03-14T05:25:09.8289727Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/batchnorm.py::BatchNorm1d:0, line 330 <- wrt source file 2025-03-14T05:25:09.8292201Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/batchnorm.py::BatchNorm1d:0 2025-03-14T05:25:09.8294506Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/batchnorm.py::BatchNorm2d:0, line 441 <- wrt source file 2025-03-14T05:25:09.8534566Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/batchnorm.py::BatchNorm2d:0 2025-03-14T05:25:09.8537715Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/batchnorm.py::BatchNorm3d:0, line 552 <- wrt source file 2025-03-14T05:25:10.1133733Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/batchnorm.py::BatchNorm3d:0 2025-03-14T05:25:10.1306861Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/channelshuffle.py::ChannelShuffle:0, line 21 <- wrt source file 2025-03-14T05:25:10.1328930Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/channelshuffle.py::ChannelShuffle:0 2025-03-14T05:25:10.1331597Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/container.py::Sequential:0, line 76 <- wrt source file 2025-03-14T05:25:10.1334170Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/container.py::Sequential:0 2025-03-14T05:25:10.1336505Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/container.py::ModuleList:0, line 282 <- wrt source file 2025-03-14T05:25:10.1338854Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/container.py::ModuleList:0 2025-03-14T05:25:10.1341358Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/container.py::ModuleDict:0, line 464 <- wrt source file 2025-03-14T05:25:10.1343818Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/container.py::ModuleDict:0 2025-03-14T05:25:10.1346572Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/container.py::ParameterList:0, line 596 <- wrt source file 2025-03-14T05:25:10.1349499Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/container.py::ParameterList:0 2025-03-14T05:25:10.1352120Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/container.py::ParameterDict:0, line 748 <- wrt source file 2025-03-14T05:25:10.1354692Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/container.py::ParameterDict:0 2025-03-14T05:25:10.1357510Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/distance.py::PairwiseDistance:0, line 38 <- wrt source file 2025-03-14T05:25:10.1360206Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/distance.py::PairwiseDistance:0 2025-03-14T05:25:10.1362975Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/distance.py::CosineSimilarity:0, line 77 <- wrt source file 2025-03-14T05:25:10.1365852Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/distance.py::CosineSimilarity:0 2025-03-14T05:25:10.1368518Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/dropout.py::Dropout:0, line 60 <- wrt source file 2025-03-14T05:25:10.1371134Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/dropout.py::Dropout:0 2025-03-14T05:25:10.1373712Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/dropout.py::Dropout1d:0, line 105 <- wrt source file 2025-03-14T05:25:10.1376700Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/dropout.py::Dropout1d:0 2025-03-14T05:25:10.1379095Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/dropout.py::Dropout2d:0, line 157 <- wrt source file 2025-03-14T05:25:10.1402928Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/dropout.py::Dropout2d:0 2025-03-14T05:25:10.1405773Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/dropout.py::Dropout3d:0, line 202 <- wrt source file 2025-03-14T05:25:10.1480384Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/dropout.py::Dropout3d:0 2025-03-14T05:25:10.1482858Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/dropout.py::AlphaDropout:0, line 245 <- wrt source file 2025-03-14T05:25:10.1486655Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/dropout.py::AlphaDropout:0 2025-03-14T05:25:10.1489440Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/dropout.py::FeatureAlphaDropout:0, line 294 <- wrt source file 2025-03-14T05:25:10.1566281Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/dropout.py::FeatureAlphaDropout:0 2025-03-14T05:25:10.1568822Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/flatten.py::Flatten:0, line 30 <- wrt source file 2025-03-14T05:25:10.1575125Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/flatten.py::Flatten:0 2025-03-14T05:25:10.1577294Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/fold.py::Fold:0, line 111 <- wrt source file 2025-03-14T05:25:10.1583109Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/fold.py::Fold:0 2025-03-14T05:25:10.1585509Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/fold.py::Unfold:0, line 261 <- wrt source file 2025-03-14T05:25:10.1599712Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/fold.py::Unfold:0 2025-03-14T05:25:10.1602069Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/instancenorm.py::InstanceNorm1d:0, line 187 <- wrt source file 2025-03-14T05:25:10.1613301Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/instancenorm.py::InstanceNorm1d:0 2025-03-14T05:25:10.1615866Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/instancenorm.py::InstanceNorm2d:0, line 303 <- wrt source file 2025-03-14T05:25:10.1808110Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/instancenorm.py::InstanceNorm2d:0 2025-03-14T05:25:10.4385093Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/instancenorm.py::InstanceNorm3d:0, line 419 <- wrt source file 2025-03-14T05:25:10.4387705Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/instancenorm.py::InstanceNorm3d:0 2025-03-14T05:25:10.4545688Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/lazy.py::LazyModuleMixin:0, line 87 <- wrt source file 2025-03-14T05:25:10.4548069Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/lazy.py::LazyModuleMixin:0 2025-03-14T05:25:10.4550295Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/linear.py::Identity:0, line 34 <- wrt source file 2025-03-14T05:25:10.4555232Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/linear.py::Identity:0 2025-03-14T05:25:10.4557418Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/linear.py::Linear:0, line 80 <- wrt source file 2025-03-14T05:25:10.4564187Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/linear.py::Linear:0 2025-03-14T05:25:10.4567111Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/linear.py::Bilinear:0, line 179 <- wrt source file 2025-03-14T05:25:10.4588391Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/linear.py::Bilinear:0 2025-03-14T05:25:10.4590547Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/loss.py::L1Loss:0, line 115 <- wrt source file 2025-03-14T05:25:10.4596543Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/loss.py::L1Loss:0 2025-03-14T05:25:10.4598848Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/loss.py::NLLLoss:0, line 211 <- wrt source file 2025-03-14T05:25:10.4624100Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/loss.py::NLLLoss:0 2025-03-14T05:25:10.4626689Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/loss.py::PoissonNLLLoss:0, line 321 <- wrt source file 2025-03-14T05:25:10.4633223Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/loss.py::PoissonNLLLoss:0 2025-03-14T05:25:10.4635907Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/loss.py::GaussianNLLLoss:0, line 406 <- wrt source file 2025-03-14T05:25:10.4649668Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/loss.py::GaussianNLLLoss:0 2025-03-14T05:25:10.4651920Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/loss.py::KLDivLoss:0, line 519 <- wrt source file 2025-03-14T05:25:10.4658805Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/loss.py::KLDivLoss:0 2025-03-14T05:25:10.4661261Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/loss.py::MSELoss:0, line 597 <- wrt source file 2025-03-14T05:25:10.4665503Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/loss.py::MSELoss:0 2025-03-14T05:25:10.4667614Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/loss.py::BCELoss:0, line 679 <- wrt source file 2025-03-14T05:25:10.4673061Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/loss.py::BCELoss:0 2025-03-14T05:25:10.4675394Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/loss.py::BCEWithLogitsLoss:0, line 750 <- wrt source file 2025-03-14T05:25:10.4685479Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/loss.py::BCEWithLogitsLoss:0 2025-03-14T05:25:10.4687851Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/loss.py::MultiLabelMarginLoss:0, line 943 <- wrt source file 2025-03-14T05:25:10.4693763Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/loss.py::MultiLabelMarginLoss:0 2025-03-14T05:25:10.4696174Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/loss.py::CrossEntropyLoss:0, line 1265 <- wrt source file 2025-03-14T05:25:10.4703162Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/loss.py::CrossEntropyLoss:0 2025-03-14T05:25:10.4706162Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/loss.py::CosineEmbeddingLoss:0, line 1405 <- wrt source file 2025-03-14T05:25:10.4713072Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/loss.py::CosineEmbeddingLoss:0 2025-03-14T05:25:10.4715439Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/loss.py::MarginRankingLoss:0, line 1470 <- wrt source file 2025-03-14T05:25:10.4721063Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/loss.py::MarginRankingLoss:0 2025-03-14T05:25:10.4723453Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/loss.py::MultiMarginLoss:0, line 1549 <- wrt source file 2025-03-14T05:25:10.4729584Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/loss.py::MultiMarginLoss:0 2025-03-14T05:25:10.4731928Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/loss.py::TripletMarginLoss:0, line 1649 <- wrt source file 2025-03-14T05:25:10.4741760Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/loss.py::TripletMarginLoss:0 2025-03-14T05:25:10.4744072Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/loss.py::CTCLoss:0, line 1890 <- wrt source file 2025-03-14T05:25:10.4773374Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/loss.py::CTCLoss:0 2025-03-14T05:25:10.4775765Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/module.py::Module.register_buffer:0, line 538 <- wrt source file 2025-03-14T05:25:10.4778295Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/module.py::Module.register_buffer:0 2025-03-14T05:25:10.4780670Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/module.py::Module.apply:0, line 1020 <- wrt source file 2025-03-14T05:25:10.4788560Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/module.py::Module.apply:0 2025-03-14T05:25:10.4790780Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/module.py::Module.to:0, line 1274 <- wrt source file 2025-03-14T05:25:10.4795940Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/module.py::Module.to:0 2025-03-14T05:25:10.4798584Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/module.py::Module.state_dict:0, line 2192 <- wrt source file 2025-03-14T05:25:10.4801118Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/module.py::Module.state_dict:0 2025-03-14T05:25:10.4803427Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/module.py::Module.parameters:0, line 2634 <- wrt source file 2025-03-14T05:25:10.4805831Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/module.py::Module.parameters:0 2025-03-14T05:25:10.4808339Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/module.py::Module.named_parameters:0, line 2662 <- wrt source file 2025-03-14T05:25:10.4810870Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/module.py::Module.named_parameters:0 2025-03-14T05:25:10.4813285Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/module.py::Module.buffers:0, line 2689 <- wrt source file 2025-03-14T05:25:10.4815813Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/module.py::Module.buffers:0 2025-03-14T05:25:10.4818507Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/module.py::Module.named_buffers:0, line 2716 <- wrt source file 2025-03-14T05:25:10.4821213Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/module.py::Module.named_buffers:0 2025-03-14T05:25:10.4823857Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/module.py::Module.named_children:0, line 2747 <- wrt source file 2025-03-14T05:25:10.4826388Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/module.py::Module.named_children:0 2025-03-14T05:25:10.4829343Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/module.py::Module.modules:0, line 2771 <- wrt source file 2025-03-14T05:25:10.4832268Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/module.py::Module.modules:0 2025-03-14T05:25:10.4834953Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/module.py::Module.named_modules:0, line 2809 <- wrt source file 2025-03-14T05:25:10.4837623Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/module.py::Module.named_modules:0 2025-03-14T05:25:10.4840370Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/normalization.py::LocalResponseNorm:0, line 38 <- wrt source file 2025-03-14T05:25:10.4864686Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/normalization.py::LocalResponseNorm:0 2025-03-14T05:25:10.4867812Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/normalization.py::LayerNorm:0, line 151 <- wrt source file 2025-03-14T05:25:10.4875969Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/normalization.py::LayerNorm:0 2025-03-14T05:25:10.4878770Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/normalization.py::GroupNorm:0, line 262 <- wrt source file 2025-03-14T05:25:10.4886852Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/normalization.py::GroupNorm:0 2025-03-14T05:25:10.4889524Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/normalization.py::RMSNorm:0, line 355 <- wrt source file 2025-03-14T05:25:10.4894033Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/normalization.py::RMSNorm:0 2025-03-14T05:25:10.4896303Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/padding.py::CircularPad1d:0, line 69 <- wrt source file 2025-03-14T05:25:10.4902782Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/padding.py::CircularPad1d:0 2025-03-14T05:25:10.4905017Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/padding.py::CircularPad2d:0, line 120 <- wrt source file 2025-03-14T05:25:10.4923948Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/padding.py::CircularPad2d:0 2025-03-14T05:25:10.4926207Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/padding.py::CircularPad3d:0, line 184 <- wrt source file 2025-03-14T05:25:11.1447878Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/padding.py::CircularPad3d:0 2025-03-14T05:25:11.1734426Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/padding.py::ConstantPad1d:0, line 238 <- wrt source file 2025-03-14T05:25:11.1744397Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/padding.py::ConstantPad1d:0 2025-03-14T05:25:11.1747072Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/padding.py::ConstantPad2d:0, line 291 <- wrt source file 2025-03-14T05:25:11.1751309Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/padding.py::ConstantPad2d:0 2025-03-14T05:25:11.1753635Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/padding.py::ConstantPad3d:0, line 347 <- wrt source file 2025-03-14T05:25:11.1777813Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/padding.py::ConstantPad3d:0 2025-03-14T05:25:11.1780189Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/padding.py::ReflectionPad1d:0, line 391 <- wrt source file 2025-03-14T05:25:11.1784266Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/padding.py::ReflectionPad1d:0 2025-03-14T05:25:11.1786662Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/padding.py::ReflectionPad2d:0, line 435 <- wrt source file 2025-03-14T05:25:11.1790430Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/padding.py::ReflectionPad2d:0 2025-03-14T05:25:11.1792781Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/padding.py::ReflectionPad3d:0, line 492 <- wrt source file 2025-03-14T05:25:11.1795212Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/padding.py::ReflectionPad3d:0 2025-03-14T05:25:11.1797597Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/padding.py::ReplicationPad1d:0, line 550 <- wrt source file 2025-03-14T05:25:11.1802338Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/padding.py::ReplicationPad1d:0 2025-03-14T05:25:11.1804796Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/padding.py::ReplicationPad2d:0, line 593 <- wrt source file 2025-03-14T05:25:11.1808541Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/padding.py::ReplicationPad2d:0 2025-03-14T05:25:11.1810958Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/padding.py::ReplicationPad3d:0, line 650 <- wrt source file 2025-03-14T05:25:11.7219658Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/padding.py::ReplicationPad3d:0 2025-03-14T05:25:11.7503468Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/padding.py::ZeroPad1d:0, line 684 <- wrt source file 2025-03-14T05:25:11.7513997Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/padding.py::ZeroPad1d:0 2025-03-14T05:25:11.7516184Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/padding.py::ZeroPad2d:0, line 739 <- wrt source file 2025-03-14T05:25:11.7521617Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/padding.py::ZeroPad2d:0 2025-03-14T05:25:11.7523899Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/padding.py::ZeroPad3d:0, line 798 <- wrt source file 2025-03-14T05:25:11.7547011Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/padding.py::ZeroPad3d:0 2025-03-14T05:25:11.7549310Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pixelshuffle.py::PixelShuffle:0, line 40 <- wrt source file 2025-03-14T05:25:11.7553213Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pixelshuffle.py::PixelShuffle:0 2025-03-14T05:25:11.7555970Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pixelshuffle.py::PixelUnshuffle:0, line 93 <- wrt source file 2025-03-14T05:25:11.7559249Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pixelshuffle.py::PixelUnshuffle:0 2025-03-14T05:25:11.7561591Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pooling.py::MaxPool1d:0, line 118 <- wrt source file 2025-03-14T05:25:11.7565391Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pooling.py::MaxPool1d:0 2025-03-14T05:25:11.7567641Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pooling.py::MaxPool2d:0, line 195 <- wrt source file 2025-03-14T05:25:11.7620108Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pooling.py::MaxPool2d:0 2025-03-14T05:25:11.7622309Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pooling.py::MaxPool3d:0, line 278 <- wrt source file 2025-03-14T05:25:12.0000725Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pooling.py::MaxPool3d:0 2025-03-14T05:25:12.0058459Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pooling.py::MaxUnpool1d:0, line 352 <- wrt source file 2025-03-14T05:25:12.0071356Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pooling.py::MaxUnpool1d:0 2025-03-14T05:25:12.0073945Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pooling.py::MaxUnpool3d:0, line 534 <- wrt source file 2025-03-14T05:25:12.0919796Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pooling.py::MaxUnpool3d:0 2025-03-14T05:25:12.0921944Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pooling.py::AvgPool1d:0, line 622 <- wrt source file 2025-03-14T05:25:12.0942003Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pooling.py::AvgPool1d:0 2025-03-14T05:25:12.0944254Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pooling.py::AvgPool2d:0, line 714 <- wrt source file 2025-03-14T05:25:12.0985127Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pooling.py::AvgPool2d:0 2025-03-14T05:25:12.0987385Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pooling.py::AvgPool3d:0, line 827 <- wrt source file 2025-03-14T05:25:12.2669704Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pooling.py::AvgPool3d:0 2025-03-14T05:25:12.2727172Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pooling.py::FractionalMaxPool2d:0, line 917 <- wrt source file 2025-03-14T05:25:12.2780366Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pooling.py::FractionalMaxPool2d:0 2025-03-14T05:25:12.2782871Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pooling.py::FractionalMaxPool3d:0, line 1003 <- wrt source file 2025-03-14T05:25:12.3479882Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pooling.py::FractionalMaxPool3d:0 2025-03-14T05:25:12.3482256Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pooling.py::LPPool1d:0, line 1117 <- wrt source file 2025-03-14T05:25:12.3489075Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pooling.py::LPPool1d:0 2025-03-14T05:25:12.3491673Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pooling.py::LPPool2d:0, line 1168 <- wrt source file 2025-03-14T05:25:12.3547612Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pooling.py::LPPool2d:0 2025-03-14T05:25:12.3550468Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pooling.py::LPPool3d:0, line 1227 <- wrt source file 2025-03-14T05:25:12.5771091Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pooling.py::LPPool3d:0 2025-03-14T05:25:12.5829641Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pooling.py::AdaptiveMaxPool1d:0, line 1282 <- wrt source file 2025-03-14T05:25:12.5844546Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pooling.py::AdaptiveMaxPool1d:0 2025-03-14T05:25:12.5846913Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pooling.py::AdaptiveMaxPool2d:0, line 1316 <- wrt source file 2025-03-14T05:25:12.5856589Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pooling.py::AdaptiveMaxPool2d:0 2025-03-14T05:25:12.5859644Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pooling.py::AdaptiveMaxPool3d:0, line 1359 <- wrt source file 2025-03-14T05:25:12.5954657Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pooling.py::AdaptiveMaxPool3d:0 2025-03-14T05:25:12.5957102Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pooling.py::AdaptiveAvgPool1d:0, line 1406 <- wrt source file 2025-03-14T05:25:12.5960655Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pooling.py::AdaptiveAvgPool1d:0 2025-03-14T05:25:12.5963646Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pooling.py::AdaptiveAvgPool2d:0, line 1437 <- wrt source file 2025-03-14T05:25:12.5972438Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pooling.py::AdaptiveAvgPool2d:0 2025-03-14T05:25:12.5974924Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pooling.py::AdaptiveAvgPool3d:0, line 1476 <- wrt source file 2025-03-14T05:25:12.5996215Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pooling.py::AdaptiveAvgPool3d:0 2025-03-14T05:25:12.5998575Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/rnn.py::RNN:0, line 591 <- wrt source file 2025-03-14T05:25:12.6008597Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/rnn.py::RNN:0 2025-03-14T05:25:12.6011794Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/rnn.py::LSTM:0, line 948 <- wrt source file 2025-03-14T05:25:12.6358674Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/rnn.py::LSTM:0 2025-03-14T05:25:12.6360611Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/rnn.py::GRU:0, line 1285 <- wrt source file 2025-03-14T05:25:12.6378654Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/rnn.py::GRU:0 2025-03-14T05:25:12.6381464Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/rnn.py::RNNCell:0, line 1536 <- wrt source file 2025-03-14T05:25:12.6392560Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/rnn.py::RNNCell:0 2025-03-14T05:25:12.6395069Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/rnn.py::LSTMCell:0, line 1658 <- wrt source file 2025-03-14T05:25:12.6405550Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/rnn.py::LSTMCell:0 2025-03-14T05:25:12.6408453Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/rnn.py::GRUCell:0, line 1772 <- wrt source file 2025-03-14T05:25:12.6421557Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/rnn.py::GRUCell:0 2025-03-14T05:25:12.6424903Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/sparse.py::Embedding:0, line 69 <- wrt source file 2025-03-14T05:25:12.6437148Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/sparse.py::Embedding:0 2025-03-14T05:25:12.6439441Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/sparse.py::Embedding.from_pretrained:0, line 241 <- wrt source file 2025-03-14T05:25:12.6444245Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/sparse.py::Embedding.from_pretrained:0 2025-03-14T05:25:12.6446738Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/sparse.py::EmbeddingBag.from_pretrained:0, line 519 <- wrt source file 2025-03-14T05:25:12.6453184Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/sparse.py::EmbeddingBag.from_pretrained:0 2025-03-14T05:25:12.6456142Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/transformer.py::Transformer:0, line 88 <- wrt source file 2025-03-14T05:25:13.4981301Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/transformer.py::Transformer:0 2025-03-14T05:25:13.4998981Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/transformer.py::Transformer.forward:0, line 256 <- wrt source file 2025-03-14T05:25:13.5001716Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/transformer.py::Transformer.forward:0 2025-03-14T05:25:13.5004265Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/transformer.py::TransformerEncoder:0, line 326 <- wrt source file 2025-03-14T05:25:13.6131370Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/transformer.py::TransformerEncoder:0 2025-03-14T05:25:13.6138339Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/transformer.py::TransformerDecoder:0, line 544 <- wrt source file 2025-03-14T05:25:13.8555392Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/transformer.py::TransformerDecoder:0 2025-03-14T05:25:13.8563366Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/transformer.py::TransformerEncoderLayer:0, line 667 <- wrt source file 2025-03-14T05:25:13.8867792Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/transformer.py::TransformerEncoderLayer:0 2025-03-14T05:25:13.8956324Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/transformer.py::TransformerDecoderLayer:0, line 973 <- wrt source file 2025-03-14T05:25:13.9523596Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/transformer.py::TransformerDecoderLayer:0 2025-03-14T05:25:13.9526101Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/upsampling.py::Upsample:0, line 77 <- wrt source file 2025-03-14T05:25:13.9550121Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/upsampling.py::Upsample:0 2025-03-14T05:25:13.9552586Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/upsampling.py::UpsamplingNearest2d:0, line 223 <- wrt source file 2025-03-14T05:25:13.9561478Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/upsampling.py::UpsamplingNearest2d:0 2025-03-14T05:25:13.9564057Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/upsampling.py::UpsamplingBilinear2d:0, line 273 <- wrt source file 2025-03-14T05:25:13.9570083Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/upsampling.py::UpsamplingBilinear2d:0 2025-03-14T05:25:13.9572611Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/parallel/data_parallel.py::DataParallel:0, line 127 <- wrt source file 2025-03-14T05:25:13.9575204Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/parallel/data_parallel.py::DataParallel:0 2025-03-14T05:25:13.9577845Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/parallel/distributed.py::DistributedDataParallel:0, line 625 <- wrt source file 2025-03-14T05:25:13.9580585Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/parallel/distributed.py::DistributedDataParallel:0 2025-03-14T05:25:13.9583357Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/parallel/distributed.py::DistributedDataParallel.no_sync:0, line 1423 <- wrt source file 2025-03-14T05:25:13.9586265Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/parallel/distributed.py::DistributedDataParallel.no_sync:0 2025-03-14T05:25:13.9589229Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/parallel/distributed.py::DistributedDataParallel.register_comm_hook:0, line 1975 <- wrt source file 2025-03-14T05:25:13.9592318Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/parallel/distributed.py::DistributedDataParallel.register_comm_hook:0 2025-03-14T05:25:13.9595380Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/parallel/distributed.py::DistributedDataParallel.register_comm_hook:1, line 1985 <- wrt source file 2025-03-14T05:25:13.9598628Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/parallel/distributed.py::DistributedDataParallel.register_comm_hook:1 2025-03-14T05:25:13.9601786Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/parallel/distributed.py::DistributedDataParallel._register_builtin_comm_hook:0, line 2020 <- wrt source file 2025-03-14T05:25:13.9605027Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/parallel/distributed.py::DistributedDataParallel._register_builtin_comm_hook:0 2025-03-14T05:25:13.9607875Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/_per_sample_grad.py::call_for_per_sample_grads:0, line 35 <- wrt source file 2025-03-14T05:25:13.9610507Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/_per_sample_grad.py::call_for_per_sample_grads:0 2025-03-14T05:25:13.9612851Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/init.py::skip_init:0, line 33 <- wrt source file 2025-03-14T05:25:13.9614987Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/init.py::skip_init:0 2025-03-14T05:25:13.9617348Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/parametrizations.py::orthogonal:0, line 265 <- wrt source file 2025-03-14T05:25:13.9619817Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/parametrizations.py::orthogonal:0 2025-03-14T05:25:13.9622257Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/parametrizations.py::weight_norm:0, line 360 <- wrt source file 2025-03-14T05:25:13.9624990Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/parametrizations.py::weight_norm:0 2025-03-14T05:25:13.9627447Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/parametrizations.py::spectral_norm:0, line 591 <- wrt source file 2025-03-14T05:25:13.9629982Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/parametrizations.py::spectral_norm:0 2025-03-14T05:25:13.9632633Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/parametrize.py::register_parametrization:0, line 505 <- wrt source file 2025-03-14T05:25:13.9635279Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/parametrize.py::register_parametrization:0 2025-03-14T05:25:13.9637611Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/prune.py::identity:0, line 844 <- wrt source file 2025-03-14T05:25:13.9639771Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/prune.py::identity:0 2025-03-14T05:25:13.9642012Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/prune.py::random_unstructured:0, line 880 <- wrt source file 2025-03-14T05:25:13.9644396Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/prune.py::random_unstructured:0 2025-03-14T05:25:13.9646680Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/prune.py::l1_unstructured:0, line 923 <- wrt source file 2025-03-14T05:25:13.9648962Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/prune.py::l1_unstructured:0 2025-03-14T05:25:13.9651137Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/prune.py::remove:0, line 1190 <- wrt source file 2025-03-14T05:25:13.9653270Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/prune.py::remove:0 2025-03-14T05:25:13.9655381Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/prune.py::is_pruned:0, line 1218 <- wrt source file 2025-03-14T05:25:13.9657647Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/prune.py::is_pruned:0 2025-03-14T05:25:13.9659861Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/rnn.py::pad_packed_sequence:0, line 354 <- wrt source file 2025-03-14T05:25:13.9662180Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/rnn.py::pad_packed_sequence:0 2025-03-14T05:25:13.9664387Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/rnn.py::pad_sequence:0, line 432 <- wrt source file 2025-03-14T05:25:13.9666552Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/rnn.py::pad_sequence:0 2025-03-14T05:25:13.9668717Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/rnn.py::unpad_sequence:0, line 490 <- wrt source file 2025-03-14T05:25:13.9674004Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/rnn.py::unpad_sequence:0 2025-03-14T05:25:13.9676214Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/rnn.py::pack_sequence:0, line 546 <- wrt source file 2025-03-14T05:25:13.9681697Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/rnn.py::pack_sequence:0 2025-03-14T05:25:13.9683886Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/rnn.py::unpack_sequence:0, line 574 <- wrt source file 2025-03-14T05:25:13.9698117Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/rnn.py::unpack_sequence:0 2025-03-14T05:25:13.9700434Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/spectral_norm.py::spectral_norm:0, line 313 <- wrt source file 2025-03-14T05:25:13.9705957Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/spectral_norm.py::spectral_norm:0 2025-03-14T05:25:13.9708614Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/spectral_norm.py::remove_spectral_norm:0, line 345 <- wrt source file 2025-03-14T05:25:13.9713724Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/spectral_norm.py::remove_spectral_norm:0 2025-03-14T05:25:13.9716180Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/stateless.py::functional_call:0, line 196 <- wrt source file 2025-03-14T05:25:13.9718650Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/stateless.py::functional_call:0 2025-03-14T05:25:13.9720964Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/weight_norm.py::weight_norm:0, line 133 <- wrt source file 2025-03-14T05:25:13.9725288Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/weight_norm.py::weight_norm:0 2025-03-14T05:25:13.9727663Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/weight_norm.py::remove_weight_norm:0, line 155 <- wrt source file 2025-03-14T05:25:13.9731522Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/weight_norm.py::remove_weight_norm:0 2025-03-14T05:25:13.9734019Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/_expanded_weights/conv_utils.py::unfold3d:0, line 315 <- wrt source file 2025-03-14T05:25:13.9736713Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/_expanded_weights/conv_utils.py::unfold3d:0 2025-03-14T05:25:13.9739594Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/_expanded_weights/expanded_weights_utils.py::sum_over_all_but_batch_and_last_n:0, line 178 <- wrt source file 2025-03-14T05:25:13.9818928Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/_expanded_weights/expanded_weights_utils.py::sum_over_all_but_batch_and_last_n:0 2025-03-14T05:25:13.9821631Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/optim/lr_scheduler.py::LambdaLR:0, line 258 <- wrt source file 2025-03-14T05:25:13.9823887Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/optim/lr_scheduler.py::LambdaLR:0 2025-03-14T05:25:13.9826184Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/optim/lr_scheduler.py::MultiplicativeLR:0, line 353 <- wrt source file 2025-03-14T05:25:13.9828621Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/optim/lr_scheduler.py::MultiplicativeLR:0 2025-03-14T05:25:13.9830882Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/optim/lr_scheduler.py::StepLR:0, line 446 <- wrt source file 2025-03-14T05:25:13.9833071Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/optim/lr_scheduler.py::StepLR:0 2025-03-14T05:25:13.9835286Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/optim/lr_scheduler.py::MultiStepLR:0, line 499 <- wrt source file 2025-03-14T05:25:13.9837587Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/optim/lr_scheduler.py::MultiStepLR:0 2025-03-14T05:25:13.9839830Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/optim/lr_scheduler.py::ConstantLR:0, line 557 <- wrt source file 2025-03-14T05:25:13.9842288Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/optim/lr_scheduler.py::ConstantLR:0 2025-03-14T05:25:13.9844506Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/optim/lr_scheduler.py::LinearLR:0, line 628 <- wrt source file 2025-03-14T05:25:13.9846760Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/optim/lr_scheduler.py::LinearLR:0 2025-03-14T05:25:13.9849113Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/optim/lr_scheduler.py::SequentialLR:0, line 748 <- wrt source file 2025-03-14T05:25:13.9851442Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/optim/lr_scheduler.py::SequentialLR:0 2025-03-14T05:25:13.9853744Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/optim/lr_scheduler.py::PolynomialLR:0, line 889 <- wrt source file 2025-03-14T05:25:13.9856139Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/optim/lr_scheduler.py::PolynomialLR:0 2025-03-14T05:25:13.9858497Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/optim/lr_scheduler.py::ChainedScheduler:0, line 1037 <- wrt source file 2025-03-14T05:25:13.9860926Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/optim/lr_scheduler.py::ChainedScheduler:0 2025-03-14T05:25:13.9863332Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/optim/lr_scheduler.py::ReduceLROnPlateau:0, line 1174 <- wrt source file 2025-03-14T05:25:13.9865776Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/optim/lr_scheduler.py::ReduceLROnPlateau:0 2025-03-14T05:25:13.9868076Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/optim/lr_scheduler.py::CyclicLR:0, line 1414 <- wrt source file 2025-03-14T05:25:13.9870332Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/optim/lr_scheduler.py::CyclicLR:0 2025-03-14T05:25:13.9872837Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/optim/lr_scheduler.py::CosineAnnealingWarmRestarts.step:0, line 1676 <- wrt source file 2025-03-14T05:25:13.9875626Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/optim/lr_scheduler.py::CosineAnnealingWarmRestarts.step:0 2025-03-14T05:25:13.9878379Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/optim/lr_scheduler.py::CosineAnnealingWarmRestarts.step:1, line 1692 <- wrt source file 2025-03-14T05:25:13.9881160Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/optim/lr_scheduler.py::CosineAnnealingWarmRestarts.step:1 2025-03-14T05:25:13.9883639Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/optim/lr_scheduler.py::OneCycleLR:0, line 1830 <- wrt source file 2025-03-14T05:25:13.9885936Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/optim/lr_scheduler.py::OneCycleLR:0 2025-03-14T05:25:13.9888112Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/optim/swa_utils.py::update_bn:0, line 331 <- wrt source file 2025-03-14T05:25:13.9890317Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/optim/swa_utils.py::update_bn:0 2025-03-14T05:25:13.9892504Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/package/glob_group.py::GlobGroup:0, line 22 <- wrt source file 2025-03-14T05:25:13.9894767Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/package/glob_group.py::GlobGroup:0 2025-03-14T05:25:13.9897425Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/profiler/profiler.py::_KinetoProfile.toggle_collection_dynamic:0, line 283 <- wrt source file 2025-03-14T05:25:13.9900600Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/profiler/profiler.py::_KinetoProfile.toggle_collection_dynamic:0 2025-03-14T05:25:13.9903101Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/profiler/profiler.py::profile:0, line 605 <- wrt source file 2025-03-14T05:25:13.9905433Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/profiler/profiler.py::profile:0 2025-03-14T05:25:13.9907824Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/sparse/semi_structured.py::to_sparse_semi_structured:0, line 338 <- wrt source file 2025-03-14T05:25:13.9910462Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/sparse/semi_structured.py::to_sparse_semi_structured:0 2025-03-14T05:25:13.9912867Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/testing/_creation.py::make_tensor:0, line 114 <- wrt source file 2025-03-14T05:25:13.9915120Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/testing/_creation.py::make_tensor:0 2025-03-14T05:25:13.9917481Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/testing/_internal/common_utils.py::parametrize:0, line 614 <- wrt source file 2025-03-14T05:25:13.9920036Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/testing/_internal/common_utils.py::parametrize:0 2025-03-14T05:25:13.9922547Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/testing/_internal/common_utils.py::reparametrize:0, line 735 <- wrt source file 2025-03-14T05:25:13.9925123Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/testing/_internal/common_utils.py::reparametrize:0 2025-03-14T05:25:13.9927615Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/testing/_internal/common_utils.py::decorateIf:0, line 824 <- wrt source file 2025-03-14T05:25:13.9930129Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/testing/_internal/common_utils.py::decorateIf:0 2025-03-14T05:25:13.9932771Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/testing/_internal/common_utils.py::random_symmetric_psd_matrix:0, line 4649 <- wrt source file 2025-03-14T05:25:13.9935664Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/testing/_internal/common_utils.py::random_symmetric_psd_matrix:0 2025-03-14T05:25:13.9938456Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/testing/_internal/common_utils.py::random_hermitian_psd_matrix:0, line 4663 <- wrt source file 2025-03-14T05:25:13.9941290Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/testing/_internal/common_utils.py::random_hermitian_psd_matrix:0 2025-03-14T05:25:13.9944076Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/testing/_internal/common_utils.py::random_hermitian_pd_matrix:0, line 4693 <- wrt source file 2025-03-14T05:25:13.9946874Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/testing/_internal/common_utils.py::random_hermitian_pd_matrix:0 2025-03-14T05:25:13.9949514Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/testing/_internal/logging_utils.py::logs_to_string:0, line 194 <- wrt source file 2025-03-14T05:25:13.9952104Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/testing/_internal/logging_utils.py::logs_to_string:0 2025-03-14T05:25:13.9954738Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/testing/_internal/logging_utils.py::multiple_logs_to_string:0, line 220 <- wrt source file 2025-03-14T05:25:13.9957621Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/testing/_internal/logging_utils.py::multiple_logs_to_string:0 2025-03-14T05:25:13.9960542Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/testing/_internal/distributed/_tensor/common_dtensor.py::skip_unless_torch_gpu:0, line 313 <- wrt source file 2025-03-14T05:25:13.9963771Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/testing/_internal/distributed/_tensor/common_dtensor.py::skip_unless_torch_gpu:0 2025-03-14T05:25:13.9966896Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/testing/_internal/optests/autograd_registration.py::autograd_registration_check:0, line 29 <- wrt source file 2025-03-14T05:25:13.9970120Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/testing/_internal/optests/autograd_registration.py::autograd_registration_check:0 2025-03-14T05:25:13.9972767Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/_cxx_pytree.py::tree_is_leaf:0, line 247 <- wrt source file 2025-03-14T05:25:13.9975019Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/_cxx_pytree.py::tree_is_leaf:0 2025-03-14T05:25:13.9977297Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/_cxx_pytree.py::tree_flatten:0, line 290 <- wrt source file 2025-03-14T05:25:13.9979562Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/_cxx_pytree.py::tree_flatten:0 2025-03-14T05:25:13.9981817Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/_cxx_pytree.py::tree_unflatten:0, line 327 <- wrt source file 2025-03-14T05:25:13.9984138Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/_cxx_pytree.py::tree_unflatten:0 2025-03-14T05:25:13.9986341Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/_cxx_pytree.py::tree_iter:0, line 357 <- wrt source file 2025-03-14T05:25:13.9988550Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/_cxx_pytree.py::tree_iter:0 2025-03-14T05:25:13.9990732Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/_cxx_pytree.py::tree_leaves:0, line 392 <- wrt source file 2025-03-14T05:25:13.9992976Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/_cxx_pytree.py::tree_leaves:0 2025-03-14T05:25:13.9995224Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/_cxx_pytree.py::tree_structure:0, line 427 <- wrt source file 2025-03-14T05:25:13.9997528Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/_cxx_pytree.py::tree_structure:0 2025-03-14T05:25:13.9999853Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/_cxx_pytree.py::tree_map:0, line 464 <- wrt source file 2025-03-14T05:25:14.0002035Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/_cxx_pytree.py::tree_map:0 2025-03-14T05:25:14.0004271Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/_cxx_pytree.py::broadcast_prefix:0, line 880 <- wrt source file 2025-03-14T05:25:14.0006627Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/_cxx_pytree.py::broadcast_prefix:0 2025-03-14T05:25:14.0008941Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/_pytree.py::register_dataclass:0, line 268 <- wrt source file 2025-03-14T05:25:14.0011286Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/_pytree.py::register_dataclass:0 2025-03-14T05:25:14.0013675Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/_pytree.py::register_constant:0, line 328 <- wrt source file 2025-03-14T05:25:14.0016015Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/_pytree.py::register_constant:0 2025-03-14T05:25:14.0018187Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/_pytree.py::tree_map:0, line 1115 <- wrt source file 2025-03-14T05:25:14.0020396Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/_pytree.py::tree_map:0 2025-03-14T05:25:14.0022821Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/backend_registration.py::rename_privateuse1_backend:0, line 69 <- wrt source file 2025-03-14T05:25:14.0025576Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/backend_registration.py::rename_privateuse1_backend:0 2025-03-14T05:25:14.0028445Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/backend_registration.py::generate_methods_for_privateuse1_backend:0, line 322 <- wrt source file 2025-03-14T05:25:14.0031453Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/backend_registration.py::generate_methods_for_privateuse1_backend:0 2025-03-14T05:25:14.0034214Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/backend_registration.py::_get_custom_mod_func:0, line 354 <- wrt source file 2025-03-14T05:25:14.0036837Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/backend_registration.py::_get_custom_mod_func:0 2025-03-14T05:25:14.0039362Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/checkpoint.py::checkpoint_sequential:0, line 547 <- wrt source file 2025-03-14T05:25:14.0041846Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/checkpoint.py::checkpoint_sequential:0 2025-03-14T05:25:14.0044333Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/checkpoint.py::set_checkpoint_early_stop:0, line 749 <- wrt source file 2025-03-14T05:25:14.0046878Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/checkpoint.py::set_checkpoint_early_stop:0 2025-03-14T05:25:14.0049196Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/dlpack.py::from_dlpack:0, line 72 <- wrt source file 2025-03-14T05:25:14.0051357Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/dlpack.py::from_dlpack:0 2025-03-14T05:25:14.0053788Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/_sympy/functions.py::MinMaxBase._collapse_arguments:0, line 718 <- wrt source file 2025-03-14T05:25:14.0457588Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/_sympy/functions.py::MinMaxBase._collapse_arguments:0 2025-03-14T05:25:14.0460179Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/dataset.py::IterableDataset:0, line 94 <- wrt source file 2025-03-14T05:25:14.0462609Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/dataset.py::IterableDataset:0 2025-03-14T05:25:14.0465047Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/dataset.py::StackDataset:0, line 219 <- wrt source file 2025-03-14T05:25:14.0467392Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/dataset.py::StackDataset:0 2025-03-14T05:25:14.0469681Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/dataset.py::random_split:0, line 441 <- wrt source file 2025-03-14T05:25:14.0472308Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/dataset.py::random_split:0 2025-03-14T05:25:14.0474529Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/sampler.py::Sampler:0, line 34 <- wrt source file 2025-03-14T05:25:14.0476765Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/sampler.py::Sampler:0 2025-03-14T05:25:14.0479324Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/sampler.py::WeightedRandomSampler:0, line 232 <- wrt source file 2025-03-14T05:25:14.0481882Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/sampler.py::WeightedRandomSampler:0 2025-03-14T05:25:14.0484290Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/sampler.py::BatchSampler:0, line 295 <- wrt source file 2025-03-14T05:25:14.0486657Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/sampler.py::BatchSampler:0 2025-03-14T05:25:14.0489021Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/_utils/collate.py::default_convert:0, line 39 <- wrt source file 2025-03-14T05:25:14.0491542Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/_utils/collate.py::default_convert:0 2025-03-14T05:25:14.0493936Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/_utils/collate.py::collate:0, line 137 <- wrt source file 2025-03-14T05:25:14.0496362Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/_utils/collate.py::collate:0 2025-03-14T05:25:14.0498897Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/_utils/collate.py::default_collate:0, line 364 <- wrt source file 2025-03-14T05:25:14.0501445Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/_utils/collate.py::default_collate:0 2025-03-14T05:25:14.0503979Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/datapipe.py::IterDataPipe:0, line 97 <- wrt source file 2025-03-14T05:25:14.0506585Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/datapipe.py::IterDataPipe:0 2025-03-14T05:25:14.0509153Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/datapipe.py::MapDataPipe:0, line 264 <- wrt source file 2025-03-14T05:25:14.0511756Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/datapipe.py::MapDataPipe:0 2025-03-14T05:25:14.0514452Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/iter/callable.py::MapperIterDataPipe:0, line 52 <- wrt source file 2025-03-14T05:25:14.0517334Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/iter/callable.py::MapperIterDataPipe:0 2025-03-14T05:25:14.0520179Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/iter/callable.py::CollatorIterDataPipe:0, line 198 <- wrt source file 2025-03-14T05:25:14.0523090Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/iter/callable.py::CollatorIterDataPipe:0 2025-03-14T05:25:14.0526028Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/iter/combinatorics.py::ShufflerIterDataPipe:0, line 88 <- wrt source file 2025-03-14T05:25:14.0529052Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/iter/combinatorics.py::ShufflerIterDataPipe:0 2025-03-14T05:25:14.0532131Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/iter/combining.py::ConcaterIterDataPipe:0, line 38 <- wrt source file 2025-03-14T05:25:14.0535078Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/iter/combining.py::ConcaterIterDataPipe:0 2025-03-14T05:25:14.0537991Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/iter/combining.py::ForkerIterDataPipe:0, line 88 <- wrt source file 2025-03-14T05:25:14.0540983Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/iter/combining.py::ForkerIterDataPipe:0 2025-03-14T05:25:14.0543774Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/iter/combining.py::_ChildDataPipe:0, line 307 <- wrt source file 2025-03-14T05:25:14.0546559Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/iter/combining.py::_ChildDataPipe:0 2025-03-14T05:25:14.0549453Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/iter/combining.py::DemultiplexerIterDataPipe:0, line 393 <- wrt source file 2025-03-14T05:25:14.0552521Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/iter/combining.py::DemultiplexerIterDataPipe:0 2025-03-14T05:25:14.0555517Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/iter/combining.py::MultiplexerIterDataPipe:0, line 603 <- wrt source file 2025-03-14T05:25:14.0558518Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/iter/combining.py::MultiplexerIterDataPipe:0 2025-03-14T05:25:14.0561407Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/iter/combining.py::ZipperIterDataPipe:0, line 671 <- wrt source file 2025-03-14T05:25:14.0564299Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/iter/combining.py::ZipperIterDataPipe:0 2025-03-14T05:25:14.0567217Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/iter/filelister.py::FileListerIterDataPipe:0, line 31 <- wrt source file 2025-03-14T05:25:14.0570234Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/iter/filelister.py::FileListerIterDataPipe:0 2025-03-14T05:25:14.0573206Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/iter/fileopener.py::FileOpenerIterDataPipe:0, line 35 <- wrt source file 2025-03-14T05:25:14.0576278Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/iter/fileopener.py::FileOpenerIterDataPipe:0 2025-03-14T05:25:14.0579170Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/iter/grouping.py::BatcherIterDataPipe:0, line 53 <- wrt source file 2025-03-14T05:25:14.0582054Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/iter/grouping.py::BatcherIterDataPipe:0 2025-03-14T05:25:14.0584923Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/iter/grouping.py::UnBatcherIterDataPipe:0, line 113 <- wrt source file 2025-03-14T05:25:14.0587875Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/iter/grouping.py::UnBatcherIterDataPipe:0 2025-03-14T05:25:14.0590744Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/iter/grouping.py::GrouperIterDataPipe:0, line 180 <- wrt source file 2025-03-14T05:25:14.0593642Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/iter/grouping.py::GrouperIterDataPipe:0 2025-03-14T05:25:14.0596580Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/iter/selecting.py::FilterIterDataPipe:0, line 37 <- wrt source file 2025-03-14T05:25:14.0599728Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/iter/selecting.py::FilterIterDataPipe:0 2025-03-14T05:25:14.0602800Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/iter/streamreader.py::StreamReaderIterDataPipe:0, line 25 <- wrt source file 2025-03-14T05:25:14.0605907Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/iter/streamreader.py::StreamReaderIterDataPipe:0 2025-03-14T05:25:14.0608912Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/iter/utils.py::IterableWrapperIterDataPipe:0, line 26 <- wrt source file 2025-03-14T05:25:14.0611912Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/iter/utils.py::IterableWrapperIterDataPipe:0 2025-03-14T05:25:14.0614764Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/map/callable.py::MapperMapDataPipe:0, line 35 <- wrt source file 2025-03-14T05:25:14.0617649Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/map/callable.py::MapperMapDataPipe:0 2025-03-14T05:25:14.0620537Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/map/combinatorics.py::ShufflerIterDataPipe:0, line 34 <- wrt source file 2025-03-14T05:25:14.0624492Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/map/combinatorics.py::ShufflerIterDataPipe:0 2025-03-14T05:25:14.0627397Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/map/combining.py::ConcaterMapDataPipe:0, line 29 <- wrt source file 2025-03-14T05:25:14.0630282Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/map/combining.py::ConcaterMapDataPipe:0 2025-03-14T05:25:14.0633108Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/map/combining.py::ZipperMapDataPipe:0, line 73 <- wrt source file 2025-03-14T05:25:14.0635971Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/map/combining.py::ZipperMapDataPipe:0 2025-03-14T05:25:14.0638793Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/map/grouping.py::BatcherMapDataPipe:0, line 29 <- wrt source file 2025-03-14T05:25:14.0641639Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/map/grouping.py::BatcherMapDataPipe:0 2025-03-14T05:25:14.0644512Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/map/utils.py::SequenceWrapperMapDataPipe:0, line 26 <- wrt source file 2025-03-14T05:25:14.0647453Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/map/utils.py::SequenceWrapperMapDataPipe:0 2025-03-14T05:25:14.0650282Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/utils/common.py::validate_input_col:0, line 37 <- wrt source file 2025-03-14T05:25:14.0653080Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/utils/common.py::validate_input_col:0 2025-03-14T05:25:14.0655863Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/utils/decoder.py::basichandlers:0, line 47 <- wrt source file 2025-03-14T05:25:14.0658742Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/datapipes/utils/decoder.py::basichandlers:0 2025-03-14T05:25:14.0661355Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/hipify/hipify_python.py::find_closure_group:0, line 440 <- wrt source file 2025-03-14T05:25:14.0663963Z * SUCCESS: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/hipify/hipify_python.py::find_closure_group:0 2025-03-14T05:25:14.0666636Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/hipify/hipify_python.py::replace_extern_shared:0, line 536 <- wrt source file 2025-03-14T05:25:14.0669320Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/hipify/hipify_python.py::replace_extern_shared:0 2025-03-14T05:25:14.0671969Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/tensorboard/writer.py::SummaryWriter.__init__:0, line 216 <- wrt source file 2025-03-14T05:25:14.0674642Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/tensorboard/writer.py::SummaryWriter.__init__:0 2025-03-14T05:25:14.0677315Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/tensorboard/writer.py::SummaryWriter.add_hparams:0, line 314 <- wrt source file 2025-03-14T05:25:14.0680069Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/tensorboard/writer.py::SummaryWriter.add_hparams:0 2025-03-14T05:25:14.0682755Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/tensorboard/writer.py::SummaryWriter.add_scalar:0, line 362 <- wrt source file 2025-03-14T05:25:14.0685481Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/tensorboard/writer.py::SummaryWriter.add_scalar:0 2025-03-14T05:25:14.0688194Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/tensorboard/writer.py::SummaryWriter.add_scalars:0, line 394 <- wrt source file 2025-03-14T05:25:14.0690940Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/tensorboard/writer.py::SummaryWriter.add_scalars:0 2025-03-14T05:25:14.0693629Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/tensorboard/writer.py::SummaryWriter.add_tensor:0, line 441 <- wrt source file 2025-03-14T05:25:14.0696400Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/tensorboard/writer.py::SummaryWriter.add_tensor:0 2025-03-14T05:25:14.0699239Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/tensorboard/writer.py::SummaryWriter.add_histogram:0, line 480 <- wrt source file 2025-03-14T05:25:14.0702044Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/tensorboard/writer.py::SummaryWriter.add_histogram:0 2025-03-14T05:25:14.0704833Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/tensorboard/writer.py::SummaryWriter.add_histogram_raw:0, line 533 <- wrt source file 2025-03-14T05:25:14.0707678Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/tensorboard/writer.py::SummaryWriter.add_histogram_raw:0 2025-03-14T05:25:14.0710429Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/tensorboard/writer.py::SummaryWriter.add_image:0, line 599 <- wrt source file 2025-03-14T05:25:14.0713137Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/tensorboard/writer.py::SummaryWriter.add_image:0 2025-03-14T05:25:14.0715796Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/tensorboard/writer.py::SummaryWriter.add_images:0, line 648 <- wrt source file 2025-03-14T05:25:14.0718650Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/tensorboard/writer.py::SummaryWriter.add_images:0 2025-03-14T05:25:14.0721298Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/tensorboard/writer.py::SummaryWriter.add_text:0, line 811 <- wrt source file 2025-03-14T05:25:14.0723979Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/tensorboard/writer.py::SummaryWriter.add_text:0 2025-03-14T05:25:14.0726789Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/tensorboard/writer.py::SummaryWriter.add_embedding:0, line 878 <- wrt source file 2025-03-14T05:25:14.0729596Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/tensorboard/writer.py::SummaryWriter.add_embedding:0 2025-03-14T05:25:14.0732314Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/tensorboard/writer.py::SummaryWriter.add_pr_curve:0, line 989 <- wrt source file 2025-03-14T05:25:14.0735090Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/tensorboard/writer.py::SummaryWriter.add_pr_curve:0 2025-03-14T05:25:14.0738099Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/tensorboard/writer.py::SummaryWriter.add_custom_scalars_multilinechart:0, line 1063 <- wrt source file 2025-03-14T05:25:14.0741279Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/tensorboard/writer.py::SummaryWriter.add_custom_scalars_multilinechart:0 2025-03-14T05:25:14.0744378Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/tensorboard/writer.py::SummaryWriter.add_custom_scalars_marginchart:0, line 1084 <- wrt source file 2025-03-14T05:25:14.0747486Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/tensorboard/writer.py::SummaryWriter.add_custom_scalars_marginchart:0 2025-03-14T05:25:14.0750447Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/tensorboard/writer.py::SummaryWriter.add_custom_scalars:0, line 1108 <- wrt source file 2025-03-14T05:25:14.0753335Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/tensorboard/writer.py::SummaryWriter.add_custom_scalars:0 2025-03-14T05:25:14.0756094Z * DOCTEST : /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/tensorboard/writer.py::SummaryWriter.add_mesh:0, line 1154 <- wrt source file 2025-03-14T05:25:14.0758778Z * SKIPPED: /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/tensorboard/writer.py::SummaryWriter.add_mesh:0 2025-03-14T05:25:14.0760165Z ============ 2025-03-14T05:25:14.0760648Z Finished doctests 2025-03-14T05:25:14.0761073Z 342 / 709 passed 2025-03-14T05:25:14.0761508Z  2025-03-14T05:25:14.0762028Z === Found 116 parse-time warnings === 2025-03-14T05:25:14.0762784Z --- Parse Warning: 1 / 116 --- 2025-03-14T05:25:14.0764797Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=Tensor.dim_order in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_tensor.py line=1507. 2025-03-14T05:25:14.0767084Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.0767949Z 2025-03-14T05:25:14.0768383Z dim_order(ambiguity_check=False) -> tuple 2025-03-14T05:25:14.0768965Z 2025-03-14T05:25:14.0769601Z Returns the uniquely determined tuple of int describing the dim order or 2025-03-14T05:25:14.0770458Z physical layout of :attr:`self`. 2025-03-14T05:25:14.0770989Z 2025-03-14T05:25:14.0771666Z The dim order represents how dimensions are laid out in memory of dense tensors, 2025-03-14T05:25:14.0772772Z starting from the outermost to the innermost dimension. 2025-03-14T05:25:14.0773441Z 2025-03-14T05:25:14.0773977Z Note that the dim order may not always be uniquely determined. 2025-03-14T05:25:14.0775248Z If `ambiguity_check` is True, this function raises a RuntimeError when the dim order cannot be uniquely determined; 2025-03-14T05:25:14.0776979Z If `ambiguity_check` is a list of memory formats, this function raises a RuntimeError when tensor can not be interpreted 2025-03-14T05:25:14.0778475Z into exactly one of the given memory formats, or it cannot be uniquely determined. 2025-03-14T05:25:14.0779777Z If `ambiguity_check` is False, it will return one of legal dim order(s) without checking its uniqueness. 2025-03-14T05:25:14.0780808Z Otherwise, it will raise TypeError. 2025-03-14T05:25:14.0781357Z 2025-03-14T05:25:14.0781714Z Args: 2025-03-14T05:25:14.0782521Z ambiguity_check (bool or List[torch.memory_format]): The check method for ambiguity of dim order. 2025-03-14T05:25:14.0783501Z 2025-03-14T05:25:14.0783849Z Examples:: 2025-03-14T05:25:14.0784238Z 2025-03-14T05:25:14.0784641Z >>> torch.empty((2, 3, 5, 7)).dim_order() 2025-03-14T05:25:14.0785207Z (0, 1, 2, 3) 2025-03-14T05:25:14.0785738Z >>> torch.empty((2, 3, 5, 7)).transpose(1, 2).dim_order() 2025-03-14T05:25:14.0786385Z (0, 2, 1, 3) 2025-03-14T05:25:14.0787013Z >>> torch.empty((2, 3, 5, 7), memory_format=torch.channels_last).dim_order() 2025-03-14T05:25:14.0787772Z (0, 2, 3, 1) 2025-03-14T05:25:14.0788247Z >>> torch.empty((1, 2, 3, 4)).dim_order() 2025-03-14T05:25:14.0788814Z (0, 1, 2, 3) 2025-03-14T05:25:14.0789227Z >>> try: 2025-03-14T05:25:14.0789778Z ... torch.empty((1, 2, 3, 4)).dim_order(ambiguity_check=True) 2025-03-14T05:25:14.0790504Z ... except RuntimeError as e: 2025-03-14T05:25:14.0791056Z ... print(e) 2025-03-14T05:25:14.0791915Z The tensor does not have unique dim order, or cannot map to exact one of the given memory formats. 2025-03-14T05:25:14.0792928Z >>> torch.empty((1, 2, 3, 4)).dim_order( 2025-03-14T05:25:14.0793726Z ... ambiguity_check=[torch.contiguous_format, torch.channels_last] 2025-03-14T05:25:14.0794561Z ... ) # It can be mapped to contiguous format 2025-03-14T05:25:14.0795139Z (0, 1, 2, 3) 2025-03-14T05:25:14.0795551Z >>> try: 2025-03-14T05:25:14.0796116Z ... torch.empty((1, 2, 3, 4)).dim_order(ambiguity_check="ILLEGAL") 2025-03-14T05:25:14.0796862Z ... except TypeError as e: 2025-03-14T05:25:14.0797387Z ... print(e) 2025-03-14T05:25:14.0798237Z The ambiguity_check argument must be a bool or a list of memory formats. 2025-03-14T05:25:14.0799045Z 2025-03-14T05:25:14.0799412Z .. warning:: 2025-03-14T05:25:14.0800016Z The dim_order tensor API is experimental and subject to change. 2025-03-14T05:25:14.0800741Z 2025-03-14T05:25:14.0801412Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.0802248Z 2025-03-14T05:25:14.0802621Z warnings.warn(msg) 2025-03-14T05:25:14.0803080Z 2025-03-14T05:25:14.0803641Z --- Parse Warning: 2 / 116 --- 2025-03-14T05:25:14.0805636Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=meshgrid in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/functional.py line=446. 2025-03-14T05:25:14.0807896Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.0809046Z Creates grids of coordinates specified by the 1D inputs in `attr`:tensors. 2025-03-14T05:25:14.0809854Z 2025-03-14T05:25:14.0810368Z This is helpful when you want to visualize data over some 2025-03-14T05:25:14.0811162Z range of inputs. See below for a plotting example. 2025-03-14T05:25:14.0811946Z 2025-03-14T05:25:14.0812442Z Given :math:`N` 1D tensors :math:`T_0 \ldots T_{N-1}` as 2025-03-14T05:25:14.0813288Z inputs with corresponding sizes :math:`S_0 \ldots S_{N-1}`, 2025-03-14T05:25:14.0814179Z this creates :math:`N` N-dimensional tensors :math:`G_0 \ldots 2025-03-14T05:25:14.0815021Z G_{N-1}`, each with shape :math:`(S_0, ..., S_{N-1})` where 2025-03-14T05:25:14.0815906Z the output :math:`G_i` is constructed by expanding :math:`T_i` 2025-03-14T05:25:14.0816652Z to the result shape. 2025-03-14T05:25:14.0817282Z 2025-03-14T05:25:14.0817646Z .. note:: 2025-03-14T05:25:14.0818206Z 0D inputs are treated equivalently to 1D inputs of a 2025-03-14T05:25:14.0818891Z single element. 2025-03-14T05:25:14.0819370Z 2025-03-14T05:25:14.0819751Z .. warning:: 2025-03-14T05:25:14.0820371Z `torch.meshgrid(*tensors)` currently has the same behavior 2025-03-14T05:25:14.0821215Z as calling `numpy.meshgrid(*arrays, indexing='ij')`. 2025-03-14T05:25:14.0821872Z 2025-03-14T05:25:14.0822342Z In the future `torch.meshgrid` will transition to 2025-03-14T05:25:14.0823021Z `indexing='xy'` as the default. 2025-03-14T05:25:14.0823584Z 2025-03-14T05:25:14.0824111Z https://github.com/pytorch/pytorch/issues/50276 tracks 2025-03-14T05:25:14.0824974Z this issue with the goal of migrating to NumPy's behavior. 2025-03-14T05:25:14.0825684Z 2025-03-14T05:25:14.0826063Z .. seealso:: 2025-03-14T05:25:14.0826509Z 2025-03-14T05:25:14.0827019Z :func:`torch.cartesian_prod` has the same effect but it 2025-03-14T05:25:14.0827788Z collects the data in a tensor of vectors. 2025-03-14T05:25:14.0828398Z 2025-03-14T05:25:14.0828748Z Args: 2025-03-14T05:25:14.0829480Z tensors (list of Tensor): list of scalars or 1 dimensional tensors. Scalars will be 2025-03-14T05:25:14.0830486Z treated as tensors of size :math:`(1,)` automatically 2025-03-14T05:25:14.0831143Z 2025-03-14T05:25:14.0831667Z indexing: (str, optional): the indexing mode, either "xy" 2025-03-14T05:25:14.0832511Z or "ij", defaults to "ij". See warning for future changes. 2025-03-14T05:25:14.0833188Z 2025-03-14T05:25:14.0833654Z If "xy" is selected, the first dimension corresponds 2025-03-14T05:25:14.0834436Z to the cardinality of the second input and the second 2025-03-14T05:25:14.0835254Z dimension corresponds to the cardinality of the first 2025-03-14T05:25:14.0835941Z input. 2025-03-14T05:25:14.0836387Z 2025-03-14T05:25:14.0836856Z If "ij" is selected, the dimensions are in the same 2025-03-14T05:25:14.0837573Z order as the cardinality of the inputs. 2025-03-14T05:25:14.0838180Z 2025-03-14T05:25:14.0838538Z Returns: 2025-03-14T05:25:14.0839093Z seq (sequence of Tensors): If the input has :math:`N` 2025-03-14T05:25:14.0839871Z tensors of size :math:`S_0 \ldots S_{N-1}``, then the 2025-03-14T05:25:14.0840694Z output will also have :math:`N` tensors, where each tensor 2025-03-14T05:25:14.0841454Z is of shape :math:`(S_0, ..., S_{N-1})`. 2025-03-14T05:25:14.0842031Z 2025-03-14T05:25:14.0842395Z Example:: 2025-03-14T05:25:14.0842809Z 2025-03-14T05:25:14.0843217Z >>> x = torch.tensor([1, 2, 3]) 2025-03-14T05:25:14.0843816Z >>> y = torch.tensor([4, 5, 6]) 2025-03-14T05:25:14.0844368Z 2025-03-14T05:25:14.0844893Z Observe the element-wise pairings across the grid, (1, 4), 2025-03-14T05:25:14.0845687Z (1, 5), ..., (3, 6). This is the same thing as the 2025-03-14T05:25:14.0846320Z cartesian product. 2025-03-14T05:25:14.0847069Z >>> grid_x, grid_y = torch.meshgrid(x, y, indexing='ij') 2025-03-14T05:25:14.0847737Z >>> grid_x 2025-03-14T05:25:14.0848212Z tensor([[1, 1, 1], 2025-03-14T05:25:14.0848724Z [2, 2, 2], 2025-03-14T05:25:14.0849235Z [3, 3, 3]]) 2025-03-14T05:25:14.0849746Z >>> grid_y 2025-03-14T05:25:14.0850219Z tensor([[4, 5, 6], 2025-03-14T05:25:14.0850728Z [4, 5, 6], 2025-03-14T05:25:14.0851229Z [4, 5, 6]]) 2025-03-14T05:25:14.0851804Z 2025-03-14T05:25:14.0852310Z This correspondence can be seen when these grids are 2025-03-14T05:25:14.0853014Z stacked properly. 2025-03-14T05:25:14.0853724Z >>> torch.equal(torch.cat(tuple(torch.dstack([grid_x, grid_y]))), 2025-03-14T05:25:14.0854537Z ... torch.cartesian_prod(x, y)) 2025-03-14T05:25:14.0855140Z True 2025-03-14T05:25:14.0855550Z 2025-03-14T05:25:14.0856151Z `torch.meshgrid` is commonly used to produce a grid for 2025-03-14T05:25:14.0856856Z plotting. 2025-03-14T05:25:14.0857383Z >>> # xdoctest: +REQUIRES(module:matplotlib) 2025-03-14T05:25:14.0858068Z >>> # xdoctest: +REQUIRES(env:DOCTEST_SHOW) 2025-03-14T05:25:14.0858737Z >>> import matplotlib.pyplot as plt 2025-03-14T05:25:14.0859397Z >>> xs = torch.linspace(-5, 5, steps=100) 2025-03-14T05:25:14.0860050Z >>> ys = torch.linspace(-5, 5, steps=100) 2025-03-14T05:25:14.0860720Z >>> x, y = torch.meshgrid(xs, ys, indexing='xy') 2025-03-14T05:25:14.0861399Z >>> z = torch.sin(torch.sqrt(x * x + y * y)) 2025-03-14T05:25:14.0862043Z >>> ax = plt.axes(projection='3d') 2025-03-14T05:25:14.0862733Z >>> ax.plot_surface(x.numpy(), y.numpy(), z.numpy()) 2025-03-14T05:25:14.0863392Z >>> plt.show() 2025-03-14T05:25:14.0863864Z 2025-03-14T05:25:14.0864280Z .. image:: ../_static/img/meshgrid.png 2025-03-14T05:25:14.0864871Z :width: 512 2025-03-14T05:25:14.0865324Z 2025-03-14T05:25:14.0865683Z 2025-03-14T05:25:14.0866362Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.0867202Z 2025-03-14T05:25:14.0867581Z warnings.warn(msg) 2025-03-14T05:25:14.0868025Z 2025-03-14T05:25:14.0868603Z --- Parse Warning: 3 / 116 --- 2025-03-14T05:25:14.0870621Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=_unique_impl in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/functional.py line=842. 2025-03-14T05:25:14.0905472Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.0906917Z unique(input, sorted=True, return_inverse=False, return_counts=False, dim=None) -> tuple[Tensor, Tensor, Tensor] 2025-03-14T05:25:14.0908027Z 2025-03-14T05:25:14.0908502Z Returns the unique elements of the input tensor. 2025-03-14T05:25:14.0909138Z 2025-03-14T05:25:14.0909887Z .. note:: This function is different from :func:`torch.unique_consecutive` in the sense that 2025-03-14T05:25:14.0911027Z this function also eliminates non-consecutive duplicate values. 2025-03-14T05:25:14.0911789Z 2025-03-14T05:25:14.0912421Z .. note:: Currently in the CUDA implementation and the CPU implementation, 2025-03-14T05:25:14.0913589Z `torch.unique` always sort the tensor at the beginning regardless of the `sort` argument. 2025-03-14T05:25:14.0914856Z Sorting could be slow, so if your input tensor is already sorted, it is recommended to use 2025-03-14T05:25:14.0915923Z :func:`torch.unique_consecutive` which avoids the sorting. 2025-03-14T05:25:14.0916615Z 2025-03-14T05:25:14.0917151Z Args: 2025-03-14T05:25:14.0917592Z input (Tensor): the input tensor 2025-03-14T05:25:14.0918382Z sorted (bool): Whether to sort the unique elements in ascending order 2025-03-14T05:25:14.0919201Z before returning as output. 2025-03-14T05:25:14.0919986Z return_inverse (bool): Whether to also return the indices for where 2025-03-14T05:25:14.0920997Z elements in the original input ended up in the returned unique list. 2025-03-14T05:25:14.0922116Z return_counts (bool): Whether to also return the counts for each unique 2025-03-14T05:25:14.0922918Z element. 2025-03-14T05:25:14.0923585Z dim (int, optional): the dimension to operate upon. If ``None``, the 2025-03-14T05:25:14.0924553Z unique of the flattened input is returned. Otherwise, each of the 2025-03-14T05:25:14.0925521Z tensors indexed by the given dimension is treated as one of the 2025-03-14T05:25:14.0926508Z elements to apply the unique operation upon. See examples for more 2025-03-14T05:25:14.0927319Z details. Default: ``None`` 2025-03-14T05:25:14.0927861Z 2025-03-14T05:25:14.0928226Z Returns: 2025-03-14T05:25:14.0928999Z (Tensor, Tensor (optional), Tensor (optional)): A tensor or a tuple of tensors containing 2025-03-14T05:25:14.0929899Z 2025-03-14T05:25:14.0930439Z - **output** (*Tensor*): the output list of unique scalar elements. 2025-03-14T05:25:14.0931261Z - **inverse_indices** (*Tensor*): (optional) if 2025-03-14T05:25:14.0932048Z :attr:`return_inverse` is True, there will be an additional 2025-03-14T05:25:14.0932961Z returned tensor (same shape as input) representing the indices 2025-03-14T05:25:14.0933909Z for where elements in the original input map to in the output; 2025-03-14T05:25:14.0934821Z otherwise, this function will only return a single tensor. 2025-03-14T05:25:14.0935682Z - **counts** (*Tensor*): (optional) if 2025-03-14T05:25:14.0936428Z :attr:`return_counts` is True, there will be an additional 2025-03-14T05:25:14.0937301Z returned tensor (same shape as output or output.size(dim), 2025-03-14T05:25:14.0938196Z if dim was specified) representing the number of occurrences 2025-03-14T05:25:14.0938960Z for each unique value or tensor. 2025-03-14T05:25:14.0939529Z 2025-03-14T05:25:14.0939881Z Example:: 2025-03-14T05:25:14.0940288Z 2025-03-14T05:25:14.0940876Z >>> output = torch.unique(torch.tensor([1, 3, 2, 3], dtype=torch.long)) 2025-03-14T05:25:14.0941646Z >>> output 2025-03-14T05:25:14.0942090Z tensor([1, 2, 3]) 2025-03-14T05:25:14.0942559Z 2025-03-14T05:25:14.0942986Z >>> output, inverse_indices = torch.unique( 2025-03-14T05:25:14.0943846Z ... torch.tensor([1, 3, 2, 3], dtype=torch.long), sorted=True, return_inverse=True) 2025-03-14T05:25:14.0944658Z >>> output 2025-03-14T05:25:14.0945103Z tensor([1, 2, 3]) 2025-03-14T05:25:14.0945609Z >>> inverse_indices 2025-03-14T05:25:14.0946112Z tensor([0, 2, 1, 2]) 2025-03-14T05:25:14.0946597Z 2025-03-14T05:25:14.0947142Z >>> output, inverse_indices = torch.unique( 2025-03-14T05:25:14.0948016Z ... torch.tensor([[1, 3], [2, 3]], dtype=torch.long), sorted=True, return_inverse=True) 2025-03-14T05:25:14.0948825Z >>> output 2025-03-14T05:25:14.0949280Z tensor([1, 2, 3]) 2025-03-14T05:25:14.0949761Z >>> inverse_indices 2025-03-14T05:25:14.0950263Z tensor([[0, 2], 2025-03-14T05:25:14.0950726Z [1, 2]]) 2025-03-14T05:25:14.0951186Z 2025-03-14T05:25:14.0951568Z >>> a = torch.tensor([ 2025-03-14T05:25:14.0952074Z ... [ 2025-03-14T05:25:14.0952502Z ... [1, 1, 0, 0], 2025-03-14T05:25:14.0953132Z ... [1, 1, 0, 0], 2025-03-14T05:25:14.0953657Z ... [0, 0, 1, 1], 2025-03-14T05:25:14.0954169Z ... ], 2025-03-14T05:25:14.0954602Z ... [ 2025-03-14T05:25:14.0955025Z ... [0, 0, 1, 1], 2025-03-14T05:25:14.0955539Z ... [0, 0, 1, 1], 2025-03-14T05:25:14.0956052Z ... [1, 1, 1, 1], 2025-03-14T05:25:14.0956555Z ... ], 2025-03-14T05:25:14.0956964Z ... [ 2025-03-14T05:25:14.0957460Z ... [1, 1, 0, 0], 2025-03-14T05:25:14.0957973Z ... [1, 1, 0, 0], 2025-03-14T05:25:14.0958488Z ... [0, 0, 1, 1], 2025-03-14T05:25:14.0959001Z ... ], 2025-03-14T05:25:14.0959424Z ... ]) 2025-03-14T05:25:14.0959817Z 2025-03-14T05:25:14.0960398Z >>> # If we call `torch.unique(a, dim=0)`, each of the tensors `a[idx, :, :]` 2025-03-14T05:25:14.0961381Z >>> # will be compared. We can see that `a[0, :, :]` and `a[2, :, :]` match 2025-03-14T05:25:14.0962221Z >>> # each other, so one of them will be removed. 2025-03-14T05:25:14.0962867Z >>> (a[0, :, :] == a[2, :, :]).all() 2025-03-14T05:25:14.0963423Z tensor(True) 2025-03-14T05:25:14.0963938Z >>> a_unique_dim0 = torch.unique(a, dim=0) 2025-03-14T05:25:14.0964536Z >>> a_unique_dim0 2025-03-14T05:25:14.0965029Z tensor([[[0, 0, 1, 1], 2025-03-14T05:25:14.0965543Z [0, 0, 1, 1], 2025-03-14T05:25:14.0966047Z [1, 1, 1, 1]], 2025-03-14T05:25:14.0966547Z [[1, 1, 0, 0], 2025-03-14T05:25:14.0967033Z [1, 1, 0, 0], 2025-03-14T05:25:14.0967535Z [0, 0, 1, 1]]]) 2025-03-14T05:25:14.0968029Z 2025-03-14T05:25:14.0968618Z >>> # Notice which sub-tensors from `a` match with the sub-tensors from 2025-03-14T05:25:14.0969412Z >>> # `a_unique_dim0`: 2025-03-14T05:25:14.0969979Z >>> (a_unique_dim0[0, :, :] == a[1, :, :]).all() 2025-03-14T05:25:14.0970585Z tensor(True) 2025-03-14T05:25:14.0971096Z >>> (a_unique_dim0[1, :, :] == a[0, :, :]).all() 2025-03-14T05:25:14.0971690Z tensor(True) 2025-03-14T05:25:14.0972136Z 2025-03-14T05:25:14.0972703Z >>> # For `torch.unique(a, dim=1)`, each of the tensors `a[:, idx, :]` are 2025-03-14T05:25:14.0973625Z >>> # compared. `a[:, 0, :]` and `a[:, 1, :]` match each other, so one of 2025-03-14T05:25:14.0974362Z >>> # them will be removed. 2025-03-14T05:25:14.0974928Z >>> (a[:, 0, :] == a[:, 1, :]).all() 2025-03-14T05:25:14.0975490Z tensor(True) 2025-03-14T05:25:14.0976048Z >>> torch.unique(a, dim=1) 2025-03-14T05:25:14.0976596Z tensor([[[0, 0, 1, 1], 2025-03-14T05:25:14.0977093Z [1, 1, 0, 0]], 2025-03-14T05:25:14.0977608Z [[1, 1, 1, 1], 2025-03-14T05:25:14.0978114Z [0, 0, 1, 1]], 2025-03-14T05:25:14.0978620Z [[0, 0, 1, 1], 2025-03-14T05:25:14.0979119Z [1, 1, 0, 0]]]) 2025-03-14T05:25:14.0979625Z 2025-03-14T05:25:14.0980193Z >>> # For `torch.unique(a, dim=2)`, the tensors `a[:, :, idx]` are compared. 2025-03-14T05:25:14.0981067Z >>> # `a[:, :, 0]` and `a[:, :, 1]` match each other. Also, `a[:, :, 2]` and 2025-03-14T05:25:14.0981874Z >>> # `a[:, :, 3]` match each other as well. So in this case, two of the 2025-03-14T05:25:14.0982611Z >>> # sub-tensors will be removed. 2025-03-14T05:25:14.0983198Z >>> (a[:, :, 0] == a[:, :, 1]).all() 2025-03-14T05:25:14.0983755Z tensor(True) 2025-03-14T05:25:14.0984230Z >>> (a[:, :, 2] == a[:, :, 3]).all() 2025-03-14T05:25:14.0986456Z tensor(True) 2025-03-14T05:25:14.0986937Z >>> torch.unique(a, dim=2) 2025-03-14T05:25:14.0987593Z tensor([[[0, 1], 2025-03-14T05:25:14.0988068Z [0, 1], 2025-03-14T05:25:14.0988540Z [1, 0]], 2025-03-14T05:25:14.0989016Z [[1, 0], 2025-03-14T05:25:14.0989471Z [1, 0], 2025-03-14T05:25:14.0989939Z [1, 1]], 2025-03-14T05:25:14.0990404Z [[0, 1], 2025-03-14T05:25:14.0990867Z [0, 1], 2025-03-14T05:25:14.0991341Z [1, 0]]]) 2025-03-14T05:25:14.0991806Z 2025-03-14T05:25:14.0992553Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.0993390Z 2025-03-14T05:25:14.0993764Z warnings.warn(msg) 2025-03-14T05:25:14.0994223Z 2025-03-14T05:25:14.0994851Z --- Parse Warning: 4 / 116 --- 2025-03-14T05:25:14.0996747Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=load in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/hub.py line=560. 2025-03-14T05:25:14.0999041Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.0999900Z 2025-03-14T05:25:14.1000389Z Load a model from a github repo or a local directory. 2025-03-14T05:25:14.1001037Z 2025-03-14T05:25:14.1001655Z Note: Loading a model is the typical use case, but this can also be used to 2025-03-14T05:25:14.1002686Z for loading other objects such as tokenizers, loss functions, etc. 2025-03-14T05:25:14.1003429Z 2025-03-14T05:25:14.1003923Z If ``source`` is 'github', ``repo_or_dir`` is expected to be 2025-03-14T05:25:14.1004748Z of the form ``repo_owner/repo_name[:ref]`` with an optional 2025-03-14T05:25:14.1005447Z ref (a tag or a branch). 2025-03-14T05:25:14.1005920Z 2025-03-14T05:25:14.1006416Z If ``source`` is 'local', ``repo_or_dir`` is expected to be a 2025-03-14T05:25:14.1007117Z path to a local directory. 2025-03-14T05:25:14.1007619Z 2025-03-14T05:25:14.1007969Z Args: 2025-03-14T05:25:14.1008422Z repo_or_dir (str): If ``source`` is 'github', 2025-03-14T05:25:14.1009387Z this should correspond to a github repo with format ``repo_owner/repo_name[:ref]`` with 2025-03-14T05:25:14.1010680Z an optional ref (tag or branch), for example 'pytorch/vision:0.10'. If ``ref`` is not specified, 2025-03-14T05:25:14.1011924Z the default branch is assumed to be ``main`` if it exists, and otherwise ``master``. 2025-03-14T05:25:14.1012990Z If ``source`` is 'local' then it should be a path to a local directory. 2025-03-14T05:25:14.1013923Z model (str): the name of a callable (entrypoint) defined in the 2025-03-14T05:25:14.1014685Z repo/dir's ``hubconf.py``. 2025-03-14T05:25:14.1015427Z *args (optional): the corresponding args for callable ``model``. 2025-03-14T05:25:14.1016375Z source (str, optional): 'github' or 'local'. Specifies how 2025-03-14T05:25:14.1017212Z ``repo_or_dir`` is to be interpreted. Default is 'github'. 2025-03-14T05:25:14.1018119Z trust_repo (bool, str or None): ``"check"``, ``True``, ``False`` or ``None``. 2025-03-14T05:25:14.1019152Z This parameter was introduced in v1.12 and helps ensuring that users 2025-03-14T05:25:14.1020013Z only run code from repos that they trust. 2025-03-14T05:25:14.1020596Z 2025-03-14T05:25:14.1021127Z - If ``False``, a prompt will ask the user whether the repo should 2025-03-14T05:25:14.1021858Z be trusted. 2025-03-14T05:25:14.1022487Z - If ``True``, the repo will be added to the trusted list and loaded 2025-03-14T05:25:14.1023276Z without requiring explicit confirmation. 2025-03-14T05:25:14.1024020Z - If ``"check"``, the repo will be checked against the list of 2025-03-14T05:25:14.1024917Z trusted repos in the cache. If it is not present in that list, the 2025-03-14T05:25:14.1025999Z behaviour will fall back onto the ``trust_repo=False`` option. 2025-03-14T05:25:14.1026900Z - If ``None``: this will raise a warning, inviting the user to set 2025-03-14T05:25:14.1027776Z ``trust_repo`` to either ``False``, ``True`` or ``"check"``. This 2025-03-14T05:25:14.1028703Z is only present for backward compatibility and will be removed in 2025-03-14T05:25:14.1029454Z v2.0. 2025-03-14T05:25:14.1029851Z 2025-03-14T05:25:14.1030526Z Default is ``None`` and will eventually change to ``"check"`` in v2.0. 2025-03-14T05:25:14.1031493Z force_reload (bool, optional): whether to force a fresh download of 2025-03-14T05:25:14.1032441Z the github repo unconditionally. Does not have any effect if 2025-03-14T05:25:14.1033220Z ``source = 'local'``. Default is ``False``. 2025-03-14T05:25:14.1034020Z verbose (bool, optional): If ``False``, mute messages about hitting 2025-03-14T05:25:14.1034988Z local caches. Note that the message about first download cannot be 2025-03-14T05:25:14.1035885Z muted. Does not have any effect if ``source = 'local'``. 2025-03-14T05:25:14.1036570Z Default is ``True``. 2025-03-14T05:25:14.1037428Z skip_validation (bool, optional): if ``False``, torchhub will check that the branch or commit 2025-03-14T05:25:14.1038700Z specified by the ``github`` argument properly belongs to the repo owner. This will make 2025-03-14T05:25:14.1039924Z requests to the GitHub API; you can specify a non-default GitHub token by setting the 2025-03-14T05:25:14.1040951Z ``GITHUB_TOKEN`` environment variable. Default is ``False``. 2025-03-14T05:25:14.1041870Z **kwargs (optional): the corresponding kwargs for callable ``model``. 2025-03-14T05:25:14.1042616Z 2025-03-14T05:25:14.1042966Z Returns: 2025-03-14T05:25:14.1043519Z The output of the ``model`` callable when called with the given 2025-03-14T05:25:14.1044243Z ``*args`` and ``**kwargs``. 2025-03-14T05:25:14.1044741Z 2025-03-14T05:25:14.1045081Z Example: 2025-03-14T05:25:14.1045542Z >>> # xdoctest: +REQUIRES(env:TORCH_DOCTEST_HUB) 2025-03-14T05:25:14.1046160Z >>> # from a github repo 2025-03-14T05:25:14.1046671Z >>> repo = "pytorch/vision" 2025-03-14T05:25:14.1047216Z >>> model = torch.hub.load( 2025-03-14T05:25:14.1047887Z ... repo, "resnet50", weights="ResNet50_Weights.IMAGENET1K_V1" 2025-03-14T05:25:14.1048574Z ... ) 2025-03-14T05:25:14.1048980Z >>> # from a local directory 2025-03-14T05:25:14.1049571Z >>> path = "/some/local/path/pytorch/vision" 2025-03-14T05:25:14.1050170Z >>> # xdoctest: +SKIP 2025-03-14T05:25:14.1050919Z >>> model = torch.hub.load(path, "resnet50", weights="ResNet50_Weights.DEFAULT") 2025-03-14T05:25:14.1051715Z 2025-03-14T05:25:14.1052367Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.1053195Z 2025-03-14T05:25:14.1053561Z warnings.warn(msg) 2025-03-14T05:25:14.1054005Z 2025-03-14T05:25:14.1054556Z --- Parse Warning: 5 / 116 --- 2025-03-14T05:25:14.1056561Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=_load_local in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/hub.py line=652. 2025-03-14T05:25:14.1058749Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.1059612Z 2025-03-14T05:25:14.1060127Z Load a model from a local directory with a ``hubconf.py``. 2025-03-14T05:25:14.1060790Z 2025-03-14T05:25:14.1061133Z Args: 2025-03-14T05:25:14.1061677Z hubconf_dir (str): path to a local directory that contains a 2025-03-14T05:25:14.1062390Z ``hubconf.py``. 2025-03-14T05:25:14.1063021Z model (str): name of an entrypoint defined in the directory's 2025-03-14T05:25:14.1063870Z ``hubconf.py``. 2025-03-14T05:25:14.1064529Z *args (optional): the corresponding args for callable ``model``. 2025-03-14T05:25:14.1065471Z **kwargs (optional): the corresponding kwargs for callable ``model``. 2025-03-14T05:25:14.1066217Z 2025-03-14T05:25:14.1066556Z Returns: 2025-03-14T05:25:14.1067071Z a single model with corresponding pretrained weights. 2025-03-14T05:25:14.1067723Z 2025-03-14T05:25:14.1068065Z Example: 2025-03-14T05:25:14.1068562Z >>> # xdoctest: +SKIP("stub local path") 2025-03-14T05:25:14.1069198Z >>> path = "/some/local/path/pytorch/vision" 2025-03-14T05:25:14.1069800Z >>> model = _load_local( 2025-03-14T05:25:14.1070285Z ... path, 2025-03-14T05:25:14.1070706Z ... "resnet50", 2025-03-14T05:25:14.1071256Z ... weights="ResNet50_Weights.IMAGENET1K_V1", 2025-03-14T05:25:14.1071856Z ... ) 2025-03-14T05:25:14.1072231Z 2025-03-14T05:25:14.1072887Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.1073712Z 2025-03-14T05:25:14.1074068Z warnings.warn(msg) 2025-03-14T05:25:14.1074507Z 2025-03-14T05:25:14.1075034Z --- Parse Warning: 6 / 116 --- 2025-03-14T05:25:14.1077033Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=download_url_to_file in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/hub.py line=691. 2025-03-14T05:25:14.1079298Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.1080261Z Download object at the given URL to a local path. 2025-03-14T05:25:14.1080873Z 2025-03-14T05:25:14.1081231Z Args: 2025-03-14T05:25:14.1081692Z url (str): URL of the object to download 2025-03-14T05:25:14.1082540Z dst (str): Full path where object will be saved, e.g. ``/tmp/temporary_file`` 2025-03-14T05:25:14.1083801Z hash_prefix (str, optional): If not None, the SHA256 downloaded file should start with ``hash_prefix``. 2025-03-14T05:25:14.1084805Z Default: None 2025-03-14T05:25:14.1085588Z progress (bool, optional): whether or not to display a progress bar to stderr 2025-03-14T05:25:14.1086439Z Default: True 2025-03-14T05:25:14.1086914Z 2025-03-14T05:25:14.1087274Z Example: 2025-03-14T05:25:14.1087763Z >>> # xdoctest: +REQUIRES(env:TORCH_DOCTEST_HUB) 2025-03-14T05:25:14.1088432Z >>> # xdoctest: +REQUIRES(POSIX) 2025-03-14T05:25:14.1089051Z >>> torch.hub.download_url_to_file( 2025-03-14T05:25:14.1089871Z ... "https://s3.amazonaws.com/pytorch/models/resnet18-5c106cde.pth", 2025-03-14T05:25:14.1090686Z ... "/tmp/temporary_file", 2025-03-14T05:25:14.1091226Z ... ) 2025-03-14T05:25:14.1091621Z 2025-03-14T05:25:14.1091984Z 2025-03-14T05:25:14.1092674Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.1093520Z 2025-03-14T05:25:14.1093900Z warnings.warn(msg) 2025-03-14T05:25:14.1094355Z 2025-03-14T05:25:14.1094883Z --- Parse Warning: 7 / 116 --- 2025-03-14T05:25:14.1096979Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=load_state_dict_from_url in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/hub.py line=816. 2025-03-14T05:25:14.1099436Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.1100414Z Loads the Torch serialized object at the given URL. 2025-03-14T05:25:14.1101049Z 2025-03-14T05:25:14.1101579Z If downloaded file is a zip file, it will be automatically 2025-03-14T05:25:14.1102297Z decompressed. 2025-03-14T05:25:14.1102726Z 2025-03-14T05:25:14.1103311Z If the object is already present in `model_dir`, it's deserialized and 2025-03-14T05:25:14.1104220Z returned. 2025-03-14T05:25:14.1104845Z The default value of ``model_dir`` is ``/checkpoints`` where 2025-03-14T05:25:14.1105798Z ``hub_dir`` is the directory returned by :func:`~torch.hub.get_dir`. 2025-03-14T05:25:14.1106522Z 2025-03-14T05:25:14.1106854Z Args: 2025-03-14T05:25:14.1107311Z url (str): URL of the object to download 2025-03-14T05:25:14.1108101Z model_dir (str, optional): directory in which to save the object 2025-03-14T05:25:14.1109409Z map_location (optional): a function or a dict specifying how to remap storage locations (see torch.load) 2025-03-14T05:25:14.1110740Z progress (bool, optional): whether or not to display a progress bar to stderr. 2025-03-14T05:25:14.1111606Z Default: True 2025-03-14T05:25:14.1112525Z check_hash(bool, optional): If True, the filename part of the URL should follow the naming convention 2025-03-14T05:25:14.1113735Z ``filename-.ext`` where ```` is the first eight or more 2025-03-14T05:25:14.1114758Z digits of the SHA256 hash of the contents of the file. The hash is used to 2025-03-14T05:25:14.1115746Z ensure unique names and to verify the contents of the file. 2025-03-14T05:25:14.1116487Z Default: False 2025-03-14T05:25:14.1117430Z file_name (str, optional): name for the downloaded file. Filename from ``url`` will be used if not set. 2025-03-14T05:25:14.1118860Z weights_only(bool, optional): If True, only weights will be loaded and no complex pickled objects. 2025-03-14T05:25:14.1120149Z Recommended for untrusted sources. See :func:`~torch.load` for more details. 2025-03-14T05:25:14.1121009Z 2025-03-14T05:25:14.1121371Z Example: 2025-03-14T05:25:14.1121872Z >>> # xdoctest: +REQUIRES(env:TORCH_DOCTEST_HUB) 2025-03-14T05:25:14.1122613Z >>> state_dict = torch.hub.load_state_dict_from_url( 2025-03-14T05:25:14.1123485Z ... "https://s3.amazonaws.com/pytorch/models/resnet18-5c106cde.pth" 2025-03-14T05:25:14.1124238Z ... ) 2025-03-14T05:25:14.1124635Z 2025-03-14T05:25:14.1124994Z 2025-03-14T05:25:14.1125673Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.1126512Z 2025-03-14T05:25:14.1126880Z warnings.warn(msg) 2025-03-14T05:25:14.1127340Z 2025-03-14T05:25:14.1127897Z --- Parse Warning: 8 / 116 --- 2025-03-14T05:25:14.1129929Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=Library.fallback in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/library.py line=376. 2025-03-14T05:25:14.1132201Z Caused by: DoctestParseError('Failed to parse doctest in _package_groups') 2025-03-14T05:25:14.1133394Z Registers the function implementation as the fallback for the given key. 2025-03-14T05:25:14.1134215Z 2025-03-14T05:25:14.1134812Z This function only works for a library with global namespace ("_"). 2025-03-14T05:25:14.1135565Z 2025-03-14T05:25:14.1135991Z Args: 2025-03-14T05:25:14.1136752Z fn: function used as fallback for the given dispatch key or :func:`~fallthrough_kernel` 2025-03-14T05:25:14.1137689Z to register a fallthrough. 2025-03-14T05:25:14.1138691Z dispatch_key: dispatch key that the input function should be registered for. By default, it uses 2025-03-14T05:25:14.1139806Z the dispatch key that the library was created with. 2025-03-14T05:25:14.1141003Z with_keyset: flag controlling if the current dispatcher call keyset should be passed as the first argument 2025-03-14T05:25:14.1142487Z to :attr:`fn` when calling. This should be used to create the appropriate keyset for redispatch calls. 2025-03-14T05:25:14.1143529Z 2025-03-14T05:25:14.1143894Z Example:: 2025-03-14T05:25:14.1144347Z >>> my_lib = Library("_", "IMPL") 2025-03-14T05:25:14.1144972Z >>> def fallback_kernel(op, *args, **kwargs): 2025-03-14T05:25:14.1145645Z >>> # Handle all autocast ops generically 2025-03-14T05:25:14.1146229Z >>> # ... 2025-03-14T05:25:14.1146779Z >>> my_lib.fallback(fallback_kernel, "Autocast") 2025-03-14T05:25:14.1147399Z 2025-03-14T05:25:14.1148867Z Original Error: IndentationError('expected an indented block after function definition on line 2', ('', 5, 1, 'my_lib.fallback(fallback_kernel, "Autocast")\n', 5, 7)) 2025-03-14T05:25:14.1150381Z 2025-03-14T05:25:14.1150802Z my_lib.fallback(fallback_kernel, "Autocast") 2025-03-14T05:25:14.1151377Z ^ 2025-03-14T05:25:14.1151734Z warnings.warn(msg) 2025-03-14T05:25:14.1162756Z 2025-03-14T05:25:14.1163321Z --- Parse Warning: 9 / 116 --- 2025-03-14T05:25:14.1165319Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=register_fake in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/library.py line=920. 2025-03-14T05:25:14.1167536Z Caused by: DoctestParseError('Failed to parse doctest in _package_groups') 2025-03-14T05:25:14.1168605Z Register a FakeTensor implementation ("fake impl") for this operator. 2025-03-14T05:25:14.1169376Z 2025-03-14T05:25:14.1169887Z Also sometimes known as a "meta kernel", "abstract impl". 2025-03-14T05:25:14.1170550Z 2025-03-14T05:25:14.1171183Z An "FakeTensor implementation" specifies the behavior of this operator on 2025-03-14T05:25:14.1172236Z Tensors that carry no data ("FakeTensor"). Given some input Tensors with 2025-03-14T05:25:14.1173278Z certain properties (sizes/strides/storage_offset/device), it specifies 2025-03-14T05:25:14.1174203Z what the properties of the output Tensors are. 2025-03-14T05:25:14.1174805Z 2025-03-14T05:25:14.1175413Z The FakeTensor implementation has the same signature as the operator. 2025-03-14T05:25:14.1176498Z It is run for both FakeTensors and meta tensors. To write a FakeTensor 2025-03-14T05:25:14.1177482Z implementation, assume that all Tensor inputs to the operator are 2025-03-14T05:25:14.1178453Z regular CPU/CUDA/Meta tensors, but they do not have storage, and 2025-03-14T05:25:14.1179411Z you are trying to return regular CPU/CUDA/Meta tensor(s) as output. 2025-03-14T05:25:14.1180410Z The FakeTensor implementation must consist of only PyTorch operations 2025-03-14T05:25:14.1181385Z (and may not directly access the storage or data of any input or 2025-03-14T05:25:14.1182114Z intermediate Tensors). 2025-03-14T05:25:14.1182592Z 2025-03-14T05:25:14.1183057Z This API may be used as a decorator (see examples). 2025-03-14T05:25:14.1183683Z 2025-03-14T05:25:14.1184118Z For a detailed guide on custom ops, please see 2025-03-14T05:25:14.1184997Z https://pytorch.org/tutorials/advanced/custom_ops_landing_page.html 2025-03-14T05:25:14.1185770Z 2025-03-14T05:25:14.1186120Z Examples: 2025-03-14T05:25:14.1186538Z >>> import torch 2025-03-14T05:25:14.1187040Z >>> import numpy as np 2025-03-14T05:25:14.1187569Z >>> from torch import Tensor 2025-03-14T05:25:14.1188092Z >>> 2025-03-14T05:25:14.1188652Z >>> # Example 1: an operator without data-dependent output shape 2025-03-14T05:25:14.1189591Z >>> @torch.library.custom_op("mylib::custom_linear", mutates_args=()) 2025-03-14T05:25:14.1190578Z >>> def custom_linear(x: Tensor, weight: Tensor, bias: Tensor) -> Tensor: 2025-03-14T05:25:14.1191499Z >>> raise NotImplementedError("Implementation goes here") 2025-03-14T05:25:14.1192182Z >>> 2025-03-14T05:25:14.1192822Z >>> @torch.library.register_fake("mylib::custom_linear") 2025-03-14T05:25:14.1193495Z >>> def _(x, weight, bias): 2025-03-14T05:25:14.1194051Z >>> assert x.dim() == 2 2025-03-14T05:25:14.1194624Z >>> assert weight.dim() == 2 2025-03-14T05:25:14.1195212Z >>> assert bias.dim() == 1 2025-03-14T05:25:14.1195811Z >>> assert x.shape[1] == weight.shape[1] 2025-03-14T05:25:14.1196465Z >>> assert weight.shape[0] == bias.shape[0] 2025-03-14T05:25:14.1197188Z >>> assert x.device == weight.device 2025-03-14T05:25:14.1197748Z >>> 2025-03-14T05:25:14.1198342Z >>> return (x @ weight.t()) + bias 2025-03-14T05:25:14.1198896Z >>> 2025-03-14T05:25:14.1199420Z >>> with torch._subclasses.fake_tensor.FakeTensorMode(): 2025-03-14T05:25:14.1200132Z >>> x = torch.randn(2, 3) 2025-03-14T05:25:14.1200707Z >>> w = torch.randn(3, 3) 2025-03-14T05:25:14.1201586Z >>> b = torch.randn(3) 2025-03-14T05:25:14.1202189Z >>> y = torch.ops.mylib.custom_linear(x, w, b) 2025-03-14T05:25:14.1202786Z >>> 2025-03-14T05:25:14.1203196Z >>> assert y.shape == (2, 3) 2025-03-14T05:25:14.1203721Z >>> 2025-03-14T05:25:14.1204239Z >>> # Example 2: an operator with data-dependent output shape 2025-03-14T05:25:14.1205156Z >>> @torch.library.custom_op("mylib::custom_nonzero", mutates_args=()) 2025-03-14T05:25:14.1205990Z >>> def custom_nonzero(x: Tensor) -> Tensor: 2025-03-14T05:25:14.1206619Z >>> x_np = x.numpy(force=True) 2025-03-14T05:25:14.1207245Z >>> res = np.stack(np.nonzero(x_np), axis=1) 2025-03-14T05:25:14.1207915Z >>> return torch.tensor(res, device=x.device) 2025-03-14T05:25:14.1208515Z >>> 2025-03-14T05:25:14.1209052Z >>> @torch.library.register_fake("mylib::custom_nonzero") 2025-03-14T05:25:14.1209741Z >>> def _(x): 2025-03-14T05:25:14.1210299Z >>> # Number of nonzero-elements is data-dependent. 2025-03-14T05:25:14.1211044Z >>> # Since we cannot peek at the data in an fake impl, 2025-03-14T05:25:14.1211808Z >>> # we use the ctx object to construct a new symint that 2025-03-14T05:25:14.1212536Z >>> # represents the data-dependent size. 2025-03-14T05:25:14.1213178Z >>> ctx = torch.library.get_ctx() 2025-03-14T05:25:14.1213804Z >>> nnz = ctx.new_dynamic_size() 2025-03-14T05:25:14.1214399Z >>> shape = [nnz, x.dim()] 2025-03-14T05:25:14.1215048Z >>> result = x.new_empty(shape, dtype=torch.int64) 2025-03-14T05:25:14.1215752Z >>> return result 2025-03-14T05:25:14.1216240Z >>> 2025-03-14T05:25:14.1216788Z >>> from torch.fx.experimental.proxy_tensor import make_fx 2025-03-14T05:25:14.1217480Z >>> 2025-03-14T05:25:14.1217902Z >>> x = torch.tensor([0, 1, 2, 3, 4, 0]) 2025-03-14T05:25:14.1218753Z >>> trace = make_fx(torch.ops.mylib.custom_nonzero, tracing_mode="symbolic")(x) 2025-03-14T05:25:14.1219613Z >>> trace.print_readable() 2025-03-14T05:25:14.1220142Z >>> 2025-03-14T05:25:14.1220771Z >>> assert torch.allclose(trace(x), torch.ops.mylib.custom_nonzero(x)) 2025-03-14T05:25:14.1221548Z 2025-03-14T05:25:14.1221901Z 2025-03-14T05:25:14.1223101Z Original Error: IndentationError('expected an indented block after function definition on line 37', ('', 38, 1, '_._ = None\n', 38, 2)) 2025-03-14T05:25:14.1224455Z 2025-03-14T05:25:14.1224800Z _._ = None 2025-03-14T05:25:14.1225179Z ^ 2025-03-14T05:25:14.1225562Z warnings.warn(msg) 2025-03-14T05:25:14.1226003Z 2025-03-14T05:25:14.1226567Z --- Parse Warning: 10 / 116 --- 2025-03-14T05:25:14.1228624Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=register_autograd in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/library.py line=1041. 2025-03-14T05:25:14.1231042Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.1232001Z Register a backward formula for this custom op. 2025-03-14T05:25:14.1232623Z 2025-03-14T05:25:14.1233196Z In order for an operator to work with autograd, you need to register 2025-03-14T05:25:14.1233952Z a backward formula: 2025-03-14T05:25:14.1234792Z 1. You must tell us how to compute gradients during the backward pass 2025-03-14T05:25:14.1235598Z by providing us a "backward" function. 2025-03-14T05:25:14.1236404Z 2. If you need any values from the forward to compute gradients, you can 2025-03-14T05:25:14.1237277Z use `setup_context` to save values for backward. 2025-03-14T05:25:14.1237890Z 2025-03-14T05:25:14.1238556Z ``backward`` runs during the backward pass. It accepts ``(ctx, *grads)``: 2025-03-14T05:25:14.1239540Z - ``grads`` is one or more gradients. The number of gradients matches 2025-03-14T05:25:14.1240329Z the number of outputs of the operator. 2025-03-14T05:25:14.1241146Z The ``ctx`` object is `the same ctx object `_ used by 2025-03-14T05:25:14.1242201Z :class:`torch.autograd.Function`. The semantics of ``backward_fn`` are the 2025-03-14T05:25:14.1243136Z same as :meth:`torch.autograd.Function.backward`. 2025-03-14T05:25:14.1243785Z 2025-03-14T05:25:14.1244375Z ``setup_context(ctx, inputs, output)`` runs during the forward pass. 2025-03-14T05:25:14.1245408Z Please save quantities needed for backward onto the ``ctx`` object via 2025-03-14T05:25:14.1246468Z either :meth:`torch.autograd.function.FunctionCtx.save_for_backward` 2025-03-14T05:25:14.1247478Z or assigning them as attributes of ``ctx``. If your custom op has 2025-03-14T05:25:14.1248451Z kwarg-only arguments, we expect the signature of ``setup_context`` 2025-03-14T05:25:14.1249405Z to be ``setup_context(ctx, inputs, keyword_only_inputs, output)``. 2025-03-14T05:25:14.1250120Z 2025-03-14T05:25:14.1250716Z Both ``setup_context_fn`` and ``backward_fn`` must be traceable. That is, 2025-03-14T05:25:14.1251741Z they may not directly access :meth:`torch.Tensor.data_ptr` and they must 2025-03-14T05:25:14.1252788Z not depend on or mutate global state. If you need a non-traceable backward, 2025-03-14T05:25:14.1253852Z you can make it a separate custom_op that you call inside ``backward_fn``. 2025-03-14T05:25:14.1254629Z 2025-03-14T05:25:14.1255212Z If you need different autograd behavior on different devices, then we 2025-03-14T05:25:14.1256314Z recommend creating two different custom operators, one for each device 2025-03-14T05:25:14.1257372Z that needs different behavior, and switching between them at runtime. 2025-03-14T05:25:14.1258156Z 2025-03-14T05:25:14.1258510Z Examples: 2025-03-14T05:25:14.1258923Z >>> import torch 2025-03-14T05:25:14.1259424Z >>> import numpy as np 2025-03-14T05:25:14.1259973Z >>> from torch import Tensor 2025-03-14T05:25:14.1260510Z >>> 2025-03-14T05:25:14.1261106Z >>> @torch.library.custom_op("mylib::numpy_sin", mutates_args=()) 2025-03-14T05:25:14.1261900Z >>> def numpy_sin(x: Tensor) -> Tensor: 2025-03-14T05:25:14.1262517Z >>> x_np = x.cpu().numpy() 2025-03-14T05:25:14.1263082Z >>> y_np = np.sin(x_np) 2025-03-14T05:25:14.1263725Z >>> return torch.from_numpy(y_np).to(device=x.device) 2025-03-14T05:25:14.1264368Z >>> 2025-03-14T05:25:14.1264876Z >>> def setup_context(ctx, inputs, output) -> Tensor: 2025-03-14T05:25:14.1265534Z >>> x, = inputs 2025-03-14T05:25:14.1266055Z >>> ctx.save_for_backward(x) 2025-03-14T05:25:14.1266654Z >>> 2025-03-14T05:25:14.1267087Z >>> def backward(ctx, grad): 2025-03-14T05:25:14.1267663Z >>> x, = ctx.saved_tensors 2025-03-14T05:25:14.1268237Z >>> return grad * x.cos() 2025-03-14T05:25:14.1268778Z >>> 2025-03-14T05:25:14.1269232Z >>> torch.library.register_autograd( 2025-03-14T05:25:14.1269981Z ... "mylib::numpy_sin", backward, setup_context=setup_context 2025-03-14T05:25:14.1270679Z ... ) 2025-03-14T05:25:14.1271139Z >>> 2025-03-14T05:25:14.1271594Z >>> x = torch.randn(3, requires_grad=True) 2025-03-14T05:25:14.1272193Z >>> y = numpy_sin(x) 2025-03-14T05:25:14.1272824Z >>> (grad_x,) = torch.autograd.grad(y, x, torch.ones_like(y)) 2025-03-14T05:25:14.1273570Z >>> assert torch.allclose(grad_x, x.cos()) 2025-03-14T05:25:14.1274158Z >>> 2025-03-14T05:25:14.1274656Z >>> # Example with a keyword-only arg 2025-03-14T05:25:14.1275454Z >>> @torch.library.custom_op("mylib::numpy_mul", mutates_args=()) 2025-03-14T05:25:14.1276319Z >>> def numpy_mul(x: Tensor, *, val: float) -> Tensor: 2025-03-14T05:25:14.1277003Z >>> x_np = x.cpu().numpy() 2025-03-14T05:25:14.1277567Z >>> y_np = x_np * val 2025-03-14T05:25:14.1278212Z >>> return torch.from_numpy(y_np).to(device=x.device) 2025-03-14T05:25:14.1278865Z >>> 2025-03-14T05:25:14.1279532Z >>> def setup_context(ctx, inputs, keyword_only_inputs, output) -> Tensor: 2025-03-14T05:25:14.1280403Z >>> ctx.val = keyword_only_inputs["val"] 2025-03-14T05:25:14.1280979Z >>> 2025-03-14T05:25:14.1281404Z >>> def backward(ctx, grad): 2025-03-14T05:25:14.1281986Z >>> return grad * ctx.val 2025-03-14T05:25:14.1282521Z >>> 2025-03-14T05:25:14.1282980Z >>> torch.library.register_autograd( 2025-03-14T05:25:14.1283729Z ... "mylib::numpy_mul", backward, setup_context=setup_context 2025-03-14T05:25:14.1284429Z ... ) 2025-03-14T05:25:14.1284829Z >>> 2025-03-14T05:25:14.1285283Z >>> x = torch.randn(3, requires_grad=True) 2025-03-14T05:25:14.1285910Z >>> y = numpy_mul(x, val=3.14) 2025-03-14T05:25:14.1286602Z >>> (grad_x,) = torch.autograd.grad(y, x, torch.ones_like(y)) 2025-03-14T05:25:14.1287444Z >>> assert torch.allclose(grad_x, torch.full_like(x, 3.14)) 2025-03-14T05:25:14.1288145Z 2025-03-14T05:25:14.1288502Z 2025-03-14T05:25:14.1289174Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.1290010Z 2025-03-14T05:25:14.1290382Z warnings.warn(msg) 2025-03-14T05:25:14.1290820Z 2025-03-14T05:25:14.1291376Z --- Parse Warning: 11 / 116 --- 2025-03-14T05:25:14.1293342Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=opcheck in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/library.py line=1455. 2025-03-14T05:25:14.1295570Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.1296744Z Given an operator and some sample arguments, tests if the operator is 2025-03-14T05:25:14.1297543Z registered correctly. 2025-03-14T05:25:14.1298176Z 2025-03-14T05:25:14.1298758Z That is, when you use the torch.library/TORCH_LIBRARY APIs to create a 2025-03-14T05:25:14.1299809Z custom op, you specified metadata (e.g. mutability info) about the custom op 2025-03-14T05:25:14.1300889Z and these APIs require that the functions you pass them satisfy certain 2025-03-14T05:25:14.1301949Z properties (e.g. no data pointer access in the fake/meta/abstract kernel) 2025-03-14T05:25:14.1302856Z ``opcheck`` tests these metadata and properties. 2025-03-14T05:25:14.1303576Z 2025-03-14T05:25:14.1303987Z Concretely, we test the following: 2025-03-14T05:25:14.1304544Z 2025-03-14T05:25:14.1305067Z - test_schema: If the schema matches the implementation of 2025-03-14T05:25:14.1306011Z the operator. For example: if the schema specifies a Tensor is mutated, 2025-03-14T05:25:14.1307018Z then we check the implementation mutates the Tensor. If the schema 2025-03-14T05:25:14.1307957Z specifies that we return a new Tensor, then we check that the 2025-03-14T05:25:14.1309009Z implementation returns a new Tensor (instead of an existing one or 2025-03-14T05:25:14.1309835Z a view of an existing one). 2025-03-14T05:25:14.1310583Z - test_autograd_registration: If the operator supports training 2025-03-14T05:25:14.1311537Z (autograd): we check that its autograd formula is registered via 2025-03-14T05:25:14.1312505Z torch.library.register_autograd or a manual registration to one 2025-03-14T05:25:14.1313566Z or more DispatchKey::Autograd keys. Any other DispatchKey-based 2025-03-14T05:25:14.1314395Z registrations may lead to undefined behavior. 2025-03-14T05:25:14.1315190Z - test_faketensor: If the operator has a FakeTensor kernel 2025-03-14T05:25:14.1316046Z (and if it is correct). The FakeTensor kernel is necessary ( 2025-03-14T05:25:14.1316978Z but not sufficient) for the operator to work with PyTorch compilation 2025-03-14T05:25:14.1318001Z APIs (torch.compile/export/FX). We check that a FakeTensor kernel 2025-03-14T05:25:14.1318977Z (also sometimes known as a meta kernel) was registered for the 2025-03-14T05:25:14.1319902Z operator and that it is correct. This test takes the result of 2025-03-14T05:25:14.1320834Z running the operator on real tensors and the result of running 2025-03-14T05:25:14.1321763Z the operator on FakeTensors and checks that they have the same 2025-03-14T05:25:14.1322623Z Tensor metadata (sizes/strides/dtype/device/etc). 2025-03-14T05:25:14.1323479Z - test_aot_dispatch_dynamic: If the operator has correct behavior 2025-03-14T05:25:14.1324395Z with PyTorch compilation APIs (torch.compile/export/FX). 2025-03-14T05:25:14.1325318Z This checks that the outputs (and gradients, if applicable) are the 2025-03-14T05:25:14.1326197Z same under eager-mode PyTorch and torch.compile. 2025-03-14T05:25:14.1327032Z This test is a superset of ``test_faketensor`` and is an e2e test; 2025-03-14T05:25:14.1327904Z other things it tests are that the operator supports 2025-03-14T05:25:14.1328804Z functionalization and that the backward pass (if it exists) also 2025-03-14T05:25:14.1329665Z supports FakeTensor and functionalization. 2025-03-14T05:25:14.1330268Z 2025-03-14T05:25:14.1330821Z For best results, please call ``opcheck`` multiple times with a 2025-03-14T05:25:14.1331733Z representative set of inputs. If your operator supports 2025-03-14T05:25:14.1332700Z autograd, please use ``opcheck`` with inputs with ``requires_grad = True``; 2025-03-14T05:25:14.1333762Z if your operator supports multiple devices (e.g. CPU and CUDA), please 2025-03-14T05:25:14.1334676Z use ``opcheck`` with inputs on all supported devices. 2025-03-14T05:25:14.1335330Z 2025-03-14T05:25:14.1335735Z Args: 2025-03-14T05:25:14.1336282Z op: The operator. Must either be a function decorated with 2025-03-14T05:25:14.1337210Z :func:`torch.library.custom_op` or an OpOverload/OpOverloadPacket 2025-03-14T05:25:14.1338210Z found in torch.ops.* (e.g. torch.ops.aten.sin, torch.ops.mylib.foo) 2025-03-14T05:25:14.1339021Z args: The args to the operator 2025-03-14T05:25:14.1339632Z kwargs: The kwargs to the operator 2025-03-14T05:25:14.1340379Z test_utils: Tests that we should run. Default: all of them. 2025-03-14T05:25:14.1341234Z Example: ("test_schema", "test_faketensor") 2025-03-14T05:25:14.1342049Z raise_exception: If we should raise an exception on the first 2025-03-14T05:25:14.1342928Z error. If False, we will return a dict with information 2025-03-14T05:25:14.1343668Z on if each test passed or not. 2025-03-14T05:25:14.1344522Z rtol (Optional[float]): Relative tolerance for floating point comparisons. 2025-03-14T05:25:14.1345434Z If specified ``atol`` must also be specified. 2025-03-14T05:25:14.1346307Z If omitted, default values based on the ``dtype`` are selected 2025-03-14T05:25:14.1347182Z (see the table in :func:`torch.testing.assert_close`). 2025-03-14T05:25:14.1348150Z atol (Optional[float]): Absolute tolerance for floating point comparisons. 2025-03-14T05:25:14.1349061Z If specified ``rtol`` must also be specified. 2025-03-14T05:25:14.1349919Z If omitted, default values based on the ``dtype`` are selected 2025-03-14T05:25:14.1350795Z (see the table in :func:`torch.testing.assert_close`). 2025-03-14T05:25:14.1351469Z 2025-03-14T05:25:14.1351843Z .. warning:: 2025-03-14T05:25:14.1352263Z 2025-03-14T05:25:14.1352861Z opcheck and :func:`torch.autograd.gradcheck` test different things; 2025-03-14T05:25:14.1353843Z opcheck tests if your usage of torch.library APIs is correct while 2025-03-14T05:25:14.1354836Z :func:`torch.autograd.gradcheck` tests if your autograd formula is 2025-03-14T05:25:14.1355843Z mathematically correct. Use both to test custom ops that support 2025-03-14T05:25:14.1356659Z gradient computation. 2025-03-14T05:25:14.1357170Z 2025-03-14T05:25:14.1357529Z Example: 2025-03-14T05:25:14.1357929Z 2025-03-14T05:25:14.1358379Z >>> # xdoctest: +REQUIRES(env:TORCH_DOCTEST_CUDA) 2025-03-14T05:25:14.1359216Z >>> @torch.library.custom_op("mylib::numpy_mul", mutates_args=()) 2025-03-14T05:25:14.1360064Z >>> def numpy_mul(x: Tensor, y: float) -> Tensor: 2025-03-14T05:25:14.1360737Z >>> x_np = x.numpy(force=True) 2025-03-14T05:25:14.1361311Z >>> z_np = x_np * y 2025-03-14T05:25:14.1361907Z >>> return torch.from_numpy(z_np).to(x.device) 2025-03-14T05:25:14.1362513Z >>> 2025-03-14T05:25:14.1362945Z >>> @numpy_mul.register_fake 2025-03-14T05:25:14.1363499Z >>> def _(x, y): 2025-03-14T05:25:14.1364015Z >>> return torch.empty_like(x) 2025-03-14T05:25:14.1364575Z >>> 2025-03-14T05:25:14.1365024Z >>> def setup_context(ctx, inputs, output): 2025-03-14T05:25:14.1365629Z >>> y, = inputs 2025-03-14T05:25:14.1366111Z >>> ctx.y = y 2025-03-14T05:25:14.1366586Z >>> 2025-03-14T05:25:14.1367011Z >>> def backward(ctx, grad): 2025-03-14T05:25:14.1367598Z >>> return grad * ctx.y, None 2025-03-14T05:25:14.1368151Z >>> 2025-03-14T05:25:14.1368782Z >>> numpy_mul.register_autograd(backward, setup_context=setup_context) 2025-03-14T05:25:14.1369566Z >>> 2025-03-14T05:25:14.1369983Z >>> sample_inputs = [ 2025-03-14T05:25:14.1370519Z >>> (torch.randn(3), 3.14), 2025-03-14T05:25:14.1371140Z >>> (torch.randn(2, 3, device='cuda'), 2.718), 2025-03-14T05:25:14.1371842Z >>> (torch.randn(1, 10, requires_grad=True), 1.234), 2025-03-14T05:25:14.1372675Z >>> (torch.randn(64, 64, device='cuda', requires_grad=True), 90.18), 2025-03-14T05:25:14.1373398Z >>> ] 2025-03-14T05:25:14.1373797Z >>> 2025-03-14T05:25:14.1374231Z >>> for args in sample_inputs: 2025-03-14T05:25:14.1374866Z >>> torch.library.opcheck(numpy_mul, args) 2025-03-14T05:25:14.1375457Z 2025-03-14T05:25:14.1375934Z 2025-03-14T05:25:14.1376609Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.1377447Z 2025-03-14T05:25:14.1377819Z warnings.warn(msg) 2025-03-14T05:25:14.1378270Z 2025-03-14T05:25:14.1378819Z --- Parse Warning: 12 / 116 --- 2025-03-14T05:25:14.1380815Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=load in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/serialization.py line=1283. 2025-03-14T05:25:14.1383141Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.1384461Z load(f, map_location=None, pickle_module=pickle, *, weights_only=True, mmap=None, **pickle_load_args) 2025-03-14T05:25:14.1385446Z 2025-03-14T05:25:14.1385958Z Loads an object saved with :func:`torch.save` from a file. 2025-03-14T05:25:14.1386645Z 2025-03-14T05:25:14.1387257Z :func:`torch.load` uses Python's unpickling facilities but treats storages, 2025-03-14T05:25:14.1388363Z which underlie tensors, specially. They are first deserialized on the 2025-03-14T05:25:14.1389382Z CPU and are then moved to the device they were saved from. If this fails 2025-03-14T05:25:14.1390408Z (e.g. because the run time system doesn't have certain devices), an exception 2025-03-14T05:25:14.1391490Z is raised. However, storages can be dynamically remapped to an alternative 2025-03-14T05:25:14.1392443Z set of devices using the :attr:`map_location` argument. 2025-03-14T05:25:14.1393094Z 2025-03-14T05:25:14.1393731Z If :attr:`map_location` is a callable, it will be called once for each serialized 2025-03-14T05:25:14.1394799Z storage with two arguments: storage and location. The storage argument 2025-03-14T05:25:14.1395848Z will be the initial deserialization of the storage, residing on the CPU. 2025-03-14T05:25:14.1396872Z Each serialized storage has a location tag associated with it which 2025-03-14T05:25:14.1398045Z identifies the device it was saved from, and this tag is the second 2025-03-14T05:25:14.1399041Z argument passed to :attr:`map_location`. The builtin location tags are ``'cpu'`` 2025-03-14T05:25:14.1400178Z for CPU tensors and ``'cuda:device_id'`` (e.g. ``'cuda:2'``) for CUDA tensors. 2025-03-14T05:25:14.1401177Z :attr:`map_location` should return either ``None`` or a storage. If 2025-03-14T05:25:14.1402234Z :attr:`map_location` returns a storage, it will be used as the final deserialized 2025-03-14T05:25:14.1403366Z object, already moved to the right device. Otherwise, :func:`torch.load` will 2025-03-14T05:25:14.1404484Z fall back to the default behavior, as if :attr:`map_location` wasn't specified. 2025-03-14T05:25:14.1405305Z 2025-03-14T05:25:14.1405929Z If :attr:`map_location` is a :class:`torch.device` object or a string containing 2025-03-14T05:25:14.1407018Z a device tag, it indicates the location where all tensors should be loaded. 2025-03-14T05:25:14.1407818Z 2025-03-14T05:25:14.1408483Z Otherwise, if :attr:`map_location` is a dict, it will be used to remap location tags 2025-03-14T05:25:14.1409556Z appearing in the file (keys), to ones that specify where to put the 2025-03-14T05:25:14.1410322Z storages (values). 2025-03-14T05:25:14.1410793Z 2025-03-14T05:25:14.1411408Z User extensions can register their own location tags and tagging and 2025-03-14T05:25:14.1412529Z deserialization methods using :func:`torch.serialization.register_package`. 2025-03-14T05:25:14.1413391Z 2025-03-14T05:25:14.1413752Z Args: 2025-03-14T05:25:14.1414567Z f: a file-like object (has to implement :meth:`read`, :meth:`readline`, :meth:`tell`, and :meth:`seek`), 2025-03-14T05:25:14.1415747Z or a string or os.PathLike object containing a file name 2025-03-14T05:25:14.1416871Z map_location: a function, :class:`torch.device`, string or a dict specifying how to remap storage 2025-03-14T05:25:14.1417966Z locations 2025-03-14T05:25:14.1418684Z pickle_module: module used for unpickling metadata and objects (has to 2025-03-14T05:25:14.1419617Z match the :attr:`pickle_module` used to serialize file) 2025-03-14T05:25:14.1420539Z weights_only: Indicates whether unpickler should be restricted to 2025-03-14T05:25:14.1421442Z loading only tensors, primitive types, dictionaries 2025-03-14T05:25:14.1422438Z and any types added via :func:`torch.serialization.add_safe_globals`. 2025-03-14T05:25:14.1423299Z See :ref:`weights-only` for more details. 2025-03-14T05:25:14.1424366Z mmap: Indicates whether the file should be mmaped rather than loading all the storages into memory. 2025-03-14T05:25:14.1425832Z Typically, tensor storages in the file will first be moved from disk to CPU memory, after which they 2025-03-14T05:25:14.1427361Z are moved to the location that they were tagged with when saving, or specified by ``map_location``. This 2025-03-14T05:25:14.1428822Z second step is a no-op if the final location is CPU. When the ``mmap`` flag is set, instead of copying the 2025-03-14T05:25:14.1430087Z tensor storages from disk to CPU memory in the first step, ``f`` is mmaped. 2025-03-14T05:25:14.1431201Z pickle_load_args: (Python 3 only) optional keyword arguments passed over to 2025-03-14T05:25:14.1432274Z :func:`pickle_module.load` and :func:`pickle_module.Unpickler`, e.g., 2025-03-14T05:25:14.1433086Z :attr:`errors=...`. 2025-03-14T05:25:14.1433593Z 2025-03-14T05:25:14.1433968Z .. warning:: 2025-03-14T05:25:14.1434613Z :func:`torch.load()` unless `weights_only` parameter is set to `True`, 2025-03-14T05:25:14.1435576Z uses ``pickle`` module implicitly, which is known to be insecure. 2025-03-14T05:25:14.1436664Z It is possible to construct malicious pickle data which will execute arbitrary code 2025-03-14T05:25:14.1437829Z during unpickling. Never load data that could have come from an untrusted 2025-03-14T05:25:14.1439026Z source in an unsafe mode, or that could have been tampered with. **Only load data you trust**. 2025-03-14T05:25:14.1439940Z 2025-03-14T05:25:14.1440303Z .. note:: 2025-03-14T05:25:14.1441028Z When you call :func:`torch.load()` on a file which contains GPU tensors, those tensors 2025-03-14T05:25:14.1442197Z will be loaded to GPU by default. You can call ``torch.load(.., map_location='cpu')`` 2025-03-14T05:25:14.1443381Z and then :meth:`load_state_dict` to avoid GPU RAM surge when loading a model checkpoint. 2025-03-14T05:25:14.1444257Z 2025-03-14T05:25:14.1444617Z .. note:: 2025-03-14T05:25:14.1445314Z By default, we decode byte strings as ``utf-8``. This is to avoid a common error 2025-03-14T05:25:14.1446389Z case ``UnicodeDecodeError: 'ascii' codec can't decode byte 0x...`` 2025-03-14T05:25:14.1447381Z when loading files saved by Python 2 in Python 3. If this default 2025-03-14T05:25:14.1448430Z is incorrect, you may use an extra :attr:`encoding` keyword argument to specify how 2025-03-14T05:25:14.1449555Z these objects should be loaded, e.g., :attr:`encoding='latin1'` decodes them 2025-03-14T05:25:14.1450662Z to strings using ``latin1`` encoding, and :attr:`encoding='bytes'` keeps them 2025-03-14T05:25:14.1451744Z as byte arrays which can be decoded later with ``byte_array.decode(...)``. 2025-03-14T05:25:14.1452537Z 2025-03-14T05:25:14.1452891Z Example: 2025-03-14T05:25:14.1453374Z >>> # xdoctest: +SKIP("undefined filepaths") 2025-03-14T05:25:14.1454067Z >>> torch.load("tensors.pt", weights_only=True) 2025-03-14T05:25:14.1454788Z # Load all tensors onto the CPU 2025-03-14T05:25:14.1455363Z >>> torch.load( 2025-03-14T05:25:14.1455938Z ... "tensors.pt", 2025-03-14T05:25:14.1456516Z ... map_location=torch.device("cpu"), 2025-03-14T05:25:14.1457141Z ... weights_only=True, 2025-03-14T05:25:14.1457669Z ... ) 2025-03-14T05:25:14.1458176Z # Load all tensors onto the CPU, using a function 2025-03-14T05:25:14.1458819Z >>> torch.load( 2025-03-14T05:25:14.1459299Z ... "tensors.pt", 2025-03-14T05:25:14.1459989Z ... map_location=lambda storage, loc: storage, 2025-03-14T05:25:14.1460637Z ... weights_only=True, 2025-03-14T05:25:14.1461162Z ... ) 2025-03-14T05:25:14.1461592Z # Load all tensors onto GPU 1 2025-03-14T05:25:14.1462162Z >>> torch.load( 2025-03-14T05:25:14.1462648Z ... "tensors.pt", 2025-03-14T05:25:14.1463296Z ... map_location=lambda storage, loc: storage.cuda(1), 2025-03-14T05:25:14.1464033Z ... weights_only=True, 2025-03-14T05:25:14.1464621Z ... ) # type: ignore[attr-defined] 2025-03-14T05:25:14.1465233Z # Map tensors from GPU 1 to GPU 0 2025-03-14T05:25:14.1465807Z >>> torch.load( 2025-03-14T05:25:14.1466290Z ... "tensors.pt", 2025-03-14T05:25:14.1466842Z ... map_location={"cuda:1": "cuda:0"}, 2025-03-14T05:25:14.1467453Z ... weights_only=True, 2025-03-14T05:25:14.1467983Z ... ) 2025-03-14T05:25:14.1468444Z # Load tensor from io.BytesIO object 2025-03-14T05:25:14.1469327Z # Loading from a buffer setting weights_only=False, warning this can be unsafe 2025-03-14T05:25:14.1470224Z >>> with open("tensor.pt", "rb") as f: 2025-03-14T05:25:14.1470851Z ... buffer = io.BytesIO(f.read()) 2025-03-14T05:25:14.1471491Z >>> torch.load(buffer, weights_only=False) 2025-03-14T05:25:14.1472217Z # Load a module with 'ascii' encoding for unpickling 2025-03-14T05:25:14.1473143Z # Loading from a module setting weights_only=False, warning this can be unsafe 2025-03-14T05:25:14.1474184Z >>> torch.load("module.pt", encoding="ascii", weights_only=False) 2025-03-14T05:25:14.1474918Z 2025-03-14T05:25:14.1475599Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.1490869Z 2025-03-14T05:25:14.1491278Z warnings.warn(msg) 2025-03-14T05:25:14.1491751Z 2025-03-14T05:25:14.1492380Z --- Parse Warning: 13 / 116 --- 2025-03-14T05:25:14.1494479Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=is_available in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/accelerator/__init__.py line=38. 2025-03-14T05:25:14.1496918Z Caused by: DoctestParseError('Failed to parse doctest in _package_groups') 2025-03-14T05:25:14.1498265Z Check if the current accelerator is available at runtime: it was build, all the 2025-03-14T05:25:14.1499355Z required drivers are available and at least one device is visible. 2025-03-14T05:25:14.1500234Z See :ref:`accelerator` for details. 2025-03-14T05:25:14.1500866Z 2025-03-14T05:25:14.1501228Z Returns: 2025-03-14T05:25:14.1501981Z bool: A boolean indicating if there is an available :ref:`accelerator`. 2025-03-14T05:25:14.1502861Z 2025-03-14T05:25:14.1503239Z Example:: 2025-03-14T05:25:14.1503633Z 2025-03-14T05:25:14.1504324Z >>> assert torch.accelerator.is_available() "No available accelerators detected." 2025-03-14T05:25:14.1505187Z 2025-03-14T05:25:14.1506436Z Original Error: SyntaxError('invalid syntax', ('', 1, 41, 'assert torch.accelerator.is_available() "No available accelerators detected."\n', 1, 78)) 2025-03-14T05:25:14.1507967Z 2025-03-14T05:25:14.1508647Z assert torch.accelerator.is_available() "No available accelerators detected." 2025-03-14T05:25:14.1509536Z ^ 2025-03-14T05:25:14.1510102Z warnings.warn(msg) 2025-03-14T05:25:14.1510549Z 2025-03-14T05:25:14.1511101Z --- Parse Warning: 14 / 116 --- 2025-03-14T05:25:14.1513302Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=synchronize in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/accelerator/__init__.py line=153. 2025-03-14T05:25:14.1515635Z Caused by: DoctestParseError('Failed to parse doctest in _package_groups') 2025-03-14T05:25:14.1516687Z Wait for all kernels in all streams on the given device to complete. 2025-03-14T05:25:14.1517424Z 2025-03-14T05:25:14.1517772Z Args: 2025-03-14T05:25:14.1518573Z device (:class:`torch.device`, str, int, optional): device for which to synchronize. It must match 2025-03-14T05:25:14.1519850Z the current :ref:`accelerator` device type. If not given, 2025-03-14T05:25:14.1520841Z use :func:`torch.accelerator.current_device_index` by default. 2025-03-14T05:25:14.1521565Z 2025-03-14T05:25:14.1522335Z .. note:: This function is a no-op if the current :ref:`accelerator` is not initialized. 2025-03-14T05:25:14.1523273Z 2025-03-14T05:25:14.1523629Z Example:: 2025-03-14T05:25:14.1524009Z 2025-03-14T05:25:14.1524464Z >>> # xdoctest: +REQUIRES(env:TORCH_DOCTEST_CUDA) 2025-03-14T05:25:14.1525413Z >>> assert torch.accelerator.is_available() "No available accelerators detected." 2025-03-14T05:25:14.1526386Z >>> start_event = torch.Event(enable_timing=True) 2025-03-14T05:25:14.1527098Z >>> end_event = torch.Event(enable_timing=True) 2025-03-14T05:25:14.1527739Z >>> start_event.record() 2025-03-14T05:25:14.1528551Z >>> tensor = torch.randn(100, device=torch.accelerator.current_accelerator()) 2025-03-14T05:25:14.1529396Z >>> sum = torch.sum(tensor) 2025-03-14T05:25:14.1529960Z >>> end_event.record() 2025-03-14T05:25:14.1530541Z >>> torch.accelerator.synchronize() 2025-03-14T05:25:14.1531274Z >>> elapsed_time_ms = start_event.elapsed_time(end_event) 2025-03-14T05:25:14.1531945Z 2025-03-14T05:25:14.1533201Z Original Error: SyntaxError('invalid syntax', ('', 2, 41, 'assert torch.accelerator.is_available() "No available accelerators detected."\n', 2, 78)) 2025-03-14T05:25:14.1534598Z 2025-03-14T05:25:14.1535280Z assert torch.accelerator.is_available() "No available accelerators detected." 2025-03-14T05:25:14.1536244Z ^ 2025-03-14T05:25:14.1536800Z warnings.warn(msg) 2025-03-14T05:25:14.1537253Z 2025-03-14T05:25:14.1537797Z --- Parse Warning: 15 / 116 --- 2025-03-14T05:25:14.1539793Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=cudart in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/cuda/__init__.py line=396. 2025-03-14T05:25:14.1542025Z Caused by: DoctestParseError('Failed to parse doctest in _package_groups') 2025-03-14T05:25:14.1542914Z Retrieves the CUDA runtime API module. 2025-03-14T05:25:14.1543484Z 2025-03-14T05:25:14.1543819Z 2025-03-14T05:25:14.1544477Z This function initializes the CUDA runtime environment if it is not already 2025-03-14T05:25:14.1545585Z initialized and returns the CUDA runtime API module (_cudart). The CUDA 2025-03-14T05:25:14.1546636Z runtime API module provides access to various CUDA runtime functions. 2025-03-14T05:25:14.1547426Z 2025-03-14T05:25:14.1547781Z Args: 2025-03-14T05:25:14.1548160Z ``None`` 2025-03-14T05:25:14.1548561Z 2025-03-14T05:25:14.1548911Z Returns: 2025-03-14T05:25:14.1549476Z module: The CUDA runtime API module (_cudart). 2025-03-14T05:25:14.1550093Z 2025-03-14T05:25:14.1550451Z Raises: 2025-03-14T05:25:14.1551102Z RuntimeError: If CUDA cannot be re-initialized in a forked subprocess. 2025-03-14T05:25:14.1552405Z AssertionError: If PyTorch is not compiled with CUDA support or if libcudart functions are unavailable. 2025-03-14T05:25:14.1553440Z 2025-03-14T05:25:14.1553874Z Example of CUDA operations with profiling: 2025-03-14T05:25:14.1554570Z >>> import torch 2025-03-14T05:25:14.1555116Z >>> from torch.cuda import cudart, check_error 2025-03-14T05:25:14.1555740Z >>> import os 2025-03-14T05:25:14.1556180Z >>> 2025-03-14T05:25:14.1556625Z >>> os.environ['CUDA_PROFILE'] = '1' 2025-03-14T05:25:14.1557197Z >>> 2025-03-14T05:25:14.1557673Z >>> def perform_cuda_operations_with_streams(): 2025-03-14T05:25:14.1558395Z >>> stream = torch.cuda.Stream() 2025-03-14T05:25:14.1559020Z >>> with torch.cuda.stream(stream): 2025-03-14T05:25:14.1559663Z >>> x = torch.randn(100, 100, device='cuda') 2025-03-14T05:25:14.1560324Z >>> y = torch.randn(100, 100, device='cuda') 2025-03-14T05:25:14.1560945Z >>> z = torch.mul(x, y) 2025-03-14T05:25:14.1561503Z >>> return z 2025-03-14T05:25:14.1561975Z >>> 2025-03-14T05:25:14.1562413Z >>> torch.cuda.synchronize() 2025-03-14T05:25:14.1563050Z >>> print("====== Start nsys profiling ======") 2025-03-14T05:25:14.1563737Z >>> check_error(cudart().cudaProfilerStart()) 2025-03-14T05:25:14.1564443Z >>> with torch.autograd.profiler.emit_nvtx(): 2025-03-14T05:25:14.1565168Z >>> result = perform_cuda_operations_with_streams() 2025-03-14T05:25:14.1565870Z >>> print("CUDA operations completed.") 2025-03-14T05:25:14.1566602Z >>> check_error(torch.cuda.cudart().cudaProfilerStop()) 2025-03-14T05:25:14.1567344Z >>> print("====== End nsys profiling ======") 2025-03-14T05:25:14.1567942Z 2025-03-14T05:25:14.1568500Z To run this example and save the profiling information, execute: 2025-03-14T05:25:14.1569735Z >>> $ nvprof --profile-from-start off --csv --print-summary -o trace_name.prof -f -- python cudart_test.py 2025-03-14T05:25:14.1570754Z 2025-03-14T05:25:14.1571410Z This command profiles the CUDA operations in the provided script and saves 2025-03-14T05:25:14.1572427Z the profiling information to a file named `trace_name.prof`. 2025-03-14T05:25:14.1573423Z The `--profile-from-start off` option ensures that profiling starts only 2025-03-14T05:25:14.1574326Z after the `cudaProfilerStart` call in the script. 2025-03-14T05:25:14.1575213Z The `--csv` and `--print-summary` options format the profiling output as a 2025-03-14T05:25:14.1576168Z CSV file and print a summary, respectively. 2025-03-14T05:25:14.1577065Z The `-o` option specifies the output file name, and the `-f` option forces the 2025-03-14T05:25:14.1578017Z overwrite of the output file if it already exists. 2025-03-14T05:25:14.1578660Z 2025-03-14T05:25:14.1580072Z Original Error: SyntaxError('invalid syntax', ('', 1, 1, '$ nvprof --profile-from-start off --csv --print-summary -o trace_name.prof -f -- python cudart_test.py\n', 1, 2)) 2025-03-14T05:25:14.1581619Z 2025-03-14T05:25:14.1582449Z $ nvprof --profile-from-start off --csv --print-summary -o trace_name.prof -f -- python cudart_test.py 2025-03-14T05:25:14.1583463Z ^ 2025-03-14T05:25:14.1583838Z warnings.warn(msg) 2025-03-14T05:25:14.1584286Z 2025-03-14T05:25:14.1584831Z --- Parse Warning: 16 / 116 --- 2025-03-14T05:25:14.1586865Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=Future.then in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/futures/__init__.py line=105. 2025-03-14T05:25:14.1589243Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.1590076Z 2025-03-14T05:25:14.1590676Z Append the given callback function to this ``Future``, which will be run 2025-03-14T05:25:14.1591681Z when the ``Future`` is completed. Multiple callbacks can be added to 2025-03-14T05:25:14.1592649Z the same ``Future``, but the order in which they will be executed cannot 2025-03-14T05:25:14.1593644Z be guaranteed (to enforce a certain order consider chaining: 2025-03-14T05:25:14.1594553Z ``fut.then(cb1).then(cb2)``). The callback must take one argument, which 2025-03-14T05:25:14.1595514Z is the reference to this ``Future``. The callback function can use the 2025-03-14T05:25:14.1596481Z :meth:`value` method to get the value. Note that if this ``Future`` is 2025-03-14T05:25:14.1597536Z already completed, the given callback will be run immediately inline. 2025-03-14T05:25:14.1598447Z 2025-03-14T05:25:14.1598996Z If the ``Future``'s value contains tensors that reside on GPUs, the 2025-03-14T05:25:14.1599968Z callback might be invoked while the async kernels that are populating 2025-03-14T05:25:14.1601011Z those tensors haven't yet finished executing on the device. However, the 2025-03-14T05:25:14.1602033Z callback will be invoked with some dedicated streams set as current 2025-03-14T05:25:14.1603002Z (fetched from a global pool) which will be synchronized with those 2025-03-14T05:25:14.1604009Z kernels. Hence any operation performed by the callback on these tensors 2025-03-14T05:25:14.1605017Z will be scheduled on the device after the kernels complete. In other 2025-03-14T05:25:14.1605966Z words, as long as the callback doesn't switch streams, it can safely 2025-03-14T05:25:14.1606961Z manipulate the result without any additional synchronization. This is 2025-03-14T05:25:14.1607891Z similar to the non-blocking behavior of :meth:`wait`. 2025-03-14T05:25:14.1608539Z 2025-03-14T05:25:14.1609130Z Similarly, if the callback returns a value that contains tensors that 2025-03-14T05:25:14.1610096Z reside on a GPU, it can do so even if the kernels that are producing 2025-03-14T05:25:14.1611061Z these tensors are still running on the device, as long as the callback 2025-03-14T05:25:14.1612053Z didn't change streams during its execution. If one wants to change 2025-03-14T05:25:14.1613029Z streams, one must be careful to re-synchronize them with the original 2025-03-14T05:25:14.1614031Z streams, that is, those that were current when the callback was invoked. 2025-03-14T05:25:14.1614795Z 2025-03-14T05:25:14.1615143Z Args: 2025-03-14T05:25:14.1615779Z callback(``Callable``): a ``Callable`` that takes this ``Future`` as 2025-03-14T05:25:14.1616570Z the only argument. 2025-03-14T05:25:14.1617137Z 2025-03-14T05:25:14.1617491Z Returns: 2025-03-14T05:25:14.1618009Z A new ``Future`` object that holds the return value of the 2025-03-14T05:25:14.1618835Z ``callback`` and will be marked as completed when the given 2025-03-14T05:25:14.1619547Z ``callback`` finishes. 2025-03-14T05:25:14.1620029Z 2025-03-14T05:25:14.1620539Z .. note:: Note that if the callback function throws, either 2025-03-14T05:25:14.1621437Z through the original future being completed with an exception and 2025-03-14T05:25:14.1622396Z calling ``fut.wait()``, or through other code in the callback, the 2025-03-14T05:25:14.1623332Z future returned by ``then`` will be marked appropriately with the 2025-03-14T05:25:14.1624281Z encountered error. However, if this callback later completes 2025-03-14T05:25:14.1625254Z additional futures, those futures are not marked as completed with 2025-03-14T05:25:14.1626242Z an error and the user is responsible for handling completion/waiting 2025-03-14T05:25:14.1627121Z on those futures independently. 2025-03-14T05:25:14.1627643Z 2025-03-14T05:25:14.1628006Z Example:: 2025-03-14T05:25:14.1628508Z >>> # xdoctest: +REQUIRES(env:TORCH_DOCTEST_FUTURES) 2025-03-14T05:25:14.1629155Z >>> def callback(fut): 2025-03-14T05:25:14.1629722Z ... print(f"RPC return value is {fut.wait()}.") 2025-03-14T05:25:14.1630379Z >>> fut = torch.futures.Future() 2025-03-14T05:25:14.1631082Z >>> # The inserted callback will print the return value when 2025-03-14T05:25:14.1631941Z >>> # receiving the response from "worker1" 2025-03-14T05:25:14.1632551Z >>> cb_fut = fut.then(callback) 2025-03-14T05:25:14.1633109Z >>> chain_cb_fut = cb_fut.then( 2025-03-14T05:25:14.1633743Z ... lambda x : print(f"Chained cb done. {x.wait()}") 2025-03-14T05:25:14.1634370Z ... ) 2025-03-14T05:25:14.1634761Z >>> fut.set_result(5) 2025-03-14T05:25:14.1635323Z RPC return value is 5. 2025-03-14T05:25:14.1635830Z Chained cb done. None 2025-03-14T05:25:14.1636301Z 2025-03-14T05:25:14.1636951Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.1637781Z 2025-03-14T05:25:14.1638144Z warnings.warn(msg) 2025-03-14T05:25:14.1638588Z 2025-03-14T05:25:14.1639140Z --- Parse Warning: 17 / 116 --- 2025-03-14T05:25:14.1641228Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=Future.set_result in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/futures/__init__.py line=213. 2025-03-14T05:25:14.1643587Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.1644437Z 2025-03-14T05:25:14.1645002Z Set the result for this ``Future``, which will mark this ``Future`` as 2025-03-14T05:25:14.1645983Z completed and trigger all attached callbacks. Note that a ``Future`` 2025-03-14T05:25:14.1646805Z cannot be marked completed twice. 2025-03-14T05:25:14.1647332Z 2025-03-14T05:25:14.1647924Z If the result contains tensors that reside on GPUs, this method can be 2025-03-14T05:25:14.1648906Z called even if the asynchronous kernels that are populating those 2025-03-14T05:25:14.1649887Z tensors haven't yet completed running on the device, provided that the 2025-03-14T05:25:14.1650911Z streams on which those kernels were enqueued are set as the current ones 2025-03-14T05:25:14.1651936Z when this method is called. Put simply, it's safe to call this method 2025-03-14T05:25:14.1652923Z immediately after launching those kernels, without any additional 2025-03-14T05:25:14.1653944Z synchronization, as long as one doesn't change streams in between. This 2025-03-14T05:25:14.1654974Z method will record events on all the relevant current streams and will 2025-03-14T05:25:14.1656047Z use them to ensure proper scheduling for all the consumers of this 2025-03-14T05:25:14.1656792Z ``Future``. 2025-03-14T05:25:14.1657167Z 2025-03-14T05:25:14.1657498Z Args: 2025-03-14T05:25:14.1657993Z result (object): the result object of this ``Future``. 2025-03-14T05:25:14.1658632Z 2025-03-14T05:25:14.1658978Z Example:: 2025-03-14T05:25:14.1659465Z >>> # xdoctest: +REQUIRES(env:TORCH_DOCTEST_FUTURES) 2025-03-14T05:25:14.1660106Z >>> import threading 2025-03-14T05:25:14.1660586Z >>> import time 2025-03-14T05:25:14.1661057Z >>> def slow_set_future(fut, value): 2025-03-14T05:25:14.1661645Z ... time.sleep(0.5) 2025-03-14T05:25:14.1662159Z ... fut.set_result(value) 2025-03-14T05:25:14.1662722Z >>> fut = torch.futures.Future() 2025-03-14T05:25:14.1663292Z >>> t = threading.Thread( 2025-03-14T05:25:14.1663817Z ... target=slow_set_future, 2025-03-14T05:25:14.1664382Z ... args=(fut, torch.ones(2) * 3) 2025-03-14T05:25:14.1664988Z ... ) 2025-03-14T05:25:14.1665350Z >>> t.start() 2025-03-14T05:25:14.1665783Z >>> print(fut.wait()) 2025-03-14T05:25:14.1666269Z tensor([3., 3.]) 2025-03-14T05:25:14.1666711Z >>> t.join() 2025-03-14T05:25:14.1667116Z 2025-03-14T05:25:14.1667774Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.1668601Z 2025-03-14T05:25:14.1668965Z warnings.warn(msg) 2025-03-14T05:25:14.1669402Z 2025-03-14T05:25:14.1669935Z --- Parse Warning: 18 / 116 --- 2025-03-14T05:25:14.1672045Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=compile_shader in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/mps/__init__.py line=144. 2025-03-14T05:25:14.1674343Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.1675445Z Compiles compute shader from source and allows one to invoke kernels 2025-03-14T05:25:14.1676368Z defined there from the comfort of Python runtime 2025-03-14T05:25:14.1676997Z Example:: 2025-03-14T05:25:14.1677382Z 2025-03-14T05:25:14.1677814Z >>> # xdoctest: +REQUIRES(env:TORCH_DOCTEST_MPS) 2025-03-14T05:25:14.1678471Z >>> lib = torch.mps.compile_shader( 2025-03-14T05:25:14.1679581Z ... "kernel void full(device float* out, constant float& val, uint idx [[thread_position_in_grid]]) { out[idx] = val; }" 2025-03-14T05:25:14.1680649Z ... ) 2025-03-14T05:25:14.1681082Z >>> x = torch.zeros(16, device="mps") 2025-03-14T05:25:14.1681664Z >>> lib.full(x, 3.14) 2025-03-14T05:25:14.1682144Z 2025-03-14T05:25:14.1682804Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.1683629Z 2025-03-14T05:25:14.1683996Z warnings.warn(msg) 2025-03-14T05:25:14.1684437Z 2025-03-14T05:25:14.1684950Z --- Parse Warning: 19 / 116 --- 2025-03-14T05:25:14.1686907Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=sum in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/sparse/__init__.py line=202. 2025-03-14T05:25:14.1689142Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.1690137Z Return the sum of each row of the given sparse tensor. 2025-03-14T05:25:14.1690791Z 2025-03-14T05:25:14.1691409Z Returns the sum of each row of the sparse tensor :attr:`input` in the given 2025-03-14T05:25:14.1692403Z dimensions :attr:`dim`. If :attr:`dim` is a list of dimensions, 2025-03-14T05:25:14.1693359Z reduce over all of them. When sum over all ``sparse_dim``, this method 2025-03-14T05:25:14.1694239Z returns a dense tensor instead of a sparse tensor. 2025-03-14T05:25:14.1694884Z 2025-03-14T05:25:14.1695555Z All summed :attr:`dim` are squeezed (see :func:`torch.squeeze`), resulting an output 2025-03-14T05:25:14.1696670Z tensor having :attr:`dim` fewer dimensions than :attr:`input`. 2025-03-14T05:25:14.1697394Z 2025-03-14T05:25:14.1698111Z During backward, only gradients at ``nnz`` locations of :attr:`input` 2025-03-14T05:25:14.1699184Z will propagate back. Note that the gradients of :attr:`input` is coalesced. 2025-03-14T05:25:14.1700006Z 2025-03-14T05:25:14.1700361Z Args: 2025-03-14T05:25:14.1700823Z input (Tensor): the input sparse tensor 2025-03-14T05:25:14.1701764Z dim (int or tuple of ints): a dimension or a list of dimensions to reduce. Default: reduce 2025-03-14T05:25:14.1702661Z over all dims. 2025-03-14T05:25:14.1703454Z dtype (:class:`torch.dtype`, optional): the desired data type of returned Tensor. 2025-03-14T05:25:14.1704354Z Default: dtype of :attr:`input`. 2025-03-14T05:25:14.1704928Z 2025-03-14T05:25:14.1705381Z Example:: 2025-03-14T05:25:14.1705788Z 2025-03-14T05:25:14.1706143Z >>> nnz = 3 2025-03-14T05:25:14.1706590Z >>> dims = [5, 5, 2, 3] 2025-03-14T05:25:14.1707232Z >>> I = torch.cat([torch.randint(0, dims[0], size=(nnz,)), 2025-03-14T05:25:14.1708071Z torch.randint(0, dims[1], size=(nnz,))], 0).reshape(2, nnz) 2025-03-14T05:25:14.1708852Z >>> V = torch.randn(nnz, dims[2], dims[3]) 2025-03-14T05:25:14.1709458Z >>> size = torch.Size(dims) 2025-03-14T05:25:14.1710192Z >>> # xdoctest: +IGNORE_WANT("non-deterministic") 2025-03-14T05:25:14.1710880Z >>> S = torch.sparse_coo_tensor(I, V, size) 2025-03-14T05:25:14.1711458Z >>> S 2025-03-14T05:25:14.1711900Z tensor(indices=tensor([[2, 0, 3], 2025-03-14T05:25:14.1712482Z [2, 4, 1]]), 2025-03-14T05:25:14.1713096Z values=tensor([[[-0.6438, -1.6467, 1.4004], 2025-03-14T05:25:14.1713782Z [ 0.3411, 0.0918, -0.2312]], 2025-03-14T05:25:14.1714341Z 2025-03-14T05:25:14.1714729Z [[ 0.5348, 0.0634, -2.0494], 2025-03-14T05:25:14.1715333Z [-0.7125, -1.0646, 2.1844]], 2025-03-14T05:25:14.1715893Z 2025-03-14T05:25:14.1716283Z [[ 0.1276, 0.1874, -0.6334], 2025-03-14T05:25:14.1716892Z [-1.9682, -0.5340, 0.7483]]]), 2025-03-14T05:25:14.1717558Z size=(5, 5, 2, 3), nnz=3, layout=torch.sparse_coo) 2025-03-14T05:25:14.1718179Z 2025-03-14T05:25:14.1718736Z # when sum over only part of sparse_dims, return a sparse tensor 2025-03-14T05:25:14.1719503Z >>> torch.sparse.sum(S, [1, 3]) 2025-03-14T05:25:14.1720108Z tensor(indices=tensor([[0, 2, 3]]), 2025-03-14T05:25:14.1720716Z values=tensor([[-1.4512, 0.4073], 2025-03-14T05:25:14.1721314Z [-0.8901, 0.2017], 2025-03-14T05:25:14.1721895Z [-0.3183, -1.7539]]), 2025-03-14T05:25:14.1722512Z size=(5, 2), nnz=3, layout=torch.sparse_coo) 2025-03-14T05:25:14.1723113Z 2025-03-14T05:25:14.1723590Z # when sum over all sparse dim, return a dense tensor 2025-03-14T05:25:14.1724273Z # with summed dims squeezed 2025-03-14T05:25:14.1724862Z >>> torch.sparse.sum(S, [0, 1, 3]) 2025-03-14T05:25:14.1725452Z tensor([-2.6596, -1.1450]) 2025-03-14T05:25:14.1725977Z 2025-03-14T05:25:14.1726652Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.1727492Z 2025-03-14T05:25:14.1727873Z warnings.warn(msg) 2025-03-14T05:25:14.1728323Z 2025-03-14T05:25:14.1728881Z --- Parse Warning: 20 / 116 --- 2025-03-14T05:25:14.1730878Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=vmap in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_functorch/apis.py line=39. 2025-03-14T05:25:14.1733127Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.1733981Z 2025-03-14T05:25:14.1734592Z vmap is the vectorizing map; ``vmap(func)`` returns a new function that 2025-03-14T05:25:14.1735653Z maps ``func`` over some dimension of the inputs. Semantically, vmap 2025-03-14T05:25:14.1736637Z pushes the map into PyTorch operations called by ``func``, effectively 2025-03-14T05:25:14.1737455Z vectorizing those operations. 2025-03-14T05:25:14.1737970Z 2025-03-14T05:25:14.1738544Z vmap is useful for handling batch dimensions: one can write a function 2025-03-14T05:25:14.1739526Z ``func`` that runs on examples and then lift it to a function that can 2025-03-14T05:25:14.1740492Z take batches of examples with ``vmap(func)``. vmap can also be used to 2025-03-14T05:25:14.1741473Z compute batched gradients when composed with autograd. 2025-03-14T05:25:14.1742141Z 2025-03-14T05:25:14.1742496Z .. note:: 2025-03-14T05:25:14.1743056Z :func:`torch.vmap` is aliased to :func:`torch.func.vmap` for 2025-03-14T05:25:14.1743834Z convenience. Use whichever one you'd like. 2025-03-14T05:25:14.1744429Z 2025-03-14T05:25:14.1744780Z Args: 2025-03-14T05:25:14.1745376Z func (function): A Python function that takes one or more arguments. 2025-03-14T05:25:14.1746184Z Must return one or more Tensors. 2025-03-14T05:25:14.1747027Z in_dims (int or nested structure): Specifies which dimension of the 2025-03-14T05:25:14.1747925Z inputs should be mapped over. ``in_dims`` should have a 2025-03-14T05:25:14.1748798Z structure like the inputs. If the ``in_dim`` for a particular 2025-03-14T05:25:14.1749404Z input is None, then that indicates there is no map dimension. 2025-03-14T05:25:14.1749861Z Default: 0. 2025-03-14T05:25:14.1750235Z out_dims (int or Tuple[int]): Specifies where the mapped dimension 2025-03-14T05:25:14.1750759Z should appear in the outputs. If ``out_dims`` is a Tuple, then 2025-03-14T05:25:14.1751246Z it should have one element per output. Default: 0. 2025-03-14T05:25:14.1751710Z randomness (str): Specifies whether the randomness in this 2025-03-14T05:25:14.1752236Z vmap should be the same or different across batches. If 'different', 2025-03-14T05:25:14.1752799Z the randomness for each batch will be different. If 'same', the 2025-03-14T05:25:14.1753349Z randomness will be the same across batches. If 'error', any calls to 2025-03-14T05:25:14.1753909Z random functions will error. Default: 'error'. WARNING: this flag 2025-03-14T05:25:14.1754464Z only applies to random PyTorch operations and does not apply to 2025-03-14T05:25:14.1754944Z Python's random module or numpy randomness. 2025-03-14T05:25:14.1755445Z chunk_size (None or int): If None (default), apply a single vmap over inputs. 2025-03-14T05:25:14.1755685Z If not None, then compute the vmap :attr:`chunk_size` samples at a time. 2025-03-14T05:25:14.1755950Z Note that :attr:`chunk_size=1` is equivalent to computing the vmap with a for-loop. 2025-03-14T05:25:14.1756233Z If you run into memory issues computing the vmap, please try a non-None chunk_size. 2025-03-14T05:25:14.1756323Z 2025-03-14T05:25:14.1756433Z Returns: 2025-03-14T05:25:14.1756633Z Returns a new "batched" function. It takes the same inputs as 2025-03-14T05:25:14.1756834Z ``func``, except each input has an extra dimension at the index 2025-03-14T05:25:14.1757032Z specified by ``in_dims``. It takes returns the same outputs as 2025-03-14T05:25:14.1757233Z ``func``, except each output has an extra dimension at the index 2025-03-14T05:25:14.1757345Z specified by ``out_dims``. 2025-03-14T05:25:14.1757451Z 2025-03-14T05:25:14.1757545Z .. warning: 2025-03-14T05:25:14.1757766Z :func:`vmap` works best with functional-style code. Please do not 2025-03-14T05:25:14.1757957Z perform any side-effects in ``func``, with the exception of 2025-03-14T05:25:14.1758210Z in-place PyTorch operations. Examples of side-effects include mutating 2025-03-14T05:25:14.1758443Z Python data structures and assigning values to variables not captured 2025-03-14T05:25:14.1758553Z in ``func``. 2025-03-14T05:25:14.1758642Z 2025-03-14T05:25:14.1758904Z One example of using :func:`vmap` is to compute batched dot products. PyTorch 2025-03-14T05:25:14.1759125Z doesn't provide a batched ``torch.dot`` API; instead of unsuccessfully 2025-03-14T05:25:14.1759363Z rummaging through docs, use :func:`vmap` to construct a new function. 2025-03-14T05:25:14.1759449Z 2025-03-14T05:25:14.1759613Z >>> torch.dot # [D], [D] -> [] 2025-03-14T05:25:14.1759871Z >>> batched_dot = torch.func.vmap(torch.dot) # [N, D], [N, D] -> [N] 2025-03-14T05:25:14.1760017Z >>> x, y = torch.randn(2, 5), torch.randn(2, 5) 2025-03-14T05:25:14.1760121Z >>> batched_dot(x, y) 2025-03-14T05:25:14.1760221Z 2025-03-14T05:25:14.1760453Z :func:`vmap` can be helpful in hiding batch dimensions, leading to a simpler 2025-03-14T05:25:14.1760579Z model authoring experience. 2025-03-14T05:25:14.1760664Z 2025-03-14T05:25:14.1760796Z >>> batch_size, feature_size = 3, 5 2025-03-14T05:25:14.1761023Z >>> weights = torch.randn(feature_size, requires_grad=True) 2025-03-14T05:25:14.1761114Z >>> 2025-03-14T05:25:14.1761234Z >>> def model(feature_vec): 2025-03-14T05:25:14.1761374Z >>> # Very simple linear model with activation 2025-03-14T05:25:14.1761518Z >>> return feature_vec.dot(weights).relu() 2025-03-14T05:25:14.1761606Z >>> 2025-03-14T05:25:14.1761803Z >>> examples = torch.randn(batch_size, feature_size) 2025-03-14T05:25:14.1761930Z >>> result = torch.vmap(model)(examples) 2025-03-14T05:25:14.1762028Z 2025-03-14T05:25:14.1762281Z :func:`vmap` can also help vectorize computations that were previously difficult 2025-03-14T05:25:14.1762534Z or impossible to batch. One example is higher-order gradient computation. 2025-03-14T05:25:14.1762770Z The PyTorch autograd engine computes vjps (vector-Jacobian products). 2025-03-14T05:25:14.1763014Z Computing a full Jacobian matrix for some function f: R^N -> R^N usually 2025-03-14T05:25:14.1763268Z requires N calls to ``autograd.grad``, one per Jacobian row. Using :func:`vmap`, 2025-03-14T05:25:14.1763518Z we can vectorize the whole computation, computing the Jacobian in a single 2025-03-14T05:25:14.1763626Z call to ``autograd.grad``. 2025-03-14T05:25:14.1763723Z 2025-03-14T05:25:14.1763814Z >>> # Setup 2025-03-14T05:25:14.1763915Z >>> N = 5 2025-03-14T05:25:14.1764020Z >>> f = lambda x: x ** 2 2025-03-14T05:25:14.1764163Z >>> x = torch.randn(N, requires_grad=True) 2025-03-14T05:25:14.1764253Z >>> y = f(x) 2025-03-14T05:25:14.1764367Z >>> I_N = torch.eye(N) 2025-03-14T05:25:14.1764455Z >>> 2025-03-14T05:25:14.1764578Z >>> # Sequential approach 2025-03-14T05:25:14.1764802Z >>> jacobian_rows = [torch.autograd.grad(y, x, v, retain_graph=True)[0] 2025-03-14T05:25:14.1764930Z >>> for v in I_N.unbind()] 2025-03-14T05:25:14.1765061Z >>> jacobian = torch.stack(jacobian_rows) 2025-03-14T05:25:14.1765164Z >>> 2025-03-14T05:25:14.1765287Z >>> # vectorized gradient computation 2025-03-14T05:25:14.1765400Z >>> def get_vjp(v): 2025-03-14T05:25:14.1765528Z >>> return torch.autograd.grad(y, x, v) 2025-03-14T05:25:14.1765663Z >>> jacobian = torch.vmap(get_vjp)(I_N) 2025-03-14T05:25:14.1765749Z 2025-03-14T05:25:14.1766035Z :func:`vmap` can also be nested, producing an output with multiple batched dimensions 2025-03-14T05:25:14.1766126Z 2025-03-14T05:25:14.1766283Z >>> torch.dot # [D], [D] -> [] 2025-03-14T05:25:14.1766560Z >>> batched_dot = torch.vmap(torch.vmap(torch.dot)) # [N1, N0, D], [N1, N0, D] -> [N1, N0] 2025-03-14T05:25:14.1766715Z >>> x, y = torch.randn(2, 3, 5), torch.randn(2, 3, 5) 2025-03-14T05:25:14.1766848Z >>> batched_dot(x, y) # tensor of size [2, 3] 2025-03-14T05:25:14.1766945Z 2025-03-14T05:25:14.1767193Z If the inputs are not batched along the first dimension, ``in_dims`` specifies 2025-03-14T05:25:14.1767364Z the dimension that each inputs are batched along as 2025-03-14T05:25:14.1767451Z 2025-03-14T05:25:14.1767597Z >>> torch.dot # [N], [N] -> [] 2025-03-14T05:25:14.1767831Z >>> batched_dot = torch.vmap(torch.dot, in_dims=1) # [N, D], [N, D] -> [D] 2025-03-14T05:25:14.1767974Z >>> x, y = torch.randn(2, 5), torch.randn(2, 5) 2025-03-14T05:25:14.1768252Z >>> batched_dot(x, y) # output is [5] instead of [2] if batched along the 0th dimension 2025-03-14T05:25:14.1768338Z 2025-03-14T05:25:14.1768611Z If there are multiple inputs each of which is batched along different dimensions, 2025-03-14T05:25:14.1768812Z ``in_dims`` must be a tuple with the batch dimension for each input as 2025-03-14T05:25:14.1768911Z 2025-03-14T05:25:14.1769057Z >>> torch.dot # [D], [D] -> [] 2025-03-14T05:25:14.1769359Z >>> batched_dot = torch.vmap(torch.dot, in_dims=(0, None)) # [N, D], [D] -> [N] 2025-03-14T05:25:14.1769485Z >>> x, y = torch.randn(2, 5), torch.randn(5) 2025-03-14T05:25:14.1769741Z >>> batched_dot(x, y) # second arg doesn't have a batch dim because in_dim[1] was None 2025-03-14T05:25:14.1769827Z 2025-03-14T05:25:14.1770079Z If the input is a Python struct, ``in_dims`` must be a tuple containing a struct 2025-03-14T05:25:14.1770248Z matching the shape of the input: 2025-03-14T05:25:14.1770348Z 2025-03-14T05:25:14.1770495Z >>> f = lambda dict: torch.dot(dict['x'], dict['y']) 2025-03-14T05:25:14.1770636Z >>> x, y = torch.randn(2, 5), torch.randn(5) 2025-03-14T05:25:14.1770737Z >>> input = {'x': x, 'y': y} 2025-03-14T05:25:14.1770930Z >>> batched_dot = torch.vmap(f, in_dims=({'x': 0, 'y': None},)) 2025-03-14T05:25:14.1771034Z >>> batched_dot(input) 2025-03-14T05:25:14.1771132Z 2025-03-14T05:25:14.1771411Z By default, the output is batched along the first dimension. However, it can be batched 2025-03-14T05:25:14.1771552Z along any dimension by using ``out_dims`` 2025-03-14T05:25:14.1771637Z 2025-03-14T05:25:14.1771753Z >>> f = lambda x: x ** 2 2025-03-14T05:25:14.1771858Z >>> x = torch.randn(2, 5) 2025-03-14T05:25:14.1771999Z >>> batched_pow = torch.vmap(f, out_dims=1) 2025-03-14T05:25:14.1772104Z >>> batched_pow(x) # [5, 2] 2025-03-14T05:25:14.1772208Z 2025-03-14T05:25:14.1772502Z For any function that uses kwargs, the returned function will not batch the kwargs but will 2025-03-14T05:25:14.1772609Z accept kwargs 2025-03-14T05:25:14.1772696Z 2025-03-14T05:25:14.1772811Z >>> x = torch.randn([2, 5]) 2025-03-14T05:25:14.1772914Z >>> def fn(x, scale=4.): 2025-03-14T05:25:14.1773027Z >>> return x * scale 2025-03-14T05:25:14.1773117Z >>> 2025-03-14T05:25:14.1773243Z >>> batched_pow = torch.vmap(fn) 2025-03-14T05:25:14.1773395Z >>> assert torch.allclose(batched_pow(x), x * 4) 2025-03-14T05:25:14.1773630Z >>> batched_pow(x, scale=x) # scale is not batched, output has shape [2, 2, 5] 2025-03-14T05:25:14.1773715Z 2025-03-14T05:25:14.1773818Z .. note:: 2025-03-14T05:25:14.1774044Z vmap does not provide general autobatching or handle variable-length 2025-03-14T05:25:14.1774163Z sequences out of the box. 2025-03-14T05:25:14.1774252Z 2025-03-14T05:25:14.1774509Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.1774605Z 2025-03-14T05:25:14.1774707Z warnings.warn(msg) 2025-03-14T05:25:14.1774804Z 2025-03-14T05:25:14.1775032Z --- Parse Warning: 21 / 116 --- 2025-03-14T05:25:14.1775998Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=triton_op in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_library/triton.py line=21. 2025-03-14T05:25:14.1776273Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.1776541Z Create a custom operator whose implementation is backed by 1+ triton kernels. 2025-03-14T05:25:14.1776626Z 2025-03-14T05:25:14.1776851Z This is a more structured way of using triton kernels with PyTorch. 2025-03-14T05:25:14.1777110Z Prefer using triton kernels with no ``torch.library`` custom operator wrappers 2025-03-14T05:25:14.1777481Z (like :func:`torch.library.custom_op`, :func:`torch.library.triton_op`) because 2025-03-14T05:25:14.1777584Z that is simpler; 2025-03-14T05:25:14.1777852Z only use :func:`torch.library.custom_op`/:func:`torch.library.triton_op` if you 2025-03-14T05:25:14.1778085Z want to create an operator that behaves like PyTorch built-in operators. 2025-03-14T05:25:14.1778318Z For example, you may use a ``torch.library`` wrapper API to define the 2025-03-14T05:25:14.1778589Z behavior of the triton kernel when passed a tensor subclass or under 2025-03-14T05:25:14.1778712Z a TorchDispatchMode. 2025-03-14T05:25:14.1778799Z 2025-03-14T05:25:14.1779066Z Use :func:`torch.library.triton_op` instead of :func:`torch.library.custom_op` 2025-03-14T05:25:14.1779175Z when the implementation 2025-03-14T05:25:14.1779407Z consists of 1+ triton kernels. :func:`torch.library.custom_op` treats 2025-03-14T05:25:14.1779609Z custom operators as opaque (:func:`torch.compile` and 2025-03-14T05:25:14.1779854Z :func:`torch.export.export` will never trace into them), but ``triton_op`` 2025-03-14T05:25:14.1780083Z makes the implementation visible to these subsystems, allowing them 2025-03-14T05:25:14.1780213Z to optimize the triton kernel(s). 2025-03-14T05:25:14.1780300Z 2025-03-14T05:25:14.1780504Z Note that ``fn`` must only consist of calls to PyTorch-understood 2025-03-14T05:25:14.1780738Z operators and triton kernels. Any triton kernels called inside ``fn`` 2025-03-14T05:25:14.1780945Z must be wrapped in a call to :func:`torch.library.wrap_triton`. 2025-03-14T05:25:14.1781032Z 2025-03-14T05:25:14.1781135Z Args: 2025-03-14T05:25:14.1781363Z name (str): A name for the custom op that looks like "{namespace}::{name}", 2025-03-14T05:25:14.1781591Z e.g. "mylib::my_linear". The name is used as the op's stable identifier 2025-03-14T05:25:14.1781766Z in PyTorch subsystems (e.g. torch.export, FX graphs). 2025-03-14T05:25:14.1782019Z To avoid name collisions, please use your project name as the namespace; 2025-03-14T05:25:14.1782230Z e.g. all custom ops in pytorch/fbgemm use "fbgemm" as the namespace. 2025-03-14T05:25:14.1782516Z mutates_args (Iterable[str] or "unknown"): The names of args that the function mutates. 2025-03-14T05:25:14.1782761Z This MUST be accurate, otherwise, the behavior is undefined. If "unknown", 2025-03-14T05:25:14.1783046Z it pessimistically assumes that all inputs to the operator are being mutated. 2025-03-14T05:25:14.1783241Z schema (None | str): A schema string for the operator. If None 2025-03-14T05:25:14.1783466Z (recommended) we'll infer a schema for the operator from its type 2025-03-14T05:25:14.1783679Z annotations. We recommend letting us infer a schema unless you 2025-03-14T05:25:14.1783817Z have a specific reason not to. 2025-03-14T05:25:14.1783974Z Example: "(Tensor x, int y) -> (Tensor, Tensor)". 2025-03-14T05:25:14.1784075Z 2025-03-14T05:25:14.1784172Z Example:: 2025-03-14T05:25:14.1784276Z 2025-03-14T05:25:14.1784422Z >>> # xdoctest: +REQUIRES(env:TORCH_DOCTEST_CUDA) 2025-03-14T05:25:14.1784538Z >>> import torch 2025-03-14T05:25:14.1784698Z >>> from torch.library import triton_op, wrap_triton 2025-03-14T05:25:14.1784806Z >>> 2025-03-14T05:25:14.1784915Z >>> import triton 2025-03-14T05:25:14.1785057Z >>> from triton import language as tl 2025-03-14T05:25:14.1785145Z >>> 2025-03-14T05:25:14.1785257Z >>> @triton.jit 2025-03-14T05:25:14.1785359Z >>> def add_kernel( 2025-03-14T05:25:14.1785471Z >>> in_ptr0, 2025-03-14T05:25:14.1785567Z >>> in_ptr1, 2025-03-14T05:25:14.1785680Z >>> out_ptr, 2025-03-14T05:25:14.1785804Z >>> n_elements, 2025-03-14T05:25:14.1785942Z >>> BLOCK_SIZE: "tl.constexpr", 2025-03-14T05:25:14.1786036Z >>> ): 2025-03-14T05:25:14.1786170Z >>> pid = tl.program_id(axis=0) 2025-03-14T05:25:14.1786292Z >>> block_start = pid * BLOCK_SIZE 2025-03-14T05:25:14.1786464Z >>> offsets = block_start + tl.arange(0, BLOCK_SIZE) 2025-03-14T05:25:14.1786581Z >>> mask = offsets < n_elements 2025-03-14T05:25:14.1786782Z >>> x = tl.load(in_ptr0 + offsets, mask=mask) 2025-03-14T05:25:14.1786916Z >>> y = tl.load(in_ptr1 + offsets, mask=mask) 2025-03-14T05:25:14.1787031Z >>> output = x + y 2025-03-14T05:25:14.1787184Z >>> tl.store(out_ptr + offsets, output, mask=mask) 2025-03-14T05:25:14.1787284Z >>> 2025-03-14T05:25:14.1787423Z >>> @triton_op("mylib::add", mutates_args={}) 2025-03-14T05:25:14.1787665Z >>> def add(x: torch.Tensor, y: torch.Tensor) -> torch.Tensor: 2025-03-14T05:25:14.1787785Z >>> output = torch.empty_like(x) 2025-03-14T05:25:14.1787921Z >>> n_elements = output.numel() 2025-03-14T05:25:14.1788008Z >>> 2025-03-14T05:25:14.1788112Z >>> def grid(meta): 2025-03-14T05:25:14.1788300Z >>> return (triton.cdiv(n_elements, meta["BLOCK_SIZE"]),) 2025-03-14T05:25:14.1788386Z >>> 2025-03-14T05:25:14.1788587Z >>> # NB: we need to wrap the triton kernel in a call to wrap_triton 2025-03-14T05:25:14.1788776Z >>> wrap_triton(add_kernel)[grid](x, y, output, n_elements, 16) 2025-03-14T05:25:14.1788889Z >>> return output 2025-03-14T05:25:14.1788976Z >>> 2025-03-14T05:25:14.1789092Z >>> @torch.compile 2025-03-14T05:25:14.1789189Z >>> def f(x, y): 2025-03-14T05:25:14.1789304Z >>> return add(x, y) 2025-03-14T05:25:14.1789393Z >>> 2025-03-14T05:25:14.1789524Z >>> x = torch.randn(3, device="cuda") 2025-03-14T05:25:14.1789645Z >>> y = torch.randn(3, device="cuda") 2025-03-14T05:25:14.1789743Z >>> 2025-03-14T05:25:14.1789838Z >>> z = f(x, y) 2025-03-14T05:25:14.1789971Z >>> assert torch.allclose(z, x + y) 2025-03-14T05:25:14.1790057Z 2025-03-14T05:25:14.1790156Z 2025-03-14T05:25:14.1790416Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.1790511Z 2025-03-14T05:25:14.1790617Z warnings.warn(msg) 2025-03-14T05:25:14.1790712Z 2025-03-14T05:25:14.1790925Z --- Parse Warning: 22 / 116 --- 2025-03-14T05:25:14.1791804Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=wrap_triton in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_library/triton.py line=202. 2025-03-14T05:25:14.1792076Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.1792280Z Allows capture of a triton kernel into a graph via make_fx or 2025-03-14T05:25:14.1792394Z non-strict ``torch.export``. 2025-03-14T05:25:14.1792491Z 2025-03-14T05:25:14.1792685Z These technologies perform Dispatcher-based tracing (via 2025-03-14T05:25:14.1792897Z ``__torch_dispatch__``) and cannot see calls to raw triton kernels. 2025-03-14T05:25:14.1793102Z The ``wrap_triton`` API wraps a triton kernel into a callable that 2025-03-14T05:25:14.1793240Z can actually be traced into a graph. 2025-03-14T05:25:14.1793328Z 2025-03-14T05:25:14.1793558Z Please use this API together with :func:`torch.library.triton_op`. 2025-03-14T05:25:14.1793645Z 2025-03-14T05:25:14.1793744Z Examples: 2025-03-14T05:25:14.1793829Z 2025-03-14T05:25:14.1793943Z >>> # xdoctest: +SKIP 2025-03-14T05:25:14.1794074Z >>> import torch 2025-03-14T05:25:14.1794186Z >>> import triton 2025-03-14T05:25:14.1794313Z >>> from triton import language as tl 2025-03-14T05:25:14.1794498Z >>> from torch.fx.experimental.proxy_tensor import make_fx 2025-03-14T05:25:14.1794643Z >>> from torch.library import wrap_triton 2025-03-14T05:25:14.1794733Z >>> 2025-03-14T05:25:14.1794843Z >>> @triton.jit 2025-03-14T05:25:14.1794945Z >>> def add_kernel( 2025-03-14T05:25:14.1795051Z >>> in_ptr0, 2025-03-14T05:25:14.1795195Z >>> in_ptr1, 2025-03-14T05:25:14.1795302Z >>> out_ptr, 2025-03-14T05:25:14.1795402Z >>> n_elements, 2025-03-14T05:25:14.1795532Z >>> BLOCK_SIZE: "tl.constexpr", 2025-03-14T05:25:14.1795621Z >>> ): 2025-03-14T05:25:14.1795754Z >>> pid = tl.program_id(axis=0) 2025-03-14T05:25:14.1795874Z >>> block_start = pid * BLOCK_SIZE 2025-03-14T05:25:14.1796067Z >>> offsets = block_start + tl.arange(0, BLOCK_SIZE) 2025-03-14T05:25:14.1796185Z >>> mask = offsets < n_elements 2025-03-14T05:25:14.1796332Z >>> x = tl.load(in_ptr0 + offsets, mask=mask) 2025-03-14T05:25:14.1796465Z >>> y = tl.load(in_ptr1 + offsets, mask=mask) 2025-03-14T05:25:14.1796577Z >>> output = x + y 2025-03-14T05:25:14.1796727Z >>> tl.store(out_ptr + offsets, output, mask=mask) 2025-03-14T05:25:14.1796826Z >>> 2025-03-14T05:25:14.1796927Z >>> def add(x, y): 2025-03-14T05:25:14.1797058Z >>> output = torch.empty_like(x) 2025-03-14T05:25:14.1797174Z >>> n_elements = output.numel() 2025-03-14T05:25:14.1797275Z >>> 2025-03-14T05:25:14.1797383Z >>> def grid_fn(meta): 2025-03-14T05:25:14.1797569Z >>> return (triton.cdiv(n_elements, meta["BLOCK_SIZE"]),) 2025-03-14T05:25:14.1797662Z >>> 2025-03-14T05:25:14.1798074Z >>> wrap_triton(add_kernel)[grid_fn](x, y, output, n_elements, 16) 2025-03-14T05:25:14.1798174Z >>> return output 2025-03-14T05:25:14.1798275Z >>> 2025-03-14T05:25:14.1798396Z >>> x = torch.randn(3, device="cuda") 2025-03-14T05:25:14.1798529Z >>> y = torch.randn(3, device="cuda") 2025-03-14T05:25:14.1798637Z >>> gm = make_fx(add)(x, y) 2025-03-14T05:25:14.1798753Z >>> print(gm.code) 2025-03-14T05:25:14.1798872Z >>> # def forward(self, x_1, y_1): 2025-03-14T05:25:14.1799128Z >>> # empty_like = torch.ops.aten.empty_like.default(x_1, pin_memory = False) 2025-03-14T05:25:14.1799373Z >>> # triton_kernel_wrapper_mutation_proxy = triton_kernel_wrapper_mutation( 2025-03-14T05:25:14.1799518Z >>> # kernel_idx = 0, constant_args_idx = 0, 2025-03-14T05:25:14.1799635Z >>> # grid = [(1, 1, 1)], kwargs = { 2025-03-14T05:25:14.1799806Z >>> # 'in_ptr0': x_1, 'in_ptr1': y_1, 'out_ptr': empty_like, 2025-03-14T05:25:14.1799938Z >>> # 'n_elements': 3, 'BLOCK_SIZE': 16 2025-03-14T05:25:14.1800042Z >>> # }) 2025-03-14T05:25:14.1800147Z >>> # return empty_like 2025-03-14T05:25:14.1800243Z 2025-03-14T05:25:14.1800331Z 2025-03-14T05:25:14.1800588Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.1800687Z 2025-03-14T05:25:14.1800792Z warnings.warn(msg) 2025-03-14T05:25:14.1800889Z 2025-03-14T05:25:14.1801093Z --- Parse Warning: 23 / 116 --- 2025-03-14T05:25:14.1802031Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=assert_almost_equal in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_numpy/testing/utils.py line=326. 2025-03-14T05:25:14.1802360Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.1802457Z 2025-03-14T05:25:14.1802666Z Raises an AssertionError if two items are not equal up to desired 2025-03-14T05:25:14.1802771Z precision. 2025-03-14T05:25:14.1802855Z 2025-03-14T05:25:14.1803050Z .. note:: It is recommended to use one of `assert_allclose`, 2025-03-14T05:25:14.1803234Z `assert_array_almost_equal_nulp` or `assert_array_max_ulp` 2025-03-14T05:25:14.1803433Z instead of this function for more consistent floating point 2025-03-14T05:25:14.1803596Z comparisons. 2025-03-14T05:25:14.1803692Z 2025-03-14T05:25:14.1803912Z The test verifies that the elements of `actual` and `desired` satisfy. 2025-03-14T05:25:14.1804011Z 2025-03-14T05:25:14.1804175Z ``abs(desired-actual) < float64(1.5 * 10**(-decimal))`` 2025-03-14T05:25:14.1804271Z 2025-03-14T05:25:14.1804501Z That is a looser test than originally documented, but agrees with what the 2025-03-14T05:25:14.1804789Z actual implementation in `assert_array_almost_equal` did up to rounding 2025-03-14T05:25:14.1805031Z vagaries. An exception is raised at conflicting values. For ndarrays this 2025-03-14T05:25:14.1805167Z delegates to assert_array_almost_equal 2025-03-14T05:25:14.1805252Z 2025-03-14T05:25:14.1805354Z Parameters 2025-03-14T05:25:14.1805446Z ---------- 2025-03-14T05:25:14.1805557Z actual : array_like 2025-03-14T05:25:14.1805661Z The object to check. 2025-03-14T05:25:14.1805775Z desired : array_like 2025-03-14T05:25:14.1805883Z The expected object. 2025-03-14T05:25:14.1805998Z decimal : int, optional 2025-03-14T05:25:14.1806117Z Desired precision, default is 7. 2025-03-14T05:25:14.1806228Z err_msg : str, optional 2025-03-14T05:25:14.1806391Z The error message to be printed in case of failure. 2025-03-14T05:25:14.1806505Z verbose : bool, optional 2025-03-14T05:25:14.1806716Z If True, the conflicting values are appended to the error message. 2025-03-14T05:25:14.1806813Z 2025-03-14T05:25:14.1806904Z Raises 2025-03-14T05:25:14.1806991Z ------ 2025-03-14T05:25:14.1807104Z AssertionError 2025-03-14T05:25:14.1807302Z If actual and desired are not equal up to specified precision. 2025-03-14T05:25:14.1807397Z 2025-03-14T05:25:14.1807486Z See Also 2025-03-14T05:25:14.1807590Z -------- 2025-03-14T05:25:14.1807829Z assert_allclose: Compare two array_like objects for equality with desired 2025-03-14T05:25:14.1807981Z relative and/or absolute precision. 2025-03-14T05:25:14.1808196Z assert_array_almost_equal_nulp, assert_array_max_ulp, assert_equal 2025-03-14T05:25:14.1808299Z 2025-03-14T05:25:14.1808392Z Examples 2025-03-14T05:25:14.1808496Z -------- 2025-03-14T05:25:14.1808669Z >>> from torch._numpy.testing import assert_almost_equal 2025-03-14T05:25:14.1808824Z >>> assert_almost_equal(2.3333333333333, 2.33333334) 2025-03-14T05:25:14.1809007Z >>> assert_almost_equal(2.3333333333333, 2.33333334, decimal=10) 2025-03-14T05:25:14.1809141Z Traceback (most recent call last): 2025-03-14T05:25:14.1809231Z ... 2025-03-14T05:25:14.1809347Z AssertionError: 2025-03-14T05:25:14.1809479Z Arrays are not almost equal to 10 decimals 2025-03-14T05:25:14.1809594Z ACTUAL: 2.3333333333333 2025-03-14T05:25:14.1809693Z DESIRED: 2.33333334 2025-03-14T05:25:14.1809796Z 2025-03-14T05:25:14.1809951Z >>> assert_almost_equal(np.array([1.0,2.3333333333333]), 2025-03-14T05:25:14.1810101Z ... np.array([1.0,2.33333334]), decimal=9) 2025-03-14T05:25:14.1810221Z Traceback (most recent call last): 2025-03-14T05:25:14.1810324Z ... 2025-03-14T05:25:14.1810427Z AssertionError: 2025-03-14T05:25:14.1810569Z Arrays are not almost equal to 9 decimals 2025-03-14T05:25:14.1810664Z 2025-03-14T05:25:14.1810777Z Mismatched elements: 1 / 2 (50%) 2025-03-14T05:25:14.1810955Z Max absolute difference: 6.666699636781459e-09 2025-03-14T05:25:14.1811094Z Max relative difference: 2.8571569790287484e-09 2025-03-14T05:25:14.1811255Z x: torch.ndarray([1.0000, 2.3333], dtype=float64) 2025-03-14T05:25:14.1811398Z y: torch.ndarray([1.0000, 2.3333], dtype=float64) 2025-03-14T05:25:14.1811500Z 2025-03-14T05:25:14.1811590Z 2025-03-14T05:25:14.1811866Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.1811954Z 2025-03-14T05:25:14.1812074Z warnings.warn(msg) 2025-03-14T05:25:14.1812209Z 2025-03-14T05:25:14.1812424Z --- Parse Warning: 24 / 116 --- 2025-03-14T05:25:14.1813355Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=assert_approx_equal in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_numpy/testing/utils.py line=451. 2025-03-14T05:25:14.1813639Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.1813756Z 2025-03-14T05:25:14.1813996Z Raises an AssertionError if two items are not equal up to significant 2025-03-14T05:25:14.1814085Z digits. 2025-03-14T05:25:14.1814185Z 2025-03-14T05:25:14.1814365Z .. note:: It is recommended to use one of `assert_allclose`, 2025-03-14T05:25:14.1814562Z `assert_array_almost_equal_nulp` or `assert_array_max_ulp` 2025-03-14T05:25:14.1814752Z instead of this function for more consistent floating point 2025-03-14T05:25:14.1814868Z comparisons. 2025-03-14T05:25:14.1814952Z 2025-03-14T05:25:14.1815155Z Given two numbers, check that they are approximately equal. 2025-03-14T05:25:14.1815382Z Approximately equal is defined as the number of significant digits 2025-03-14T05:25:14.1815487Z that agree. 2025-03-14T05:25:14.1815636Z 2025-03-14T05:25:14.1815941Z Parameters 2025-03-14T05:25:14.1816037Z ---------- 2025-03-14T05:25:14.1816153Z actual : scalar 2025-03-14T05:25:14.1816256Z The object to check. 2025-03-14T05:25:14.1816365Z desired : scalar 2025-03-14T05:25:14.1816467Z The expected object. 2025-03-14T05:25:14.1816587Z significant : int, optional 2025-03-14T05:25:14.1816711Z Desired precision, default is 7. 2025-03-14T05:25:14.1816827Z err_msg : str, optional 2025-03-14T05:25:14.1816989Z The error message to be printed in case of failure. 2025-03-14T05:25:14.1817093Z verbose : bool, optional 2025-03-14T05:25:14.1817316Z If True, the conflicting values are appended to the error message. 2025-03-14T05:25:14.1817402Z 2025-03-14T05:25:14.1817502Z Raises 2025-03-14T05:25:14.1817590Z ------ 2025-03-14T05:25:14.1817700Z AssertionError 2025-03-14T05:25:14.1817898Z If actual and desired are not equal up to specified precision. 2025-03-14T05:25:14.1817995Z 2025-03-14T05:25:14.1818086Z See Also 2025-03-14T05:25:14.1818193Z -------- 2025-03-14T05:25:14.1818439Z assert_allclose: Compare two array_like objects for equality with desired 2025-03-14T05:25:14.1818586Z relative and/or absolute precision. 2025-03-14T05:25:14.1818798Z assert_array_almost_equal_nulp, assert_array_max_ulp, assert_equal 2025-03-14T05:25:14.1818897Z 2025-03-14T05:25:14.1818988Z Examples 2025-03-14T05:25:14.1819089Z -------- 2025-03-14T05:25:14.1819371Z >>> np.testing.assert_approx_equal(0.12345677777777e-20, 0.1234567e-20) # doctest: +SKIP 2025-03-14T05:25:14.1819640Z >>> np.testing.assert_approx_equal(0.12345670e-20, 0.12345671e-20, # doctest: +SKIP 2025-03-14T05:25:14.1819762Z ... significant=8) 2025-03-14T05:25:14.1820025Z >>> np.testing.assert_approx_equal(0.12345670e-20, 0.12345672e-20, # doctest: +SKIP 2025-03-14T05:25:14.1820145Z ... significant=8) 2025-03-14T05:25:14.1820276Z Traceback (most recent call last): 2025-03-14T05:25:14.1820411Z ... 2025-03-14T05:25:14.1820521Z AssertionError: 2025-03-14T05:25:14.1820659Z Items are not equal to 8 significant digits: 2025-03-14T05:25:14.1820770Z ACTUAL: 1.234567e-21 2025-03-14T05:25:14.1820871Z DESIRED: 1.2345672e-21 2025-03-14T05:25:14.1820970Z 2025-03-14T05:25:14.1821140Z the evaluated condition that raises the exception is 2025-03-14T05:25:14.1821241Z 2025-03-14T05:25:14.1821420Z >>> abs(0.12345670e-20/1e-21 - 0.12345672e-20/1e-21) >= 10**-(8-1) 2025-03-14T05:25:14.1821524Z True 2025-03-14T05:25:14.1821611Z 2025-03-14T05:25:14.1821762Z 2025-03-14T05:25:14.1822037Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.1822123Z 2025-03-14T05:25:14.1822243Z warnings.warn(msg) 2025-03-14T05:25:14.1822334Z 2025-03-14T05:25:14.1822570Z --- Parse Warning: 25 / 116 --- 2025-03-14T05:25:14.1823490Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=assert_array_equal in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_numpy/testing/utils.py line=730. 2025-03-14T05:25:14.1823804Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.1823892Z 2025-03-14T05:25:14.1824120Z Raises an AssertionError if two array_like objects are not equal. 2025-03-14T05:25:14.1824207Z 2025-03-14T05:25:14.1824433Z Given two array_like objects, check that the shape is equal and all 2025-03-14T05:25:14.1824661Z elements of these objects are equal (but see the Notes for the special 2025-03-14T05:25:14.1824880Z handling of a scalar). An exception is raised at shape mismatch or 2025-03-14T05:25:14.1825106Z conflicting values. In contrast to the standard usage in numpy, NaNs 2025-03-14T05:25:14.1825343Z are compared like numbers, no assertion is raised if both objects have 2025-03-14T05:25:14.1825454Z NaNs in the same positions. 2025-03-14T05:25:14.1825559Z 2025-03-14T05:25:14.1825790Z The usual caution for verifying equality with floating point numbers is 2025-03-14T05:25:14.1825895Z advised. 2025-03-14T05:25:14.1825983Z 2025-03-14T05:25:14.1826087Z Parameters 2025-03-14T05:25:14.1826178Z ---------- 2025-03-14T05:25:14.1826285Z x : array_like 2025-03-14T05:25:14.1826398Z The actual object to check. 2025-03-14T05:25:14.1826501Z y : array_like 2025-03-14T05:25:14.1826617Z The desired, expected object. 2025-03-14T05:25:14.1826732Z err_msg : str, optional 2025-03-14T05:25:14.1826897Z The error message to be printed in case of failure. 2025-03-14T05:25:14.1827016Z verbose : bool, optional 2025-03-14T05:25:14.1827224Z If True, the conflicting values are appended to the error message. 2025-03-14T05:25:14.1827339Z strict : bool, optional 2025-03-14T05:25:14.1827542Z If True, raise an AssertionError when either the shape or the data 2025-03-14T05:25:14.1827739Z type of the array_like objects does not match. The special 2025-03-14T05:25:14.1827946Z handling for scalars mentioned in the Notes section is disabled. 2025-03-14T05:25:14.1828043Z 2025-03-14T05:25:14.1828132Z Raises 2025-03-14T05:25:14.1828233Z ------ 2025-03-14T05:25:14.1828329Z AssertionError 2025-03-14T05:25:14.1828469Z If actual and desired objects are not equal. 2025-03-14T05:25:14.1828568Z 2025-03-14T05:25:14.1828658Z See Also 2025-03-14T05:25:14.1828758Z -------- 2025-03-14T05:25:14.1829005Z assert_allclose: Compare two array_like objects for equality with desired 2025-03-14T05:25:14.1829151Z relative and/or absolute precision. 2025-03-14T05:25:14.1829365Z assert_array_almost_equal_nulp, assert_array_max_ulp, assert_equal 2025-03-14T05:25:14.1829462Z 2025-03-14T05:25:14.1829550Z Notes 2025-03-14T05:25:14.1829653Z ----- 2025-03-14T05:25:14.1829843Z When one of `x` and `y` is a scalar and the other is array_like, the 2025-03-14T05:25:14.1830112Z function checks that each element of the array_like object is equal to 2025-03-14T05:25:14.1830340Z the scalar. This behaviour can be disabled with the `strict` parameter. 2025-03-14T05:25:14.1830439Z 2025-03-14T05:25:14.1830530Z Examples 2025-03-14T05:25:14.1830631Z -------- 2025-03-14T05:25:14.1830772Z The first assert does not raise an exception: 2025-03-14T05:25:14.1830872Z 2025-03-14T05:25:14.1831033Z >>> np.testing.assert_array_equal([1.0,2.33333,np.nan], 2025-03-14T05:25:14.1831225Z ... [np.exp(0),2.33333, np.nan]) 2025-03-14T05:25:14.1831313Z 2025-03-14T05:25:14.1831562Z Use `assert_allclose` or one of the nulp (number of floating point values) 2025-03-14T05:25:14.1831684Z functions for these cases instead: 2025-03-14T05:25:14.1831786Z 2025-03-14T05:25:14.1831937Z >>> np.testing.assert_allclose([1.0,np.pi,np.nan], 2025-03-14T05:25:14.1832083Z ... [1, np.sqrt(np.pi)**2, np.nan], 2025-03-14T05:25:14.1832231Z ... rtol=1e-10, atol=0) 2025-03-14T05:25:14.1832328Z 2025-03-14T05:25:14.1832537Z As mentioned in the Notes section, `assert_array_equal` has special 2025-03-14T05:25:14.1832777Z handling for scalars. Here the test checks that each value in `x` is 3: 2025-03-14T05:25:14.1832862Z 2025-03-14T05:25:14.1832985Z >>> x = np.full((2, 5), fill_value=3) 2025-03-14T05:25:14.1833108Z >>> np.testing.assert_array_equal(x, 3) 2025-03-14T05:25:14.1833207Z 2025-03-14T05:25:14.1833428Z Use `strict` to raise an AssertionError when comparing a scalar with an 2025-03-14T05:25:14.1833517Z array: 2025-03-14T05:25:14.1833615Z 2025-03-14T05:25:14.1833772Z >>> np.testing.assert_array_equal(x, 3, strict=True) 2025-03-14T05:25:14.1833903Z Traceback (most recent call last): 2025-03-14T05:25:14.1833990Z ... 2025-03-14T05:25:14.1834101Z AssertionError: 2025-03-14T05:25:14.1834204Z Arrays are not equal 2025-03-14T05:25:14.1834310Z 2025-03-14T05:25:14.1834414Z (shapes (2, 5), () mismatch) 2025-03-14T05:25:14.1834539Z x: torch.ndarray([[3, 3, 3, 3, 3], 2025-03-14T05:25:14.1834634Z [3, 3, 3, 3, 3]]) 2025-03-14T05:25:14.1834750Z y: torch.ndarray(3) 2025-03-14T05:25:14.1834839Z 2025-03-14T05:25:14.1835072Z The `strict` parameter also ensures that the array data types match: 2025-03-14T05:25:14.1835161Z 2025-03-14T05:25:14.1835277Z >>> x = np.array([2, 2, 2]) 2025-03-14T05:25:14.1835413Z >>> y = np.array([2., 2., 2.], dtype=np.float32) 2025-03-14T05:25:14.1835584Z >>> np.testing.assert_array_equal(x, y, strict=True) 2025-03-14T05:25:14.1835703Z Traceback (most recent call last): 2025-03-14T05:25:14.1835806Z ... 2025-03-14T05:25:14.1835906Z AssertionError: 2025-03-14T05:25:14.1836020Z Arrays are not equal 2025-03-14T05:25:14.1836115Z 2025-03-14T05:25:14.1836284Z (dtypes dtype("int64"), dtype("float32") mismatch) 2025-03-14T05:25:14.1836395Z x: torch.ndarray([2, 2, 2]) 2025-03-14T05:25:14.1836507Z y: torch.ndarray([2., 2., 2.]) 2025-03-14T05:25:14.1836610Z 2025-03-14T05:25:14.1836871Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.1836973Z 2025-03-14T05:25:14.1837076Z warnings.warn(msg) 2025-03-14T05:25:14.1837179Z 2025-03-14T05:25:14.1837383Z --- Parse Warning: 26 / 116 --- 2025-03-14T05:25:14.1838355Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=assert_array_almost_equal in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_numpy/testing/utils.py line=836. 2025-03-14T05:25:14.1838624Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.1838729Z 2025-03-14T05:25:14.1838951Z Raises an AssertionError if two objects are not equal up to desired 2025-03-14T05:25:14.1839089Z precision. 2025-03-14T05:25:14.1839178Z 2025-03-14T05:25:14.1839373Z .. note:: It is recommended to use one of `assert_allclose`, 2025-03-14T05:25:14.1839561Z `assert_array_almost_equal_nulp` or `assert_array_max_ulp` 2025-03-14T05:25:14.1839767Z instead of this function for more consistent floating point 2025-03-14T05:25:14.1839872Z comparisons. 2025-03-14T05:25:14.1839973Z 2025-03-14T05:25:14.1840217Z The test verifies identical shapes and that the elements of ``actual`` and 2025-03-14T05:25:14.1840385Z ``desired`` satisfy. 2025-03-14T05:25:14.1840471Z 2025-03-14T05:25:14.1840623Z ``abs(desired-actual) < 1.5 * 10**(-decimal)`` 2025-03-14T05:25:14.1840709Z 2025-03-14T05:25:14.1840956Z That is a looser test than originally documented, but agrees with what the 2025-03-14T05:25:14.1841203Z actual implementation did up to rounding vagaries. An exception is raised 2025-03-14T05:25:14.1841482Z at shape mismatch or conflicting values. In contrast to the standard usage 2025-03-14T05:25:14.1841707Z in numpy, NaNs are compared like numbers, no assertion is raised if both 2025-03-14T05:25:14.1841848Z objects have NaNs in the same positions. 2025-03-14T05:25:14.1841934Z 2025-03-14T05:25:14.1842040Z Parameters 2025-03-14T05:25:14.1842131Z ---------- 2025-03-14T05:25:14.1842238Z x : array_like 2025-03-14T05:25:14.1842349Z The actual object to check. 2025-03-14T05:25:14.1842459Z y : array_like 2025-03-14T05:25:14.1842577Z The desired, expected object. 2025-03-14T05:25:14.1842691Z decimal : int, optional 2025-03-14T05:25:14.1842812Z Desired precision, default is 6. 2025-03-14T05:25:14.1842926Z err_msg : str, optional 2025-03-14T05:25:14.1843084Z The error message to be printed in case of failure. 2025-03-14T05:25:14.1843201Z verbose : bool, optional 2025-03-14T05:25:14.1843410Z If True, the conflicting values are appended to the error message. 2025-03-14T05:25:14.1843511Z 2025-03-14T05:25:14.1843597Z Raises 2025-03-14T05:25:14.1843689Z ------ 2025-03-14T05:25:14.1843800Z AssertionError 2025-03-14T05:25:14.1844000Z If actual and desired are not equal up to specified precision. 2025-03-14T05:25:14.1844100Z 2025-03-14T05:25:14.1844190Z See Also 2025-03-14T05:25:14.1844292Z -------- 2025-03-14T05:25:14.1844537Z assert_allclose: Compare two array_like objects for equality with desired 2025-03-14T05:25:14.1844685Z relative and/or absolute precision. 2025-03-14T05:25:14.1844904Z assert_array_almost_equal_nulp, assert_array_max_ulp, assert_equal 2025-03-14T05:25:14.1845005Z 2025-03-14T05:25:14.1845096Z Examples 2025-03-14T05:25:14.1845199Z -------- 2025-03-14T05:25:14.1845335Z the first assert does not raise an exception 2025-03-14T05:25:14.1845430Z 2025-03-14T05:25:14.1845609Z >>> np.testing.assert_array_almost_equal([1.0,2.333,np.nan], 2025-03-14T05:25:14.1845743Z ... [1.0,2.333,np.nan]) 2025-03-14T05:25:14.1845832Z 2025-03-14T05:25:14.1846024Z >>> np.testing.assert_array_almost_equal([1.0,2.33333,np.nan], 2025-03-14T05:25:14.1846155Z ... [1.0,2.33339,np.nan], decimal=5) 2025-03-14T05:25:14.1846285Z Traceback (most recent call last): 2025-03-14T05:25:14.1846372Z ... 2025-03-14T05:25:14.1846485Z AssertionError: 2025-03-14T05:25:14.1846612Z Arrays are not almost equal to 5 decimals 2025-03-14T05:25:14.1846720Z 2025-03-14T05:25:14.1846830Z Mismatched elements: 1 / 3 (33.3%) 2025-03-14T05:25:14.1846975Z Max absolute difference: 5.999999999994898e-05 2025-03-14T05:25:14.1847111Z Max relative difference: 2.5713661239633743e-05 2025-03-14T05:25:14.1847291Z x: torch.ndarray([1.0000, 2.3333, nan], dtype=float64) 2025-03-14T05:25:14.1847456Z y: torch.ndarray([1.0000, 2.3334, nan], dtype=float64) 2025-03-14T05:25:14.1847583Z 2025-03-14T05:25:14.1847765Z >>> np.testing.assert_array_almost_equal([1.0,2.33333,np.nan], 2025-03-14T05:25:14.1847904Z ... [1.0,2.33333, 5], decimal=5) 2025-03-14T05:25:14.1848025Z Traceback (most recent call last): 2025-03-14T05:25:14.1848112Z ... 2025-03-14T05:25:14.1848224Z AssertionError: 2025-03-14T05:25:14.1848351Z Arrays are not almost equal to 5 decimals 2025-03-14T05:25:14.1848456Z 2025-03-14T05:25:14.1848569Z x and y nan location mismatch: 2025-03-14T05:25:14.1848797Z x: torch.ndarray([1.0000, 2.3333, nan], dtype=float64) 2025-03-14T05:25:14.1848958Z y: torch.ndarray([1.0000, 2.3333, 5.0000], dtype=float64) 2025-03-14T05:25:14.1849058Z 2025-03-14T05:25:14.1849144Z 2025-03-14T05:25:14.1849414Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.1849501Z 2025-03-14T05:25:14.1849614Z warnings.warn(msg) 2025-03-14T05:25:14.1849727Z 2025-03-14T05:25:14.1849942Z --- Parse Warning: 27 / 116 --- 2025-03-14T05:25:14.1850892Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=clear_and_catch_warnings in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_numpy/testing/utils.py line=1786. 2025-03-14T05:25:14.1851178Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.1851399Z Context manager that resets warning registry for catching warnings 2025-03-14T05:25:14.1851511Z 2025-03-14T05:25:14.1851761Z Warnings can be slippery, because, whenever a warning is triggered, Python 2025-03-14T05:25:14.1852005Z adds a ``__warningregistry__`` member to the *calling* module. This makes 2025-03-14T05:25:14.1852249Z it impossible to retrigger the warning in this module, whatever you put in 2025-03-14T05:25:14.1852513Z the warnings filters. This context manager accepts a sequence of `modules` 2025-03-14T05:25:14.1852663Z as a keyword argument to its constructor and: 2025-03-14T05:25:14.1852762Z 2025-03-14T05:25:14.1852993Z * stores and removes any ``__warningregistry__`` entries in given `modules` 2025-03-14T05:25:14.1853098Z on entry; 2025-03-14T05:25:14.1853292Z * resets ``__warningregistry__`` to its previous state on exit. 2025-03-14T05:25:14.1853396Z 2025-03-14T05:25:14.1853624Z This makes it possible to trigger any warning afresh inside the context 2025-03-14T05:25:14.1853829Z manager without disturbing the state of warnings outside. 2025-03-14T05:25:14.1853916Z 2025-03-14T05:25:14.1854167Z For compatibility with Python 3.0, please consider all arguments to be 2025-03-14T05:25:14.1854267Z keyword-only. 2025-03-14T05:25:14.1854368Z 2025-03-14T05:25:14.1854461Z Parameters 2025-03-14T05:25:14.1854566Z ---------- 2025-03-14T05:25:14.1854677Z record : bool, optional 2025-03-14T05:25:14.1854884Z Specifies whether warnings should be captured by a custom 2025-03-14T05:25:14.1855128Z implementation of ``warnings.showwarning()`` and be appended to a list 2025-03-14T05:25:14.1855350Z returned by the context manager. Otherwise None is returned by the 2025-03-14T05:25:14.1855663Z context manager. The objects appended to the list are arguments whose 2025-03-14T05:25:14.1855856Z attributes mirror the arguments to ``showwarning()``. 2025-03-14T05:25:14.1855974Z modules : sequence, optional 2025-03-14T05:25:14.1856212Z Sequence of modules for which to reset warnings registry on entry and 2025-03-14T05:25:14.1856407Z restore on exit. To work correctly, all 'ignore' filters should 2025-03-14T05:25:14.1856537Z filter by one of these modules. 2025-03-14T05:25:14.1856623Z 2025-03-14T05:25:14.1856729Z Examples 2025-03-14T05:25:14.1856856Z -------- 2025-03-14T05:25:14.1856967Z >>> import warnings 2025-03-14T05:25:14.1857156Z >>> with np.testing.clear_and_catch_warnings( # doctest: +SKIP 2025-03-14T05:25:14.1857287Z ... modules=[np.core.fromnumeric]): 2025-03-14T05:25:14.1857427Z ... warnings.simplefilter('always') 2025-03-14T05:25:14.1857658Z ... warnings.filterwarnings('ignore', module='np.core.fromnumeric') 2025-03-14T05:25:14.1857846Z ... # do something that raises a warning but ignore those in 2025-03-14T05:25:14.1858025Z ... # np.core.fromnumeric 2025-03-14T05:25:14.1858126Z 2025-03-14T05:25:14.1858388Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.1858491Z 2025-03-14T05:25:14.1858592Z warnings.warn(msg) 2025-03-14T05:25:14.1858692Z 2025-03-14T05:25:14.1858899Z --- Parse Warning: 28 / 116 --- 2025-03-14T05:25:14.1859830Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=Conv1d in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/modules/conv.py line=354. 2025-03-14T05:25:14.1860128Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.1860356Z Applies a 1D convolution over a quantized input signal composed of 2025-03-14T05:25:14.1860476Z several quantized input planes. 2025-03-14T05:25:14.1860575Z 2025-03-14T05:25:14.1860795Z For details on input arguments, parameters, and implementation see 2025-03-14T05:25:14.1860921Z :class:`~torch.nn.Conv1d`. 2025-03-14T05:25:14.1861007Z 2025-03-14T05:25:14.1861113Z .. note:: 2025-03-14T05:25:14.1861315Z Only `zeros` is supported for the :attr:`padding_mode` argument. 2025-03-14T05:25:14.1861415Z 2025-03-14T05:25:14.1861505Z .. note:: 2025-03-14T05:25:14.1861699Z Only `torch.quint8` is supported for the input data type. 2025-03-14T05:25:14.1861788Z 2025-03-14T05:25:14.1861884Z 2025-03-14T05:25:14.1861976Z Attributes: 2025-03-14T05:25:14.1862208Z weight (Tensor): packed tensor derived from the learnable weight 2025-03-14T05:25:14.1862318Z parameter. 2025-03-14T05:25:14.1862482Z scale (Tensor): scalar for the output scale 2025-03-14T05:25:14.1862653Z zero_point (Tensor): scalar for the output zero point 2025-03-14T05:25:14.1862754Z 2025-03-14T05:25:14.1862917Z See :class:`~torch.nn.Conv1d` for other attributes. 2025-03-14T05:25:14.1863018Z 2025-03-14T05:25:14.1863117Z Examples:: 2025-03-14T05:25:14.1863217Z 2025-03-14T05:25:14.1863372Z >>> # xdoctest: +REQUIRES(env:TORCH_DOCTEST_QENGINE) 2025-03-14T05:25:14.1863525Z >>> m = nn.quantized.Conv1d(16, 33, 3, stride=2) 2025-03-14T05:25:14.1863646Z >>> input = torch.randn(20, 16, 100) 2025-03-14T05:25:14.1863781Z >>> # quantize input to quint8 2025-03-14T05:25:14.1863888Z >>> # xdoctest: +SKIP 2025-03-14T05:25:14.1864119Z >>> q_input = torch.quantize_per_tensor(input, scale=1.0, zero_point=0, 2025-03-14T05:25:14.1864255Z ... dtype=torch.quint8) 2025-03-14T05:25:14.1864374Z >>> output = m(q_input) 2025-03-14T05:25:14.1864464Z 2025-03-14T05:25:14.1864554Z 2025-03-14T05:25:14.1864838Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.1864927Z 2025-03-14T05:25:14.1865046Z warnings.warn(msg) 2025-03-14T05:25:14.1865135Z 2025-03-14T05:25:14.1865345Z --- Parse Warning: 29 / 116 --- 2025-03-14T05:25:14.1866236Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=LSTM in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/nn/quantized/modules/rnn.py line=11. 2025-03-14T05:25:14.1866548Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.1866684Z A quantized long short-term memory (LSTM). 2025-03-14T05:25:14.1866785Z 2025-03-14T05:25:14.1867072Z For the description and the argument types, please, refer to :class:`~torch.nn.LSTM` 2025-03-14T05:25:14.1867177Z 2025-03-14T05:25:14.1867276Z Attributes: 2025-03-14T05:25:14.1867417Z layers : instances of the `_LSTMLayer` 2025-03-14T05:25:14.1867507Z 2025-03-14T05:25:14.1867615Z .. note:: 2025-03-14T05:25:14.1867881Z To access the weights and biases, you need to access them per layer. 2025-03-14T05:25:14.1868074Z See examples in :class:`~torch.ao.nn.quantizable.LSTM` 2025-03-14T05:25:14.1868163Z 2025-03-14T05:25:14.1868271Z Examples:: 2025-03-14T05:25:14.1868376Z >>> # xdoctest: +SKIP 2025-03-14T05:25:14.1868500Z >>> custom_module_config = { 2025-03-14T05:25:14.1868673Z ... 'float_to_observed_custom_module_class': { 2025-03-14T05:25:14.1868816Z ... nn.LSTM: nn.quantizable.LSTM, 2025-03-14T05:25:14.1868906Z ... }, 2025-03-14T05:25:14.1869073Z ... 'observed_to_quantized_custom_module_class': { 2025-03-14T05:25:14.1869222Z ... nn.quantizable.LSTM: nn.quantized.LSTM, 2025-03-14T05:25:14.1869326Z ... } 2025-03-14T05:25:14.1869414Z ... } 2025-03-14T05:25:14.1869654Z >>> tq.prepare(model, prepare_custom_module_class=custom_module_config) 2025-03-14T05:25:14.1869871Z >>> tq.convert(model, convert_custom_module_class=custom_module_config) 2025-03-14T05:25:14.1869974Z 2025-03-14T05:25:14.1870231Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.1870332Z 2025-03-14T05:25:14.1870434Z warnings.warn(msg) 2025-03-14T05:25:14.1870534Z 2025-03-14T05:25:14.1870728Z --- Parse Warning: 30 / 116 --- 2025-03-14T05:25:14.1871802Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=BaseSparsifier.squash_mask in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/pruning/sparsifier/base_sparsifier.py line=227. 2025-03-14T05:25:14.1872071Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.1872265Z Squashes the sparse masks into the appropriate tensors. 2025-03-14T05:25:14.1872354Z 2025-03-14T05:25:14.1872580Z If either the `params_to_keep` or `params_to_keep_per_layer` is set, 2025-03-14T05:25:14.1872771Z the module will have a `sparse_params` dict attached to it. 2025-03-14T05:25:14.1872870Z 2025-03-14T05:25:14.1872959Z Args: 2025-03-14T05:25:14.1873163Z params_to_keep: List of keys to save in the module or a dict 2025-03-14T05:25:14.1873328Z representing the modules and keys that will have 2025-03-14T05:25:14.1873477Z sparsity parameters saved 2025-03-14T05:25:14.1873697Z params_to_keep_per_layer: Dict to specify the params that should be 2025-03-14T05:25:14.1873868Z saved for specific layers. The keys in the dict 2025-03-14T05:25:14.1874029Z should be the module fqn, while the values should 2025-03-14T05:25:14.1874206Z be a list of strings with the names of the variables 2025-03-14T05:25:14.1874341Z to save in the `sparse_params` 2025-03-14T05:25:14.1874439Z 2025-03-14T05:25:14.1874535Z Examples: 2025-03-14T05:25:14.1874687Z >>> # xdoctest: +SKIP("locals are undefined") 2025-03-14T05:25:14.1874811Z >>> # Don't save any sparse params 2025-03-14T05:25:14.1874947Z >>> sparsifier.squash_mask() 2025-03-14T05:25:14.1875126Z >>> hasattr(model.submodule1, 'sparse_params') 2025-03-14T05:25:14.1875230Z False 2025-03-14T05:25:14.1875316Z 2025-03-14T05:25:14.1875438Z >>> # Keep sparse params per layer 2025-03-14T05:25:14.1875570Z >>> sparsifier.squash_mask( 2025-03-14T05:25:14.1875690Z ... params_to_keep_per_layer={ 2025-03-14T05:25:14.1875841Z ... 'submodule1.linear1': ('foo', 'bar'), 2025-03-14T05:25:14.1875973Z ... 'submodule2.linear42': ('baz',) 2025-03-14T05:25:14.1876127Z ... }) 2025-03-14T05:25:14.1876289Z >>> print(model.submodule1.linear1.sparse_params) 2025-03-14T05:25:14.1876408Z {'foo': 42, 'bar': 24} 2025-03-14T05:25:14.1876576Z >>> print(model.submodule2.linear42.sparse_params) 2025-03-14T05:25:14.1876688Z {'baz': 0.1} 2025-03-14T05:25:14.1876776Z 2025-03-14T05:25:14.1876945Z >>> # Keep sparse params for all layers 2025-03-14T05:25:14.1877127Z >>> sparsifier.squash_mask(params_to_keep=('foo', 'bar')) 2025-03-14T05:25:14.1877298Z >>> print(model.submodule1.linear1.sparse_params) 2025-03-14T05:25:14.1877405Z {'foo': 42, 'bar': 24} 2025-03-14T05:25:14.1877581Z >>> print(model.submodule2.linear42.sparse_params) 2025-03-14T05:25:14.1877687Z {'foo': 42, 'bar': 24} 2025-03-14T05:25:14.1877786Z 2025-03-14T05:25:14.1877992Z >>> # Keep some sparse params for all layers, and specific ones for 2025-03-14T05:25:14.1878111Z >>> # some other layers 2025-03-14T05:25:14.1878228Z >>> sparsifier.squash_mask( 2025-03-14T05:25:14.1878365Z ... params_to_keep=('foo', 'bar'), 2025-03-14T05:25:14.1878486Z ... params_to_keep_per_layer={ 2025-03-14T05:25:14.1878633Z ... 'submodule2.linear42': ('baz',) 2025-03-14T05:25:14.1878732Z ... }) 2025-03-14T05:25:14.1878906Z >>> print(model.submodule1.linear1.sparse_params) 2025-03-14T05:25:14.1879010Z {'foo': 42, 'bar': 24} 2025-03-14T05:25:14.1879187Z >>> print(model.submodule2.linear42.sparse_params) 2025-03-14T05:25:14.1879299Z {'foo': 42, 'bar': 24, 'baz': 0.1} 2025-03-14T05:25:14.1879403Z 2025-03-14T05:25:14.1879662Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.1879762Z 2025-03-14T05:25:14.1879866Z warnings.warn(msg) 2025-03-14T05:25:14.1879965Z 2025-03-14T05:25:14.1880158Z --- Parse Warning: 31 / 116 --- 2025-03-14T05:25:14.1881200Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=DTypeConfig in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/backend_config/backend_config.py line=181. 2025-03-14T05:25:14.1881477Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.1881576Z 2025-03-14T05:25:14.1881834Z Config object that specifies the supported data types passed as arguments to 2025-03-14T05:25:14.1882091Z quantize ops in the reference model spec, for input and output activations, 2025-03-14T05:25:14.1882196Z weights, and biases. 2025-03-14T05:25:14.1882297Z 2025-03-14T05:25:14.1882462Z For example, consider the following reference model: 2025-03-14T05:25:14.1882560Z 2025-03-14T05:25:14.1882726Z quant1 - [dequant1 - fp32_linear - quant2] - dequant2 2025-03-14T05:25:14.1882828Z 2025-03-14T05:25:14.1883046Z The pattern in the square brackets refers to the reference pattern of 2025-03-14T05:25:14.1883296Z statically quantized linear. Setting the input dtype as `torch.quint8` 2025-03-14T05:25:14.1883530Z in the DTypeConfig means we pass in `torch.quint8` as the dtype argument 2025-03-14T05:25:14.1883799Z to the first quantize op (quant1). Similarly, setting the output dtype as 2025-03-14T05:25:14.1884022Z `torch.quint8` means we pass in `torch.quint8` as the dtype argument to 2025-03-14T05:25:14.1884148Z the second quantize op (quant2). 2025-03-14T05:25:14.1884234Z 2025-03-14T05:25:14.1884454Z Note that the dtype here does not refer to the interface dtypes of the 2025-03-14T05:25:14.1884675Z op. For example, the "input dtype" here is not the dtype of the input 2025-03-14T05:25:14.1884955Z tensor passed to the quantized linear op. Though it can still be the 2025-03-14T05:25:14.1885159Z same as the interface dtype, this is not always the case, e.g. the 2025-03-14T05:25:14.1885394Z interface dtype is fp32 in dynamic quantization but the "input dtype" 2025-03-14T05:25:14.1885612Z specified in the DTypeConfig would still be quint8. The semantics of 2025-03-14T05:25:14.1885838Z dtypes here are the same as the semantics of the dtypes specified in 2025-03-14T05:25:14.1885961Z the observers. 2025-03-14T05:25:14.1886048Z 2025-03-14T05:25:14.1886270Z These dtypes are matched against the ones specified in the user's 2025-03-14T05:25:14.1886490Z QConfig. If there is a match, and the QConfig satisfies the constraints 2025-03-14T05:25:14.1886729Z specified in the DTypeConfig (if any), then we will quantize the given 2025-03-14T05:25:14.1886959Z pattern using this DTypeConfig. Otherwise, the QConfig is ignored and 2025-03-14T05:25:14.1887097Z the pattern will not be quantized. 2025-03-14T05:25:14.1887183Z 2025-03-14T05:25:14.1887300Z Example usage:: 2025-03-14T05:25:14.1887388Z 2025-03-14T05:25:14.1887516Z >>> # xdoctest: +SKIP(failing) 2025-03-14T05:25:14.1887635Z >>> dtype_config1 = DTypeConfig( 2025-03-14T05:25:14.1887766Z ... input_dtype=torch.quint8, 2025-03-14T05:25:14.1887883Z ... output_dtype=torch.quint8, 2025-03-14T05:25:14.1888012Z ... weight_dtype=torch.qint8, 2025-03-14T05:25:14.1888127Z ... bias_dtype=torch.float) 2025-03-14T05:25:14.1888232Z 2025-03-14T05:25:14.1888349Z >>> dtype_config2 = DTypeConfig( 2025-03-14T05:25:14.1888494Z ... input_dtype=DTypeWithConstraints( 2025-03-14T05:25:14.1888601Z ... dtype=torch.quint8, 2025-03-14T05:25:14.1888725Z ... quant_min_lower_bound=0, 2025-03-14T05:25:14.1888843Z ... quant_max_upper_bound=255, 2025-03-14T05:25:14.1888943Z ... ), 2025-03-14T05:25:14.1889080Z ... output_dtype=DTypeWithConstraints( 2025-03-14T05:25:14.1889198Z ... dtype=torch.quint8, 2025-03-14T05:25:14.1889309Z ... quant_min_lower_bound=0, 2025-03-14T05:25:14.1889438Z ... quant_max_upper_bound=255, 2025-03-14T05:25:14.1889528Z ... ), 2025-03-14T05:25:14.1889675Z ... weight_dtype=DTypeWithConstraints( 2025-03-14T05:25:14.1889782Z ... dtype=torch.qint8, 2025-03-14T05:25:14.1889915Z ... quant_min_lower_bound=-128, 2025-03-14T05:25:14.1890034Z ... quant_max_upper_bound=127, 2025-03-14T05:25:14.1890135Z ... ), 2025-03-14T05:25:14.1890246Z ... bias_dtype=torch.float) 2025-03-14T05:25:14.1897965Z 2025-03-14T05:25:14.1898151Z >>> dtype_config1.input_dtype 2025-03-14T05:25:14.1898261Z torch.quint8 2025-03-14T05:25:14.1898346Z 2025-03-14T05:25:14.1898472Z >>> dtype_config2.input_dtype 2025-03-14T05:25:14.1898566Z torch.quint8 2025-03-14T05:25:14.1898661Z 2025-03-14T05:25:14.1898819Z >>> dtype_config2.input_dtype_with_constraints 2025-03-14T05:25:14.1899368Z DTypeWithConstraints(dtype=torch.quint8, quant_min_lower_bound=0, quant_max_upper_bound=255, scale_min_lower_bound=None, scale_max_upper_bound=None) 2025-03-14T05:25:14.1899465Z 2025-03-14T05:25:14.1899721Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.1899912Z 2025-03-14T05:25:14.1900030Z warnings.warn(msg) 2025-03-14T05:25:14.1900117Z 2025-03-14T05:25:14.1900385Z --- Parse Warning: 32 / 116 --- 2025-03-14T05:25:14.1901632Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=ModelReportVisualizer.generate_filtered_tables in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/fx/_model_report/model_report_visualizer.py line=301. 2025-03-14T05:25:14.1901984Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.1902074Z 2025-03-14T05:25:14.1902362Z Takes in optional filter values and generates two tables with desired information. 2025-03-14T05:25:14.1902452Z 2025-03-14T05:25:14.1902674Z The generated tables are presented in both a list-of-lists format 2025-03-14T05:25:14.1902761Z 2025-03-14T05:25:14.1902983Z The reason for the two tables are that they handle different things: 2025-03-14T05:25:14.1903194Z 1.) the first table handles all tensor level information 2025-03-14T05:25:14.1903421Z 2.) the second table handles and displays all channel based information 2025-03-14T05:25:14.1903507Z 2025-03-14T05:25:14.1903841Z The reasoning for this is that having all the info in one table can make it ambiguous which collected 2025-03-14T05:25:14.1904172Z statistics are global, and which are actually per-channel, so it's better to split it up into two 2025-03-14T05:25:14.1904544Z tables. This also makes the information much easier to digest given the plethora of statistics collected 2025-03-14T05:25:14.1904632Z 2025-03-14T05:25:14.1904747Z Tensor table columns: 2025-03-14T05:25:14.1904943Z idx layer_fqn feature_1 feature_2 feature_3 .... feature_n 2025-03-14T05:25:14.1905116Z ---- --------- --------- --------- --------- --------- 2025-03-14T05:25:14.1905202Z 2025-03-14T05:25:14.1905332Z Per-Channel table columns: 2025-03-14T05:25:14.1905555Z idx layer_fqn channel feature_1 feature_2 feature_3 .... feature_n 2025-03-14T05:25:14.1905733Z ---- --------- ------- --------- --------- --------- --------- 2025-03-14T05:25:14.1905816Z 2025-03-14T05:25:14.1905915Z Args: 2025-03-14T05:25:14.1906181Z feature_filter (str, optional): Filters the features presented to only those that 2025-03-14T05:25:14.1906306Z contain this filter substring 2025-03-14T05:25:14.1906481Z Default = "", results in all the features being printed 2025-03-14T05:25:14.1906758Z module_fqn_filter (str, optional): Only includes modules that contains this string 2025-03-14T05:25:14.1907012Z Default = "", results in all the modules in the reports to be visible in the table 2025-03-14T05:25:14.1907106Z 2025-03-14T05:25:14.1907224Z Returns a dictionary with two keys: 2025-03-14T05:25:14.1907411Z (Dict[str, Tuple[List, List]]) A dict containing two keys: 2025-03-14T05:25:14.1907541Z "tensor_level_info", "channel_level_info" 2025-03-14T05:25:14.1907665Z Each key maps to a tuple with: 2025-03-14T05:25:14.1907788Z A list of the headers of each table 2025-03-14T05:25:14.1907985Z A list of lists containing the table information row by row 2025-03-14T05:25:14.1908164Z The 0th index row will contain the headers of the columns 2025-03-14T05:25:14.1908301Z The rest of the rows will contain data 2025-03-14T05:25:14.1908387Z 2025-03-14T05:25:14.1908480Z Example Use: 2025-03-14T05:25:14.1908625Z >>> # xdoctest: +SKIP("undefined variables") 2025-03-14T05:25:14.1908780Z >>> mod_report_visualizer.generate_filtered_tables( 2025-03-14T05:25:14.1908917Z ... feature_filter = "per_channel_min", 2025-03-14T05:25:14.1909033Z ... module_fqn_filter = "block1" 2025-03-14T05:25:14.1909323Z ... ) # generates table with per_channel_min info for all modules in block 1 of the model 2025-03-14T05:25:14.1909442Z 2025-03-14T05:25:14.1909711Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.1909798Z 2025-03-14T05:25:14.1909916Z warnings.warn(msg) 2025-03-14T05:25:14.1910000Z 2025-03-14T05:25:14.1910206Z --- Parse Warning: 33 / 116 --- 2025-03-14T05:25:14.1911517Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=ModelReportVisualizer.generate_table_visualization in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/fx/_model_report/model_report_visualizer.py line=400. 2025-03-14T05:25:14.1911793Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.1911880Z 2025-03-14T05:25:14.1912163Z Takes in optional filter values and prints out formatted tables of the information. 2025-03-14T05:25:14.1912275Z 2025-03-14T05:25:14.1912631Z The reason for the two tables printed out instead of one large one are that they handle different things: 2025-03-14T05:25:14.1912798Z 1.) the first table handles all tensor level information 2025-03-14T05:25:14.1913028Z 2.) the second table handles and displays all channel based information 2025-03-14T05:25:14.1913113Z 2025-03-14T05:25:14.1913448Z The reasoning for this is that having all the info in one table can make it ambiguous which collected 2025-03-14T05:25:14.1913781Z statistics are global, and which are actually per-channel, so it's better to split it up into two 2025-03-14T05:25:14.1914146Z tables. This also makes the information much easier to digest given the plethora of statistics collected 2025-03-14T05:25:14.1914232Z 2025-03-14T05:25:14.1914347Z Tensor table columns: 2025-03-14T05:25:14.1914541Z idx layer_fqn feature_1 feature_2 feature_3 .... feature_n 2025-03-14T05:25:14.1914714Z ---- --------- --------- --------- --------- --------- 2025-03-14T05:25:14.1914800Z 2025-03-14T05:25:14.1914924Z Per-Channel table columns: 2025-03-14T05:25:14.1915007Z 2025-03-14T05:25:14.1915239Z idx layer_fqn channel feature_1 feature_2 feature_3 .... feature_n 2025-03-14T05:25:14.1915407Z ---- --------- ------- --------- --------- --------- --------- 2025-03-14T05:25:14.1915505Z 2025-03-14T05:25:14.1915593Z Args: 2025-03-14T05:25:14.1915875Z feature_filter (str, optional): Filters the features presented to only those that 2025-03-14T05:25:14.1915991Z contain this filter substring 2025-03-14T05:25:14.1916169Z Default = "", results in all the features being printed 2025-03-14T05:25:14.1916435Z module_fqn_filter (str, optional): Only includes modules that contains this string 2025-03-14T05:25:14.1916698Z Default = "", results in all the modules in the reports to be visible in the table 2025-03-14T05:25:14.1916788Z 2025-03-14T05:25:14.1916893Z Example Use: 2025-03-14T05:25:14.1917026Z >>> # xdoctest: +SKIP("undefined variables") 2025-03-14T05:25:14.1917206Z >>> mod_report_visualizer.generate_table_visualization( 2025-03-14T05:25:14.1917335Z ... feature_filter = "per_channel_min", 2025-03-14T05:25:14.1917461Z ... module_fqn_filter = "block1" 2025-03-14T05:25:14.1917548Z ... ) 2025-03-14T05:25:14.1917755Z >>> # prints out neatly formatted table with per_channel_min info 2025-03-14T05:25:14.1917890Z >>> # for all modules in block 1 of the model 2025-03-14T05:25:14.1917987Z 2025-03-14T05:25:14.1918248Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.1918340Z 2025-03-14T05:25:14.1918441Z warnings.warn(msg) 2025-03-14T05:25:14.1918533Z 2025-03-14T05:25:14.1918727Z --- Parse Warning: 34 / 116 --- 2025-03-14T05:25:14.1920026Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=ModelReportVisualizer.generate_plot_visualization in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/fx/_model_report/model_report_visualizer.py line=566. 2025-03-14T05:25:14.1920293Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.1920387Z 2025-03-14T05:25:14.1920629Z Takes in a feature and optional module_filter and plots of the desired data. 2025-03-14T05:25:14.1920723Z 2025-03-14T05:25:14.1921055Z For per channel features, it averages the value across the channels and plots a point 2025-03-14T05:25:14.1921331Z per module. The reason for this is that for models with hundreds of channels, it can 2025-03-14T05:25:14.1921613Z be hard to differentiate one channel line from another, and so the point of generating 2025-03-14T05:25:14.1921896Z a single average point per module is to give a sense of general trends that encourage 2025-03-14T05:25:14.1922100Z further deep dives. 2025-03-14T05:25:14.1922195Z 2025-03-14T05:25:14.1922283Z Note: 2025-03-14T05:25:14.1922564Z Only features in the report that have tensor value data are plottable by this class 2025-03-14T05:25:14.1922735Z When the tensor information is plotted, it will plot: 2025-03-14T05:25:14.1922887Z idx as the x val, feature value as the y_val 2025-03-14T05:25:14.1923059Z When the channel information is plotted, it will plot: 2025-03-14T05:25:14.1923344Z the first idx of each module as the x val, feature value as the y_val [for each channel] 2025-03-14T05:25:14.1923577Z The reason for this is that we want to be able to compare values across the 2025-03-14T05:25:14.1923822Z channels for same layer, and it will be hard if values are staggered by idx 2025-03-14T05:25:14.1923996Z This means each module is represented by only 1 x value 2025-03-14T05:25:14.1924100Z Args: 2025-03-14T05:25:14.1924331Z feature_filter (str): Filters the features presented to only those that 2025-03-14T05:25:14.1924456Z contain this filter substring 2025-03-14T05:25:14.1924722Z module_fqn_filter (str, optional): Only includes modules that contains this string 2025-03-14T05:25:14.1924985Z Default = "", results in all the modules in the reports to be visible in the table 2025-03-14T05:25:14.1925072Z 2025-03-14T05:25:14.1925177Z Example Use: 2025-03-14T05:25:14.1925313Z >>> # xdoctest: +SKIP("undefined variables") 2025-03-14T05:25:14.1925493Z >>> mod_report_visualizer.generate_plot_visualization( 2025-03-14T05:25:14.1925621Z ... feature_filter = "per_channel_min", 2025-03-14T05:25:14.1925746Z ... module_fqn_filter = "block1" 2025-03-14T05:25:14.1925833Z ... ) 2025-03-14T05:25:14.1926018Z >>> # outputs line plot of per_channel_min information for all 2025-03-14T05:25:14.1926226Z >>> # modules in block1 of model each channel gets it's own line, 2025-03-14T05:25:14.1926404Z >>> # and it's plotted across the in-order modules on the x-axis 2025-03-14T05:25:14.1926498Z 2025-03-14T05:25:14.1926758Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.1926851Z 2025-03-14T05:25:14.1926954Z warnings.warn(msg) 2025-03-14T05:25:14.1927051Z 2025-03-14T05:25:14.1927244Z --- Parse Warning: 35 / 116 --- 2025-03-14T05:25:14.1928553Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=ModelReportVisualizer.generate_histogram_visualization in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/ao/quantization/fx/_model_report/model_report_visualizer.py line=646. 2025-03-14T05:25:14.1928824Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.1928925Z 2025-03-14T05:25:14.1929235Z Takes in a feature and optional module_filter and plots the histogram of desired data. 2025-03-14T05:25:14.1929335Z 2025-03-14T05:25:14.1929423Z Note: 2025-03-14T05:25:14.1929705Z Only features in the report that have tensor value data can be viewed as a histogram 2025-03-14T05:25:14.1929972Z If you want to plot a histogram from all the channel values of a specific feature for 2025-03-14T05:25:14.1930236Z a specific model, make sure to specify both the model and the feature properly 2025-03-14T05:25:14.1930548Z in the filters and you should be able to see a distribution of the channel data 2025-03-14T05:25:14.1930645Z 2025-03-14T05:25:14.1930733Z Args: 2025-03-14T05:25:14.1931014Z feature_filter (str, optional): Filters the features presented to only those that 2025-03-14T05:25:14.1931134Z contain this filter substring 2025-03-14T05:25:14.1931314Z Default = "", results in all the features being printed 2025-03-14T05:25:14.1931607Z module_fqn_filter (str, optional): Only includes modules that contains this string 2025-03-14T05:25:14.1931869Z Default = "", results in all the modules in the reports to be visible in the table 2025-03-14T05:25:14.1932096Z num_bins (int, optional): The number of bins to create the histogram with 2025-03-14T05:25:14.1932305Z Default = 10, the values will be split into 10 equal sized bins 2025-03-14T05:25:14.1932393Z 2025-03-14T05:25:14.1932500Z Example Use: 2025-03-14T05:25:14.1932608Z >>> # xdoctest: +SKIP 2025-03-14T05:25:14.1932926Z >>> mod_report_visualizer.generategenerate_histogram_visualization_plot_visualization( 2025-03-14T05:25:14.1933059Z ... feature_filter = "per_channel_min", 2025-03-14T05:25:14.1933187Z ... module_fqn_filter = "block1" 2025-03-14T05:25:14.1933276Z ... ) 2025-03-14T05:25:14.1933564Z # outputs histogram of per_channel_min information for all modules in block1 of model 2025-03-14T05:25:14.1933831Z information is gathered across all channels for all modules in block 1 for the 2025-03-14T05:25:14.1934063Z per_channel_min and is displayed in a histogram of equally sized bins 2025-03-14T05:25:14.1934152Z 2025-03-14T05:25:14.1934420Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.1934506Z 2025-03-14T05:25:14.1934619Z warnings.warn(msg) 2025-03-14T05:25:14.1934705Z 2025-03-14T05:25:14.1934908Z --- Parse Warning: 36 / 116 --- 2025-03-14T05:25:14.1935963Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=DeviceMesh.__getitem__ in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/device_mesh.py line=666. 2025-03-14T05:25:14.1936225Z Caused by: DoctestParseError('Failed to parse doctest in _package_groups') 2025-03-14T05:25:14.1936313Z 2025-03-14T05:25:14.1936600Z Slice the current DeviceMesh based on the mesh_dim_names given to create a submesh. 2025-03-14T05:25:14.1936871Z The submesh created consists of the dimensions and the communicators indicated by 2025-03-14T05:25:14.1936980Z ``mesh_dim_names`` 2025-03-14T05:25:14.1937065Z 2025-03-14T05:25:14.1937160Z Args: 2025-03-14T05:25:14.1937400Z mesh_dim_names (Union[str, Tuple[str]]): the name or the tuple of names of the 2025-03-14T05:25:14.1937601Z mesh dimension of the DeviceMesh to create the submesh for. 2025-03-14T05:25:14.1937695Z Returns: 2025-03-14T05:25:14.1937819Z A :class:`DeviceMesh` object 2025-03-14T05:25:14.1937902Z 2025-03-14T05:25:14.1938198Z The following program runs on each process/rank in an SPMD manner in a world size of 8. 2025-03-14T05:25:14.1938302Z In the first example: 2025-03-14T05:25:14.1938570Z Calling mesh_2d["tp"] on rank 0, 1, 2, 3 returns a 1D submesh of DeviceMesh:([0, 1, 2, 3]). 2025-03-14T05:25:14.1938857Z Calling mesh_2d["tp"] on rank 4, 5, 6, 7 returns a 1D submesh of DeviceMesh:([4, 5, 6, 7]). 2025-03-14T05:25:14.1939095Z Calling mesh_2d["dp"] on rank 0, 4 returns a 1D submesh of DeviceMesh:([0, 4]). 2025-03-14T05:25:14.1939321Z Calling mesh_2d["dp"] on rank 1, 5 returns a 1D submesh of DeviceMesh:([1, 5]). 2025-03-14T05:25:14.1939554Z Calling mesh_2d["dp"] on rank 2, 6 returns a 1D submesh of DeviceMesh:([2, 6]). 2025-03-14T05:25:14.1939777Z Calling mesh_2d["dp"] on rank 3, 7 returns a 1D submesh of DeviceMesh:([3, 7]). 2025-03-14T05:25:14.1939919Z 2025-03-14T05:25:14.1940027Z In the second example: 2025-03-14T05:25:14.1940304Z Calling mesh_3d["dp", "cp"] on rank 0, 1, 4, 5 returns a 2D submesh of DeviceMesh:([[0, 1], [4, 5]]). 2025-03-14T05:25:14.1940570Z Calling mesh_3d["dp", "cp"] on rank 2, 3, 6, 7 returns a 2D submesh of DeviceMesh:([[2, 3], [6, 7]]). 2025-03-14T05:25:14.1940842Z Calling mesh_3d["cp", "dp"] on rank 0, 1, 4, 5 returns a 2D submesh of DeviceMesh:([[0, 4], [1, 5]]). 2025-03-14T05:25:14.1941134Z Calling mesh_3d["cp", "dp"] on rank 2, 3, 6, 7 returns a 2D submesh of DeviceMesh:([[2, 6], [3, 7]]). 2025-03-14T05:25:14.1941230Z 2025-03-14T05:25:14.1941326Z Example:: 2025-03-14T05:25:14.1941451Z >>> # xdoctest: +SKIP("no rank") 2025-03-14T05:25:14.1941625Z >>> from torch.distributed.device_mesh import DeviceMesh 2025-03-14T05:25:14.1941727Z >>> 2025-03-14T05:25:14.1941930Z >>> # Initialize a 2D device mesh as (2, 4) to represent the topology 2025-03-14T05:25:14.1942089Z >>> # of cross-host(dim 0), and within-host (dim 1). 2025-03-14T05:25:14.1942343Z >>> mesh_2d = init_device_mesh(device_type="cuda", (2,4), mesh_dim_names=("dp", "tp")) 2025-03-14T05:25:14.1942463Z >>> tp_mesh = mesh_2d["tp"] 2025-03-14T05:25:14.1942564Z >>> dp_mesh = mesh_2d["dp"] 2025-03-14T05:25:14.1942662Z >>> 2025-03-14T05:25:14.1942765Z >>> # Initialize a 3D mesh. 2025-03-14T05:25:14.1943058Z >>> mesh_3d = init_device_mesh(device_type="cuda", (2,2,2), mesh_dim_names=("dp", "pp", "cp")) 2025-03-14T05:25:14.1943361Z >>> # The order of the mesh_dim_names provided deteremines the order of dimensions in the submesh. 2025-03-14T05:25:14.1943488Z >>> dp_cp_mesh = mesh_3d["dp", "cp"] 2025-03-14T05:25:14.1943603Z >>> cp_dp_mesh = mesh_3d["cp", "dp"] 2025-03-14T05:25:14.1943696Z 2025-03-14T05:25:14.1944372Z Original Error: SyntaxError('positional argument follows keyword argument', ('', 6, 82, 'mesh_2d = init_device_mesh(device_type="cuda", (2,4), mesh_dim_names=("dp", "tp"))\n', 6, 83)) 2025-03-14T05:25:14.1944467Z 2025-03-14T05:25:14.1944713Z mesh_2d = init_device_mesh(device_type="cuda", (2,4), mesh_dim_names=("dp", "tp")) 2025-03-14T05:25:14.1944843Z ^ 2025-03-14T05:25:14.1944942Z warnings.warn(msg) 2025-03-14T05:25:14.1945041Z 2025-03-14T05:25:14.1945236Z --- Parse Warning: 37 / 116 --- 2025-03-14T05:25:14.1946205Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=batch_isend_irecv in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/distributed_c10d.py line=2604. 2025-03-14T05:25:14.1946471Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.1946567Z 2025-03-14T05:25:14.1946821Z Send or Receive a batch of tensors asynchronously and return a list of requests. 2025-03-14T05:25:14.1946917Z 2025-03-14T05:25:14.1947167Z Process each of the operations in ``p2p_op_list`` and return the corresponding 2025-03-14T05:25:14.1947381Z requests. NCCL, Gloo, and UCC backend are currently supported. 2025-03-14T05:25:14.1947469Z 2025-03-14T05:25:14.1947568Z Args: 2025-03-14T05:25:14.1947795Z p2p_op_list: A list of point-to-point operations(type of each operator is 2025-03-14T05:25:14.1948063Z ``torch.distributed.P2POp``). The order of the isend/irecv in the list 2025-03-14T05:25:14.1948275Z matters and it needs to match with corresponding isend/irecv on the 2025-03-14T05:25:14.1948380Z remote end. 2025-03-14T05:25:14.1948464Z 2025-03-14T05:25:14.1948563Z Returns: 2025-03-14T05:25:14.1948813Z A list of distributed request objects returned by calling the corresponding 2025-03-14T05:25:14.1948912Z op in the op_list. 2025-03-14T05:25:14.1949056Z 2025-03-14T05:25:14.1949150Z Examples: 2025-03-14T05:25:14.1949274Z >>> # xdoctest: +SKIP("no rank") 2025-03-14T05:25:14.1949464Z >>> send_tensor = torch.arange(2, dtype=torch.float32) + 2 * rank 2025-03-14T05:25:14.1949632Z >>> recv_tensor = torch.randn(2, dtype=torch.float32) 2025-03-14T05:25:14.1949843Z >>> send_op = dist.P2POp(dist.isend, send_tensor, (rank + 1) % world_size) 2025-03-14T05:25:14.1949990Z >>> recv_op = dist.P2POp( 2025-03-14T05:25:14.1950181Z ... dist.irecv, recv_tensor, (rank - 1 + world_size) % world_size 2025-03-14T05:25:14.1950280Z ... ) 2025-03-14T05:25:14.1950417Z >>> reqs = batch_isend_irecv([send_op, recv_op]) 2025-03-14T05:25:14.1950528Z >>> for req in reqs: 2025-03-14T05:25:14.1950624Z >>> req.wait() 2025-03-14T05:25:14.1950730Z >>> recv_tensor 2025-03-14T05:25:14.1950835Z tensor([2, 3]) # Rank 0 2025-03-14T05:25:14.1950942Z tensor([0, 1]) # Rank 1 2025-03-14T05:25:14.1951029Z 2025-03-14T05:25:14.1951288Z .. note:: Note that when this API is used with the NCCL PG backend, users must set 2025-03-14T05:25:14.1951515Z the current GPU device with `torch.cuda.set_device`, otherwise it will 2025-03-14T05:25:14.1951644Z lead to unexpected hang issues. 2025-03-14T05:25:14.1951730Z 2025-03-14T05:25:14.1951955Z In addition, if this API is the first collective call in the ``group`` 2025-03-14T05:25:14.1952182Z passed to ``dist.P2POp``, all ranks of the ``group`` must participate in 2025-03-14T05:25:14.1952419Z this API call; otherwise, the behavior is undefined. If this API call is 2025-03-14T05:25:14.1952643Z not the first collective call in the ``group``, batched P2P operations 2025-03-14T05:25:14.1952848Z involving only a subset of ranks of the ``group`` are allowed. 2025-03-14T05:25:14.1952935Z 2025-03-14T05:25:14.1953198Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.1953287Z 2025-03-14T05:25:14.1953398Z warnings.warn(msg) 2025-03-14T05:25:14.1953487Z 2025-03-14T05:25:14.1953687Z --- Parse Warning: 38 / 116 --- 2025-03-14T05:25:14.1954610Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=all_reduce in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/distributed_c10d.py line=2734. 2025-03-14T05:25:14.1954888Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.1954975Z 2025-03-14T05:25:14.1955257Z Reduces the tensor data across all machines in a way that all get the final result. 2025-03-14T05:25:14.1955344Z 2025-03-14T05:25:14.1955582Z After the call ``tensor`` is going to be bitwise identical in all processes. 2025-03-14T05:25:14.1955668Z 2025-03-14T05:25:14.1955791Z Complex tensors are supported. 2025-03-14T05:25:14.1955881Z 2025-03-14T05:25:14.1955985Z Args: 2025-03-14T05:25:14.1956193Z tensor (Tensor): Input and output of the collective. The function 2025-03-14T05:25:14.1956313Z operates in-place. 2025-03-14T05:25:14.1956435Z op (optional): One of the values from 2025-03-14T05:25:14.1956569Z ``torch.distributed.ReduceOp`` 2025-03-14T05:25:14.1956774Z enum. Specifies an operation used for element-wise reductions. 2025-03-14T05:25:14.1957050Z group (ProcessGroup, optional): The process group to work on. If None, 2025-03-14T05:25:14.1957179Z the default process group will be used. 2025-03-14T05:25:14.1957384Z async_op (bool, optional): Whether this op should be an async op 2025-03-14T05:25:14.1957470Z 2025-03-14T05:25:14.1957559Z Returns: 2025-03-14T05:25:14.1957715Z Async work handle, if async_op is set to True. 2025-03-14T05:25:14.1957862Z None, if not async_op or if not part of the group 2025-03-14T05:25:14.1957959Z 2025-03-14T05:25:14.1958100Z Examples: 2025-03-14T05:25:14.1958226Z >>> # xdoctest: +SKIP("no rank") 2025-03-14T05:25:14.1958365Z >>> # All tensors below are of torch.int64 type. 2025-03-14T05:25:14.1958493Z >>> # We have 2 process groups, 2 ranks. 2025-03-14T05:25:14.1958618Z >>> device = torch.device(f"cuda:{rank}") 2025-03-14T05:25:14.1958858Z >>> tensor = torch.arange(2, dtype=torch.int64, device=device) + 1 + 2 * rank 2025-03-14T05:25:14.1958974Z >>> tensor 2025-03-14T05:25:14.1959107Z tensor([1, 2], device='cuda:0') # Rank 0 2025-03-14T05:25:14.1959225Z tensor([3, 4], device='cuda:1') # Rank 1 2025-03-14T05:25:14.1959373Z >>> dist.all_reduce(tensor, op=ReduceOp.SUM) 2025-03-14T05:25:14.1959464Z >>> tensor 2025-03-14T05:25:14.1959590Z tensor([4, 6], device='cuda:0') # Rank 0 2025-03-14T05:25:14.1959709Z tensor([4, 6], device='cuda:1') # Rank 1 2025-03-14T05:25:14.1959802Z 2025-03-14T05:25:14.1959947Z >>> # All tensors below are of torch.cfloat type. 2025-03-14T05:25:14.1960075Z >>> # We have 2 process groups, 2 ranks. 2025-03-14T05:25:14.1960182Z >>> tensor = torch.tensor( 2025-03-14T05:25:14.1960343Z ... [1 + 1j, 2 + 2j], dtype=torch.cfloat, device=device 2025-03-14T05:25:14.1960442Z ... ) + 2 * rank * (1 + 1j) 2025-03-14T05:25:14.1960543Z >>> tensor 2025-03-14T05:25:14.1960696Z tensor([1.+1.j, 2.+2.j], device='cuda:0') # Rank 0 2025-03-14T05:25:14.1960844Z tensor([3.+3.j, 4.+4.j], device='cuda:1') # Rank 1 2025-03-14T05:25:14.1960977Z >>> dist.all_reduce(tensor, op=ReduceOp.SUM) 2025-03-14T05:25:14.1961072Z >>> tensor 2025-03-14T05:25:14.1961210Z tensor([4.+4.j, 6.+6.j], device='cuda:0') # Rank 0 2025-03-14T05:25:14.1961353Z tensor([4.+4.j, 6.+6.j], device='cuda:1') # Rank 1 2025-03-14T05:25:14.1961436Z 2025-03-14T05:25:14.1961532Z 2025-03-14T05:25:14.1961792Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.1961874Z 2025-03-14T05:25:14.1961982Z warnings.warn(msg) 2025-03-14T05:25:14.1962062Z 2025-03-14T05:25:14.1962261Z --- Parse Warning: 39 / 116 --- 2025-03-14T05:25:14.1963209Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=gather_object in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/distributed_c10d.py line=3090. 2025-03-14T05:25:14.1963487Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.1963569Z 2025-03-14T05:25:14.1963803Z Gathers picklable objects from the whole group in a single process. 2025-03-14T05:25:14.1963886Z 2025-03-14T05:25:14.1964131Z Similar to :func:`gather`, but Python objects can be passed in. Note that the 2025-03-14T05:25:14.1964280Z object must be picklable in order to be gathered. 2025-03-14T05:25:14.1964372Z 2025-03-14T05:25:14.1964460Z Args: 2025-03-14T05:25:14.1964603Z obj (Any): Input object. Must be picklable. 2025-03-14T05:25:14.1964814Z object_gather_list (list[Any]): Output list. On the ``dst`` rank, it 2025-03-14T05:25:14.1965012Z should be correctly sized as the size of the group for this 2025-03-14T05:25:14.1965228Z collective and will contain the output. Must be ``None`` on non-dst 2025-03-14T05:25:14.1965376Z ranks. (default is ``None``) 2025-03-14T05:25:14.1965700Z dst (int, optional): Destination rank on global process group (regardless of ``group`` argument). 2025-03-14T05:25:14.1965906Z (If both ``dst`` and ``group_dst`` are None, default is global rank 0) 2025-03-14T05:25:14.1966141Z group: (ProcessGroup, optional): The process group to work on. If None, 2025-03-14T05:25:14.1966343Z the default process group will be used. Default is ``None``. 2025-03-14T05:25:14.1966753Z group_dst (int, optional): Destination rank on ``group``. Invalid to specify both ``dst`` and ``group_dst`` 2025-03-14T05:25:14.1966848Z 2025-03-14T05:25:14.1966939Z Returns: 2025-03-14T05:25:14.1967129Z None. On the ``dst`` rank, ``object_gather_list`` will contain the 2025-03-14T05:25:14.1967239Z output of the collective. 2025-03-14T05:25:14.1967332Z 2025-03-14T05:25:14.1967548Z .. note:: Note that this API differs slightly from the gather collective 2025-03-14T05:25:14.1967806Z since it does not provide an async_op handle and thus will be a blocking 2025-03-14T05:25:14.1967895Z call. 2025-03-14T05:25:14.1967983Z 2025-03-14T05:25:14.1968220Z .. note:: For NCCL-based processed groups, internal tensor representations 2025-03-14T05:25:14.1968443Z of objects must be moved to the GPU device before communication takes 2025-03-14T05:25:14.1968589Z place. In this case, the device used is given by 2025-03-14T05:25:14.1968819Z ``torch.cuda.current_device()`` and it is the user's responsiblity to 2025-03-14T05:25:14.1969028Z ensure that this is set so that each rank has an individual GPU, via 2025-03-14T05:25:14.1969143Z ``torch.cuda.set_device()``. 2025-03-14T05:25:14.1969223Z 2025-03-14T05:25:14.1969320Z .. warning:: 2025-03-14T05:25:14.1969520Z :func:`gather_object` uses ``pickle`` module implicitly, which is 2025-03-14T05:25:14.1969751Z known to be insecure. It is possible to construct malicious pickle data 2025-03-14T05:25:14.1969968Z which will execute arbitrary code during unpickling. Only call this 2025-03-14T05:25:14.1970085Z function with data you trust. 2025-03-14T05:25:14.1970165Z 2025-03-14T05:25:14.1970259Z .. warning:: 2025-03-14T05:25:14.1970475Z Calling :func:`gather_object` with GPU tensors is not well supported 2025-03-14T05:25:14.1970708Z and inefficient as it incurs GPU -> CPU transfer since tensors would be 2025-03-14T05:25:14.1970882Z pickled. Please consider using :func:`gather` instead. 2025-03-14T05:25:14.1970972Z 2025-03-14T05:25:14.1971060Z Example:: 2025-03-14T05:25:14.1971206Z >>> # xdoctest: +SKIP("need process group init") 2025-03-14T05:25:14.1971387Z >>> # Note: Process group initialization omitted on each rank. 2025-03-14T05:25:14.1971515Z >>> import torch.distributed as dist 2025-03-14T05:25:14.1971622Z >>> # Assumes world_size of 3. 2025-03-14T05:25:14.1971808Z >>> gather_objects = ["foo", 12, {1: 2}] # any picklable object 2025-03-14T05:25:14.1971930Z >>> output = [None for _ in gather_objects] 2025-03-14T05:25:14.1972038Z >>> dist.gather_object( 2025-03-14T05:25:14.1972162Z ... gather_objects[dist.get_rank()], 2025-03-14T05:25:14.1972300Z ... output if dist.get_rank() == 0 else None, 2025-03-14T05:25:14.1972389Z ... dst=0 2025-03-14T05:25:14.1972478Z ... ) 2025-03-14T05:25:14.1972568Z >>> # On rank 0 2025-03-14T05:25:14.1972657Z >>> output 2025-03-14T05:25:14.1972755Z ['foo', 12, {1: 2}] 2025-03-14T05:25:14.1972835Z 2025-03-14T05:25:14.1973097Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.1973176Z 2025-03-14T05:25:14.1973279Z warnings.warn(msg) 2025-03-14T05:25:14.1973359Z 2025-03-14T05:25:14.1973561Z --- Parse Warning: 40 / 116 --- 2025-03-14T05:25:14.1974519Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=all_gather in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/distributed_c10d.py line=3666. 2025-03-14T05:25:14.1974789Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.1974873Z 2025-03-14T05:25:14.1975023Z Gathers tensors from the whole group in a list. 2025-03-14T05:25:14.1975107Z 2025-03-14T05:25:14.1975307Z Complex and uneven sized tensors are supported. 2025-03-14T05:25:14.1975391Z 2025-03-14T05:25:14.1975485Z Args: 2025-03-14T05:25:14.1975759Z tensor_list (list[Tensor]): Output list. It should contain 2025-03-14T05:25:14.1975996Z correctly-sized tensors to be used for output of the collective. 2025-03-14T05:25:14.1976123Z Uneven sized tensors are supported. 2025-03-14T05:25:14.1976323Z tensor (Tensor): Tensor to be broadcast from current process. 2025-03-14T05:25:14.1976591Z group (ProcessGroup, optional): The process group to work on. If None, 2025-03-14T05:25:14.1976726Z the default process group will be used. 2025-03-14T05:25:14.1976923Z async_op (bool, optional): Whether this op should be an async op 2025-03-14T05:25:14.1977015Z 2025-03-14T05:25:14.1977103Z Returns: 2025-03-14T05:25:14.1977253Z Async work handle, if async_op is set to True. 2025-03-14T05:25:14.1977402Z None, if not async_op or if not part of the group 2025-03-14T05:25:14.1977499Z 2025-03-14T05:25:14.1977586Z Examples: 2025-03-14T05:25:14.1977735Z >>> # xdoctest: +SKIP("need process group init") 2025-03-14T05:25:14.1977875Z >>> # All tensors below are of torch.int64 dtype. 2025-03-14T05:25:14.1978010Z >>> # We have 2 process groups, 2 ranks. 2025-03-14T05:25:14.1978133Z >>> device = torch.device(f"cuda:{rank}") 2025-03-14T05:25:14.1978237Z >>> tensor_list = [ 2025-03-14T05:25:14.1978452Z ... torch.zeros(2, dtype=torch.int64, device=device) for _ in range(2) 2025-03-14T05:25:14.1978547Z ... ] 2025-03-14T05:25:14.1978640Z >>> tensor_list 2025-03-14T05:25:14.1978846Z [tensor([0, 0], device='cuda:0'), tensor([0, 0], device='cuda:0')] # Rank 0 2025-03-14T05:25:14.1979041Z [tensor([0, 0], device='cuda:1'), tensor([0, 0], device='cuda:1')] # Rank 1 2025-03-14T05:25:14.1979274Z >>> tensor = torch.arange(2, dtype=torch.int64, device=device) + 1 + 2 * rank 2025-03-14T05:25:14.1979366Z >>> tensor 2025-03-14T05:25:14.1979490Z tensor([1, 2], device='cuda:0') # Rank 0 2025-03-14T05:25:14.1979610Z tensor([3, 4], device='cuda:1') # Rank 1 2025-03-14T05:25:14.1979736Z >>> dist.all_gather(tensor_list, tensor) 2025-03-14T05:25:14.1979828Z >>> tensor_list 2025-03-14T05:25:14.1980028Z [tensor([1, 2], device='cuda:0'), tensor([3, 4], device='cuda:0')] # Rank 0 2025-03-14T05:25:14.1980224Z [tensor([1, 2], device='cuda:1'), tensor([3, 4], device='cuda:1')] # Rank 1 2025-03-14T05:25:14.1980321Z 2025-03-14T05:25:14.1980463Z >>> # All tensors below are of torch.cfloat dtype. 2025-03-14T05:25:14.1980579Z >>> # We have 2 process groups, 2 ranks. 2025-03-14T05:25:14.1980685Z >>> tensor_list = [ 2025-03-14T05:25:14.1980897Z ... torch.zeros(2, dtype=torch.cfloat, device=device) for _ in range(2) 2025-03-14T05:25:14.1980992Z ... ] 2025-03-14T05:25:14.1981080Z >>> tensor_list 2025-03-14T05:25:14.1981348Z [tensor([0.+0.j, 0.+0.j], device='cuda:0'), tensor([0.+0.j, 0.+0.j], device='cuda:0')] # Rank 0 2025-03-14T05:25:14.1981586Z [tensor([0.+0.j, 0.+0.j], device='cuda:1'), tensor([0.+0.j, 0.+0.j], device='cuda:1')] # Rank 1 2025-03-14T05:25:14.1981705Z >>> tensor = torch.tensor( 2025-03-14T05:25:14.1981850Z ... [1 + 1j, 2 + 2j], dtype=torch.cfloat, device=device 2025-03-14T05:25:14.1981985Z ... ) + 2 * rank * (1 + 1j) 2025-03-14T05:25:14.1982072Z >>> tensor 2025-03-14T05:25:14.1982220Z tensor([1.+1.j, 2.+2.j], device='cuda:0') # Rank 0 2025-03-14T05:25:14.1982355Z tensor([3.+3.j, 4.+4.j], device='cuda:1') # Rank 1 2025-03-14T05:25:14.1982492Z >>> dist.all_gather(tensor_list, tensor) 2025-03-14T05:25:14.1982579Z >>> tensor_list 2025-03-14T05:25:14.1982831Z [tensor([1.+1.j, 2.+2.j], device='cuda:0'), tensor([3.+3.j, 4.+4.j], device='cuda:0')] # Rank 0 2025-03-14T05:25:14.1983113Z [tensor([1.+1.j, 2.+2.j], device='cuda:1'), tensor([3.+3.j, 4.+4.j], device='cuda:1')] # Rank 1 2025-03-14T05:25:14.1983208Z 2025-03-14T05:25:14.1983288Z 2025-03-14T05:25:14.1983562Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.1983643Z 2025-03-14T05:25:14.1983758Z warnings.warn(msg) 2025-03-14T05:25:14.1983838Z 2025-03-14T05:25:14.1984049Z --- Parse Warning: 41 / 116 --- 2025-03-14T05:25:14.1985023Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=all_to_all_single in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/distributed_c10d.py line=4381. 2025-03-14T05:25:14.1985299Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.1985383Z 2025-03-14T05:25:14.1985652Z Split input tensor and then scatter the split list to all processes in a group. 2025-03-14T05:25:14.1985737Z 2025-03-14T05:25:14.1986012Z Later the received tensors are concatenated from all the processes in the group 2025-03-14T05:25:14.1986137Z and returned as a single output tensor. 2025-03-14T05:25:14.1986232Z 2025-03-14T05:25:14.1986344Z Complex tensors are supported. 2025-03-14T05:25:14.1986435Z 2025-03-14T05:25:14.1986521Z Args: 2025-03-14T05:25:14.1986700Z output (Tensor): Gathered concatenated output tensor. 2025-03-14T05:25:14.1986832Z input (Tensor): Input tensor to scatter. 2025-03-14T05:25:14.1987069Z output_split_sizes: (list[Int], optional): Output split sizes for dim 0 2025-03-14T05:25:14.1987278Z if specified None or empty, dim 0 of ``output`` tensor must divide 2025-03-14T05:25:14.1987397Z equally by ``world_size``. 2025-03-14T05:25:14.1987615Z input_split_sizes: (list[Int], optional): Input split sizes for dim 0 2025-03-14T05:25:14.1987825Z if specified None or empty, dim 0 of ``input`` tensor must divide 2025-03-14T05:25:14.1987940Z equally by ``world_size``. 2025-03-14T05:25:14.1988181Z group (ProcessGroup, optional): The process group to work on. If None, 2025-03-14T05:25:14.1988312Z the default process group will be used. 2025-03-14T05:25:14.1988522Z async_op (bool, optional): Whether this op should be an async op. 2025-03-14T05:25:14.1988607Z 2025-03-14T05:25:14.1988702Z Returns: 2025-03-14T05:25:14.1988847Z Async work handle, if async_op is set to True. 2025-03-14T05:25:14.1989005Z None, if not async_op or if not part of the group. 2025-03-14T05:25:14.1989090Z 2025-03-14T05:25:14.1989192Z .. warning:: 2025-03-14T05:25:14.1989371Z `all_to_all_single` is experimental and subject to change. 2025-03-14T05:25:14.1989472Z 2025-03-14T05:25:14.1989565Z Examples: 2025-03-14T05:25:14.1989693Z >>> # xdoctest: +SKIP("Undefined rank") 2025-03-14T05:25:14.1989828Z >>> input = torch.arange(4) + rank * 4 2025-03-14T05:25:14.1989926Z >>> input 2025-03-14T05:25:14.1990049Z tensor([0, 1, 2, 3]) # Rank 0 2025-03-14T05:25:14.1990158Z tensor([4, 5, 6, 7]) # Rank 1 2025-03-14T05:25:14.1990277Z tensor([8, 9, 10, 11]) # Rank 2 2025-03-14T05:25:14.1990382Z tensor([12, 13, 14, 15]) # Rank 3 2025-03-14T05:25:14.1990545Z >>> output = torch.empty([4], dtype=torch.int64) 2025-03-14T05:25:14.1990675Z >>> dist.all_to_all_single(output, input) 2025-03-14T05:25:14.1990815Z >>> output 2025-03-14T05:25:14.1990926Z tensor([0, 4, 8, 12]) # Rank 0 2025-03-14T05:25:14.1991046Z tensor([1, 5, 9, 13]) # Rank 1 2025-03-14T05:25:14.1991152Z tensor([2, 6, 10, 14]) # Rank 2 2025-03-14T05:25:14.1991276Z tensor([3, 7, 11, 15]) # Rank 3 2025-03-14T05:25:14.1991364Z 2025-03-14T05:25:14.1991547Z >>> # Essentially, it is similar to following operation: 2025-03-14T05:25:14.1991693Z >>> scatter_list = list(input.chunk(world_size)) 2025-03-14T05:25:14.1991904Z >>> gather_list = list(output.chunk(world_size)) 2025-03-14T05:25:14.1992020Z >>> for i in range(world_size): 2025-03-14T05:25:14.1992272Z >>> dist.scatter(gather_list[i], scatter_list if i == rank else [], src = i) 2025-03-14T05:25:14.1992362Z 2025-03-14T05:25:14.1992502Z >>> # Another example with uneven split 2025-03-14T05:25:14.1992593Z >>> input 2025-03-14T05:25:14.1992798Z tensor([0, 1, 2, 3, 4, 5]) # Rank 0 2025-03-14T05:25:14.1992963Z tensor([10, 11, 12, 13, 14, 15, 16, 17, 18]) # Rank 1 2025-03-14T05:25:14.1993137Z tensor([20, 21, 22, 23, 24]) # Rank 2 2025-03-14T05:25:14.1993300Z tensor([30, 31, 32, 33, 34, 35, 36]) # Rank 3 2025-03-14T05:25:14.1993417Z >>> input_splits 2025-03-14T05:25:14.1993546Z [2, 2, 1, 1] # Rank 0 2025-03-14T05:25:14.1993695Z [3, 2, 2, 2] # Rank 1 2025-03-14T05:25:14.1993821Z [2, 1, 1, 1] # Rank 2 2025-03-14T05:25:14.1993962Z [2, 2, 2, 1] # Rank 3 2025-03-14T05:25:14.1994064Z >>> output_splits 2025-03-14T05:25:14.1994212Z [2, 3, 2, 2] # Rank 0 2025-03-14T05:25:14.1994335Z [2, 2, 1, 2] # Rank 1 2025-03-14T05:25:14.1994470Z [1, 2, 1, 2] # Rank 2 2025-03-14T05:25:14.1994594Z [1, 2, 1, 1] # Rank 3 2025-03-14T05:25:14.1994703Z >>> output = ... 2025-03-14T05:25:14.1994913Z >>> dist.all_to_all_single(output, input, output_splits, input_splits) 2025-03-14T05:25:14.1995024Z >>> output 2025-03-14T05:25:14.1995183Z tensor([ 0, 1, 10, 11, 12, 20, 21, 30, 31]) # Rank 0 2025-03-14T05:25:14.1995353Z tensor([ 2, 3, 13, 14, 22, 32, 33]) # Rank 1 2025-03-14T05:25:14.1995513Z tensor([ 4, 15, 16, 23, 34, 35]) # Rank 2 2025-03-14T05:25:14.1995681Z tensor([ 5, 17, 18, 24, 36]) # Rank 3 2025-03-14T05:25:14.1995772Z 2025-03-14T05:25:14.1995873Z 2025-03-14T05:25:14.1996037Z >>> # Another example with tensors of torch.cfloat type. 2025-03-14T05:25:14.1996157Z >>> input = torch.tensor( 2025-03-14T05:25:14.1996299Z ... [1 + 1j, 2 + 2j, 3 + 3j, 4 + 4j], dtype=torch.cfloat 2025-03-14T05:25:14.1996414Z ... ) + 4 * rank * (1 + 1j) 2025-03-14T05:25:14.1996505Z >>> input 2025-03-14T05:25:14.1996697Z tensor([1+1j, 2+2j, 3+3j, 4+4j]) # Rank 0 2025-03-14T05:25:14.1996873Z tensor([5+5j, 6+6j, 7+7j, 8+8j]) # Rank 1 2025-03-14T05:25:14.1997068Z tensor([9+9j, 10+10j, 11+11j, 12+12j]) # Rank 2 2025-03-14T05:25:14.1997257Z tensor([13+13j, 14+14j, 15+15j, 16+16j]) # Rank 3 2025-03-14T05:25:14.1997418Z >>> output = torch.empty([4], dtype=torch.int64) 2025-03-14T05:25:14.1997590Z >>> dist.all_to_all_single(output, input) 2025-03-14T05:25:14.1997695Z >>> output 2025-03-14T05:25:14.1998039Z tensor([1+1j, 5+5j, 9+9j, 13+13j]) # Rank 0 2025-03-14T05:25:14.1998233Z tensor([2+2j, 6+6j, 10+10j, 14+14j]) # Rank 1 2025-03-14T05:25:14.1998413Z tensor([3+3j, 7+7j, 11+11j, 15+15j]) # Rank 2 2025-03-14T05:25:14.1998605Z tensor([4+4j, 8+8j, 12+12j, 16+16j]) # Rank 3 2025-03-14T05:25:14.1998694Z 2025-03-14T05:25:14.1999294Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.1999387Z 2025-03-14T05:25:14.1999505Z warnings.warn(msg) 2025-03-14T05:25:14.1999594Z 2025-03-14T05:25:14.1999821Z --- Parse Warning: 42 / 116 --- 2025-03-14T05:25:14.2000771Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=all_to_all in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/distributed_c10d.py line=4523. 2025-03-14T05:25:14.2001090Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2001177Z 2025-03-14T05:25:14.2001557Z Scatters list of input tensors to all processes in a group and return gathered list of tensors in output list. 2025-03-14T05:25:14.2001645Z 2025-03-14T05:25:14.2001773Z Complex tensors are supported. 2025-03-14T05:25:14.2001858Z 2025-03-14T05:25:14.2001950Z Args: 2025-03-14T05:25:14.2002197Z output_tensor_list (list[Tensor]): List of tensors to be gathered one 2025-03-14T05:25:14.2002294Z per rank. 2025-03-14T05:25:14.2002546Z input_tensor_list (list[Tensor]): List of tensors to scatter one per rank. 2025-03-14T05:25:14.2002784Z group (ProcessGroup, optional): The process group to work on. If None, 2025-03-14T05:25:14.2002929Z the default process group will be used. 2025-03-14T05:25:14.2003137Z async_op (bool, optional): Whether this op should be an async op. 2025-03-14T05:25:14.2003238Z 2025-03-14T05:25:14.2003330Z Returns: 2025-03-14T05:25:14.2003486Z Async work handle, if async_op is set to True. 2025-03-14T05:25:14.2003639Z None, if not async_op or if not part of the group. 2025-03-14T05:25:14.2003739Z 2025-03-14T05:25:14.2003840Z .. warning:: 2025-03-14T05:25:14.2004007Z `all_to_all` is experimental and subject to change. 2025-03-14T05:25:14.2004094Z 2025-03-14T05:25:14.2004204Z Examples: 2025-03-14T05:25:14.2004329Z >>> # xdoctest: +SKIP("Undefined rank") 2025-03-14T05:25:14.2004462Z >>> input = torch.arange(4) + rank * 4 2025-03-14T05:25:14.2004580Z >>> input = list(input.chunk(4)) 2025-03-14T05:25:14.2004683Z >>> input 2025-03-14T05:25:14.2004859Z [tensor([0]), tensor([1]), tensor([2]), tensor([3])] # Rank 0 2025-03-14T05:25:14.2005046Z [tensor([4]), tensor([5]), tensor([6]), tensor([7])] # Rank 1 2025-03-14T05:25:14.2005214Z [tensor([8]), tensor([9]), tensor([10]), tensor([11])] # Rank 2 2025-03-14T05:25:14.2005397Z [tensor([12]), tensor([13]), tensor([14]), tensor([15])] # Rank 3 2025-03-14T05:25:14.2005585Z >>> output = list(torch.empty([4], dtype=torch.int64).chunk(4)) 2025-03-14T05:25:14.2005716Z >>> dist.all_to_all(output, input) 2025-03-14T05:25:14.2005807Z >>> output 2025-03-14T05:25:14.2005991Z [tensor([0]), tensor([4]), tensor([8]), tensor([12])] # Rank 0 2025-03-14T05:25:14.2006158Z [tensor([1]), tensor([5]), tensor([9]), tensor([13])] # Rank 1 2025-03-14T05:25:14.2006337Z [tensor([2]), tensor([6]), tensor([10]), tensor([14])] # Rank 2 2025-03-14T05:25:14.2006505Z [tensor([3]), tensor([7]), tensor([11]), tensor([15])] # Rank 3 2025-03-14T05:25:14.2006603Z 2025-03-14T05:25:14.2006772Z >>> # Essentially, it is similar to following operation: 2025-03-14T05:25:14.2006937Z >>> scatter_list = input 2025-03-14T05:25:14.2007043Z >>> gather_list = output 2025-03-14T05:25:14.2007169Z >>> for i in range(world_size): 2025-03-14T05:25:14.2007397Z >>> dist.scatter(gather_list[i], scatter_list if i == rank else [], src=i) 2025-03-14T05:25:14.2007497Z 2025-03-14T05:25:14.2007587Z >>> input 2025-03-14T05:25:14.2007756Z tensor([0, 1, 2, 3, 4, 5]) # Rank 0 2025-03-14T05:25:14.2007971Z tensor([10, 11, 12, 13, 14, 15, 16, 17, 18]) # Rank 1 2025-03-14T05:25:14.2008142Z tensor([20, 21, 22, 23, 24]) # Rank 2 2025-03-14T05:25:14.2008303Z tensor([30, 31, 32, 33, 34, 35, 36]) # Rank 3 2025-03-14T05:25:14.2008415Z >>> input_splits 2025-03-14T05:25:14.2008543Z [2, 2, 1, 1] # Rank 0 2025-03-14T05:25:14.2008711Z [3, 2, 2, 2] # Rank 1 2025-03-14T05:25:14.2008834Z [2, 1, 1, 1] # Rank 2 2025-03-14T05:25:14.2008968Z [2, 2, 2, 1] # Rank 3 2025-03-14T05:25:14.2009068Z >>> output_splits 2025-03-14T05:25:14.2009207Z [2, 3, 2, 2] # Rank 0 2025-03-14T05:25:14.2009330Z [2, 2, 1, 2] # Rank 1 2025-03-14T05:25:14.2009470Z [1, 2, 1, 2] # Rank 2 2025-03-14T05:25:14.2009594Z [1, 2, 1, 1] # Rank 3 2025-03-14T05:25:14.2009741Z >>> input = list(input.split(input_splits)) 2025-03-14T05:25:14.2009835Z >>> input 2025-03-14T05:25:14.2010056Z [tensor([0, 1]), tensor([2, 3]), tensor([4]), tensor([5])] # Rank 0 2025-03-14T05:25:14.2010267Z [tensor([10, 11, 12]), tensor([13, 14]), tensor([15, 16]), tensor([17, 18])] # Rank 1 2025-03-14T05:25:14.2010485Z [tensor([20, 21]), tensor([22]), tensor([23]), tensor([24])] # Rank 2 2025-03-14T05:25:14.2010690Z [tensor([30, 31]), tensor([32, 33]), tensor([34, 35]), tensor([36])] # Rank 3 2025-03-14T05:25:14.2010801Z >>> output = ... 2025-03-14T05:25:14.2010921Z >>> dist.all_to_all(output, input) 2025-03-14T05:25:14.2011024Z >>> output 2025-03-14T05:25:14.2011234Z [tensor([0, 1]), tensor([10, 11, 12]), tensor([20, 21]), tensor([30, 31])] # Rank 0 2025-03-14T05:25:14.2011449Z [tensor([2, 3]), tensor([13, 14]), tensor([22]), tensor([32, 33])] # Rank 1 2025-03-14T05:25:14.2011657Z [tensor([4]), tensor([15, 16]), tensor([23]), tensor([34, 35])] # Rank 2 2025-03-14T05:25:14.2011876Z [tensor([5]), tensor([17, 18]), tensor([24]), tensor([36])] # Rank 3 2025-03-14T05:25:14.2011968Z 2025-03-14T05:25:14.2012148Z >>> # Another example with tensors of torch.cfloat type. 2025-03-14T05:25:14.2012257Z >>> input = torch.tensor( 2025-03-14T05:25:14.2012415Z ... [1 + 1j, 2 + 2j, 3 + 3j, 4 + 4j], dtype=torch.cfloat 2025-03-14T05:25:14.2012518Z ... ) + 4 * rank * (1 + 1j) 2025-03-14T05:25:14.2012651Z >>> input = list(input.chunk(4)) 2025-03-14T05:25:14.2012742Z >>> input 2025-03-14T05:25:14.2012982Z [tensor([1+1j]), tensor([2+2j]), tensor([3+3j]), tensor([4+4j])] # Rank 0 2025-03-14T05:25:14.2013203Z [tensor([5+5j]), tensor([6+6j]), tensor([7+7j]), tensor([8+8j])] # Rank 1 2025-03-14T05:25:14.2013439Z [tensor([9+9j]), tensor([10+10j]), tensor([11+11j]), tensor([12+12j])] # Rank 2 2025-03-14T05:25:14.2013669Z [tensor([13+13j]), tensor([14+14j]), tensor([15+15j]), tensor([16+16j])] # Rank 3 2025-03-14T05:25:14.2013901Z >>> output = list(torch.empty([4], dtype=torch.int64).chunk(4)) 2025-03-14T05:25:14.2014021Z >>> dist.all_to_all(output, input) 2025-03-14T05:25:14.2014122Z >>> output 2025-03-14T05:25:14.2014337Z [tensor([1+1j]), tensor([5+5j]), tensor([9+9j]), tensor([13+13j])] # Rank 0 2025-03-14T05:25:14.2014568Z [tensor([2+2j]), tensor([6+6j]), tensor([10+10j]), tensor([14+14j])] # Rank 1 2025-03-14T05:25:14.2014782Z [tensor([3+3j]), tensor([7+7j]), tensor([11+11j]), tensor([15+15j])] # Rank 2 2025-03-14T05:25:14.2015056Z [tensor([4+4j]), tensor([8+8j]), tensor([12+12j]), tensor([16+16j])] # Rank 3 2025-03-14T05:25:14.2015144Z 2025-03-14T05:25:14.2015244Z 2025-03-14T05:25:14.2015506Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2015676Z 2025-03-14T05:25:14.2015796Z warnings.warn(msg) 2025-03-14T05:25:14.2015884Z 2025-03-14T05:25:14.2016153Z --- Parse Warning: 43 / 116 --- 2025-03-14T05:25:14.2017014Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=__doc__ in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/launch.py line=2. 2025-03-14T05:25:14.2017298Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2017387Z 2025-03-14T05:25:14.2017527Z Module ``torch.distributed.launch``. 2025-03-14T05:25:14.2017614Z 2025-03-14T05:25:14.2017887Z ``torch.distributed.launch`` is a module that spawns up multiple distributed 2025-03-14T05:25:14.2018054Z training processes on each of the training nodes. 2025-03-14T05:25:14.2018153Z 2025-03-14T05:25:14.2018250Z .. warning:: 2025-03-14T05:25:14.2018348Z 2025-03-14T05:25:14.2018608Z This module is going to be deprecated in favor of :ref:`torchrun `. 2025-03-14T05:25:14.2018707Z 2025-03-14T05:25:14.2018956Z The utility can be used for single-node distributed training, in which one or 2025-03-14T05:25:14.2019208Z more processes per node will be spawned. The utility can be used for either 2025-03-14T05:25:14.2019429Z CPU training or GPU training. If the utility is used for GPU training, 2025-03-14T05:25:14.2019692Z each distributed process will be operating on a single GPU. This can achieve 2025-03-14T05:25:14.2019935Z well-improved single-node training performance. It can also be used in 2025-03-14T05:25:14.2020222Z multi-node distributed training, by spawning up multiple processes on each node 2025-03-14T05:25:14.2020459Z for well-improved multi-node distributed training performance as well. 2025-03-14T05:25:14.2020705Z This will especially be beneficial for systems with multiple Infiniband 2025-03-14T05:25:14.2020966Z interfaces that have direct-GPU support, since all of them can be utilized for 2025-03-14T05:25:14.2021098Z aggregated communication bandwidth. 2025-03-14T05:25:14.2021190Z 2025-03-14T05:25:14.2021443Z In both cases of single-node distributed training or multi-node distributed 2025-03-14T05:25:14.2021685Z training, this utility will launch the given number of processes per node 2025-03-14T05:25:14.2021927Z (``--nproc-per-node``). If used for GPU training, this number needs to be less 2025-03-14T05:25:14.2022153Z or equal to the number of GPUs on the current system (``nproc_per_node``), 2025-03-14T05:25:14.2022372Z and each process will be operating on a single GPU from *GPU 0 to 2025-03-14T05:25:14.2022488Z GPU (nproc_per_node - 1)*. 2025-03-14T05:25:14.2022586Z 2025-03-14T05:25:14.2022694Z **How to use this module:** 2025-03-14T05:25:14.2022793Z 2025-03-14T05:25:14.2022952Z 1. Single-Node multi-process distributed training 2025-03-14T05:25:14.2023049Z 2025-03-14T05:25:14.2023143Z :: 2025-03-14T05:25:14.2023243Z 2025-03-14T05:25:14.2023488Z python -m torch.distributed.launch --nproc-per-node=NUM_GPUS_YOU_HAVE 2025-03-14T05:25:14.2023732Z YOUR_TRAINING_SCRIPT.py (--arg1 --arg2 --arg3 and all other 2025-03-14T05:25:14.2023863Z arguments of your training script) 2025-03-14T05:25:14.2023960Z 2025-03-14T05:25:14.2024175Z 2. Multi-Node multi-process distributed training: (e.g. two nodes) 2025-03-14T05:25:14.2024267Z 2025-03-14T05:25:14.2024354Z 2025-03-14T05:25:14.2024511Z Node 1: *(IP: 192.168.1.1, and has a free port: 1234)* 2025-03-14T05:25:14.2024596Z 2025-03-14T05:25:14.2024695Z :: 2025-03-14T05:25:14.2024831Z 2025-03-14T05:25:14.2025069Z python -m torch.distributed.launch --nproc-per-node=NUM_GPUS_YOU_HAVE 2025-03-14T05:25:14.2025268Z --nnodes=2 --node-rank=0 --master-addr="192.168.1.1" 2025-03-14T05:25:14.2025559Z --master-port=1234 YOUR_TRAINING_SCRIPT.py (--arg1 --arg2 --arg3 2025-03-14T05:25:14.2025729Z and all other arguments of your training script) 2025-03-14T05:25:14.2025872Z 2025-03-14T05:25:14.2025974Z Node 2: 2025-03-14T05:25:14.2026060Z 2025-03-14T05:25:14.2026158Z :: 2025-03-14T05:25:14.2026246Z 2025-03-14T05:25:14.2026493Z python -m torch.distributed.launch --nproc-per-node=NUM_GPUS_YOU_HAVE 2025-03-14T05:25:14.2026656Z --nnodes=2 --node-rank=1 --master-addr="192.168.1.1" 2025-03-14T05:25:14.2026874Z --master-port=1234 YOUR_TRAINING_SCRIPT.py (--arg1 --arg2 --arg3 2025-03-14T05:25:14.2027034Z and all other arguments of your training script) 2025-03-14T05:25:14.2027133Z 2025-03-14T05:25:14.2027301Z 3. To look up what optional arguments this module offers: 2025-03-14T05:25:14.2027399Z 2025-03-14T05:25:14.2027488Z :: 2025-03-14T05:25:14.2027582Z 2025-03-14T05:25:14.2027729Z python -m torch.distributed.launch --help 2025-03-14T05:25:14.2027826Z 2025-03-14T05:25:14.2027911Z 2025-03-14T05:25:14.2028028Z **Important Notices:** 2025-03-14T05:25:14.2028114Z 2025-03-14T05:25:14.2028316Z 1. This utility and multi-process distributed (single-node or 2025-03-14T05:25:14.2028573Z multi-node) GPU training currently only achieves the best performance using 2025-03-14T05:25:14.2028837Z the NCCL distributed backend. Thus NCCL backend is the recommended backend to 2025-03-14T05:25:14.2028941Z use for GPU training. 2025-03-14T05:25:14.2029034Z 2025-03-14T05:25:14.2029253Z 2. In your training program, you must parse the command-line argument: 2025-03-14T05:25:14.2029503Z ``--local-rank=LOCAL_PROCESS_RANK``, which will be provided by this module. 2025-03-14T05:25:14.2029736Z If your training program uses GPUs, you should ensure that your code only 2025-03-14T05:25:14.2029943Z runs on the GPU device of LOCAL_PROCESS_RANK. This can be done by: 2025-03-14T05:25:14.2030028Z 2025-03-14T05:25:14.2030152Z Parsing the local_rank argument 2025-03-14T05:25:14.2030237Z 2025-03-14T05:25:14.2030327Z :: 2025-03-14T05:25:14.2030421Z 2025-03-14T05:25:14.2030523Z >>> # xdoctest: +SKIP 2025-03-14T05:25:14.2030634Z >>> import argparse 2025-03-14T05:25:14.2030767Z >>> parser = argparse.ArgumentParser() 2025-03-14T05:25:14.2030976Z >>> parser.add_argument("--local-rank", "--local_rank", type=int) 2025-03-14T05:25:14.2031091Z >>> args = parser.parse_args() 2025-03-14T05:25:14.2031186Z 2025-03-14T05:25:14.2031315Z Set your device to local rank using either 2025-03-14T05:25:14.2031412Z 2025-03-14T05:25:14.2031507Z :: 2025-03-14T05:25:14.2031603Z 2025-03-14T05:25:14.2031810Z >>> torch.cuda.set_device(args.local_rank) # before your code runs 2025-03-14T05:25:14.2031908Z 2025-03-14T05:25:14.2031994Z or 2025-03-14T05:25:14.2032089Z 2025-03-14T05:25:14.2032179Z :: 2025-03-14T05:25:14.2032275Z 2025-03-14T05:25:14.2032414Z >>> with torch.cuda.device(args.local_rank): 2025-03-14T05:25:14.2032566Z >>> # your code to run 2025-03-14T05:25:14.2032656Z >>> ... 2025-03-14T05:25:14.2032751Z 2025-03-14T05:25:14.2032860Z .. versionchanged:: 2.0.0 2025-03-14T05:25:14.2032944Z 2025-03-14T05:25:14.2033208Z The launcher will passes the ``--local-rank=`` argument to your script. 2025-03-14T05:25:14.2033451Z From PyTorch 2.0.0 onwards, the dashed ``--local-rank`` is preferred over the 2025-03-14T05:25:14.2033611Z previously used underscored ``--local_rank``. 2025-03-14T05:25:14.2033697Z 2025-03-14T05:25:14.2034005Z For backward compatibility, it may be necessary for users to handle both 2025-03-14T05:25:14.2034279Z cases in their argument parsing code. This means including both ``"--local-rank"`` 2025-03-14T05:25:14.2034510Z and ``"--local_rank"`` in the argument parser. If only ``"--local_rank"`` is 2025-03-14T05:25:14.2034767Z provided, the launcher will trigger an error: "error: unrecognized arguments: 2025-03-14T05:25:14.2035044Z --local-rank=". For training code that only supports PyTorch 2.0.0+, 2025-03-14T05:25:14.2035201Z including ``"--local-rank"`` should be sufficient. 2025-03-14T05:25:14.2035301Z 2025-03-14T05:25:14.2035542Z 3. In your training program, you are supposed to call the following function 2025-03-14T05:25:14.2035799Z at the beginning to start the distributed backend. It is strongly recommended 2025-03-14T05:25:14.2036025Z that ``init_method=env://``. Other init methods (e.g. ``tcp://``) may work, 2025-03-14T05:25:14.2036237Z but ``env://`` is the one that is officially supported by this module. 2025-03-14T05:25:14.2036324Z 2025-03-14T05:25:14.2036422Z :: 2025-03-14T05:25:14.2036507Z 2025-03-14T05:25:14.2036725Z >>> torch.distributed.init_process_group(backend='YOUR BACKEND', 2025-03-14T05:25:14.2036867Z >>> init_method='env://') 2025-03-14T05:25:14.2036969Z 2025-03-14T05:25:14.2037215Z 4. In your training program, you can either use regular distributed functions 2025-03-14T05:25:14.2037464Z or use :func:`torch.nn.parallel.DistributedDataParallel` module. If your 2025-03-14T05:25:14.2037675Z training program uses GPUs for training and you would like to use 2025-03-14T05:25:14.2037878Z :func:`torch.nn.parallel.DistributedDataParallel` module, 2025-03-14T05:25:14.2037990Z here is how to configure it. 2025-03-14T05:25:14.2038084Z 2025-03-14T05:25:14.2038175Z :: 2025-03-14T05:25:14.2038268Z 2025-03-14T05:25:14.2038474Z >>> model = torch.nn.parallel.DistributedDataParallel(model, 2025-03-14T05:25:14.2038626Z >>> device_ids=[args.local_rank], 2025-03-14T05:25:14.2038768Z >>> output_device=args.local_rank) 2025-03-14T05:25:14.2038863Z 2025-03-14T05:25:14.2039110Z Please ensure that ``device_ids`` argument is set to be the only GPU device id 2025-03-14T05:25:14.2039360Z that your code will be operating on. This is generally the local rank of the 2025-03-14T05:25:14.2039602Z process. In other words, the ``device_ids`` needs to be ``[args.local_rank]``, 2025-03-14T05:25:14.2039836Z and ``output_device`` needs to be ``args.local_rank`` in order to use this 2025-03-14T05:25:14.2039924Z utility 2025-03-14T05:25:14.2040020Z 2025-03-14T05:25:14.2040269Z 5. Another way to pass ``local_rank`` to the subprocesses via environment variable 2025-03-14T05:25:14.2040509Z ``LOCAL_RANK``. This behavior is enabled when you launch the script with 2025-03-14T05:25:14.2040734Z ``--use-env=True``. You must adjust the subprocess example above to replace 2025-03-14T05:25:14.2040944Z ``args.local_rank`` with ``os.environ['LOCAL_RANK']``; the launcher 2025-03-14T05:25:14.2041120Z will not pass ``--local-rank`` when you specify this flag. 2025-03-14T05:25:14.2041222Z 2025-03-14T05:25:14.2041317Z .. warning:: 2025-03-14T05:25:14.2041461Z 2025-03-14T05:25:14.2041666Z ``local_rank`` is NOT globally unique: it is only unique per process 2025-03-14T05:25:14.2041870Z on a machine. Thus, don't use it to decide if you should, e.g., 2025-03-14T05:25:14.2041997Z write to a networked filesystem. See 2025-03-14T05:25:14.2042233Z https://github.com/pytorch/pytorch/issues/12042 for an example of 2025-03-14T05:25:14.2042402Z how things can go wrong if you don't do this correctly. 2025-03-14T05:25:14.2042498Z 2025-03-14T05:25:14.2042582Z 2025-03-14T05:25:14.2042732Z 2025-03-14T05:25:14.2042818Z 2025-03-14T05:25:14.2043084Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2043169Z 2025-03-14T05:25:14.2043272Z warnings.warn(msg) 2025-03-14T05:25:14.2043368Z 2025-03-14T05:25:14.2043591Z --- Parse Warning: 44 / 116 --- 2025-03-14T05:25:14.2044650Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=init_from_local_shards in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/_shard/sharded_tensor/__init__.py line=361. 2025-03-14T05:25:14.2044968Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2045055Z 2025-03-14T05:25:14.2045315Z Creates an :class:`ShardedTensor` from local shards and the global metadata. 2025-03-14T05:25:14.2045470Z Needs to be called on all ranks in an SPMD fashion. 2025-03-14T05:25:14.2045559Z 2025-03-14T05:25:14.2045658Z Args: 2025-03-14T05:25:14.2045936Z local_shards (List[:class `torch.distributed._shard.sharded_tensor.Shard`]): A list 2025-03-14T05:25:14.2046125Z of shards that represent the local shards on this rank. 2025-03-14T05:25:14.2046362Z global_size (int...): a list, tuple, or `torch.Size` of integers defining the 2025-03-14T05:25:14.2046501Z shape of the overall sharded tensor. 2025-03-14T05:25:14.2046594Z 2025-03-14T05:25:14.2046701Z Keyword args: 2025-03-14T05:25:14.2046967Z process_group (ProcessGroup, optional): The process group to work on. If None, 2025-03-14T05:25:14.2047115Z the default process group will be used. 2025-03-14T05:25:14.2047296Z init_rrefs (bool, optional): Whether or not to initialize 2025-03-14T05:25:14.2047523Z :class:`torch.distributed.rpc.RRef`s pointing to remote shards. 2025-03-14T05:25:14.2047727Z Need to initialize the RPC Framework if specified as ``True``. 2025-03-14T05:25:14.2047845Z Default: ``False``. 2025-03-14T05:25:14.2047932Z 2025-03-14T05:25:14.2048036Z Returns: 2025-03-14T05:25:14.2048197Z A :class:`ShardedTensor` object handle on this rank 2025-03-14T05:25:14.2048304Z 2025-03-14T05:25:14.2048391Z 2025-03-14T05:25:14.2048497Z Examples: 2025-03-14T05:25:14.2048753Z Suppose we want construct a sharded tensor on two ranks, global size = (10, 5), 2025-03-14T05:25:14.2048964Z each shard have a (5, 5) local tensor, we can do it like below: 2025-03-14T05:25:14.2049052Z 2025-03-14T05:25:14.2049158Z on rank 0: 2025-03-14T05:25:14.2049286Z >>> # xdoctest: +SKIP("not distributed") 2025-03-14T05:25:14.2049428Z >>> local_shard_metadata = ShardMetadata( 2025-03-14T05:25:14.2049538Z >>> shard_offsets=[0, 0], 2025-03-14T05:25:14.2049663Z >>> shard_lengths=[5, 5], 2025-03-14T05:25:14.2049779Z >>> placement="rank:0/cuda:0" 2025-03-14T05:25:14.2049886Z >>> ) 2025-03-14T05:25:14.2050089Z >>> local_shards = [Shard(torch.randn(5, 5), local_shard_metadata)] 2025-03-14T05:25:14.2050301Z >>> sharded_tensor = init_from_local_shards(local_shards, [10, 5]) 2025-03-14T05:25:14.2050386Z 2025-03-14T05:25:14.2050495Z on rank 1: 2025-03-14T05:25:14.2050621Z >>> # xdoctest: +SKIP("not distributed") 2025-03-14T05:25:14.2050802Z >>> local_shard_metadata = ShardMetadata( 2025-03-14T05:25:14.2050904Z >>> shard_offsets=[5, 0], 2025-03-14T05:25:14.2051023Z >>> shard_lengths=[5, 5], 2025-03-14T05:25:14.2051137Z >>> placement="rank:1/cuda:1" 2025-03-14T05:25:14.2051225Z >>> ) 2025-03-14T05:25:14.2051432Z >>> local_shards = [Shard(torch.randn(5, 5), local_shard_metadata)] 2025-03-14T05:25:14.2051630Z >>> sharded_tensor = init_from_local_shards(local_shards, [10, 5]) 2025-03-14T05:25:14.2051727Z 2025-03-14T05:25:14.2052035Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2052133Z 2025-03-14T05:25:14.2052235Z warnings.warn(msg) 2025-03-14T05:25:14.2052335Z 2025-03-14T05:25:14.2052531Z --- Parse Warning: 45 / 116 --- 2025-03-14T05:25:14.2053634Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=ShardedTensor._init_from_local_tensor in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/_shard/sharded_tensor/api.py line=799. 2025-03-14T05:25:14.2053941Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2054039Z 2025-03-14T05:25:14.2054303Z Initialize a ShardedTensor given only one local tensor, global sharded tensor 2025-03-14T05:25:14.2054435Z size and sharding spec on each rank. 2025-03-14T05:25:14.2054523Z 2025-03-14T05:25:14.2054625Z Args: 2025-03-14T05:25:14.2054856Z local_tensor (Tensor): Single tensor of local shard stored in each rank. 2025-03-14T05:25:14.2055139Z sharding_spec (:class:`torch.distributed._shard.sharding_spec.ShardingSpec`): 2025-03-14T05:25:14.2055314Z The specification describing how to shard the Tensor. 2025-03-14T05:25:14.2055499Z global_size (Sequence[int]): Size of the sharded tensor. 2025-03-14T05:25:14.2055872Z process_group (ProcessGroup, optional): The process group to aggregate on. 2025-03-14T05:25:14.2055991Z Default: None 2025-03-14T05:25:14.2056166Z init_rrefs (bool, optional): Whether or not to initialize 2025-03-14T05:25:14.2056393Z :class:`torch.distributed.rpc.RRef`s pointing to remote shards. 2025-03-14T05:25:14.2056591Z Need to initialize the RPC Framework if specified as ``True``. 2025-03-14T05:25:14.2056708Z Default: ``False``. 2025-03-14T05:25:14.2056796Z 2025-03-14T05:25:14.2056898Z Returns: 2025-03-14T05:25:14.2057151Z A :class:`ShardedTensor` sharded based on the given sharding_spec with local 2025-03-14T05:25:14.2057290Z tensor stored in the current rank. 2025-03-14T05:25:14.2057376Z 2025-03-14T05:25:14.2057481Z Examples: 2025-03-14T05:25:14.2057583Z >>> # xdoctest: +SKIP 2025-03-14T05:25:14.2057735Z >>> # All tensors below are of torch.int64 type. 2025-03-14T05:25:14.2057862Z >>> # We have 2 process groups, 2 ranks. 2025-03-14T05:25:14.2058057Z >>> tensor = torch.arange(2, dtype=torch.int64) + 1 + 2 * rank 2025-03-14T05:25:14.2058262Z >>> local_tensor = torch.unsqueeze(torch.cat([tensor, tensor + 2])) 2025-03-14T05:25:14.2058368Z >>> local_tensor 2025-03-14T05:25:14.2058472Z tensor([[1, 2, 3, 4]]) # Rank 0 2025-03-14T05:25:14.2058586Z tensor([[3, 4, 5, 6]]) # Rank 1 2025-03-14T05:25:14.2058686Z >>> sharding_dim = 0 2025-03-14T05:25:14.2058826Z >>> sharding_spec = ChunkShardingSpec( 2025-03-14T05:25:14.2058932Z dim=sharding_dim, 2025-03-14T05:25:14.2059046Z placements=[ 2025-03-14T05:25:14.2059146Z "rank:0/cuda:0", 2025-03-14T05:25:14.2059257Z "rank:1/cuda:1", 2025-03-14T05:25:14.2059345Z ], 2025-03-14T05:25:14.2059445Z ) 2025-03-14T05:25:14.2059585Z >>> st = ShardedTensor._init_from_local_tensor( 2025-03-14T05:25:14.2059714Z ... local_tensor, sharding_spec, [2, 4] 2025-03-14T05:25:14.2059853Z ... ) 2025-03-14T05:25:14.2059941Z >>> st 2025-03-14T05:25:14.2060050Z ShardedTensor( 2025-03-14T05:25:14.2060165Z ShardedTensorMetadata( 2025-03-14T05:25:14.2060281Z shards_metadata=[ 2025-03-14T05:25:14.2060556Z ShardMetadata(shard_offsets=[0, 0], shard_sizes=[1, 4], placement=rank:0/cuda:0), 2025-03-14T05:25:14.2060839Z ShardMetadata(shard_offsets=[1, 0], shard_sizes=[1, 4], placement=rank:1/cuda:1), 2025-03-14T05:25:14.2060929Z ], 2025-03-14T05:25:14.2061203Z size=torch.Size([2, 4]) 2025-03-14T05:25:14.2061295Z ) 2025-03-14T05:25:14.2061414Z >>> st.local_tensor() 2025-03-14T05:25:14.2061518Z tensor([1, 2, 3, 4]) # Rank 0 2025-03-14T05:25:14.2061636Z tensor([3, 4, 5, 6]) # Rank 1 2025-03-14T05:25:14.2061722Z 2025-03-14T05:25:14.2062011Z Warning: This API is experimental and subject to change. It lacks of a fully across 2025-03-14T05:25:14.2062299Z rank validations, and we only validate the local shard on the current rank. 2025-03-14T05:25:14.2062526Z We fully rely on the user to ensure local tensor is sharded based on the 2025-03-14T05:25:14.2062627Z sharding spec. 2025-03-14T05:25:14.2062724Z 2025-03-14T05:25:14.2062984Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2063085Z 2025-03-14T05:25:14.2063186Z warnings.warn(msg) 2025-03-14T05:25:14.2063285Z 2025-03-14T05:25:14.2063494Z --- Parse Warning: 46 / 116 --- 2025-03-14T05:25:14.2064540Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=ShardedTensor.reshard in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/_shard/sharded_tensor/api.py line=1040. 2025-03-14T05:25:14.2064808Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2064913Z 2025-03-14T05:25:14.2065172Z Reshard a sharded tensor given the ``resharding_spec``. For now, we only support 2025-03-14T05:25:14.2065288Z single local shard. 2025-03-14T05:25:14.2065374Z 2025-03-14T05:25:14.2065613Z If ``resharding_spec`` is same as the original one, this becomes a no-op. 2025-03-14T05:25:14.2065860Z If only ``resharding_spec`` shares the same sharding dim with the original one, 2025-03-14T05:25:14.2065992Z we swap local shards directly. 2025-03-14T05:25:14.2066262Z For more generic cases, we merge different shards across different ranks and split 2025-03-14T05:25:14.2066529Z the local shards based on the ``resharding_spec`` via `all_to_all` collective API. 2025-03-14T05:25:14.2066617Z 2025-03-14T05:25:14.2066718Z Args: 2025-03-14T05:25:14.2067014Z resharding_spec (:class:`torch.distributed._shard.sharding_spec.ShardingSpec`): The 2025-03-14T05:25:14.2067196Z specification describing how the tensor is sharded. 2025-03-14T05:25:14.2067284Z 2025-03-14T05:25:14.2067387Z Returns: 2025-03-14T05:25:14.2067594Z A :class:`ShardedTensor` object whose local shards are resharded. 2025-03-14T05:25:14.2067692Z 2025-03-14T05:25:14.2067782Z Examples: 2025-03-14T05:25:14.2067898Z >>> # xdoctest: +SKIP 2025-03-14T05:25:14.2068022Z >>> # We have 2 process groups, 2 ranks. 2025-03-14T05:25:14.2068213Z >>> tensor = torch.arange(4, dtype=torch.int64) + 1 + 2 * rank 2025-03-14T05:25:14.2068345Z >>> tensor = torch.stack([tensor, tensor]) 2025-03-14T05:25:14.2068434Z >>> tensor 2025-03-14T05:25:14.2068572Z tensor([[1, 2, 3, 4], [1, 2, 3, 4]]) # Rank 0 2025-03-14T05:25:14.2068693Z tensor([[3, 4, 5, 6], [3, 4, 5, 6]]) # Rank 1 2025-03-14T05:25:14.2068825Z tensor([[5, 6, 7, 8], [5, 6, 7, 8]]) # Rank 2 2025-03-14T05:25:14.2068952Z tensor([[7, 8, 9, 10], [7, 8, 9, 10]]) # Rank 3 2025-03-14T05:25:14.2069103Z >>> sharding_dim = 0 2025-03-14T05:25:14.2069221Z >>> spec = ChunkShardingSpec( 2025-03-14T05:25:14.2069337Z dim=sharding_dim, 2025-03-14T05:25:14.2069440Z placements=[ 2025-03-14T05:25:14.2069552Z "rank:0/cuda:0", 2025-03-14T05:25:14.2069652Z "rank:1/cuda:1", 2025-03-14T05:25:14.2069761Z "rank:2/cuda:2", 2025-03-14T05:25:14.2069859Z "rank:3/cuda:3", 2025-03-14T05:25:14.2069958Z ], 2025-03-14T05:25:14.2070046Z ) 2025-03-14T05:25:14.2070225Z >>> current_offsets = [0] * 2 2025-03-14T05:25:14.2070338Z >>> current_offsets[0] = rank * 2 2025-03-14T05:25:14.2070469Z >>> shard_metadata = ShardMetadata( 2025-03-14T05:25:14.2070627Z shard_offsets=copy.deepcopy(current_offsets), 2025-03-14T05:25:14.2070756Z shard_sizes=tensor.size(), 2025-03-14T05:25:14.2070886Z placement=spec.placements[rank], 2025-03-14T05:25:14.2071019Z ) 2025-03-14T05:25:14.2071118Z >>> local_shards = [ 2025-03-14T05:25:14.2071222Z Shard( 2025-03-14T05:25:14.2071328Z tensor=tensor, 2025-03-14T05:25:14.2071455Z metadata=shard_metadata, 2025-03-14T05:25:14.2071543Z ) 2025-03-14T05:25:14.2071641Z ] 2025-03-14T05:25:14.2071877Z >>> st = ShardedTensor._init_from_local_shards(local_shards, tensor.size()) 2025-03-14T05:25:14.2071990Z >>> sharding_dim = 1 2025-03-14T05:25:14.2072120Z >>> resharding_spec = ChunkShardingSpec( 2025-03-14T05:25:14.2072236Z dim=sharding_dim, 2025-03-14T05:25:14.2072335Z placements=[ 2025-03-14T05:25:14.2072433Z "rank:0/cuda:0", 2025-03-14T05:25:14.2072554Z "rank:1/cuda:1", 2025-03-14T05:25:14.2072652Z "rank:2/cuda:2", 2025-03-14T05:25:14.2072764Z "rank:3/cuda:3", 2025-03-14T05:25:14.2072858Z ], 2025-03-14T05:25:14.2072959Z ) 2025-03-14T05:25:14.2073078Z >>> st.reshard(resharding_spec) 2025-03-14T05:25:14.2073217Z >>> tensor = st.local_shards()[0].tensor 2025-03-14T05:25:14.2073307Z >>> tensor 2025-03-14T05:25:14.2073468Z tensor([[1], [1], [3], [3], [5], [5], [7], [7]]) # Rank 0 2025-03-14T05:25:14.2073613Z tensor([[2], [2], [4], [4], [6], [6], [8], [8]]) # Rank 1 2025-03-14T05:25:14.2073770Z tensor([[3], [3], [5], [5], [7], [7], [9], [9]]) # Rank 2 2025-03-14T05:25:14.2073921Z tensor([[4], [4], [6], [6], [8], [8], [10], [10]]) # Rank 3 2025-03-14T05:25:14.2074028Z 2025-03-14T05:25:14.2074291Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2074395Z 2025-03-14T05:25:14.2074500Z warnings.warn(msg) 2025-03-14T05:25:14.2074602Z 2025-03-14T05:25:14.2074799Z --- Parse Warning: 47 / 116 --- 2025-03-14T05:25:14.2075804Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=ShardingPlan in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/_shard/sharding_plan/api.py line=12. 2025-03-14T05:25:14.2076075Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2076176Z 2025-03-14T05:25:14.2076403Z Representation of a sharding plan, describes how to shard a module 2025-03-14T05:25:14.2076700Z across hosts. `plan` is used to shard module parameters according to the spec provided, 2025-03-14T05:25:14.2076994Z `output_plan` and `return_local_tensor` are optional, they are used to specify the output 2025-03-14T05:25:14.2077260Z layout of a module with a spec, and when to convert back to data parallel fashion. 2025-03-14T05:25:14.2077350Z 2025-03-14T05:25:14.2077453Z Args: 2025-03-14T05:25:14.2077731Z plan (Dict[str, Union[:class:`torch.distributed._shard.sharding_spec.ShardingSpec`, 2025-03-14T05:25:14.2077961Z :class:`torch.distributed._shard.sharder.Sharder`]): 2025-03-14T05:25:14.2078237Z a dict describes how to shard a module, there're currently two ways to shard a module: 2025-03-14T05:25:14.2078511Z 1. directly shard a module parameter by a `ShardingSpec`, keyed by the name of 2025-03-14T05:25:14.2078644Z a parameter to a `ShardingSpec`. 2025-03-14T05:25:14.2078921Z 2. shard a submodule by applying a `Sharder` on it, keyed by the name of a module 2025-03-14T05:25:14.2079086Z to a `Sharder` object. 2025-03-14T05:25:14.2079436Z output_plan (Dict[str, :class:`torch.distributed._shard.sharding_spec.ShardingSpec`), optional): 2025-03-14T05:25:14.2079700Z a dict specifies the layout of a module's output which produces a ShardedTensor, 2025-03-14T05:25:14.2079954Z keyed by the name of module to ShardingSpec("" in key means the root module). 2025-03-14T05:25:14.2080085Z Default: `None` 2025-03-14T05:25:14.2080359Z return_local_tensor (List[str], optional): a list of string, each element enables 2025-03-14T05:25:14.2080603Z a module's sharded output to be returned as a Tensor from its local shards to 2025-03-14T05:25:14.2080869Z ensure further processing in a data parallel fashion. ("" in list means the 2025-03-14T05:25:14.2080969Z root module). 2025-03-14T05:25:14.2081078Z Default: None 2025-03-14T05:25:14.2081170Z Example: 2025-03-14T05:25:14.2081473Z Suppose we want to shard a module with two linear layers and then run it with DDP, we also 2025-03-14T05:25:14.2081761Z want to convert the output of the second linear layer back to DDP, we can do it as follows: 2025-03-14T05:25:14.2081861Z 2025-03-14T05:25:14.2082038Z >>> # xdoctest: +REQUIRES(module:torch._C._distributed_c10d) 2025-03-14T05:25:14.2082165Z >>> class MyModule(nn.Module): 2025-03-14T05:25:14.2082286Z >>> def __init__(self) -> None: 2025-03-14T05:25:14.2082401Z >>> super().__init__() 2025-03-14T05:25:14.2082510Z >>> self.fc1 = nn.Linear() 2025-03-14T05:25:14.2082627Z >>> self.gelu = nn.GELU() 2025-03-14T05:25:14.2082735Z >>> self.fc2 = nn.Linear() 2025-03-14T05:25:14.2082859Z >>> self.relu = nn.Linear() 2025-03-14T05:25:14.2082946Z >>> 2025-03-14T05:25:14.2083067Z >>> def forward(self, input): 2025-03-14T05:25:14.2083255Z >>> return self.relu(self.fc2(self.gelu(self.fc1(input)))) 2025-03-14T05:25:14.2083352Z 2025-03-14T05:25:14.2083442Z 2025-03-14T05:25:14.2083592Z >>> # xdoctest: +SKIP("Undefined spec1, spec2) 2025-03-14T05:25:14.2083710Z >>> sharding_plan = ShardingPlan( 2025-03-14T05:25:14.2083816Z >>> plan={ 2025-03-14T05:25:14.2083927Z >>> "fc1.weight": spec1, 2025-03-14T05:25:14.2084051Z >>> "fc2.weight": spec2 2025-03-14T05:25:14.2084143Z >>> }, 2025-03-14T05:25:14.2084247Z >>> output_plan={ 2025-03-14T05:25:14.2084364Z >>> "fc2": output_spec 2025-03-14T05:25:14.2084454Z >>> }, 2025-03-14T05:25:14.2084582Z >>> return_local_tensor=["fc2"] 2025-03-14T05:25:14.2084671Z >>> ) 2025-03-14T05:25:14.2084767Z 2025-03-14T05:25:14.2085030Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2085131Z 2025-03-14T05:25:14.2085236Z warnings.warn(msg) 2025-03-14T05:25:14.2085338Z 2025-03-14T05:25:14.2085536Z --- Parse Warning: 48 / 116 --- 2025-03-14T05:25:14.2086651Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=post_localSGD_hook in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/algorithms/ddp_comm_hooks/post_localSGD_hook.py line=72. 2025-03-14T05:25:14.2086958Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2087058Z 2025-03-14T05:25:14.2087175Z Run post-localSGD algorithm. 2025-03-14T05:25:14.2087276Z 2025-03-14T05:25:14.2087524Z This DDP communication hook is used for running post-localSGD algorithm, 2025-03-14T05:25:14.2087703Z by combining with a model averaging component (e.g., 2025-03-14T05:25:14.2088036Z :class:`~torch.distributed.algorithms.model_averaging.averagers.PeriodicModelAverager`) 2025-03-14T05:25:14.2088218Z that runs after the optimizer step. 2025-03-14T05:25:14.2088308Z 2025-03-14T05:25:14.2088412Z Args: 2025-03-14T05:25:14.2088644Z state (PostLocalSGDState): State information to run post-localSGD. 2025-03-14T05:25:14.2088940Z Users mainly need to tune ``start_localSGD_iter`` to determine when to start local SGD. 2025-03-14T05:25:14.2089369Z bucket (dist.GradBucket): Bucket that stores a 1D flattened gradient tensor that batches multiple per-variable tensors. 2025-03-14T05:25:14.2089667Z Note that since DDP comm hook only supports single process single device mode, 2025-03-14T05:25:14.2089828Z only exactly one tensor is stored in this bucket. 2025-03-14T05:25:14.2089928Z 2025-03-14T05:25:14.2090017Z Returns: 2025-03-14T05:25:14.2090277Z Future handler of the communication, which updates the gradients in place. 2025-03-14T05:25:14.2090365Z 2025-03-14T05:25:14.2090479Z Example:: 2025-03-14T05:25:14.2090583Z >>> # xdoctest: +SKIP 2025-03-14T05:25:14.2090862Z >>> state = PostLocalSGDState(process_group=process_group, subgroup=subgroup, 2025-03-14T05:25:14.2090987Z start_localSGD_iter=10) 2025-03-14T05:25:14.2091180Z >>> ddp_model.register_comm_hook(state, post_localSGD_hook) 2025-03-14T05:25:14.2091522Z >>> # Also need to establish a model averaging module and run model averaging after ``optimizer.step()``. 2025-03-14T05:25:14.2091891Z >>> # Please refer to the examples in ``torch.distributed.algorithms.model_averaging.averagers`` module. 2025-03-14T05:25:14.2091979Z 2025-03-14T05:25:14.2092252Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2092338Z 2025-03-14T05:25:14.2092453Z warnings.warn(msg) 2025-03-14T05:25:14.2092541Z 2025-03-14T05:25:14.2092745Z --- Parse Warning: 49 / 116 --- 2025-03-14T05:25:14.2093816Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=powerSGD_hook in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/algorithms/ddp_comm_hooks/powerSGD_hook.py line=342. 2025-03-14T05:25:14.2094098Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2094187Z 2025-03-14T05:25:14.2094317Z Implement PowerSGD algorithm. 2025-03-14T05:25:14.2094407Z 2025-03-14T05:25:14.2094654Z This DDP communication hook implements PowerSGD gradient compression 2025-03-14T05:25:14.2094898Z algorithm described in the `paper `_. 2025-03-14T05:25:14.2095159Z Once gradient tensors are aggregated across all workers, this hook applies 2025-03-14T05:25:14.2095270Z compression as follows: 2025-03-14T05:25:14.2095371Z 2025-03-14T05:25:14.2095903Z 1. Views the input flattened 1D gradient tensor as a list of per-parameter tensors, and divides all the tensors into two groups: 2025-03-14T05:25:14.2096006Z 2025-03-14T05:25:14.2096441Z 1.1 The tensors that should be compressed before allreduce, because the compression can give enough saving in bandwidth. 2025-03-14T05:25:14.2096542Z 2025-03-14T05:25:14.2096957Z 1.2 Rest of the tensors will be directly allreduced without compression, including all the vector tensors (for biases). 2025-03-14T05:25:14.2097059Z 2025-03-14T05:25:14.2097175Z 2. Handles uncompressed tensors: 2025-03-14T05:25:14.2097320Z 2025-03-14T05:25:14.2098030Z 2.1. Allocate contiguous memory for those uncompressed tensors, and allreduces all the uncompressed tensors as a batch, without compression; 2025-03-14T05:25:14.2098130Z 2025-03-14T05:25:14.2098475Z 2.2. Copies the individual uncompressed tensors from the contiguous memory back to the input tensor. 2025-03-14T05:25:14.2098575Z 2025-03-14T05:25:14.2098814Z 3. Handles the tensors that should be compressed by PowerSGD compression: 2025-03-14T05:25:14.2098898Z 2025-03-14T05:25:14.2099292Z 3.1. For each tensor M, creates two low-rank tensors P and Q for decomposing M, 2025-03-14T05:25:14.2099607Z such that M = PQ^T, where Q is initialized from a standard normal distribution and orthogonalized; 2025-03-14T05:25:14.2099706Z 2025-03-14T05:25:14.2099859Z 3.2. Computes each P in Ps, which is equal to MQ; 2025-03-14T05:25:14.2099958Z 2025-03-14T05:25:14.2100112Z 3.3. Allreduces Ps as a batch; 2025-03-14T05:25:14.2100212Z 2025-03-14T05:25:14.2100335Z 3.4. Orthogonalizes each P in Ps; 2025-03-14T05:25:14.2100437Z 2025-03-14T05:25:14.2100641Z 3.5. Computes each Q in Qs, which is approximately equal to M^TP; 2025-03-14T05:25:14.2100739Z 2025-03-14T05:25:14.2100851Z 3.6. Allreduces Qs as a batch; 2025-03-14T05:25:14.2100950Z 2025-03-14T05:25:14.2101252Z 3.7. Computes each M among all the compressed tensors, which is approximately equal to PQ^T. 2025-03-14T05:25:14.2101351Z 2025-03-14T05:25:14.2101775Z Note that this communication hook enforces vanilla allreduce for the first ``state.start_powerSGD_iter`` iterations. 2025-03-14T05:25:14.2102076Z This not only gives the user more control over the tradeoff between speedup and accuracy, 2025-03-14T05:25:14.2102510Z but also helps abstract away some complexity of the internal optimization of DDP for future communication hook developers. 2025-03-14T05:25:14.2102612Z 2025-03-14T05:25:14.2102703Z Args: 2025-03-14T05:25:14.2103154Z state (PowerSGDState): State information to configure the compression rate and support error feedback, warm start, etc. 2025-03-14T05:25:14.2103516Z To tune the compression configs, mainly need to tune ``matrix_approximation_rank``, ``start_powerSGD_iter`` 2025-03-14T05:25:14.2103647Z and ``min_compression_rate``. 2025-03-14T05:25:14.2104070Z bucket (dist.GradBucket): Bucket that stores a 1D flattened gradient tensor that batches multiple per-variable tensors. 2025-03-14T05:25:14.2104338Z Note that since DDP comm hook only supports single process single device mode, 2025-03-14T05:25:14.2104498Z only exactly one tensor is stored in this bucket. 2025-03-14T05:25:14.2104603Z 2025-03-14T05:25:14.2104694Z Returns: 2025-03-14T05:25:14.2104955Z Future handler of the communication, which updates the gradients in place. 2025-03-14T05:25:14.2105045Z 2025-03-14T05:25:14.2105153Z Example:: 2025-03-14T05:25:14.2105258Z >>> # xdoctest: +SKIP 2025-03-14T05:25:14.2105546Z >>> state = PowerSGDState(process_group=process_group, matrix_approximation_rank=1, 2025-03-14T05:25:14.2105710Z start_powerSGD_iter=10, min_compression_rate=0.5) 2025-03-14T05:25:14.2105887Z >>> ddp_model.register_comm_hook(state, powerSGD_hook) 2025-03-14T05:25:14.2105973Z 2025-03-14T05:25:14.2106245Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2106335Z 2025-03-14T05:25:14.2106452Z warnings.warn(msg) 2025-03-14T05:25:14.2106538Z 2025-03-14T05:25:14.2106778Z --- Parse Warning: 50 / 116 --- 2025-03-14T05:25:14.2107883Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=PeriodicModelAverager in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/algorithms/model_averaging/averagers.py line=38. 2025-03-14T05:25:14.2108216Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2108310Z 2025-03-14T05:25:14.2108523Z Averages parameters periodically after the warm-up stage. 2025-03-14T05:25:14.2108613Z 2025-03-14T05:25:14.2108891Z This can be used for running `post-local SGD `_, 2025-03-14T05:25:14.2109093Z by running :class:`~torch.nn.DistributedDataParallel` (DDP) 2025-03-14T05:25:14.2109405Z using the subgroups created by :meth:`~torch.distributed.new_subgroups`. 2025-03-14T05:25:14.2109495Z 2025-03-14T05:25:14.2109599Z Args: 2025-03-14T05:25:14.2109775Z period (int): The number of steps per model averaging. 2025-03-14T05:25:14.2110065Z Usually the period should be greater than ``1`` to reduce the communication cost. 2025-03-14T05:25:14.2110204Z Otherwise, only DDP needs to be used. 2025-03-14T05:25:14.2110461Z warmup_steps (int): The number of warm-up steps. During this stage, 2025-03-14T05:25:14.2110589Z model averaging is skipped. 2025-03-14T05:25:14.2110799Z process_group: The process group to be used for all-reduce. 2025-03-14T05:25:14.2110948Z If ``None``, the default process group, which 2025-03-14T05:25:14.2111161Z is created by :func:`torch.distributed.init_process_group`, 2025-03-14T05:25:14.2111294Z will be used. (default: ``None``) 2025-03-14T05:25:14.2111401Z 2025-03-14T05:25:14.2111498Z Example:: 2025-03-14T05:25:14.2111602Z 2025-03-14T05:25:14.2111739Z >>> # xdoctest: +SKIP("undefined variables") 2025-03-14T05:25:14.2111857Z >>> import torch 2025-03-14T05:25:14.2111982Z >>> import torch.distributed as dist 2025-03-14T05:25:14.2112306Z >>> import torch.distributed.algorithms.ddp_comm_hooks.post_localSGD_hook as post_localSGD 2025-03-14T05:25:14.2112600Z >>> import torch.distributed.algorithms.model_averaging.averagers as averagers 2025-03-14T05:25:14.2112712Z >>> import torch.nn as nn 2025-03-14T05:25:14.2112817Z >>> 2025-03-14T05:25:14.2113004Z >>> dist.init_process_group("nccl", rank=rank, world_size=16) 2025-03-14T05:25:14.2113135Z >>> torch.cuda.set_device(rank) 2025-03-14T05:25:14.2113270Z >>> module = nn.Linear(1, 1, bias=False).cuda() 2025-03-14T05:25:14.2113439Z >>> model = nn.parallel.DistributedDataParallel( 2025-03-14T05:25:14.2113590Z >>> module, device_ids=[rank], output_device=rank 2025-03-14T05:25:14.2113689Z >>> ) 2025-03-14T05:25:14.2113842Z >>> # Register a post-localSGD communication hook. 2025-03-14T05:25:14.2114157Z >>> state = PostLocalSGDState(process_group=None, subgroup=None, start_localSGD_iter=100) 2025-03-14T05:25:14.2114322Z >>> model.register_comm_hook(state, post_localSGD_hook) 2025-03-14T05:25:14.2114426Z >>> 2025-03-14T05:25:14.2114696Z >>> # In the first 100 steps, run global gradient averaging like normal DDP at every step. 2025-03-14T05:25:14.2114867Z >>> # After 100 steps, run model averaging every 4 steps. 2025-03-14T05:25:14.2115186Z >>> # Note that ``warmup_steps`` must be the same as ``start_localSGD_iter`` used in ``PostLocalSGDState``. 2025-03-14T05:25:14.2115454Z >>> averager = averagers.PeriodicModelAverager(period=4, warmup_steps=100) 2025-03-14T05:25:14.2115565Z >>> for step in range(0, 200): 2025-03-14T05:25:14.2115691Z >>> optimizer.zero_grad() 2025-03-14T05:25:14.2115811Z >>> loss = loss_fn(output, labels) 2025-03-14T05:25:14.2115926Z >>> loss.backward() 2025-03-14T05:25:14.2116032Z >>> optimizer.step() 2025-03-14T05:25:14.2116244Z >>> # Will average model parameters globally every 4 steps. Thus, 2025-03-14T05:25:14.2116452Z >>> # inter-node communication only occurs every 4 iterations after 2025-03-14T05:25:14.2116627Z >>> # the initial ``warmup_steps`` period. 2025-03-14T05:25:14.2116792Z >>> averager.average_parameters(model.parameters()) 2025-03-14T05:25:14.2116892Z 2025-03-14T05:25:14.2117149Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2117248Z 2025-03-14T05:25:14.2117350Z warnings.warn(msg) 2025-03-14T05:25:14.2117450Z 2025-03-14T05:25:14.2117651Z --- Parse Warning: 51 / 116 --- 2025-03-14T05:25:14.2118924Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=HierarchicalModelAverager in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/algorithms/model_averaging/hierarchical_model_averager.py line=19. 2025-03-14T05:25:14.2119193Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2119295Z 2025-03-14T05:25:14.2119668Z Runs hierarchical model averaging (`hierarchical SGD `_). 2025-03-14T05:25:14.2119768Z 2025-03-14T05:25:14.2120082Z Process groups of different sizes are organized in a hierarchy, and they average parameters 2025-03-14T05:25:14.2120308Z by using different periods concurrently after the warm-up stage. 2025-03-14T05:25:14.2120722Z This is an extension of :class:`~torch.distributed.algorithms.model_averaging.averagers.PeriodicModelAverager` 2025-03-14T05:25:14.2121079Z that supports `post-local SGD `_, which essentially only supports 2025-03-14T05:25:14.2121392Z a two-level hierarchy: the intra-machine level and the global level, where the intra-machine 2025-03-14T05:25:14.2121761Z level is usually embedded in :meth:`~torch.distributed.algorithms.ddp_comm_hooks.post_localSGD_hook`. 2025-03-14T05:25:14.2122066Z Similarly, the process groups within this class do not have such an intra-machine process 2025-03-14T05:25:14.2122361Z subgroup, which should be embedded by the post-local SGD communication hook instead. 2025-03-14T05:25:14.2122450Z 2025-03-14T05:25:14.2122552Z Args: 2025-03-14T05:25:14.2122820Z period_group_size_dict: An ordered dict mapping keys of model averaging period to 2025-03-14T05:25:14.2123039Z process group size, used for initializing process groups of 2025-03-14T05:25:14.2123268Z different sizes in a hierarchy to average parameters concurrently. 2025-03-14T05:25:14.2123505Z Particularly, at each iteration, there will be at most a single 2025-03-14T05:25:14.2123744Z process group that runs averaging -- the period of such group should 2025-03-14T05:25:14.2123975Z have the largest period which the current step can be divided by. 2025-03-14T05:25:14.2124148Z For example, if the dict has three keys: 2, 4, and 8, 2025-03-14T05:25:14.2124376Z then this means totally three process groups will be created to 2025-03-14T05:25:14.2124590Z average parameters every 2, 4, and 8 iterations, respectively. 2025-03-14T05:25:14.2124800Z At the 4th iteration, only the second process group will run 2025-03-14T05:25:14.2124983Z averaging, because the first process group should be a 2025-03-14T05:25:14.2125225Z subset of the second process group, and no need to execute the first 2025-03-14T05:25:14.2125357Z process group redundantly. 2025-03-14T05:25:14.2125573Z On the other hand, the third process group can only be triggered 2025-03-14T05:25:14.2125814Z every 8 iterations, so it will not be triggered at the 4th iteration. 2025-03-14T05:25:14.2126155Z warmup_steps (int): The number of warm-up steps. During this stage, model averaging is skipped. 2025-03-14T05:25:14.2126616Z process_group (ProcessGroup, optional): The overall process group containing all the processes that runs model averaging. 2025-03-14T05:25:14.2126796Z If ``None``, the default process group, which is created 2025-03-14T05:25:14.2127020Z by :func:`torch.distributed.init_process_group`, will be used. 2025-03-14T05:25:14.2127221Z (default: ``None``) 2025-03-14T05:25:14.2127323Z 2025-03-14T05:25:14.2127419Z Example:: 2025-03-14T05:25:14.2127557Z >>> # xdoctest: +SKIP('undefined rank') 2025-03-14T05:25:14.2127683Z >>> from collections import OrderedDict 2025-03-14T05:25:14.2127794Z >>> import torch 2025-03-14T05:25:14.2127922Z >>> import torch.distributed as dist 2025-03-14T05:25:14.2128245Z >>> from torch.distributed.algorithms.ddp_comm_hooks.post_localSGD_hook import ( 2025-03-14T05:25:14.2128357Z >>> PostLocalSGDState, 2025-03-14T05:25:14.2128462Z >>> post_localSGD_hook, 2025-03-14T05:25:14.2128571Z >>> ) 2025-03-14T05:25:14.2128954Z >>> import torch.distributed.algorithms.model_averaging.hierarchical_model_averager as hierarchicalSGD 2025-03-14T05:25:14.2129076Z >>> import torch.nn as nn 2025-03-14T05:25:14.2129162Z >>> 2025-03-14T05:25:14.2129357Z >>> dist.init_process_group("nccl", rank=rank, world_size=16) 2025-03-14T05:25:14.2129476Z >>> torch.cuda.set_device(rank) 2025-03-14T05:25:14.2129631Z >>> module = nn.Linear(1, 1, bias=False).to(rank) 2025-03-14T05:25:14.2129790Z >>> model = nn.parallel.DistributedDataParallel( 2025-03-14T05:25:14.2129953Z >>> module, device_ids=[rank], output_device=rank 2025-03-14T05:25:14.2130042Z >>> ) 2025-03-14T05:25:14.2130206Z >>> # Register a post-localSGD communication hook. 2025-03-14T05:25:14.2130490Z >>> # Assume that each machine has 4 GPUs, then each intra-machine subgroup has a size of 4. 2025-03-14T05:25:14.2130629Z >>> subgroup, _ = dist.new_subgroups() 2025-03-14T05:25:14.2130948Z >>> state = PostLocalSGDState(process_group=None, subgroup=subgroup, start_localSGD_iter=100) 2025-03-14T05:25:14.2131129Z >>> model.register_comm_hook(state, post_localSGD_hook) 2025-03-14T05:25:14.2131218Z >>> 2025-03-14T05:25:14.2131523Z >>> # Average parameters among each group of 8 processes every 4 iterations, and among all 2025-03-14T05:25:14.2131651Z >>> # the 16 processes every 16 iterations. 2025-03-14T05:25:14.2131856Z >>> averager = hierarchicalSGD.HierarchicalModelAverager( 2025-03-14T05:25:14.2132097Z >>> period_group_size_dict=OrderedDict([(4, 8), (16, 16)]), warmup_steps=100) 2025-03-14T05:25:14.2132427Z >>> # Note that ``warmup_steps`` must be the same as ``start_localSGD_iter`` used in ``PostLocalSGDState``. 2025-03-14T05:25:14.2132702Z >>> # In the first 100 steps, run global gradient averaging like normal DDP at every step. 2025-03-14T05:25:14.2132875Z >>> # After 100 steps, run model averaging at two levels. 2025-03-14T05:25:14.2132986Z >>> for step in range(0, 200): 2025-03-14T05:25:14.2133112Z >>> optimizer.zero_grad() 2025-03-14T05:25:14.2133230Z >>> loss = loss_fn(output, labels) 2025-03-14T05:25:14.2133347Z >>> loss.backward() 2025-03-14T05:25:14.2133458Z >>> optimizer.step() 2025-03-14T05:25:14.2133632Z >>> # Average parameters after ``optimizer.step()``. 2025-03-14T05:25:14.2133919Z >>> # Thus, the inter-node communication only occurs periodically after ``warmup_steps``. 2025-03-14T05:25:14.2134098Z >>> averager.average_parameters(model.parameters()) 2025-03-14T05:25:14.2134185Z 2025-03-14T05:25:14.2134291Z .. warning :: 2025-03-14T05:25:14.2134596Z The last group size in the dict must be the size of the provided ``process_group``, 2025-03-14T05:25:14.2134849Z which indicates model averaging at the highest level of the hierarchy. 2025-03-14T05:25:14.2135155Z If ``process_group`` is not provided, then the last group size should be equal to the world size. 2025-03-14T05:25:14.2135257Z 2025-03-14T05:25:14.2135350Z .. warning :: 2025-03-14T05:25:14.2135696Z `HierarchicalModelAverager` is experimental and subject to change. 2025-03-14T05:25:14.2135785Z 2025-03-14T05:25:14.2136113Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2136200Z 2025-03-14T05:25:14.2136318Z warnings.warn(msg) 2025-03-14T05:25:14.2136405Z 2025-03-14T05:25:14.2136632Z --- Parse Warning: 52 / 116 --- 2025-03-14T05:25:14.2137705Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=BroadcastingTorchSaveReader in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/checkpoint/format_utils.py line=40. 2025-03-14T05:25:14.2138019Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2138109Z 2025-03-14T05:25:14.2138420Z StorageReader for reading a Torch Save file. This reader will read the entire checkpoint 2025-03-14T05:25:14.2138675Z on the coordinator rank, and then broadcast and shard each tensor to all ranks. 2025-03-14T05:25:14.2138779Z 2025-03-14T05:25:14.2138950Z . N.B. Intended to be used with DynamicMetaLoadPlanner 2025-03-14T05:25:14.2139049Z 2025-03-14T05:25:14.2139147Z .. warning:: 2025-03-14T05:25:14.2139339Z Current implementation only supports loading Tensors. 2025-03-14T05:25:14.2139426Z 2025-03-14T05:25:14.2139561Z >>> # xdoctest: +SKIP("undefined vars") 2025-03-14T05:25:14.2139664Z >>> sd = {"mode": model} 2025-03-14T05:25:14.2139770Z >>> dcp.load( 2025-03-14T05:25:14.2139862Z >>> sd, 2025-03-14T05:25:14.2140039Z >>> storage_reader=BroadcastingTorchSaveReader(), 2025-03-14T05:25:14.2140170Z >>> planner=DynamicMetaLoadPlanner(), 2025-03-14T05:25:14.2140307Z >>> checkpoint_id="path_to_model.pt" 2025-03-14T05:25:14.2140393Z >>> ) 2025-03-14T05:25:14.2140487Z 2025-03-14T05:25:14.2140762Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2140848Z 2025-03-14T05:25:14.2140965Z warnings.warn(msg) 2025-03-14T05:25:14.2141053Z 2025-03-14T05:25:14.2141262Z --- Parse Warning: 53 / 116 --- 2025-03-14T05:25:14.2142308Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=DynamicMetaLoadPlanner in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/checkpoint/format_utils.py line=151. 2025-03-14T05:25:14.2142596Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2142687Z 2025-03-14T05:25:14.2143073Z Extension of DefaultLoadPlanner, which creates a new Metadata object based on the passed in state dict, 2025-03-14T05:25:14.2143409Z avoiding the need to read metadata from disk. This is useful when reading formats which don't have a 2025-03-14T05:25:14.2143547Z metadata file, like Torch Save files. 2025-03-14T05:25:14.2143638Z 2025-03-14T05:25:14.2143838Z . N.B. Intended to be used with BroadcastingTorchSaveReader 2025-03-14T05:25:14.2143928Z 2025-03-14T05:25:14.2144042Z .. warning:: 2025-03-14T05:25:14.2144223Z Current implementation only supports loading Tensors. 2025-03-14T05:25:14.2144327Z 2025-03-14T05:25:14.2144450Z >>> # xdoctest: +SKIP("undefined vars") 2025-03-14T05:25:14.2144569Z >>> sd = {"mode": model} 2025-03-14T05:25:14.2144665Z >>> dcp.load( 2025-03-14T05:25:14.2144772Z >>> sd, 2025-03-14T05:25:14.2144933Z >>> storage_reader=BroadcastingTorchSaveReader(), 2025-03-14T05:25:14.2145114Z >>> planner=DynamicMetaLoadPlanner(), 2025-03-14T05:25:14.2145239Z >>> checkpoint_id="path_to_model.pt" 2025-03-14T05:25:14.2145343Z >>> ) 2025-03-14T05:25:14.2145431Z 2025-03-14T05:25:14.2145707Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2145794Z 2025-03-14T05:25:14.2145913Z warnings.warn(msg) 2025-03-14T05:25:14.2145999Z 2025-03-14T05:25:14.2146202Z --- Parse Warning: 54 / 116 --- 2025-03-14T05:25:14.2147309Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=load_sharded_optimizer_state_dict in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/checkpoint/optimizer.py line=221. 2025-03-14T05:25:14.2147593Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2147683Z 2025-03-14T05:25:14.2147939Z Load a state_dict in conjunction with FSDP sharded optimizer state. 2025-03-14T05:25:14.2148028Z 2025-03-14T05:25:14.2148212Z This is the current recommended way to checkpoint FSDP. 2025-03-14T05:25:14.2148318Z >>> # xdoctest: +SKIP 2025-03-14T05:25:14.2148495Z >>> import torch.distributed.checkpoint as dist_cp 2025-03-14T05:25:14.2148586Z >>> # Save 2025-03-14T05:25:14.2148707Z >>> model: torch.nn.Model 2025-03-14T05:25:14.2148831Z >>> optim_params = model.parameters() 2025-03-14T05:25:14.2151291Z >>> optim = torch.optim.SGD(optim_params, lr=0.01) 2025-03-14T05:25:14.2151425Z >>> # Save 2025-03-14T05:25:14.2151655Z >>> with FSDP.state_dict_type(model, StateDictType.SHARDED_STATE_DICT): 2025-03-14T05:25:14.2151769Z >>> state_dict = { 2025-03-14T05:25:14.2151932Z >>> "optimizer": FSDP.optim_state_dict(model, optim), 2025-03-14T05:25:14.2152062Z >>> "model": model.state_dict() 2025-03-14T05:25:14.2152152Z >>> } 2025-03-14T05:25:14.2152283Z >>> dist_cp.save_state_dict( 2025-03-14T05:25:14.2152395Z >>> state_dict=optim_state, 2025-03-14T05:25:14.2152594Z >>> storage_writer=dist_cp.FileSystemWriter("checkpoint"), 2025-03-14T05:25:14.2152735Z >>> planner=dist_cp.DefaultSavePlanner(), 2025-03-14T05:25:14.2152836Z >>> ) 2025-03-14T05:25:14.2152924Z >>> 2025-03-14T05:25:14.2153027Z >>> # Load 2025-03-14T05:25:14.2153262Z >>> with FSDP.state_dict_type(model_tp, StateDictType.SHARDED_STATE_DICT): 2025-03-14T05:25:14.2153446Z >>> model_state_dict = model_tp.state_dict() 2025-03-14T05:25:14.2153549Z >>> checkpoint = { 2025-03-14T05:25:14.2153673Z >>> "model": model_state_dict 2025-03-14T05:25:14.2153761Z >>> } 2025-03-14T05:25:14.2153885Z >>> dist_cp.load_state_dict( 2025-03-14T05:25:14.2153997Z >>> state_dict=checkpoint, 2025-03-14T05:25:14.2154208Z >>> storage_reader=dist_cp.FileSystemReader(checkpoint_file), 2025-03-14T05:25:14.2154350Z >>> planner=dist_cp.DefaultLoadPlanner(), 2025-03-14T05:25:14.2154451Z >>> ) 2025-03-14T05:25:14.2154611Z >>> model.load_state_dict(checkpoint["model_state"]) 2025-03-14T05:25:14.2154700Z >>> 2025-03-14T05:25:14.2154894Z >>> optim_state = dist_cp.load_sharded_optimizer_state_dict( 2025-03-14T05:25:14.2155000Z >>> model_state_dict, 2025-03-14T05:25:14.2155133Z >>> optimizer_key="optimizer", 2025-03-14T05:25:14.2155316Z >>> storage_reader=dist_cp.FileSystemReader("checkpoint"), 2025-03-14T05:25:14.2155420Z >>> ) 2025-03-14T05:25:14.2155510Z >>> 2025-03-14T05:25:14.2155676Z >>> flattened_osd = FSDP.optim_state_dict_to_load( 2025-03-14T05:25:14.2155811Z >>> model, optim, optim_state["optimizer"] 2025-03-14T05:25:14.2155910Z >>> ) 2025-03-14T05:25:14.2155996Z >>> 2025-03-14T05:25:14.2156136Z >>> optim.load_state_dict(flattened_osd) 2025-03-14T05:25:14.2156283Z 2025-03-14T05:25:14.2156556Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2156646Z 2025-03-14T05:25:14.2156766Z warnings.warn(msg) 2025-03-14T05:25:14.2156855Z 2025-03-14T05:25:14.2157099Z --- Parse Warning: 55 / 116 --- 2025-03-14T05:25:14.2158061Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=SavePlanner in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/checkpoint/planner.py line=113. 2025-03-14T05:25:14.2158379Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2158470Z 2025-03-14T05:25:14.2158777Z Abstract class defining the protocol used by save_state_dict to plan the save process. 2025-03-14T05:25:14.2158866Z 2025-03-14T05:25:14.2159181Z SavePlanners are stateful objects that can be used to customize the whole save process. 2025-03-14T05:25:14.2159295Z 2025-03-14T05:25:14.2159594Z SavePlanner acts as an access proxy to the state_dict, so any transformation done to it 2025-03-14T05:25:14.2159715Z will be visible to the whole process. 2025-03-14T05:25:14.2159815Z 2025-03-14T05:25:14.2160099Z A planner subclass can expect the following sequence of calls during save_state_dict: 2025-03-14T05:25:14.2160199Z 2025-03-14T05:25:14.2160326Z 1) set_up_planner - called on all ranks. 2025-03-14T05:25:14.2160470Z Signals the start of a checkpoint save. 2025-03-14T05:25:14.2160558Z 2025-03-14T05:25:14.2160776Z 2) create_local_plan - called on all ranks. 2025-03-14T05:25:14.2161068Z Process the state_dict and produces a `SavePlan` that will be sent for global planning. 2025-03-14T05:25:14.2161168Z 2025-03-14T05:25:14.2161358Z 3) create_global_plan - called on the coordinator rank only. 2025-03-14T05:25:14.2161575Z Takes the SavePlan from all ranks and make any global decision. 2025-03-14T05:25:14.2161666Z 2025-03-14T05:25:14.2161797Z 4) finish_plan - called on all ranks. 2025-03-14T05:25:14.2162023Z This gives each rank a chance to adjust to global planning decisions. 2025-03-14T05:25:14.2162127Z 2025-03-14T05:25:14.2162286Z 5) resolve_data - called multiple times on each rank 2025-03-14T05:25:14.2162510Z Lookups a value on the `state_dict` for the storage layer to write. 2025-03-14T05:25:14.2162598Z 2025-03-14T05:25:14.2162912Z Users are recommended to extend DefaultSavePlanner instead of this interface directly as 2025-03-14T05:25:14.2163116Z most changes can be expressed by changes in a single method. 2025-03-14T05:25:14.2163205Z 2025-03-14T05:25:14.2163346Z There are 3 usual patterns of extension: 2025-03-14T05:25:14.2163433Z 2025-03-14T05:25:14.2163705Z Rewriting state_dict. This is the simplest way to extend the save process as it 2025-03-14T05:25:14.2163939Z doesn't requite understanding the intrincacies of how SavePlan works: 2025-03-14T05:25:14.2164043Z 2025-03-14T05:25:14.2164167Z >>> # xdoctest: +SKIP("undefined vars") 2025-03-14T05:25:14.2164320Z >>> class RenamePlanner(DefaultSavePlanner): 2025-03-14T05:25:14.2164426Z >>> def set_up_planner( 2025-03-14T05:25:14.2164529Z >>> self, 2025-03-14T05:25:14.2164645Z >>> state_dict: STATE_DICT_TYPE, 2025-03-14T05:25:14.2164789Z >>> storage_meta: Optional[StorageMeta], 2025-03-14T05:25:14.2164900Z >>> is_coordinator: bool, 2025-03-14T05:25:14.2165008Z >>> ) -> None: 2025-03-14T05:25:14.2165126Z >>> # prefix all keys with `foo_`` 2025-03-14T05:25:14.2165436Z >>> super().set_up_planner({"foo_" + k: v for k, v in state_dict.items()}, storage_meta, is_coordinator) 2025-03-14T05:25:14.2165523Z 2025-03-14T05:25:14.2165870Z Modifying local plan and lookup in tandem. This is useful when fine control of how data is persisted 2025-03-14T05:25:14.2165958Z 2025-03-14T05:25:14.2166130Z >>> # xdoctest: +SKIP("undefined vars") 2025-03-14T05:25:14.2166267Z >>> class FP16Planner(DefaultSavePlanner): 2025-03-14T05:25:14.2166394Z >>> def create_local_plan(self): 2025-03-14T05:25:14.2166520Z >>> plan = super().create_local_plan() 2025-03-14T05:25:14.2166635Z >>> for p in plan: 2025-03-14T05:25:14.2166756Z >>> if p.tensor_data is not None: 2025-03-14T05:25:14.2166934Z >>> p.tensor_data.properties.dtype = torch.float16 2025-03-14T05:25:14.2167034Z >>> return plan 2025-03-14T05:25:14.2167135Z >>> 2025-03-14T05:25:14.2167290Z >>> def resolve_data(self, write_item): 2025-03-14T05:25:14.2167437Z >>> item = super().resolve_data(write_item) 2025-03-14T05:25:14.2167716Z >>> return item if write_item.type == WriteItemType.BYTE_IO else item.to(torch.float16) 2025-03-14T05:25:14.2167816Z 2025-03-14T05:25:14.2168167Z Using the global planning step to make central decisions that can't be made individually by each rank 2025-03-14T05:25:14.2168320Z 2025-03-14T05:25:14.2168442Z >>> # xdoctest: +SKIP("undefined vars") 2025-03-14T05:25:14.2168577Z >>> from itertools import zip_longest 2025-03-14T05:25:14.2168695Z >>> from dataclasses import replace 2025-03-14T05:25:14.2168884Z >>> class DDPLoadBalancingPlanner(DefaultSavePlanner): 2025-03-14T05:25:14.2169165Z >>> # This uses the default local plan behavior of having all non-sharded writes in rank 0 2025-03-14T05:25:14.2169313Z >>> # This sample doesn't handle ShardedTensors 2025-03-14T05:25:14.2169498Z >>> def create_global_plan(self, all_plans): 2025-03-14T05:25:14.2169670Z >>> iters = [iter(all_plans[0].items)] * len(all_plans) 2025-03-14T05:25:14.2169776Z >>> items_per_rank = [ 2025-03-14T05:25:14.2169932Z >>> [item for item in items if item is not None] 2025-03-14T05:25:14.2170095Z >>> for items in zip(*zip_longest(*iters), strict=True) 2025-03-14T05:25:14.2170190Z >>> ] 2025-03-14T05:25:14.2170305Z >>> all_plans = [ 2025-03-14T05:25:14.2170424Z >>> replace(plan, items=items) 2025-03-14T05:25:14.2170633Z >>> for plan, items in zip(all_plans, items_per_rank, strict=True) 2025-03-14T05:25:14.2170723Z >>> ] 2025-03-14T05:25:14.2170885Z >>> return super().create_global_plan(all_plans) 2025-03-14T05:25:14.2170973Z 2025-03-14T05:25:14.2171261Z Finally, some planners need to save additional metadata in the checkpoint, this is 2025-03-14T05:25:14.2171542Z accomplished by having each rank contribute their data items in the local plan and 2025-03-14T05:25:14.2171679Z the global planner aggregate them: 2025-03-14T05:25:14.2171768Z 2025-03-14T05:25:14.2171902Z >>> # xdoctest: +SKIP("undefined vars") 2025-03-14T05:25:14.2172067Z >>> class SaveExtraDataPlanner(DefaultSavePlanner): 2025-03-14T05:25:14.2179408Z >>> def create_local_plan(self) -> SavePlan: 2025-03-14T05:25:14.2179606Z >>> plan = super().create_local_plan() 2025-03-14T05:25:14.2179803Z >>> return replace(plan, planner_data="per-rank-data") 2025-03-14T05:25:14.2179900Z >>> 2025-03-14T05:25:14.2180238Z >>> def create_global_plan(self, all_plans: List[SavePlan]) -> Tuple[List[SavePlan], Metadata]: 2025-03-14T05:25:14.2180441Z >>> global_plan, metadata = super().create_global_plan(all_plans) 2025-03-14T05:25:14.2180621Z >>> merged_data = [p.planner_data for p in global_plan] 2025-03-14T05:25:14.2180804Z >>> metadata = replace(metadata, planner_data=merged_data) 2025-03-14T05:25:14.2180940Z >>> return global_plan, metadata 2025-03-14T05:25:14.2181028Z 2025-03-14T05:25:14.2181284Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2181389Z 2025-03-14T05:25:14.2181498Z warnings.warn(msg) 2025-03-14T05:25:14.2181587Z 2025-03-14T05:25:14.2181955Z --- Parse Warning: 56 / 116 --- 2025-03-14T05:25:14.2182919Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=LoadPlanner in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/checkpoint/planner.py line=293. 2025-03-14T05:25:14.2183203Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2183305Z 2025-03-14T05:25:14.2183600Z Abstract class defining the protocol used by load_state_dict to plan the load process. 2025-03-14T05:25:14.2183746Z 2025-03-14T05:25:14.2184042Z LoadPlanner are stateful objects that can be used to customize the whole load process. 2025-03-14T05:25:14.2184128Z 2025-03-14T05:25:14.2184423Z LoadPlanner acts as an access proxy to the state_dict, so any transformation done to it 2025-03-14T05:25:14.2184547Z will be visible to the whole process. 2025-03-14T05:25:14.2184644Z 2025-03-14T05:25:14.2184961Z A planner subclass can expect the following sequence of calls during load_state_dict: 2025-03-14T05:25:14.2185060Z 2025-03-14T05:25:14.2185188Z 1) set_up_planner - called on all ranks. 2025-03-14T05:25:14.2185338Z Signals the start of loading a checkpoint. 2025-03-14T05:25:14.2185427Z 2025-03-14T05:25:14.2185572Z 2) create_local_plan - called on all ranks. 2025-03-14T05:25:14.2185864Z Process the state_dict and produces a `LoadPlan` that will be sent for global planning. 2025-03-14T05:25:14.2185966Z 2025-03-14T05:25:14.2186197Z 3) create_global_plan - called on the coordinator rank only. 2025-03-14T05:25:14.2186414Z Takes the LoadPlan from all ranks and make any global decision. 2025-03-14T05:25:14.2186501Z 2025-03-14T05:25:14.2186667Z 4) load_bytes - called multiple times on each rank 2025-03-14T05:25:14.2186842Z This is called once per non-tensor value in state_dict. 2025-03-14T05:25:14.2186945Z 2025-03-14T05:25:14.2187182Z 5) resolve_tensor and commit_tensor - called multiple times on each rank 2025-03-14T05:25:14.2187379Z They are called in pair for each Tensor value in state_dict. 2025-03-14T05:25:14.2187466Z 2025-03-14T05:25:14.2187787Z Users are recommended to extend DefaultLoadPlanner instead of this interface directly as 2025-03-14T05:25:14.2187976Z most changes can be expressed by changes in a single method. 2025-03-14T05:25:14.2188077Z 2025-03-14T05:25:14.2188212Z There are two usual patterns of extension: 2025-03-14T05:25:14.2188314Z 2025-03-14T05:25:14.2188578Z Rewriting state_dict. This is the simplest way to extend the load process as it 2025-03-14T05:25:14.2188848Z doesn't requite understanding the intrincacies of how LoadPlan works. We need 2025-03-14T05:25:14.2189084Z to keep a reference to the original state_dict as load happens in place so 2025-03-14T05:25:14.2189227Z we need to be able to perform it in place 2025-03-14T05:25:14.2189313Z 2025-03-14T05:25:14.2189452Z >>> # xdoctest: +SKIP("undefined vars") 2025-03-14T05:25:14.2189592Z >>> class RenamePlanner(DefaultLoadPlanner): 2025-03-14T05:25:14.2189712Z >>> def set_up_planner( 2025-03-14T05:25:14.2189805Z >>> self, 2025-03-14T05:25:14.2189937Z >>> state_dict: STATE_DICT_TYPE, 2025-03-14T05:25:14.2190042Z >>> metadata: Metadata, 2025-03-14T05:25:14.2190165Z >>> is_coordinator: bool, 2025-03-14T05:25:14.2190260Z >>> ) -> None: 2025-03-14T05:25:14.2190407Z >>> self.original_state_dict = state_dict 2025-03-14T05:25:14.2190593Z >>> state_dict = {"foo_" + k: v for k, v in state_dict.items()} 2025-03-14T05:25:14.2190681Z >>> 2025-03-14T05:25:14.2190818Z >>> if self.flatten_sharded_tensors: 2025-03-14T05:25:14.2190977Z >>> state_dict = _flatten_sharded_tensors(state_dict) 2025-03-14T05:25:14.2191076Z >>> 2025-03-14T05:25:14.2191193Z >>> if self.flatten_state_dict: 2025-03-14T05:25:14.2191438Z >>> state_dict, self.mappings = flatten_state_dict(state_dict) 2025-03-14T05:25:14.2191525Z >>> 2025-03-14T05:25:14.2191653Z >>> self.state_dict = state_dict 2025-03-14T05:25:14.2191766Z >>> self.metadata = metadata 2025-03-14T05:25:14.2191912Z >>> self.is_coordinator = is_coordinator 2025-03-14T05:25:14.2192000Z >>> 2025-03-14T05:25:14.2192138Z >>> def load_bytes(self, read_item, value): 2025-03-14T05:25:14.2192247Z >>> # Remove the "foo_" prefix 2025-03-14T05:25:14.2192616Z >>> self.original_state_dict[read_item.dest_index.fqn[4:]] = torch.load(value, weights_only=False) 2025-03-14T05:25:14.2192703Z 2025-03-14T05:25:14.2192801Z 2025-03-14T05:25:14.2193070Z Modifying resolve_tensor and commit_tensor to handle load time transformation. 2025-03-14T05:25:14.2193167Z 2025-03-14T05:25:14.2193287Z >>> # xdoctest: +SKIP("undefined vars") 2025-03-14T05:25:14.2193462Z >>> class MetaModelMaterialize(DefaultSavePlanner): 2025-03-14T05:25:14.2193620Z >>> def resolve_tensor(self, read_item): 2025-03-14T05:25:14.2193769Z >>> tensor = super().resolve_tensor(read_item) 2025-03-14T05:25:14.2193921Z >>> return torch.empty_like(tensor, device="cpu") 2025-03-14T05:25:14.2194021Z >>> 2025-03-14T05:25:14.2194158Z >>> def commit_tensor(self, read_item, tensor): 2025-03-14T05:25:14.2194334Z >>> self.state_dict[read_item.dest_index.fqn] = tensor 2025-03-14T05:25:14.2194422Z 2025-03-14T05:25:14.2194721Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2194810Z 2025-03-14T05:25:14.2194927Z warnings.warn(msg) 2025-03-14T05:25:14.2195013Z 2025-03-14T05:25:14.2195238Z --- Parse Warning: 57 / 116 --- 2025-03-14T05:25:14.2196217Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=get_state_dict in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/checkpoint/state_dict.py line=1124. 2025-03-14T05:25:14.2196506Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2196594Z 2025-03-14T05:25:14.2196780Z Return the model state_dict and optimizers state_dict. 2025-03-14T05:25:14.2196873Z 2025-03-14T05:25:14.2197116Z ``get_state_dict`` can process any module that is parallelized by PyTorch 2025-03-14T05:25:14.2197377Z FSDP/fully_shard, DDP/replicate, tensor_parallel/parallelize_module, and any 2025-03-14T05:25:14.2197649Z combination of these parallelisms. The main functions of ``get_state_dict`` 2025-03-14T05:25:14.2198057Z are: 1.) returning a model and optimizer state_dict that can be resharded 2025-03-14T05:25:14.2198294Z with a different number of trainers and/or different parallelisms. 2025-03-14T05:25:14.2198553Z 2.) hiding the parallelism-specific state_dict APIs. Users don't have to call 2025-03-14T05:25:14.2198667Z these APIs. 2025-03-14T05:25:14.2198799Z 3.) sanity checking the result state_dict. 2025-03-14T05:25:14.2198901Z 2025-03-14T05:25:14.2199118Z The keys of the result state dictionary are the canonical FQNs (Fully 2025-03-14T05:25:14.2199375Z Qualified Names). A canonical FQN refers to the FQN based on a parameter's 2025-03-14T05:25:14.2199618Z position in an nn.Module hierarchy. More specifically, a canonical FQN to a 2025-03-14T05:25:14.2199843Z parameter is the FQN returned by ``module.named_parameters()`` or 2025-03-14T05:25:14.2200059Z ``module.named_buffers()`` when the module is not distributed by any 2025-03-14T05:25:14.2200331Z parallelisms. Since the optimizer internally uses parameter IDs to represent 2025-03-14T05:25:14.2200552Z a parameter, there will be a conversion from the parameter IDs to the 2025-03-14T05:25:14.2200692Z canonical FQNs when calling this API. 2025-03-14T05:25:14.2200779Z 2025-03-14T05:25:14.2201018Z ``get_state_dict`` can also process a module that is not parallelized. In 2025-03-14T05:25:14.2201313Z such a case, ``get_state_dict`` only performs one function -- converting the 2025-03-14T05:25:14.2201477Z optimizer parameter IDs to the canonical FQNs. 2025-03-14T05:25:14.2201567Z 2025-03-14T05:25:14.2201660Z Example: 2025-03-14T05:25:14.2201779Z >>> # xdoctest: +SKIP 2025-03-14T05:25:14.2201879Z >>> import torch 2025-03-14T05:25:14.2202137Z >>> from torch.distributed.fsdp import FullyShardedDataParallel as FSDP 2025-03-14T05:25:14.2202381Z >>> from torch.nn.parallel import DistributedDataParallel as DDP 2025-03-14T05:25:14.2202625Z >>> from torch.distributed.checkpoint.state_dict import get_state_dict 2025-03-14T05:25:14.2202711Z 2025-03-14T05:25:14.2202856Z >>> fsdp_model = FSDP(copy.deepcopy(model)) 2025-03-14T05:25:14.2203045Z >>> fsdp_optim = torch.optim.Adam(model.parameters(), lr=1e-3) 2025-03-14T05:25:14.2203186Z >>> ddp_model = DDP(copy.deepcopy(model)) 2025-03-14T05:25:14.2203419Z >>> ddp_optim = torch.optim.Adam(model.parameters(), lr=1e-3) 2025-03-14T05:25:14.2203520Z 2025-03-14T05:25:14.2203604Z 2025-03-14T05:25:14.2203857Z >>> ddp_state_dict, ddp_optim_state_dict = get_state_dict(ddp_model, ddp_optim) 2025-03-14T05:25:14.2204030Z >>> fsdp_state_dict, fsdp_optim_state_dict = get_state_dict( 2025-03-14T05:25:14.2204155Z ... fsdp_model, fsdp_optim 2025-03-14T05:25:14.2204245Z ... ) 2025-03-14T05:25:14.2204342Z 2025-03-14T05:25:14.2204611Z >>> # if we simply call ddp_model.state_dict() and fsdp_model.state_dict(), 2025-03-14T05:25:14.2204732Z >>> # the asserts will fail. 2025-03-14T05:25:14.2204868Z >>> assert ddp_state_dict == fsdp_state_dict 2025-03-14T05:25:14.2205034Z >>> assert ddp_optim_state == fsdp_optim_state_dict 2025-03-14T05:25:14.2205121Z 2025-03-14T05:25:14.2205219Z 2025-03-14T05:25:14.2205309Z Args: 2025-03-14T05:25:14.2205475Z model (nn.Module): the nn.Module to the model. 2025-03-14T05:25:14.2205666Z optimizers (Union[None, Optimizer, Iterable[Optimizer]]): 2025-03-14T05:25:14.2205845Z The optimizers that are used to optimize ``model``. 2025-03-14T05:25:14.2206133Z submodules (deprecated): Optional[set[nn.Module]]: only return the model parameters 2025-03-14T05:25:14.2206268Z that belong to the submodules. 2025-03-14T05:25:14.2206448Z options (StateDictOptions): the options to control how 2025-03-14T05:25:14.2206684Z model state_dict and optimizer state_dict should be returned. See 2025-03-14T05:25:14.2206812Z `StateDictOptions` for the details. 2025-03-14T05:25:14.2206916Z 2025-03-14T05:25:14.2207007Z Returns: 2025-03-14T05:25:14.2207224Z ``Tuple`` that contain model state_dict and optimizer state_dict. 2025-03-14T05:25:14.2207311Z 2025-03-14T05:25:14.2207556Z :rtype: typing.Tuple[typing.Dict[str, ValueType], OptimizerStateType] 2025-03-14T05:25:14.2207647Z 2025-03-14T05:25:14.2207918Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2208005Z 2025-03-14T05:25:14.2208108Z warnings.warn(msg) 2025-03-14T05:25:14.2208210Z 2025-03-14T05:25:14.2208418Z --- Parse Warning: 58 / 116 --- 2025-03-14T05:25:14.2209400Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=load in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/checkpoint/state_dict_loader.py line=62. 2025-03-14T05:25:14.2209683Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2209773Z 2025-03-14T05:25:14.2209978Z Load a checkpoint into a distributed state dict in SPMD style. 2025-03-14T05:25:14.2210083Z 2025-03-14T05:25:14.2210313Z Each rank must have the same keys in their ``state_dict`` provided to this 2025-03-14T05:25:14.2210601Z API. Mismatched keys may result in hangs or errors. If unsure, you can use 2025-03-14T05:25:14.2210827Z the ``utils._assert_same_keys`` API to check (but may incur communication 2025-03-14T05:25:14.2210934Z costs). 2025-03-14T05:25:14.2211021Z 2025-03-14T05:25:14.2211224Z Each rank will try to read the least amount of data necessary 2025-03-14T05:25:14.2211466Z to fulfill the requested `state_dict`. When loading :class:`ShardedTensor` 2025-03-14T05:25:14.2211784Z or :class:`DTensor` instances, each rank only reads data for their local shards. 2025-03-14T05:25:14.2211875Z 2025-03-14T05:25:14.2212155Z For each ``Stateful`` object (having both a ``state_dict`` and a ``load_state_dict``), 2025-03-14T05:25:14.2212419Z load will first call ``state_dict`` before attempting deserialization, followed by 2025-03-14T05:25:14.2212607Z ``load_state_dict`` once the deserialization is complete. 2025-03-14T05:25:14.2212869Z For each non-``Stateful`` object, load will deserailize the object, and then replace 2025-03-14T05:25:14.2213069Z it in the ``state_dict`` with the deserialized object. 2025-03-14T05:25:14.2213162Z 2025-03-14T05:25:14.2213284Z .. warning:: 2025-03-14T05:25:14.2213458Z All tensors in ``state_dict`` must be allocated on their 2025-03-14T05:25:14.2213646Z destination device *prior to* calling this function. 2025-03-14T05:25:14.2213736Z 2025-03-14T05:25:14.2213983Z All non-tensor data is loaded using `torch.load()` and modified in place 2025-03-14T05:25:14.2214117Z on state_dict. 2025-03-14T05:25:14.2214218Z 2025-03-14T05:25:14.2214313Z .. warning:: 2025-03-14T05:25:14.2214536Z Users must call `load_state_dict` on the root module to ensure load 2025-03-14T05:25:14.2214729Z pos-processing and non-tensor data properly propagates. 2025-03-14T05:25:14.2214831Z 2025-03-14T05:25:14.2214922Z .. note: 2025-03-14T05:25:14.2215166Z If no process group is initialized, this function will assume the intent 2025-03-14T05:25:14.2215402Z is to load a checkpoint into the local process. This can be useful in the 2025-03-14T05:25:14.2215742Z case of local inference, and when using regular Tensors (as opposed to DTensor 2025-03-14T05:25:14.2215855Z or ShardedTensor) 2025-03-14T05:25:14.2215956Z 2025-03-14T05:25:14.2216045Z .. note: 2025-03-14T05:25:14.2216210Z Rank 0 is assumed to be the coordinator rank. 2025-03-14T05:25:14.2216296Z 2025-03-14T05:25:14.2216399Z Args: 2025-03-14T05:25:14.2216623Z state_dict (Dict[str, Any]): The state_dict to load the checkpoint into. 2025-03-14T05:25:14.2216790Z checkpoint_id (Union[str, os.PathLike, None]): 2025-03-14T05:25:14.2217003Z The ID of this checkpoint instance. The meaning of the checkpoint_id 2025-03-14T05:25:14.2217224Z depends on the storage. It can be a path to a folder or to a file. 2025-03-14T05:25:14.2217395Z It can also be a key if the storage is a key-value store. 2025-03-14T05:25:14.2217516Z (Default: ``None``) 2025-03-14T05:25:14.2217654Z storage_reader (Optional[StorageReader]): 2025-03-14T05:25:14.2217876Z Instance of StorageWriter used to perform reads. If this is not 2025-03-14T05:25:14.2218083Z specified, DCP will automatically infer the reader based on the 2025-03-14T05:25:14.2218301Z checkpoint_id. If checkpoint_id is also None, an exception will 2025-03-14T05:25:14.2218418Z be raised. (Default: ``None``) 2025-03-14T05:25:14.2218557Z planner (Optional[LoadPlanner]): 2025-03-14T05:25:14.2218762Z Instance of LoadPlanner. If this is not specificed, the default 2025-03-14T05:25:14.2218911Z planner will be used. (Default: ``None``) 2025-03-14T05:25:14.2219046Z process_group (Optional[ProcessGroup]): 2025-03-14T05:25:14.2219247Z ProcessGroup to be used for cross-rank synchronization. 2025-03-14T05:25:14.2219449Z (Default: ``None``) 2025-03-14T05:25:14.2219679Z no_dist (bool): If ``True``, this function will assume the intent is to load 2025-03-14T05:25:14.2219936Z a checkpoint without using cross-rank synchronization. (Default: ``False``) 2025-03-14T05:25:14.2220041Z Returns: 2025-03-14T05:25:14.2220130Z None. 2025-03-14T05:25:14.2220218Z 2025-03-14T05:25:14.2220320Z Examples 2025-03-14T05:25:14.2220422Z >>> # xdoctest: +SKIP 2025-03-14T05:25:14.2220540Z >>> my_model = MyModule() 2025-03-14T05:25:14.2220710Z >>> optimizer = Adagrad(my_model.parameters()) 2025-03-14T05:25:14.2220859Z >>> model_state_dict = my_model.state_dict() 2025-03-14T05:25:14.2221097Z >>> fs_storage_reader = torch.distributed.checkpoint.FileSystemReader( 2025-03-14T05:25:14.2221212Z ... "/checkpoint/1" 2025-03-14T05:25:14.2221300Z ... ) 2025-03-14T05:25:14.2221399Z 2025-03-14T05:25:14.2221561Z >>> torch.distributed.checkpoint.load_state_dict( 2025-03-14T05:25:14.2221739Z >>> state_dict=model_state_dict, 2025-03-14T05:25:14.2221863Z >>> storage_reader=fs_storage_reader, 2025-03-14T05:25:14.2221963Z >>> ) 2025-03-14T05:25:14.2222050Z 2025-03-14T05:25:14.2222265Z >>> # module.load_state_dict() function might have customized steps 2025-03-14T05:25:14.2222400Z >>> # to flush the state_dict, must call it to 2025-03-14T05:25:14.2222531Z >>> # ensure correct behavior. 2025-03-14T05:25:14.2222695Z >>> my_model.load_state_dict(model_state_dict) 2025-03-14T05:25:14.2222797Z 2025-03-14T05:25:14.2222888Z .. note:: 2025-03-14T05:25:14.2223116Z load_state_dict uses collectives to coordinate reads across ranks. 2025-03-14T05:25:14.2223337Z For NCCL-based process groups, internal tensor representations of 2025-03-14T05:25:14.2223583Z objects must be moved to the GPU device before communication takes place. 2025-03-14T05:25:14.2223810Z In this case, the device used is given by ``torch.cuda.current_device()`` 2025-03-14T05:25:14.2224056Z and it is the user's responsibility to ensure that this is set so that each 2025-03-14T05:25:14.2224245Z rank has an individual GPU, via ``torch.cuda.set_device()``. 2025-03-14T05:25:14.2224345Z 2025-03-14T05:25:14.2224601Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2224702Z 2025-03-14T05:25:14.2224806Z warnings.warn(msg) 2025-03-14T05:25:14.2224904Z 2025-03-14T05:25:14.2225130Z --- Parse Warning: 59 / 116 --- 2025-03-14T05:25:14.2226113Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=save in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/checkpoint/state_dict_saver.py line=85. 2025-03-14T05:25:14.2226383Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2226492Z 2025-03-14T05:25:14.2226621Z Save a distributed model in SPMD style. 2025-03-14T05:25:14.2226722Z 2025-03-14T05:25:14.2226920Z This function is different from ``torch.save()`` as it handles 2025-03-14T05:25:14.2227192Z ``ShardedTensor`` , and ``DTensor`` by having each rank only save their local shards. 2025-03-14T05:25:14.2227278Z 2025-03-14T05:25:14.2227553Z For each ``Stateful`` object (having both a ``state_dict`` and a ``load_state_dict``), 2025-03-14T05:25:14.2227715Z save will call ``state_dict`` before serialization. 2025-03-14T05:25:14.2227814Z 2025-03-14T05:25:14.2227907Z .. warning:: 2025-03-14T05:25:14.2228161Z There is no guarantees of Backwards Compatibility across PyTorch versions 2025-03-14T05:25:14.2228267Z for saved state_dicts. 2025-03-14T05:25:14.2228352Z 2025-03-14T05:25:14.2228460Z .. warning:: 2025-03-14T05:25:14.2228675Z If using the `process_group` argument, make sure that only its ranks 2025-03-14T05:25:14.2228930Z call `save_state_dict` and that all data in state_dict belong to it. 2025-03-14T05:25:14.2229016Z 2025-03-14T05:25:14.2229119Z .. note:: 2025-03-14T05:25:14.2229383Z When saving checkpoint for FSDP's `ShardingStrategy.HYBRID_SHARD`, only one of 2025-03-14T05:25:14.2229660Z the shard_group should be calling `save_state_dict` and the corresponding process 2025-03-14T05:25:14.2229773Z group needs to be passed in. 2025-03-14T05:25:14.2229871Z 2025-03-14T05:25:14.2229961Z .. note:: 2025-03-14T05:25:14.2230274Z If no process group is available, this function assumes the intention is to save the 2025-03-14T05:25:14.2230394Z state_dict in the local process. 2025-03-14T05:25:14.2230495Z 2025-03-14T05:25:14.2230583Z .. note: 2025-03-14T05:25:14.2230739Z Rank 0 is assumed to be the coordinator rank. 2025-03-14T05:25:14.2230825Z 2025-03-14T05:25:14.2230925Z 2025-03-14T05:25:14.2231043Z Args: 2025-03-14T05:25:14.2231216Z state_dict (Dict[str, Any]): The state_dict to save. 2025-03-14T05:25:14.2231367Z checkpoint_id (Union[str, os.PathLike, None]): 2025-03-14T05:25:14.2231596Z The ID of this checkpoint instance. The meaning of the checkpoint_id 2025-03-14T05:25:14.2231805Z depends on the storage. It can be a path to a folder or to a file. 2025-03-14T05:25:14.2231986Z It can also be a key if the storage is a key-value store. 2025-03-14T05:25:14.2232090Z (Default: ``None``) 2025-03-14T05:25:14.2232271Z storage_writer (Optional[StorageWriter]): 2025-03-14T05:25:14.2232485Z Instance of StorageWriter used to perform writes. If this is not 2025-03-14T05:25:14.2232706Z specified, DCP will automatically infer the writer based on the 2025-03-14T05:25:14.2232915Z checkpoint_id. If checkpoint_id is also None, an exception will 2025-03-14T05:25:14.2233044Z be raised. (Default: ``None``) 2025-03-14T05:25:14.2233168Z planner (Optional[SavePlanner]): 2025-03-14T05:25:14.2233387Z Instance of SavePlanner. If this is not specificed, the default 2025-03-14T05:25:14.2233522Z planner will be used. (Default: ``None``) 2025-03-14T05:25:14.2233671Z process_group (Optional[ProcessGroup]): 2025-03-14T05:25:14.2233859Z ProcessGroup to be used for cross-rank synchronization. 2025-03-14T05:25:14.2233974Z (Default: ``None``) 2025-03-14T05:25:14.2234073Z no_dist (bool): 2025-03-14T05:25:14.2234263Z If ``True``, this function will assume the intent is to load 2025-03-14T05:25:14.2234442Z a checkpoint without using cross-rank synchronization. 2025-03-14T05:25:14.2234559Z (Default: ``False``) 2025-03-14T05:25:14.2234650Z 2025-03-14T05:25:14.2234752Z Returns: 2025-03-14T05:25:14.2234915Z Metadata: Metadata object for the saved checkpoint. 2025-03-14T05:25:14.2235001Z 2025-03-14T05:25:14.2235111Z Example: 2025-03-14T05:25:14.2235216Z >>> # xdoctest: +SKIP 2025-03-14T05:25:14.2235334Z >>> my_model = MyModule() 2025-03-14T05:25:14.2235420Z 2025-03-14T05:25:14.2235553Z >>> state_dict = {"model": my_model} 2025-03-14T05:25:14.2235643Z 2025-03-14T05:25:14.2235902Z >>> fs_storage_writer = torch.distributed.checkpoint.FileSystemWriter( 2025-03-14T05:25:14.2236006Z ... "/checkpoint/1" 2025-03-14T05:25:14.2236111Z ... ) 2025-03-14T05:25:14.2236256Z >>> torch.distributed.checkpoint.save( 2025-03-14T05:25:14.2236377Z >>> state_dict=state_dict, 2025-03-14T05:25:14.2236502Z >>> storage_writer=fs_storage_writer, 2025-03-14T05:25:14.2236602Z >>> ) 2025-03-14T05:25:14.2236688Z 2025-03-14T05:25:14.2236786Z .. note:: 2025-03-14T05:25:14.2237007Z save_state_dict uses collectives to coordinate writes across ranks. 2025-03-14T05:25:14.2237233Z For NCCL-based process groups, internal tensor representations of 2025-03-14T05:25:14.2237506Z objects must be moved to the GPU device before communication takes place. 2025-03-14T05:25:14.2237737Z In this case, the device used is given by ``torch.cuda.current_device()`` 2025-03-14T05:25:14.2237948Z and it is the user's responsibility to ensure that this is set so that 2025-03-14T05:25:14.2238157Z each rank has an individual GPU, via ``torch.cuda.set_device()``. 2025-03-14T05:25:14.2238245Z 2025-03-14T05:25:14.2238541Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2238628Z 2025-03-14T05:25:14.2238736Z warnings.warn(msg) 2025-03-14T05:25:14.2238825Z 2025-03-14T05:25:14.2239042Z --- Parse Warning: 60 / 116 --- 2025-03-14T05:25:14.2240033Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=async_save in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/checkpoint/state_dict_saver.py line=195. 2025-03-14T05:25:14.2240341Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2240610Z Asynchronous version of ``save``. This code first de-stages the state_dict on to the 2025-03-14T05:25:14.2240916Z staging storage (defaults to CPU memory), and then calls the `save` in a separate thread. 2025-03-14T05:25:14.2241004Z 2025-03-14T05:25:14.2241112Z .. warning:: 2025-03-14T05:25:14.2241310Z This feature is experimental and subject to change. 2025-03-14T05:25:14.2241405Z 2025-03-14T05:25:14.2241496Z Args: 2025-03-14T05:25:14.2241667Z state_dict (Dict[str, Any]): The state_dict to save. 2025-03-14T05:25:14.2241823Z checkpoint_id (Union[str, os.PathLike, None]): 2025-03-14T05:25:14.2242049Z The ID of this checkpoint instance. The meaning of the checkpoint_id 2025-03-14T05:25:14.2242257Z depends on the storage. It can be a path to a folder or to a file. 2025-03-14T05:25:14.2242441Z It can also be a key if the storage is a key-value store. 2025-03-14T05:25:14.2242543Z (Default: ``None``) 2025-03-14T05:25:14.2242696Z storage_writer (Optional[StorageWriter]): 2025-03-14T05:25:14.2242914Z Instance of StorageWriter used to perform 'stage' and 'save'. If 2025-03-14T05:25:14.2243164Z this is not specified, DCP will automatically infer the writer based on the 2025-03-14T05:25:14.2243376Z checkpoint_id. If checkpoint_id is also None, an exception will 2025-03-14T05:25:14.2243500Z be raised. (Default: ``None``) 2025-03-14T05:25:14.2243627Z planner (Optional[SavePlanner]): 2025-03-14T05:25:14.2243847Z Instance of SavePlanner. If this is not specificed, the default 2025-03-14T05:25:14.2243984Z planner will be used. (Default: ``None``) 2025-03-14T05:25:14.2244130Z process_group (Optional[ProcessGroup]): 2025-03-14T05:25:14.2244316Z ProcessGroup to be used for cross-rank synchronization. 2025-03-14T05:25:14.2244424Z (Default: ``None``) 2025-03-14T05:25:14.2244507Z 2025-03-14T05:25:14.2244597Z Returns: 2025-03-14T05:25:14.2244822Z Future: A future holding the resultant Metadata object from `save`. 2025-03-14T05:25:14.2244906Z 2025-03-14T05:25:14.2245005Z Example: 2025-03-14T05:25:14.2245105Z >>> # xdoctest: +SKIP 2025-03-14T05:25:14.2245224Z >>> my_model = MyModule() 2025-03-14T05:25:14.2245308Z 2025-03-14T05:25:14.2245434Z >>> state_dict = {"model": my_model} 2025-03-14T05:25:14.2245519Z 2025-03-14T05:25:14.2245767Z >>> fs_storage_writer = torch.distributed.checkpoint.FileSystemWriter( 2025-03-14T05:25:14.2245873Z ... "/checkpoint/1" 2025-03-14T05:25:14.2245973Z ... ) 2025-03-14T05:25:14.2246234Z >>> checkpoint_future = torch.distributed.checkpoint.async_save( 2025-03-14T05:25:14.2246353Z >>> state_dict=state_dict, 2025-03-14T05:25:14.2246479Z >>> storage_writer=fs_storage_writer, 2025-03-14T05:25:14.2246571Z >>> ) 2025-03-14T05:25:14.2246657Z >>> 2025-03-14T05:25:14.2246768Z >>> # ... do some work ... 2025-03-14T05:25:14.2246852Z >>> 2025-03-14T05:25:14.2246978Z >>> checkpoint_future.result() 2025-03-14T05:25:14.2247062Z 2025-03-14T05:25:14.2247155Z 2025-03-14T05:25:14.2247438Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2247533Z 2025-03-14T05:25:14.2247633Z warnings.warn(msg) 2025-03-14T05:25:14.2247726Z 2025-03-14T05:25:14.2247923Z --- Parse Warning: 61 / 116 --- 2025-03-14T05:25:14.2248977Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=construct_and_record_rdzv_event in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/elastic/events/__init__.py line=94. 2025-03-14T05:25:14.2249272Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2249364Z 2025-03-14T05:25:14.2249568Z Initialize rendezvous event object and record its operations. 2025-03-14T05:25:14.2249665Z 2025-03-14T05:25:14.2249750Z Args: 2025-03-14T05:25:14.2249884Z run_id (str): The run id of the rendezvous. 2025-03-14T05:25:14.2250078Z message (str): The message describing the event. 2025-03-14T05:25:14.2250342Z node_state (NodeState): The state of the node (INIT, RUNNING, SUCCEEDED, FAILED). 2025-03-14T05:25:14.2250535Z name (str): Event name. (E.g. Current action being performed). 2025-03-14T05:25:14.2250655Z hostname (str): Hostname of the node. 2025-03-14T05:25:14.2250813Z pid (Optional[int]): The process id of the node. 2025-03-14T05:25:14.2251065Z master_endpoint (str): The master endpoint for the rendezvous store, if known. 2025-03-14T05:25:14.2251346Z local_id (Optional[int]): The local_id of the node, if defined in dynamic_rendezvous.py 2025-03-14T05:25:14.2251506Z rank (Optional[int]): The rank of the node, if known. 2025-03-14T05:25:14.2251605Z Returns: 2025-03-14T05:25:14.2251692Z None 2025-03-14T05:25:14.2251789Z Example: 2025-03-14T05:25:14.2251922Z >>> # See DynamicRendezvousHandler class 2025-03-14T05:25:14.2252028Z >>> def _record( 2025-03-14T05:25:14.2252124Z ... self, 2025-03-14T05:25:14.2252232Z ... message: str, 2025-03-14T05:25:14.2252378Z ... node_state: NodeState = NodeState.RUNNING, 2025-03-14T05:25:14.2252502Z ... rank: Optional[int] = None, 2025-03-14T05:25:14.2252595Z ... ) -> None: 2025-03-14T05:25:14.2252730Z ... construct_and_record_rdzv_event( 2025-03-14T05:25:14.2252901Z ... name=f"{self.__class__.__name__}.{get_method_name()}", 2025-03-14T05:25:14.2253037Z ... run_id=self._settings.run_id, 2025-03-14T05:25:14.2253139Z ... message=message, 2025-03-14T05:25:14.2253257Z ... node_state=node_state, 2025-03-14T05:25:14.2253381Z ... hostname=self._this_node.addr, 2025-03-14T05:25:14.2253502Z ... pid=self._this_node.pid, 2025-03-14T05:25:14.2253632Z ... local_id=self._this_node.local_id, 2025-03-14T05:25:14.2253736Z ... rank=rank, 2025-03-14T05:25:14.2253827Z ... ) 2025-03-14T05:25:14.2253919Z 2025-03-14T05:25:14.2254180Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2254273Z 2025-03-14T05:25:14.2254375Z warnings.warn(msg) 2025-03-14T05:25:14.2254466Z 2025-03-14T05:25:14.2254659Z --- Parse Warning: 62 / 116 --- 2025-03-14T05:25:14.2255676Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=MixedPrecision in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/fsdp/api.py line=114. 2025-03-14T05:25:14.2255986Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2256082Z 2025-03-14T05:25:14.2256252Z This configures FSDP-native mixed precision training. 2025-03-14T05:25:14.2256350Z 2025-03-14T05:25:14.2256442Z Attributes: 2025-03-14T05:25:14.2256722Z param_dtype (Optional[torch.dtype]): This specifies the dtype for model 2025-03-14T05:25:14.2256926Z parameters during forward and backward and thus the dtype for 2025-03-14T05:25:14.2257163Z forward and backward computation. Outside forward and backward, the 2025-03-14T05:25:14.2257358Z *sharded* parameters are kept in full precision (e.g. for the 2025-03-14T05:25:14.2257581Z optimizer step), and for model checkpointing, the parameters are 2025-03-14T05:25:14.2257770Z always saved in full precision. (Default: ``None``) 2025-03-14T05:25:14.2257996Z reduce_dtype (Optional[torch.dtype]): This specifies the dtype for 2025-03-14T05:25:14.2258213Z gradient reduction (i.e. reduce-scatter or all-reduce). If this is 2025-03-14T05:25:14.2258406Z ``None`` but ``param_dtype`` is not ``None``, then this takes on 2025-03-14T05:25:14.2258608Z the ``param_dtype`` value, still running gradient reduction in low 2025-03-14T05:25:14.2258867Z precision. This is permitted to differ from ``param_dtype``, e.g. 2025-03-14T05:25:14.2259067Z to force gradient reduction to run in full precision. (Default: 2025-03-14T05:25:14.2259170Z ``None``) 2025-03-14T05:25:14.2259385Z buffer_dtype (Optional[torch.dtype]): This specifies the dtype for 2025-03-14T05:25:14.2259601Z buffers. FSDP does not shard buffers. Rather, FSDP casts them to 2025-03-14T05:25:14.2259802Z ``buffer_dtype`` in the first forward pass and keeps them in that 2025-03-14T05:25:14.2260026Z dtype thereafter. For model checkpointing, the buffers are saved 2025-03-14T05:25:14.2260209Z in full precision except for ``LOCAL_STATE_DICT``. (Default: 2025-03-14T05:25:14.2260312Z ``None``) 2025-03-14T05:25:14.2260510Z keep_low_precision_grads (bool): If ``False``, then FSDP upcasts 2025-03-14T05:25:14.2260742Z gradients to full precision after the backward pass in preparation 2025-03-14T05:25:14.2260952Z for the optimizer step. If ``True``, then FSDP keeps the gradients 2025-03-14T05:25:14.2261171Z in the dtype used for gradient reduction, which can save memory if 2025-03-14T05:25:14.2261377Z using a custom optimizer that supports running in low precision. 2025-03-14T05:25:14.2261496Z (Default: ``False``) 2025-03-14T05:25:14.2261707Z cast_forward_inputs (bool): If ``True``, then this FSDP module casts 2025-03-14T05:25:14.2261927Z its forward args and kwargs to ``param_dtype``. This is to ensure 2025-03-14T05:25:14.2262140Z that parameter and input dtypes match for forward computation, as 2025-03-14T05:25:14.2262359Z required by many ops. This may need to be set to ``True`` when only 2025-03-14T05:25:14.2262579Z applying mixed precision to some but not all FSDP modules, in which 2025-03-14T05:25:14.2262803Z case a mixed-precision FSDP submodule needs to recast its inputs. 2025-03-14T05:25:14.2262906Z (Default: ``False``) 2025-03-14T05:25:14.2263139Z cast_root_forward_inputs (bool): If ``True``, then the root FSDP module 2025-03-14T05:25:14.2263340Z casts its forward args and kwargs to ``param_dtype``, overriding 2025-03-14T05:25:14.2263544Z the value of ``cast_forward_inputs``. For non-root FSDP modules, 2025-03-14T05:25:14.2263686Z this does not do anything. (Default: ``True``) 2025-03-14T05:25:14.2263947Z _module_classes_to_ignore: (Sequence[Type[nn.Module]]): This specifies 2025-03-14T05:25:14.2264130Z module classes to ignore for mixed precision when using an 2025-03-14T05:25:14.2264325Z ``auto_wrap_policy``: Modules of these classes will have FSDP 2025-03-14T05:25:14.2264533Z applied to them separately with mixed precision disabled (meaning 2025-03-14T05:25:14.2264747Z that the final FSDP construction would deviate from the specified 2025-03-14T05:25:14.2264963Z policy). If ``auto_wrap_policy`` is not specified, then this does 2025-03-14T05:25:14.2265177Z not do anything. This API is experimental and subject to change. 2025-03-14T05:25:14.2265288Z (Default: ``(_BatchNorm,)``) 2025-03-14T05:25:14.2265382Z 2025-03-14T05:25:14.2265551Z .. note:: This API is experimental and subject to change. 2025-03-14T05:25:14.2265647Z 2025-03-14T05:25:14.2265894Z .. note:: Only floating point tensors are cast to their specified dtypes. 2025-03-14T05:25:14.2265992Z 2025-03-14T05:25:14.2266173Z .. note:: In ``summon_full_params``, parameters are forced to full 2025-03-14T05:25:14.2266299Z precision, but buffers are not. 2025-03-14T05:25:14.2266383Z 2025-03-14T05:25:14.2266601Z .. note:: Layer norm and batch norm accumulate in ``float32`` even when 2025-03-14T05:25:14.2266813Z their inputs are in a low precision like ``float16`` or ``bfloat16``. 2025-03-14T05:25:14.2267086Z Disabling FSDP's mixed precision for those norm modules only means that 2025-03-14T05:25:14.2267304Z the affine parameters are kept in ``float32``. However, this incurs 2025-03-14T05:25:14.2267558Z separate all-gathers and reduce-scatters for those norm modules, which 2025-03-14T05:25:14.2267781Z may be inefficient, so if the workload permits, the user should prefer 2025-03-14T05:25:14.2267951Z to still apply mixed precision to those modules. 2025-03-14T05:25:14.2268044Z 2025-03-14T05:25:14.2268269Z .. note:: By default, if the user passes a model with any ``_BatchNorm`` 2025-03-14T05:25:14.2268480Z modules and specifies an ``auto_wrap_policy``, then the batch norm 2025-03-14T05:25:14.2268725Z modules will have FSDP applied to them separately with mixed precision 2025-03-14T05:25:14.2268907Z disabled. See the ``_module_classes_to_ignore`` argument. 2025-03-14T05:25:14.2269011Z 2025-03-14T05:25:14.2269225Z .. note:: ``MixedPrecision`` has ``cast_root_forward_inputs=True`` and 2025-03-14T05:25:14.2269461Z ``cast_forward_inputs=False`` by default. For the root FSDP instance, 2025-03-14T05:25:14.2269643Z its ``cast_root_forward_inputs`` takes precedence over its 2025-03-14T05:25:14.2269841Z ``cast_forward_inputs``. For non-root FSDP instances, their 2025-03-14T05:25:14.2270063Z ``cast_root_forward_inputs`` values are ignored. The default setting is 2025-03-14T05:25:14.2270310Z sufficient for the typical case where each FSDP instance has the same 2025-03-14T05:25:14.2270545Z ``MixedPrecision`` configuration and only needs to cast inputs to the 2025-03-14T05:25:14.2270744Z ``param_dtype`` at the beginning of the model's forward pass. 2025-03-14T05:25:14.2270834Z 2025-03-14T05:25:14.2271059Z .. note:: For nested FSDP instances with different ``MixedPrecision`` 2025-03-14T05:25:14.2271304Z configurations, we recommend setting individual ``cast_forward_inputs`` 2025-03-14T05:25:14.2271533Z values to configure casting inputs or not before each instance's 2025-03-14T05:25:14.2271735Z forward. In such a case, since the casts happen before each FSDP 2025-03-14T05:25:14.2271971Z instance's forward, a parent FSDP instance should have its non-FSDP 2025-03-14T05:25:14.2272210Z submodules run before its FSDP submodules to avoid the activation dtype 2025-03-14T05:25:14.2272437Z being changed due to a different ``MixedPrecision`` configuration. 2025-03-14T05:25:14.2272557Z 2025-03-14T05:25:14.2272669Z Example:: 2025-03-14T05:25:14.2272755Z 2025-03-14T05:25:14.2272907Z >>> # xdoctest: +SKIP("undefined variables") 2025-03-14T05:25:14.2273083Z >>> model = nn.Sequential(nn.Linear(3, 3), nn.Linear(3, 3)) 2025-03-14T05:25:14.2273198Z >>> model[1] = FSDP( 2025-03-14T05:25:14.2273296Z >>> model[1], 2025-03-14T05:25:14.2273609Z >>> mixed_precision=MixedPrecision(param_dtype=torch.float16, cast_forward_inputs=True), 2025-03-14T05:25:14.2273739Z >>> ) 2025-03-14T05:25:14.2273839Z >>> model = FSDP( 2025-03-14T05:25:14.2273947Z >>> model, 2025-03-14T05:25:14.2274257Z >>> mixed_precision=MixedPrecision(param_dtype=torch.bfloat16, cast_forward_inputs=True), 2025-03-14T05:25:14.2274356Z >>> ) 2025-03-14T05:25:14.2274443Z 2025-03-14T05:25:14.2274672Z The above shows a working example. On the other hand, if ``model[1]`` 2025-03-14T05:25:14.2274907Z were replaced with ``model[0]``, meaning that the submodule using 2025-03-14T05:25:14.2275146Z different ``MixedPrecision`` ran its forward first, then ``model[1]`` 2025-03-14T05:25:14.2275375Z would incorrectly see ``float16`` activations instead of ``bfloat16`` 2025-03-14T05:25:14.2275476Z ones. 2025-03-14T05:25:14.2275566Z 2025-03-14T05:25:14.2275663Z 2025-03-14T05:25:14.2275961Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2276064Z 2025-03-14T05:25:14.2276168Z warnings.warn(msg) 2025-03-14T05:25:14.2276269Z 2025-03-14T05:25:14.2276489Z --- Parse Warning: 63 / 116 --- 2025-03-14T05:25:14.2277458Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=FullStateDictConfig in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/fsdp/api.py line=295. 2025-03-14T05:25:14.2277729Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2277828Z 2025-03-14T05:25:14.2278040Z ``FullStateDictConfig`` is a config class meant to be used with 2025-03-14T05:25:14.2278261Z ``StateDictType.FULL_STATE_DICT``. We recommend enabling both 2025-03-14T05:25:14.2278471Z ``offload_to_cpu=True`` and ``rank0_only=True`` when saving full state 2025-03-14T05:25:14.2278715Z dicts to save GPU memory and CPU memory, respectively. This config class 2025-03-14T05:25:14.2278923Z is meant to be used via the :func:`state_dict_type` context manager as 2025-03-14T05:25:14.2279029Z follows: 2025-03-14T05:25:14.2279119Z 2025-03-14T05:25:14.2279270Z >>> # xdoctest: +SKIP("undefined variables") 2025-03-14T05:25:14.2279513Z >>> from torch.distributed.fsdp import FullyShardedDataParallel as FSDP 2025-03-14T05:25:14.2279661Z >>> fsdp = FSDP(model, auto_wrap_policy=...) 2025-03-14T05:25:14.2279873Z >>> cfg = FullStateDictConfig(offload_to_cpu=True, rank0_only=True) 2025-03-14T05:25:14.2280110Z >>> with FSDP.state_dict_type(fsdp, StateDictType.FULL_STATE_DICT, cfg): 2025-03-14T05:25:14.2280227Z >>> state = fsdp.state_dict() 2025-03-14T05:25:14.2280455Z >>> # `state` will be empty on non rank 0 and contain CPU tensors on rank 0. 2025-03-14T05:25:14.2280698Z >>> # To reload checkpoint for inference, finetuning, transfer learning, etc: 2025-03-14T05:25:14.2280952Z >>> model = model_fn() # Initialize model in preparation for wrapping with FSDP 2025-03-14T05:25:14.2281061Z >>> if dist.get_rank() == 0: 2025-03-14T05:25:14.2281260Z >>> # Load checkpoint only on rank 0 to avoid memory redundancy 2025-03-14T05:25:14.2281409Z >>> state_dict = torch.load("my_checkpoint.pt") 2025-03-14T05:25:14.2281545Z >>> model.load_state_dict(state_dict) 2025-03-14T05:25:14.2281785Z >>> # All ranks initialize FSDP module as usual. `sync_module_states` argument 2025-03-14T05:25:14.2282080Z >>> # communicates loaded checkpoint states from rank 0 to rest of the world. 2025-03-14T05:25:14.2282179Z >>> fsdp = FSDP( 2025-03-14T05:25:14.2282285Z ... model, 2025-03-14T05:25:14.2282424Z ... device_id=torch.cuda.current_device(), 2025-03-14T05:25:14.2282546Z ... auto_wrap_policy=..., 2025-03-14T05:25:14.2282656Z ... sync_module_states=True, 2025-03-14T05:25:14.2282757Z ... ) 2025-03-14T05:25:14.2283002Z >>> # After this point, all ranks have FSDP model with loaded checkpoint. 2025-03-14T05:25:14.2283106Z 2025-03-14T05:25:14.2283203Z Attributes: 2025-03-14T05:25:14.2283423Z rank0_only (bool): If ``True``, then only rank 0 saves the full state 2025-03-14T05:25:14.2283632Z dict, and nonzero ranks save an empty dict. If ``False``, then all 2025-03-14T05:25:14.2283810Z ranks save the full state dict. (Default: ``False``) 2025-03-14T05:25:14.2283928Z 2025-03-14T05:25:14.2284198Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2284284Z 2025-03-14T05:25:14.2284401Z warnings.warn(msg) 2025-03-14T05:25:14.2284488Z 2025-03-14T05:25:14.2284684Z --- Parse Warning: 64 / 116 --- 2025-03-14T05:25:14.2285902Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=FullyShardedDataParallel.set_state_dict_type in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/fsdp/fully_sharded_data_parallel.py line=639. 2025-03-14T05:25:14.2286185Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2286437Z Set the ``state_dict_type`` of all the descendant FSDP modules of the target module. 2025-03-14T05:25:14.2286538Z 2025-03-14T05:25:14.2286807Z Also takes (optional) configuration for the model's and optimizer's state dict. 2025-03-14T05:25:14.2287036Z The target module does not have to be a FSDP module. If the target 2025-03-14T05:25:14.2287251Z module is a FSDP module, its ``state_dict_type`` will also be changed. 2025-03-14T05:25:14.2287350Z 2025-03-14T05:25:14.2287552Z .. note:: This API should be called for only the top-level (root) 2025-03-14T05:25:14.2287659Z module. 2025-03-14T05:25:14.2287747Z 2025-03-14T05:25:14.2287975Z .. note:: This API enables users to transparently use the conventional 2025-03-14T05:25:14.2288170Z ``state_dict`` API to take model checkpoints in cases where the 2025-03-14T05:25:14.2288393Z root FSDP module is wrapped by another ``nn.Module``. For example, 2025-03-14T05:25:14.2288607Z the following will ensure ``state_dict`` is called on all non-FSDP 2025-03-14T05:25:14.2288859Z instances, while dispatching into `sharded_state_dict` implementation 2025-03-14T05:25:14.2288962Z for FSDP: 2025-03-14T05:25:14.2289062Z 2025-03-14T05:25:14.2289159Z Example:: 2025-03-14T05:25:14.2289259Z 2025-03-14T05:25:14.2289399Z >>> # xdoctest: +SKIP("undefined variables") 2025-03-14T05:25:14.2289514Z >>> model = DDP(FSDP(...)) 2025-03-14T05:25:14.2289646Z >>> FSDP.set_state_dict_type( 2025-03-14T05:25:14.2289744Z >>> model, 2025-03-14T05:25:14.2289895Z >>> StateDictType.SHARDED_STATE_DICT, 2025-03-14T05:25:14.2290116Z >>> state_dict_config = ShardedStateDictConfig(offload_to_cpu=True), 2025-03-14T05:25:14.2290359Z >>> optim_state_dict_config = OptimStateDictConfig(offload_to_cpu=True), 2025-03-14T05:25:14.2290451Z >>> ) 2025-03-14T05:25:14.2290595Z >>> param_state_dict = model.state_dict() 2025-03-14T05:25:14.2290772Z >>> optim_state_dict = FSDP.optim_state_dict(model, optim) 2025-03-14T05:25:14.2290903Z 2025-03-14T05:25:14.2290993Z Args: 2025-03-14T05:25:14.2291139Z module (torch.nn.Module): Root module. 2025-03-14T05:25:14.2291376Z state_dict_type (StateDictType): the desired ``state_dict_type`` to set. 2025-03-14T05:25:14.2291628Z state_dict_config (Optional[StateDictConfig]): the configuration for the 2025-03-14T05:25:14.2291748Z target ``state_dict_type``. 2025-03-14T05:25:14.2292044Z optim_state_dict_config (Optional[OptimStateDictConfig]): the configuration 2025-03-14T05:25:14.2292169Z for the optimizer state dict. 2025-03-14T05:25:14.2292268Z 2025-03-14T05:25:14.2292359Z Returns: 2025-03-14T05:25:14.2292599Z A StateDictSettings that include the previous state_dict type and 2025-03-14T05:25:14.2292720Z configuration for the module. 2025-03-14T05:25:14.2292851Z 2025-03-14T05:25:14.2293113Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2293211Z 2025-03-14T05:25:14.2293313Z warnings.warn(msg) 2025-03-14T05:25:14.2293411Z 2025-03-14T05:25:14.2293610Z --- Parse Warning: 65 / 116 --- 2025-03-14T05:25:14.2294819Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=FullyShardedDataParallel.state_dict_type in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/fsdp/fully_sharded_data_parallel.py line=797. 2025-03-14T05:25:14.2295088Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2295355Z Set the ``state_dict_type`` of all the descendant FSDP modules of the target module. 2025-03-14T05:25:14.2295443Z 2025-03-14T05:25:14.2295878Z This context manager has the same functions as :meth:`set_state_dict_type`. Read the document of 2025-03-14T05:25:14.2296023Z :meth:`set_state_dict_type` for the detail. 2025-03-14T05:25:14.2296126Z 2025-03-14T05:25:14.2296223Z Example:: 2025-03-14T05:25:14.2296321Z 2025-03-14T05:25:14.2296462Z >>> # xdoctest: +SKIP("undefined variables") 2025-03-14T05:25:14.2296591Z >>> model = DDP(FSDP(...)) 2025-03-14T05:25:14.2296712Z >>> with FSDP.state_dict_type( 2025-03-14T05:25:14.2296820Z >>> model, 2025-03-14T05:25:14.2296960Z >>> StateDictType.SHARDED_STATE_DICT, 2025-03-14T05:25:14.2297064Z >>> ): 2025-03-14T05:25:14.2297194Z >>> checkpoint = model.state_dict() 2025-03-14T05:25:14.2297294Z 2025-03-14T05:25:14.2297382Z Args: 2025-03-14T05:25:14.2297527Z module (torch.nn.Module): Root module. 2025-03-14T05:25:14.2297767Z state_dict_type (StateDictType): the desired ``state_dict_type`` to set. 2025-03-14T05:25:14.2298163Z state_dict_config (Optional[StateDictConfig]): the model ``state_dict`` 2025-03-14T05:25:14.2298327Z configuration for the target ``state_dict_type``. 2025-03-14T05:25:14.2298583Z optim_state_dict_config (Optional[OptimStateDictConfig]): the optimizer 2025-03-14T05:25:14.2298787Z ``state_dict`` configuration for the target ``state_dict_type``. 2025-03-14T05:25:14.2298901Z 2025-03-14T05:25:14.2299166Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2299270Z 2025-03-14T05:25:14.2299374Z warnings.warn(msg) 2025-03-14T05:25:14.2299477Z 2025-03-14T05:25:14.2299683Z --- Parse Warning: 66 / 116 --- 2025-03-14T05:25:14.2300868Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=FullyShardedDataParallel.optim_state_dict in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/fsdp/fully_sharded_data_parallel.py line=1810. 2025-03-14T05:25:14.2301219Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2301323Z 2025-03-14T05:25:14.2301571Z Transform the state-dict of an optimizer corresponding to a sharded model. 2025-03-14T05:25:14.2301674Z 2025-03-14T05:25:14.2301877Z The given state-dict can be transformed to one of three types: 2025-03-14T05:25:14.2302238Z 1) full optimizer state_dict, 2) sharded optimizer state_dict, 3) local optimizer state_dict. 2025-03-14T05:25:14.2302325Z 2025-03-14T05:25:14.2302579Z For full optimizer state_dict, all states are unflattened and not sharded. 2025-03-14T05:25:14.2302805Z Rank0 only and CPU only can be specified via :meth:`state_dict_type` to 2025-03-14T05:25:14.2302915Z avoid OOM. 2025-03-14T05:25:14.2303004Z 2025-03-14T05:25:14.2303264Z For sharded optimizer state_dict, all states are unflattened but sharded. 2025-03-14T05:25:14.2303514Z CPU only can be specified via :meth:`state_dict_type` to further save 2025-03-14T05:25:14.2303617Z memory. 2025-03-14T05:25:14.2303704Z 2025-03-14T05:25:14.2303927Z For local state_dict, no transformation will be performed. But a state 2025-03-14T05:25:14.2304188Z will be converted from nn.Tensor to ShardedTensor to represent its sharding 2025-03-14T05:25:14.2304314Z nature (this is not supported yet). 2025-03-14T05:25:14.2304418Z 2025-03-14T05:25:14.2304515Z Example:: 2025-03-14T05:25:14.2304615Z 2025-03-14T05:25:14.2304800Z >>> # xdoctest: +SKIP("undefined variables") 2025-03-14T05:25:14.2305057Z >>> from torch.distributed.fsdp import FullyShardedDataParallel as FSDP 2025-03-14T05:25:14.2305223Z >>> from torch.distributed.fsdp import StateDictType 2025-03-14T05:25:14.2305422Z >>> from torch.distributed.fsdp import FullStateDictConfig 2025-03-14T05:25:14.2305629Z >>> from torch.distributed.fsdp import FullOptimStateDictConfig 2025-03-14T05:25:14.2305751Z >>> # Save a checkpoint 2025-03-14T05:25:14.2305857Z >>> model, optim = ... 2025-03-14T05:25:14.2305981Z >>> FSDP.set_state_dict_type( 2025-03-14T05:25:14.2306074Z >>> model, 2025-03-14T05:25:14.2306210Z >>> StateDictType.FULL_STATE_DICT, 2025-03-14T05:25:14.2306346Z >>> FullStateDictConfig(rank0_only=False), 2025-03-14T05:25:14.2306510Z >>> FullOptimStateDictConfig(rank0_only=False), 2025-03-14T05:25:14.2306600Z >>> ) 2025-03-14T05:25:14.2306733Z >>> state_dict = model.state_dict() 2025-03-14T05:25:14.2306908Z >>> optim_state_dict = FSDP.optim_state_dict(model, optim) 2025-03-14T05:25:14.2307074Z >>> save_a_checkpoint(state_dict, optim_state_dict) 2025-03-14T05:25:14.2307177Z >>> # Load a checkpoint 2025-03-14T05:25:14.2307295Z >>> model, optim = ... 2025-03-14T05:25:14.2307450Z >>> state_dict, optim_state_dict = load_a_checkpoint() 2025-03-14T05:25:14.2307576Z >>> FSDP.set_state_dict_type( 2025-03-14T05:25:14.2307668Z >>> model, 2025-03-14T05:25:14.2307804Z >>> StateDictType.FULL_STATE_DICT, 2025-03-14T05:25:14.2307939Z >>> FullStateDictConfig(rank0_only=False), 2025-03-14T05:25:14.2308099Z >>> FullOptimStateDictConfig(rank0_only=False), 2025-03-14T05:25:14.2308187Z >>> ) 2025-03-14T05:25:14.2308318Z >>> model.load_state_dict(state_dict) 2025-03-14T05:25:14.2308474Z >>> optim_state_dict = FSDP.optim_state_dict_to_load( 2025-03-14T05:25:14.2308607Z >>> model, optim, optim_state_dict 2025-03-14T05:25:14.2308695Z >>> ) 2025-03-14T05:25:14.2308834Z >>> optim.load_state_dict(optim_state_dict) 2025-03-14T05:25:14.2308920Z 2025-03-14T05:25:14.2309019Z Args: 2025-03-14T05:25:14.2309219Z model (torch.nn.Module): Root module (which may or may not be a 2025-03-14T05:25:14.2309425Z :class:`FullyShardedDataParallel` instance) whose parameters 2025-03-14T05:25:14.2309605Z were passed into the optimizer ``optim``. 2025-03-14T05:25:14.2309793Z optim (torch.optim.Optimizer): Optimizer for ``model`` 's 2025-03-14T05:25:14.2309902Z parameters. 2025-03-14T05:25:14.2310119Z optim_state_dict (Dict[str, Any]): the target optimizer state_dict to 2025-03-14T05:25:14.2310344Z transform. If the value is None, optim.state_dict() will be used. ( 2025-03-14T05:25:14.2310447Z Default: ``None``) 2025-03-14T05:25:14.2310727Z group (dist.ProcessGroup): Model's process group across which parameters 2025-03-14T05:25:14.2310918Z are sharded or ``None`` if using the default process group. ( 2025-03-14T05:25:14.2311030Z Default: ``None``) 2025-03-14T05:25:14.2311118Z 2025-03-14T05:25:14.2311221Z Returns: 2025-03-14T05:25:14.2311417Z Dict[str, Any]: A :class:`dict` containing the optimizer state for 2025-03-14T05:25:14.2311646Z ``model``. The sharding of the optimizer state is based on 2025-03-14T05:25:14.2311748Z ``state_dict_type``. 2025-03-14T05:25:14.2311845Z 2025-03-14T05:25:14.2312101Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2312198Z 2025-03-14T05:25:14.2312299Z warnings.warn(msg) 2025-03-14T05:25:14.2312395Z 2025-03-14T05:25:14.2312594Z --- Parse Warning: 67 / 116 --- 2025-03-14T05:25:14.2313862Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=FullyShardedDataParallel.optim_state_dict_to_load in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/fsdp/fully_sharded_data_parallel.py line=1908. 2025-03-14T05:25:14.2314130Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2314232Z 2025-03-14T05:25:14.2314590Z Convert an optimizer state-dict so that it can be loaded into the optimizer associated with the FSDP model. 2025-03-14T05:25:14.2314691Z 2025-03-14T05:25:14.2314867Z Given a ``optim_state_dict`` that is transformed through 2025-03-14T05:25:14.2315100Z :meth:`optim_state_dict`, it gets converted to the flattened optimizer 2025-03-14T05:25:14.2315316Z state_dict that can be loaded to ``optim`` which is the optimizer for 2025-03-14T05:25:14.2315523Z ``model``. ``model`` must be sharded by FullyShardedDataParallel. 2025-03-14T05:25:14.2315610Z 2025-03-14T05:25:14.2315762Z >>> # xdoctest: +SKIP("undefined variables") 2025-03-14T05:25:14.2316005Z >>> from torch.distributed.fsdp import FullyShardedDataParallel as FSDP 2025-03-14T05:25:14.2316179Z >>> from torch.distributed.fsdp import StateDictType 2025-03-14T05:25:14.2316363Z >>> from torch.distributed.fsdp import FullStateDictConfig 2025-03-14T05:25:14.2316579Z >>> from torch.distributed.fsdp import FullOptimStateDictConfig 2025-03-14T05:25:14.2316691Z >>> # Save a checkpoint 2025-03-14T05:25:14.2316809Z >>> model, optim = ... 2025-03-14T05:25:14.2316922Z >>> FSDP.set_state_dict_type( 2025-03-14T05:25:14.2317026Z >>> model, 2025-03-14T05:25:14.2317152Z >>> StateDictType.FULL_STATE_DICT, 2025-03-14T05:25:14.2317301Z >>> FullStateDictConfig(rank0_only=False), 2025-03-14T05:25:14.2317451Z >>> FullOptimStateDictConfig(rank0_only=False), 2025-03-14T05:25:14.2317552Z >>> ) 2025-03-14T05:25:14.2317671Z >>> state_dict = model.state_dict() 2025-03-14T05:25:14.2317811Z >>> original_osd = optim.state_dict() 2025-03-14T05:25:14.2317947Z >>> optim_state_dict = FSDP.optim_state_dict( 2025-03-14T05:25:14.2318050Z >>> model, 2025-03-14T05:25:14.2318144Z >>> optim, 2025-03-14T05:25:14.2318277Z >>> optim_state_dict=original_osd 2025-03-14T05:25:14.2318364Z >>> ) 2025-03-14T05:25:14.2318526Z >>> save_a_checkpoint(state_dict, optim_state_dict) 2025-03-14T05:25:14.2318658Z >>> # Load a checkpoint 2025-03-14T05:25:14.2318776Z >>> model, optim = ... 2025-03-14T05:25:14.2318933Z >>> state_dict, optim_state_dict = load_a_checkpoint() 2025-03-14T05:25:14.2319057Z >>> FSDP.set_state_dict_type( 2025-03-14T05:25:14.2319148Z >>> model, 2025-03-14T05:25:14.2319273Z >>> StateDictType.FULL_STATE_DICT, 2025-03-14T05:25:14.2319421Z >>> FullStateDictConfig(rank0_only=False), 2025-03-14T05:25:14.2319598Z >>> FullOptimStateDictConfig(rank0_only=False), 2025-03-14T05:25:14.2319703Z >>> ) 2025-03-14T05:25:14.2319826Z >>> model.load_state_dict(state_dict) 2025-03-14T05:25:14.2319991Z >>> optim_state_dict = FSDP.optim_state_dict_to_load( 2025-03-14T05:25:14.2320111Z >>> model, optim, optim_state_dict 2025-03-14T05:25:14.2320212Z >>> ) 2025-03-14T05:25:14.2320340Z >>> optim.load_state_dict(optim_state_dict) 2025-03-14T05:25:14.2320466Z 2025-03-14T05:25:14.2320555Z Args: 2025-03-14T05:25:14.2320763Z model (torch.nn.Module): Root module (which may or may not be a 2025-03-14T05:25:14.2320969Z :class:`FullyShardedDataParallel` instance) whose parameters 2025-03-14T05:25:14.2321119Z were passed into the optimizer ``optim``. 2025-03-14T05:25:14.2321305Z optim (torch.optim.Optimizer): Optimizer for ``model`` 's 2025-03-14T05:25:14.2321413Z parameters. 2025-03-14T05:25:14.2321663Z optim_state_dict (Dict[str, Any]): The optimizer states to be loaded. 2025-03-14T05:25:14.2321880Z is_named_optimizer (bool): Is this optimizer a NamedOptimizer or 2025-03-14T05:25:14.2322079Z KeyedOptimizer. Only set to True if ``optim`` is TorchRec's 2025-03-14T05:25:14.2322274Z KeyedOptimizer or torch.distributed's NamedOptimizer. 2025-03-14T05:25:14.2322472Z load_directly (bool): If this is set to True, this API will also 2025-03-14T05:25:14.2322689Z call optim.load_state_dict(result) before returning the result. 2025-03-14T05:25:14.2322914Z Otherwise, users are responsible to call ``optim.load_state_dict()`` 2025-03-14T05:25:14.2323033Z (Default: ``False``) 2025-03-14T05:25:14.2323278Z group (dist.ProcessGroup): Model's process group across which parameters 2025-03-14T05:25:14.2323480Z are sharded or ``None`` if using the default process group. ( 2025-03-14T05:25:14.2323584Z Default: ``None``) 2025-03-14T05:25:14.2323681Z 2025-03-14T05:25:14.2323946Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2324044Z 2025-03-14T05:25:14.2324147Z warnings.warn(msg) 2025-03-14T05:25:14.2324250Z 2025-03-14T05:25:14.2324450Z --- Parse Warning: 68 / 116 --- 2025-03-14T05:25:14.2325463Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=_RemoteModule.__init__ in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/nn/api/remote_module.py line=128. 2025-03-14T05:25:14.2325733Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2325838Z 2025-03-14T05:25:14.2326070Z RemoteModule instance can only be created after RPC initialization. 2025-03-14T05:25:14.2326173Z 2025-03-14T05:25:14.2326371Z It creates a user-specified module on a specified remote node. 2025-03-14T05:25:14.2326627Z It behaves like a regular ``nn.Module`` except that the ``forward`` method is 2025-03-14T05:25:14.2326741Z executed on the remote node. 2025-03-14T05:25:14.2326990Z It takes care of autograd recording to ensure the backward pass propagates 2025-03-14T05:25:14.2327151Z gradients back to the corresponding remote module. 2025-03-14T05:25:14.2327523Z It can be shared across processors using `RPC framework `__, 2025-03-14T05:25:14.2327764Z without incurring any overheads of copying the actual module, 2025-03-14T05:25:14.2327984Z which is equivalent to an :class:`~torch.distributed.rpc.RRef` 2025-03-14T05:25:14.2328099Z pointing to the remote module. 2025-03-14T05:25:14.2328195Z 2025-03-14T05:25:14.2328403Z The arguments of ``forward_async`` and ``forward`` are the same as 2025-03-14T05:25:14.2328619Z the ``forward`` method of the module returned by the ``module_cls``. 2025-03-14T05:25:14.2328706Z 2025-03-14T05:25:14.2329058Z Apart from ``forward_async`` and ``forward``, no other methods are supported from nn.Module for now. 2025-03-14T05:25:14.2329145Z 2025-03-14T05:25:14.2329414Z Particularly, to create a hybrid model, typically the local modules should be 2025-03-14T05:25:14.2329790Z created outside of remote modules, rather than as submodules of any remote module (by calling ``add_module``). 2025-03-14T05:25:14.2329904Z Hybrid Example: 2025-03-14T05:25:14.2330056Z >>> class HybridModel(nn.Module): 2025-03-14T05:25:14.2330189Z >>> def __init__(self) -> None: 2025-03-14T05:25:14.2330307Z >>> nn.Module.__init__(self) 2025-03-14T05:25:14.2330469Z >>> self.remote_embedding = RemoteModule(...) 2025-03-14T05:25:14.2330601Z >>> self.local_linear = nn.Linear(...) 2025-03-14T05:25:14.2330701Z 2025-03-14T05:25:14.2330909Z For example, if ``module_cls`` returns an instance of ``nn.Linear``, 2025-03-14T05:25:14.2331207Z that has ``forward`` method signature, ``def forward(input: Tensor) -> Tensor:``, 2025-03-14T05:25:14.2331423Z the generated ``RemoteModule`` will have 2 methods in signature of 2025-03-14T05:25:14.2331573Z ``def forward(input: Tensor) -> Tensor:`` and 2025-03-14T05:25:14.2331746Z ``def forward_async(input: Tensor) -> Future[Tensor]:``. 2025-03-14T05:25:14.2331849Z 2025-03-14T05:25:14.2331946Z .. note:: 2025-03-14T05:25:14.2332099Z If the remote module is placed on a cuda device, 2025-03-14T05:25:14.2332359Z any input CPU tensors will be automatically moved to the same cuda device, 2025-03-14T05:25:14.2332777Z and GPU tensors are returned over the wire according to the device map of the remote worker on TensorPipe RPC backend. 2025-03-14T05:25:14.2332868Z 2025-03-14T05:25:14.2332958Z Args: 2025-03-14T05:25:14.2333274Z remote_device (str): Device on the destination worker where we'd like to place this module. 2025-03-14T05:25:14.2333571Z The device can be a local device or a remote device specified by one of the following remote 2025-03-14T05:25:14.2333685Z formats: 2025-03-14T05:25:14.2333774Z 2025-03-14T05:25:14.2333934Z 1. "rank:/" (ex: "rank:0/cuda:0"). 2025-03-14T05:25:14.2334091Z 2. "/" (ex: "trainer0/cuda:0"). 2025-03-14T05:25:14.2334190Z 2025-03-14T05:25:14.2334444Z In addition, the device field can be optional and the default value is "cpu". 2025-03-14T05:25:14.2334591Z module_cls (nn.Module): For example, 2025-03-14T05:25:14.2334709Z >>> class MyModule(nn.Module): 2025-03-14T05:25:14.2334831Z >>> def forward(input): 2025-03-14T05:25:14.2334938Z >>> return input + 1 2025-03-14T05:25:14.2335039Z >>> 2025-03-14T05:25:14.2335149Z >>> module_cls = MyModule 2025-03-14T05:25:14.2335366Z args (Sequence, optional): args to be passed to ``module_cls``. 2025-03-14T05:25:14.2335566Z kwargs (Dict, optional): kwargs to be passed to ``module_cls``. 2025-03-14T05:25:14.2335958Z _module_interface_cls (type, optional): The TorchScript interface type for the module 2025-03-14T05:25:14.2336197Z to be created. The type object should be decorated by @torch.jit.interface. 2025-03-14T05:25:14.2336436Z If not provided, the generated RemoteModule is not torchscript-able. 2025-03-14T05:25:14.2336713Z Warning, this is an experimental API and susceptible to frequent changes. 2025-03-14T05:25:14.2336811Z 2025-03-14T05:25:14.2336903Z Returns: 2025-03-14T05:25:14.2337163Z A remote module instance which wraps the :class:`~nn.Module` created by the 2025-03-14T05:25:14.2337397Z user-provided ``module_cls``, it has a blocking ``forward`` method and an 2025-03-14T05:25:14.2337681Z asynchronous ``forward_async`` method that returns a future of the ``forward`` call 2025-03-14T05:25:14.2337833Z on the user-provided module on the remote side. 2025-03-14T05:25:14.2337956Z 2025-03-14T05:25:14.2338051Z Example:: 2025-03-14T05:25:14.2338223Z Run the following code in two different processes: 2025-03-14T05:25:14.2338312Z 2025-03-14T05:25:14.2338447Z >>> # xdoctest: +SKIP("distributed") 2025-03-14T05:25:14.2338546Z >>> # On worker 0: 2025-03-14T05:25:14.2338657Z >>> import torch 2025-03-14T05:25:14.2338789Z >>> import torch.distributed.rpc as rpc 2025-03-14T05:25:14.2338947Z >>> from torch import nn, Tensor 2025-03-14T05:25:14.2339171Z >>> from torch.distributed.nn.api.remote_module import RemoteModule 2025-03-14T05:25:14.2339269Z >>> 2025-03-14T05:25:14.2339417Z >>> rpc.init_rpc("worker0", rank=0, world_size=2) 2025-03-14T05:25:14.2339555Z >>> remote_linear_module = RemoteModule( 2025-03-14T05:25:14.2339688Z >>> "worker1/cpu", nn.Linear, args=(20, 30), 2025-03-14T05:25:14.2339788Z >>> ) 2025-03-14T05:25:14.2339929Z >>> input = torch.randn(128, 20) 2025-03-14T05:25:14.2340099Z >>> ret_fut = remote_linear_module.forward_async(input) 2025-03-14T05:25:14.2340204Z >>> ret = ret_fut.wait() 2025-03-14T05:25:14.2340320Z >>> rpc.shutdown() 2025-03-14T05:25:14.2340408Z 2025-03-14T05:25:14.2340503Z >>> # On worker 1: 2025-03-14T05:25:14.2340609Z >>> import torch 2025-03-14T05:25:14.2340742Z >>> import torch.distributed.rpc as rpc 2025-03-14T05:25:14.2340844Z >>> 2025-03-14T05:25:14.2340989Z >>> rpc.init_rpc("worker1", rank=1, world_size=2) 2025-03-14T05:25:14.2341101Z >>> rpc.shutdown() 2025-03-14T05:25:14.2341186Z 2025-03-14T05:25:14.2341457Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2341541Z 2025-03-14T05:25:14.2341654Z warnings.warn(msg) 2025-03-14T05:25:14.2341743Z 2025-03-14T05:25:14.2341968Z --- Parse Warning: 69 / 116 --- 2025-03-14T05:25:14.2343032Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=_RemoteModule.init_from_module_rref in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/nn/api/remote_module.py line=505. 2025-03-14T05:25:14.2343313Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2343400Z 2025-03-14T05:25:14.2343746Z Besides the constructor, a RemoteModule instance can also be initialized given a module RRef. 2025-03-14T05:25:14.2343832Z 2025-03-14T05:25:14.2344176Z This alternate initialization method can be particularly useful if we want to create multiple 2025-03-14T05:25:14.2344497Z RemoteModule instances that share the same underlying module and reduce memory consumption. 2025-03-14T05:25:14.2344600Z 2025-03-14T05:25:14.2344883Z Moreover, this also provides a workaround for passing script RemoteModule over RPC, 2025-03-14T05:25:14.2345086Z which is not supported. The recommended way is as follows: 2025-03-14T05:25:14.2345174Z 2025-03-14T05:25:14.2345311Z 1. the sender creates a RemoteModule; 2025-03-14T05:25:14.2345458Z 2. the sender sends its ``module_rref`` over RPC; 2025-03-14T05:25:14.2345810Z 3. the receiver calls this method to initialize another RemoteModule using the same ``module_rref``. 2025-03-14T05:25:14.2345900Z 2025-03-14T05:25:14.2346037Z Example:: 2025-03-14T05:25:14.2346195Z Run the following code in two different processes: 2025-03-14T05:25:14.2346293Z 2025-03-14T05:25:14.2346412Z >>> # xdoctest: +SKIP("distributed") 2025-03-14T05:25:14.2346521Z >>> # On worker 0: 2025-03-14T05:25:14.2346618Z >>> import torch 2025-03-14T05:25:14.2346762Z >>> import torch.distributed.rpc as rpc 2025-03-14T05:25:14.2346875Z >>> from torch import nn, Tensor 2025-03-14T05:25:14.2347114Z >>> from torch.distributed.nn.api.remote_module import RemoteModule 2025-03-14T05:25:14.2347248Z >>> 2025-03-14T05:25:14.2347406Z >>> rpc.init_rpc("worker0", rank=0, world_size=2) 2025-03-14T05:25:14.2347523Z >>> remote_module = RemoteModule( 2025-03-14T05:25:14.2347667Z >>> "worker1/cpu", nn.Linear, args=(20, 30), 2025-03-14T05:25:14.2347754Z >>> ) 2025-03-14T05:25:14.2347855Z >>> 2025-03-14T05:25:14.2347974Z >>> remote_module1 = rpc.rpc_sync( 2025-03-14T05:25:14.2348118Z >>> "worker1/cpu", 2025-03-14T05:25:14.2348247Z >>> RemoteModule.init_from_module_rref, 2025-03-14T05:25:14.2348421Z >>> ("worker1/cpu", remote_module1.get_module_rref()), 2025-03-14T05:25:14.2348512Z >>> ) 2025-03-14T05:25:14.2348613Z >>> rpc.shutdown() 2025-03-14T05:25:14.2348712Z 2025-03-14T05:25:14.2348807Z >>> # On worker 1: 2025-03-14T05:25:14.2348916Z >>> import torch 2025-03-14T05:25:14.2349046Z >>> import torch.distributed.rpc as rpc 2025-03-14T05:25:14.2349147Z >>> 2025-03-14T05:25:14.2349317Z >>> rpc.init_rpc("worker1", rank=1, world_size=2) 2025-03-14T05:25:14.2349430Z >>> rpc.shutdown() 2025-03-14T05:25:14.2349514Z 2025-03-14T05:25:14.2349614Z Args: 2025-03-14T05:25:14.2349914Z remote_device (str): Device on the destination worker where we'd like to place this module. 2025-03-14T05:25:14.2350222Z The device can be a local device or a remote device specified by one of the following remote 2025-03-14T05:25:14.2350317Z formats: 2025-03-14T05:25:14.2350414Z 2025-03-14T05:25:14.2350559Z 1. "rank:/" (ex: "rank:0/cuda:0"). 2025-03-14T05:25:14.2350725Z 2. "/" (ex: "trainer0/cuda:0"). 2025-03-14T05:25:14.2350810Z 2025-03-14T05:25:14.2351075Z In addition, the device field can be optional and the default value is "cpu". 2025-03-14T05:25:14.2351328Z module_rref (RRef[nn.Module]): The module reference shared by both the caller and 2025-03-14T05:25:14.2351454Z the created remote module. 2025-03-14T05:25:14.2351733Z _module_interface_cls (type, optional): The TorchScript interface type for the module 2025-03-14T05:25:14.2351984Z to be created. The type object should be decorated by @torch.jit.interface. 2025-03-14T05:25:14.2352208Z If not provided, the generated RemoteModule is not torchscript-able. 2025-03-14T05:25:14.2352459Z Warning, this is an experimental API and susceptible to frequent changes. 2025-03-14T05:25:14.2352545Z 2025-03-14T05:25:14.2352648Z Returns: 2025-03-14T05:25:14.2352890Z A remote module instance which wraps the :class:`~nn.Module` created by the 2025-03-14T05:25:14.2353142Z user-provided ``module_rref``, it has a blocking ``forward`` method and an 2025-03-14T05:25:14.2353419Z asynchronous ``forward_async`` method that returns a future of the ``forward`` call 2025-03-14T05:25:14.2353583Z on the user-provided module on the remote side. 2025-03-14T05:25:14.2353671Z 2025-03-14T05:25:14.2353941Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2354029Z 2025-03-14T05:25:14.2354144Z warnings.warn(msg) 2025-03-14T05:25:14.2354229Z 2025-03-14T05:25:14.2354442Z --- Parse Warning: 70 / 116 --- 2025-03-14T05:25:14.2355411Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=RemoteModule in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/nn/api/remote_module.py line=597. 2025-03-14T05:25:14.2355735Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2355820Z 2025-03-14T05:25:14.2356071Z A RemoteModule instance can only be created after RPC initialization. 2025-03-14T05:25:14.2356159Z 2025-03-14T05:25:14.2356371Z It creates a user-specified module on a specified remote node. 2025-03-14T05:25:14.2356633Z It behaves like a regular ``nn.Module`` except that the ``forward`` method is 2025-03-14T05:25:14.2356762Z executed on the remote node. 2025-03-14T05:25:14.2357003Z It takes care of autograd recording to ensure the backward pass propagates 2025-03-14T05:25:14.2357179Z gradients back to the corresponding remote module. 2025-03-14T05:25:14.2357269Z 2025-03-14T05:25:14.2357532Z It generates two methods ``forward_async`` and ``forward`` based on the 2025-03-14T05:25:14.2357750Z signature of the ``forward`` method of ``module_cls``. ``forward_async`` 2025-03-14T05:25:14.2358018Z runs asynchronously and returns a Future. The arguments of ``forward_async`` 2025-03-14T05:25:14.2358221Z and ``forward`` are the same as the ``forward`` method of the module 2025-03-14T05:25:14.2358348Z returned by the ``module_cls``. 2025-03-14T05:25:14.2358435Z 2025-03-14T05:25:14.2358755Z For example, if ``module_cls`` returns an instance of ``nn.Linear``, 2025-03-14T05:25:14.2359011Z that has ``forward`` method signature: ``def forward(input: Tensor) -> Tensor:``, 2025-03-14T05:25:14.2359256Z the generated ``RemoteModule`` will have 2 methods with the signatures: 2025-03-14T05:25:14.2359343Z 2025-03-14T05:25:14.2359498Z | ``def forward(input: Tensor) -> Tensor:`` 2025-03-14T05:25:14.2359669Z | ``def forward_async(input: Tensor) -> Future[Tensor]:`` 2025-03-14T05:25:14.2359776Z 2025-03-14T05:25:14.2359867Z Args: 2025-03-14T05:25:14.2360169Z remote_device (str): Device on the destination worker where we'd like to place this module. 2025-03-14T05:25:14.2360530Z The format should be "/", where the device field can be parsed as torch.device type. 2025-03-14T05:25:14.2360689Z E.g., "trainer0/cpu", "trainer0", "ps0/cuda:0". 2025-03-14T05:25:14.2360946Z In addition, the device field can be optional and the default value is "cpu". 2025-03-14T05:25:14.2361217Z module_cls (nn.Module): Class for the module to be created remotely. For example, 2025-03-14T05:25:14.2361306Z 2025-03-14T05:25:14.2361440Z >>> class MyModule(nn.Module): 2025-03-14T05:25:14.2361553Z >>> def forward(input): 2025-03-14T05:25:14.2361662Z >>> return input + 1 2025-03-14T05:25:14.2361768Z >>> 2025-03-14T05:25:14.2361880Z >>> module_cls = MyModule 2025-03-14T05:25:14.2361983Z 2025-03-14T05:25:14.2362188Z args (Sequence, optional): args to be passed to ``module_cls``. 2025-03-14T05:25:14.2362401Z kwargs (Dict, optional): kwargs to be passed to ``module_cls``. 2025-03-14T05:25:14.2362490Z 2025-03-14T05:25:14.2362594Z Returns: 2025-03-14T05:25:14.2362842Z A remote module instance which wraps the :class:`~nn.Module` created by the 2025-03-14T05:25:14.2363094Z user-provided ``module_cls``, it has a blocking ``forward`` method and an 2025-03-14T05:25:14.2363377Z asynchronous ``forward_async`` method that returns a future of the ``forward`` call 2025-03-14T05:25:14.2363546Z on the user-provided module on the remote side. 2025-03-14T05:25:14.2363636Z 2025-03-14T05:25:14.2363748Z Example:: 2025-03-14T05:25:14.2363908Z Run the following code in two different processes: 2025-03-14T05:25:14.2364011Z 2025-03-14T05:25:14.2364135Z >>> # xdoctest: +SKIP("distributed") 2025-03-14T05:25:14.2364285Z >>> # On worker 0: 2025-03-14T05:25:14.2364385Z >>> import torch 2025-03-14T05:25:14.2364533Z >>> import torch.distributed.rpc as rpc 2025-03-14T05:25:14.2364649Z >>> from torch import nn, Tensor 2025-03-14T05:25:14.2364891Z >>> from torch.distributed.nn.api.remote_module import RemoteModule 2025-03-14T05:25:14.2364983Z >>> 2025-03-14T05:25:14.2365143Z >>> rpc.init_rpc("worker0", rank=0, world_size=2) 2025-03-14T05:25:14.2365270Z >>> remote_linear_module = RemoteModule( 2025-03-14T05:25:14.2365441Z >>> "worker1/cpu", nn.Linear, args=(20, 30), 2025-03-14T05:25:14.2365530Z >>> ) 2025-03-14T05:25:14.2365657Z >>> input = torch.randn(128, 20) 2025-03-14T05:25:14.2365819Z >>> ret_fut = remote_linear_module.forward_async(input) 2025-03-14T05:25:14.2365936Z >>> ret = ret_fut.wait() 2025-03-14T05:25:14.2366037Z >>> rpc.shutdown() 2025-03-14T05:25:14.2366177Z 2025-03-14T05:25:14.2366275Z >>> # On worker 1: 2025-03-14T05:25:14.2366383Z >>> import torch 2025-03-14T05:25:14.2366513Z >>> import torch.distributed.rpc as rpc 2025-03-14T05:25:14.2366601Z >>> 2025-03-14T05:25:14.2366755Z >>> rpc.init_rpc("worker1", rank=1, world_size=2) 2025-03-14T05:25:14.2366857Z >>> rpc.shutdown() 2025-03-14T05:25:14.2366956Z 2025-03-14T05:25:14.2367156Z Furthermore, a more practical example that is combined with 2025-03-14T05:25:14.2367677Z `DistributedDataParallel `__ (DDP) 2025-03-14T05:25:14.2368014Z can be found in this `tutorial `__. 2025-03-14T05:25:14.2368114Z 2025-03-14T05:25:14.2368374Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2368472Z 2025-03-14T05:25:14.2368578Z warnings.warn(msg) 2025-03-14T05:25:14.2368677Z 2025-03-14T05:25:14.2368877Z --- Parse Warning: 71 / 116 --- 2025-03-14T05:25:14.2369883Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=DistributedOptimizer in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/optim/optimizer.py line=130. 2025-03-14T05:25:14.2370155Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2370254Z 2025-03-14T05:25:14.2370507Z DistributedOptimizer takes remote references to parameters scattered 2025-03-14T05:25:14.2370766Z across workers and applies the given optimizer locally for each parameter. 2025-03-14T05:25:14.2370855Z 2025-03-14T05:25:14.2371114Z This class uses :meth:`~torch.distributed.autograd.get_gradients` in order 2025-03-14T05:25:14.2371277Z to retrieve the gradients for specific parameters. 2025-03-14T05:25:14.2371380Z 2025-03-14T05:25:14.2371483Z Concurrent calls to 2025-03-14T05:25:14.2371708Z :meth:`~torch.distributed.optim.DistributedOptimizer.step`, 2025-03-14T05:25:14.2371858Z either from the same or different clients, will 2025-03-14T05:25:14.2372098Z be serialized on each worker -- as each worker's optimizer can only work 2025-03-14T05:25:14.2372309Z on one set of gradients at a time. However, there is no guarantee that 2025-03-14T05:25:14.2372573Z the full forward-backward-optimizer sequence will execute for one client 2025-03-14T05:25:14.2372799Z at a time. This means that the gradients being applied may not correspond 2025-03-14T05:25:14.2373039Z to the latest forward pass executed on a given worker. Also, there is no 2025-03-14T05:25:14.2373162Z guaranteed ordering across workers. 2025-03-14T05:25:14.2373261Z 2025-03-14T05:25:14.2373527Z `DistributedOptimizer` creates the local optimizer with TorchScript enabled 2025-03-14T05:25:14.2373773Z by default, so that optimizer updates are not blocked by the Python Global 2025-03-14T05:25:14.2374052Z Interpreter Lock (GIL) in the case of multithreaded training (e.g. Distributed 2025-03-14T05:25:14.2374313Z Model Parallel). This feature is currently enabled for most optimizers. You 2025-03-14T05:25:14.2374572Z can also follow `the recipe`__ in PyTorch tutorials to enable TorchScript support 2025-03-14T05:25:14.2374697Z for your own custom optimizers. 2025-03-14T05:25:14.2374783Z 2025-03-14T05:25:14.2374886Z Args: 2025-03-14T05:25:14.2375118Z optimizer_class (optim.Optimizer): the class of optimizer to 2025-03-14T05:25:14.2375245Z instantiate on each worker. 2025-03-14T05:25:14.2375460Z params_rref (list[RRef]): list of RRefs to local or remote parameters 2025-03-14T05:25:14.2375570Z to optimize. 2025-03-14T05:25:14.2375858Z args: arguments to pass to the optimizer constructor on each worker. 2025-03-14T05:25:14.2376101Z kwargs: arguments to pass to the optimizer constructor on each worker. 2025-03-14T05:25:14.2376225Z 2025-03-14T05:25:14.2376338Z Example:: 2025-03-14T05:25:14.2376463Z >>> # xdoctest: +SKIP("distributed") 2025-03-14T05:25:14.2376652Z >>> import torch.distributed.autograd as dist_autograd 2025-03-14T05:25:14.2376786Z >>> import torch.distributed.rpc as rpc 2025-03-14T05:25:14.2376912Z >>> from torch import optim 2025-03-14T05:25:14.2377107Z >>> from torch.distributed.optim import DistributedOptimizer 2025-03-14T05:25:14.2377210Z >>> 2025-03-14T05:25:14.2377389Z >>> with dist_autograd.context() as context_id: 2025-03-14T05:25:14.2377507Z >>> # Forward pass. 2025-03-14T05:25:14.2377711Z >>> rref1 = rpc.remote("worker1", torch.add, args=(torch.ones(2), 3)) 2025-03-14T05:25:14.2377922Z >>> rref2 = rpc.remote("worker1", torch.add, args=(torch.ones(2), 1)) 2025-03-14T05:25:14.2378055Z >>> loss = rref1.to_here() + rref2.to_here() 2025-03-14T05:25:14.2378160Z >>> 2025-03-14T05:25:14.2378264Z >>> # Backward pass. 2025-03-14T05:25:14.2378433Z >>> dist_autograd.backward(context_id, [loss.sum()]) 2025-03-14T05:25:14.2378524Z >>> 2025-03-14T05:25:14.2378621Z >>> # Optimizer. 2025-03-14T05:25:14.2378763Z >>> dist_optim = DistributedOptimizer( 2025-03-14T05:25:14.2378861Z >>> optim.SGD, 2025-03-14T05:25:14.2378977Z >>> [rref1, rref2], 2025-03-14T05:25:14.2379076Z >>> lr=0.05, 2025-03-14T05:25:14.2379178Z >>> ) 2025-03-14T05:25:14.2379298Z >>> dist_optim.step(context_id) 2025-03-14T05:25:14.2379399Z 2025-03-14T05:25:14.2379561Z __ https://github.com/pytorch/tutorials/pull/1465 2025-03-14T05:25:14.2379661Z 2025-03-14T05:25:14.2379920Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2380021Z 2025-03-14T05:25:14.2380124Z warnings.warn(msg) 2025-03-14T05:25:14.2380228Z 2025-03-14T05:25:14.2380435Z --- Parse Warning: 72 / 116 --- 2025-03-14T05:25:14.2381510Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=PostLocalSGDOptimizer in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/optim/post_localSGD_optimizer.py line=9. 2025-03-14T05:25:14.2381776Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2381879Z 2025-03-14T05:25:14.2382276Z Wraps an arbitrary :class:`torch.optim.Optimizer` and runs `post-local SGD `_, 2025-03-14T05:25:14.2382455Z This optimizer runs local optimizer at every step. 2025-03-14T05:25:14.2382790Z After the warm-up stage, it averages parameters periodically afer the local optimizer is applied. 2025-03-14T05:25:14.2382893Z 2025-03-14T05:25:14.2382984Z Args: 2025-03-14T05:25:14.2383109Z optim: The local optimizer. 2025-03-14T05:25:14.2383385Z averager: A model averager instance to run post-localSGD algorithm. 2025-03-14T05:25:14.2383483Z 2025-03-14T05:25:14.2383578Z Example:: 2025-03-14T05:25:14.2383677Z 2025-03-14T05:25:14.2383811Z >>> # xdoctest: +SKIP("undefined variables") 2025-03-14T05:25:14.2383920Z >>> import torch 2025-03-14T05:25:14.2384044Z >>> import torch.distributed as dist 2025-03-14T05:25:14.2384334Z >>> import torch.distributed.algorithms.model_averaging.averagers as averagers 2025-03-14T05:25:14.2384445Z >>> import torch.nn as nn 2025-03-14T05:25:14.2384687Z >>> from torch.distributed.optim import PostLocalSGDOptimizer 2025-03-14T05:25:14.2384965Z >>> from torch.distributed.algorithms.ddp_comm_hooks.post_localSGD_hook import ( 2025-03-14T05:25:14.2385089Z >>> PostLocalSGDState, 2025-03-14T05:25:14.2385199Z >>> post_localSGD_hook, 2025-03-14T05:25:14.2385300Z >>> ) 2025-03-14T05:25:14.2385388Z >>> 2025-03-14T05:25:14.2385594Z >>> model = nn.parallel.DistributedDataParallel( 2025-03-14T05:25:14.2385745Z >>> module, device_ids=[rank], output_device=rank 2025-03-14T05:25:14.2385834Z >>> ) 2025-03-14T05:25:14.2385939Z >>> 2025-03-14T05:25:14.2386094Z >>> # Register a post-localSGD communication hook. 2025-03-14T05:25:14.2386412Z >>> state = PostLocalSGDState(process_group=None, subgroup=None, start_localSGD_iter=100) 2025-03-14T05:25:14.2386579Z >>> model.register_comm_hook(state, post_localSGD_hook) 2025-03-14T05:25:14.2386708Z >>> 2025-03-14T05:25:14.2386921Z >>> # Create a post-localSGD optimizer that wraps a local optimizer. 2025-03-14T05:25:14.2387191Z >>> # Note that ``warmup_steps`` used in ``PostLocalSGDOptimizer`` must be the same as 2025-03-14T05:25:14.2387363Z >>> # ``start_localSGD_iter`` used in ``PostLocalSGDState``. 2025-03-14T05:25:14.2387592Z >>> local_optim = torch.optim.SGD(params=model.parameters(), lr=0.01) 2025-03-14T05:25:14.2387721Z >>> opt = PostLocalSGDOptimizer( 2025-03-14T05:25:14.2387840Z >>> optim=local_optim, 2025-03-14T05:25:14.2388094Z >>> averager=averagers.PeriodicModelAverager(period=4, warmup_steps=100) 2025-03-14T05:25:14.2388196Z >>> ) 2025-03-14T05:25:14.2388284Z >>> 2025-03-14T05:25:14.2388525Z >>> # In the first 100 steps, DDP runs global gradient averaging at every step. 2025-03-14T05:25:14.2388832Z >>> # After 100 steps, DDP runs gradient averaging within each subgroup (intra-node by default), 2025-03-14T05:25:14.2389228Z >>> # and post-localSGD optimizer runs global model averaging every 4 steps after applying the local optimizer. 2025-03-14T05:25:14.2389339Z >>> for step in range(0, 200): 2025-03-14T05:25:14.2389455Z >>> opt.zero_grad() 2025-03-14T05:25:14.2389575Z >>> loss = loss_fn(output, labels) 2025-03-14T05:25:14.2389694Z >>> loss.backward() 2025-03-14T05:25:14.2389797Z >>> opt.step() 2025-03-14T05:25:14.2389895Z 2025-03-14T05:25:14.2390158Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2390259Z 2025-03-14T05:25:14.2390363Z warnings.warn(msg) 2025-03-14T05:25:14.2390463Z 2025-03-14T05:25:14.2390661Z --- Parse Warning: 73 / 116 --- 2025-03-14T05:25:14.2391769Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=ZeroRedundancyOptimizer in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/optim/zero_redundancy_optimizer.py line=284. 2025-03-14T05:25:14.2392043Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2392146Z 2025-03-14T05:25:14.2392559Z Wrap an arbitrary :class:`optim.Optimizer ` and shards its states across ranks in the group. 2025-03-14T05:25:14.2392666Z 2025-03-14T05:25:14.2392833Z The sharing is done as described by ZeRO_. 2025-03-14T05:25:14.2392935Z 2025-03-14T05:25:14.2393093Z The local optimizer instance in each rank is only 2025-03-14T05:25:14.2393358Z responsible for updating approximately ``1 / world_size`` parameters and 2025-03-14T05:25:14.2393571Z hence only needs to keep ``1 / world_size`` optimizer states. After 2025-03-14T05:25:14.2393839Z parameters are updated locally, each rank will broadcast its parameters to 2025-03-14T05:25:14.2394032Z all other peers to keep all model replicas in the same state. 2025-03-14T05:25:14.2394276Z ``ZeroRedundancyOptimizer`` can be used in conjunction with 2025-03-14T05:25:14.2394545Z :class:`torch.nn.parallel.DistributedDataParallel` to reduce per-rank peak 2025-03-14T05:25:14.2394669Z memory consumption. 2025-03-14T05:25:14.2394759Z 2025-03-14T05:25:14.2395040Z ``ZeroRedundancyOptimizer`` uses a sorted-greedy algorithm to pack a number 2025-03-14T05:25:14.2395305Z of parameters at each rank. Each parameter belongs to a single rank and is 2025-03-14T05:25:14.2395566Z not divided among ranks. The partition is arbitrary and might not match the 2025-03-14T05:25:14.2395705Z the parameter registration or usage order. 2025-03-14T05:25:14.2395809Z 2025-03-14T05:25:14.2395906Z Arguments: 2025-03-14T05:25:14.2396121Z params (``Iterable``): an ``Iterable`` of :class:`torch.Tensor` s 2025-03-14T05:25:14.2396315Z or :class:`dict` s giving all parameters, which will be sharded 2025-03-14T05:25:14.2396455Z across ranks. 2025-03-14T05:25:14.2396550Z 2025-03-14T05:25:14.2396661Z Keyword Args: 2025-03-14T05:25:14.2396894Z optimizer_class (:class:`torch.nn.Optimizer`): the class of the local 2025-03-14T05:25:14.2397006Z optimizer. 2025-03-14T05:25:14.2397223Z process_group (``ProcessGroup``, optional): ``torch.distributed`` 2025-03-14T05:25:14.2397443Z ``ProcessGroup`` (default: ``dist.group.WORLD`` initialized by 2025-03-14T05:25:14.2397604Z :meth:`torch.distributed.init_process_group`). 2025-03-14T05:25:14.2397988Z parameters_as_bucket_view (bool, optional): if ``True``, parameters are 2025-03-14T05:25:14.2398205Z packed into buckets to speed up communication, and ``param.data`` 2025-03-14T05:25:14.2398426Z fields point to bucket views at different offsets; if ``False``, 2025-03-14T05:25:14.2398638Z each individual parameter is communicated separately, and each 2025-03-14T05:25:14.2398817Z ``params.data`` stays intact (default: ``False``). 2025-03-14T05:25:14.2399014Z overlap_with_ddp (bool, optional): if ``True``, :meth:`step` is 2025-03-14T05:25:14.2399231Z overlapped with :class:`DistributedDataParallel` 's gradient 2025-03-14T05:25:14.2399449Z synchronization; this requires (1) either a functional optimizer 2025-03-14T05:25:14.2399650Z for the ``optimizer_class`` argument or one with a functional 2025-03-14T05:25:14.2399834Z equivalent and (2) registering a DDP communication hook 2025-03-14T05:25:14.2400054Z constructed from one of the functions in ``ddp_zero_hook.py``; 2025-03-14T05:25:14.2400225Z parameters are packed into buckets matching those in 2025-03-14T05:25:14.2400400Z :class:`DistributedDataParallel`, meaning that the 2025-03-14T05:25:14.2400560Z ``parameters_as_bucket_view`` argument is ignored. 2025-03-14T05:25:14.2400768Z If ``False``, :meth:`step` runs disjointly after the backward pass 2025-03-14T05:25:14.2400869Z (per normal). 2025-03-14T05:25:14.2400988Z (default: ``False``) 2025-03-14T05:25:14.2401206Z **defaults: any trailing arguments, which are forwarded to the local 2025-03-14T05:25:14.2401313Z optimizer. 2025-03-14T05:25:14.2401399Z 2025-03-14T05:25:14.2401499Z Example:: 2025-03-14T05:25:14.2401601Z 2025-03-14T05:25:14.2401706Z >>> # xdoctest: +SKIP 2025-03-14T05:25:14.2401896Z >>> import torch.nn as nn 2025-03-14T05:25:14.2402105Z >>> from torch.distributed.optim import ZeroRedundancyOptimizer 2025-03-14T05:25:14.2402326Z >>> from torch.nn.parallel import DistributedDataParallel as DDP 2025-03-14T05:25:14.2402559Z >>> model = nn.Sequential(*[nn.Linear(2000, 2000).to(rank) for _ in range(20)]) 2025-03-14T05:25:14.2402696Z >>> ddp = DDP(model, device_ids=[rank]) 2025-03-14T05:25:14.2402827Z >>> opt = ZeroRedundancyOptimizer( 2025-03-14T05:25:14.2402986Z >>> ddp.parameters(), 2025-03-14T05:25:14.2403119Z >>> optimizer_class=torch.optim.Adam, 2025-03-14T05:25:14.2403224Z >>> lr=0.01 2025-03-14T05:25:14.2403313Z >>> ) 2025-03-14T05:25:14.2403440Z >>> ddp(inputs).sum().backward() 2025-03-14T05:25:14.2403538Z >>> opt.step() 2025-03-14T05:25:14.2403637Z 2025-03-14T05:25:14.2403733Z .. warning:: 2025-03-14T05:25:14.2404002Z Currently, ``ZeroRedundancyOptimizer`` requires that all of the 2025-03-14T05:25:14.2404153Z passed-in parameters are the same dense type. 2025-03-14T05:25:14.2404251Z 2025-03-14T05:25:14.2404344Z .. warning:: 2025-03-14T05:25:14.2404572Z If you pass ``overlap_with_ddp=True``, be wary of the following: Given 2025-03-14T05:25:14.2404778Z the way that overlapping :class:`DistributedDataParallel` with 2025-03-14T05:25:14.2405029Z :class:`ZeroRedundancyOptimizer` is currently implemented, the first 2025-03-14T05:25:14.2405289Z two or three training iterations do not perform parameter updates in 2025-03-14T05:25:14.2405502Z the optimizer step, depending on if ``static_graph=False`` or 2025-03-14T05:25:14.2405696Z ``static_graph=True``, respectively. This is because it needs 2025-03-14T05:25:14.2405899Z information about the gradient bucketing strategy used by 2025-03-14T05:25:14.2406124Z :class:`DistributedDataParallel`, which is not finalized until the 2025-03-14T05:25:14.2406344Z second forward pass if ``static_graph=False`` or until the third 2025-03-14T05:25:14.2406556Z forward pass if ``static_graph=True``. To adjust for this, one option 2025-03-14T05:25:14.2406684Z is to prepend dummy inputs. 2025-03-14T05:25:14.2406773Z 2025-03-14T05:25:14.2407045Z .. warning:: ZeroRedundancyOptimizer is experimental and subject to change. 2025-03-14T05:25:14.2407133Z 2025-03-14T05:25:14.2407283Z .. _ZeRO: https://arxiv.org/abs/1910.02054 2025-03-14T05:25:14.2407372Z 2025-03-14T05:25:14.2407478Z 2025-03-14T05:25:14.2407740Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2407845Z 2025-03-14T05:25:14.2407947Z warnings.warn(msg) 2025-03-14T05:25:14.2408046Z 2025-03-14T05:25:14.2408255Z --- Parse Warning: 74 / 116 --- 2025-03-14T05:25:14.2409255Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=_CustomReducer in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/pipelining/microbatch.py line=28. 2025-03-14T05:25:14.2409526Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2409630Z 2025-03-14T05:25:14.2409865Z Custom reducer class that can be used to specify a custom operation that 2025-03-14T05:25:14.2410061Z reduces losses of multiple microbatches into one value. 2025-03-14T05:25:14.2410152Z 2025-03-14T05:25:14.2410259Z Example: 2025-03-14T05:25:14.2410365Z >>> # xdoctest: +SKIP 2025-03-14T05:25:14.2410484Z >>> sum_reducer = _CustomReducer( 2025-03-14T05:25:14.2410601Z >>> torch.tensor(0.0), 2025-03-14T05:25:14.2410704Z >>> lambda a, b: a + b 2025-03-14T05:25:14.2410806Z >>> ) 2025-03-14T05:25:14.2410893Z 2025-03-14T05:25:14.2411164Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2411286Z 2025-03-14T05:25:14.2411402Z warnings.warn(msg) 2025-03-14T05:25:14.2411489Z 2025-03-14T05:25:14.2411695Z --- Parse Warning: 75 / 116 --- 2025-03-14T05:25:14.2412622Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=async_execution in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/rpc/functions.py line=6. 2025-03-14T05:25:14.2412902Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2413024Z 2025-03-14T05:25:14.2413284Z A decorator for a function indicating that the return value of the function 2025-03-14T05:25:14.2413496Z is guaranteed to be a :class:`~torch.futures.Future` object and this 2025-03-14T05:25:14.2413755Z function can run asynchronously on the RPC callee. More specifically, the 2025-03-14T05:25:14.2413995Z callee extracts the :class:`~torch.futures.Future` returned by the wrapped 2025-03-14T05:25:14.2414274Z function and installs subsequent processing steps as a callback to that 2025-03-14T05:25:14.2414513Z :class:`~torch.futures.Future`. The installed callback will read the value 2025-03-14T05:25:14.2414730Z from the :class:`~torch.futures.Future` when completed and send the 2025-03-14T05:25:14.2414917Z value back as the RPC response. That also means the returned 2025-03-14T05:25:14.2415164Z :class:`~torch.futures.Future` only exists on the callee side and is never 2025-03-14T05:25:14.2415433Z sent through RPC. This decorator is useful when the wrapped function's 2025-03-14T05:25:14.2415713Z (``fn``) execution needs to pause and resume due to, e.g., containing 2025-03-14T05:25:14.2415945Z :meth:`~torch.distributed.rpc.rpc_async` or waiting for other signals. 2025-03-14T05:25:14.2416057Z 2025-03-14T05:25:14.2416275Z .. note:: To enable asynchronous execution, applications must pass the 2025-03-14T05:25:14.2416523Z function object returned by this decorator to RPC APIs. If RPC detected 2025-03-14T05:25:14.2416752Z attributes installed by this decorator, it knows that this function 2025-03-14T05:25:14.2416956Z returns a ``Future`` object and will handle that accordingly. 2025-03-14T05:25:14.2417178Z However, this does not mean this decorator has to be outmost one when 2025-03-14T05:25:14.2417421Z defining a function. For example, when combined with ``@staticmethod`` 2025-03-14T05:25:14.2417638Z or ``@classmethod``, ``@rpc.functions.async_execution`` needs to be the 2025-03-14T05:25:14.2417878Z inner decorator to allow the target function be recognized as a static 2025-03-14T05:25:14.2418113Z or class function. This target function can still execute asynchronously 2025-03-14T05:25:14.2418356Z because, when accessed, the static or class method preserves attributes 2025-03-14T05:25:14.2418515Z installed by ``@rpc.functions.async_execution``. 2025-03-14T05:25:14.2418618Z 2025-03-14T05:25:14.2418704Z 2025-03-14T05:25:14.2418812Z Example:: 2025-03-14T05:25:14.2419021Z The returned :class:`~torch.futures.Future` object can come from 2025-03-14T05:25:14.2419180Z :meth:`~torch.distributed.rpc.rpc_async`, 2025-03-14T05:25:14.2419409Z :meth:`~torch.futures.Future.then`, or :class:`~torch.futures.Future` 2025-03-14T05:25:14.2419607Z constructor. The example below shows directly using the 2025-03-14T05:25:14.2419744Z :class:`~torch.futures.Future` returned by 2025-03-14T05:25:14.2419889Z :meth:`~torch.futures.Future.then`. 2025-03-14T05:25:14.2419976Z 2025-03-14T05:25:14.2420116Z >>> from torch.distributed import rpc 2025-03-14T05:25:14.2420204Z >>> 2025-03-14T05:25:14.2420342Z >>> # omitting setup and shutdown RPC 2025-03-14T05:25:14.2420434Z >>> 2025-03-14T05:25:14.2420545Z >>> # On all workers 2025-03-14T05:25:14.2420666Z >>> @rpc.functions.async_execution 2025-03-14T05:25:14.2420839Z >>> def async_add_chained(to, x, y, z): 2025-03-14T05:25:14.2421036Z >>> # This function runs on "worker1" and returns immediately when 2025-03-14T05:25:14.2421246Z >>> # the callback is installed through the `then(cb)` API. In the 2025-03-14T05:25:14.2421434Z >>> # mean time, the `rpc_async` to "worker2" can run concurrently. 2025-03-14T05:25:14.2421608Z >>> # When the return value of that `rpc_async` arrives at 2025-03-14T05:25:14.2421828Z >>> # "worker1", "worker1" will run the lambda function accordingly 2025-03-14T05:25:14.2422041Z >>> # and set the value for the previously returned `Future`, which 2025-03-14T05:25:14.2422229Z >>> # will then trigger RPC to send the result back to "worker0". 2025-03-14T05:25:14.2422415Z >>> return rpc.rpc_async(to, torch.add, args=(x, y)).then( 2025-03-14T05:25:14.2422535Z >>> lambda fut: fut.wait() + z 2025-03-14T05:25:14.2422666Z >>> ) 2025-03-14T05:25:14.2422756Z >>> 2025-03-14T05:25:14.2422866Z >>> # On worker0 2025-03-14T05:25:14.2422972Z >>> # xdoctest: +SKIP 2025-03-14T05:25:14.2423090Z >>> ret = rpc.rpc_sync( 2025-03-14T05:25:14.2423188Z >>> "worker1", 2025-03-14T05:25:14.2423307Z >>> async_add_chained, 2025-03-14T05:25:14.2423437Z >>> args=("worker2", torch.ones(2), 1, 1) 2025-03-14T05:25:14.2423544Z >>> ) 2025-03-14T05:25:14.2423672Z >>> print(ret) # prints tensor([3., 3.]) 2025-03-14T05:25:14.2423785Z 2025-03-14T05:25:14.2424037Z When combined with TorchScript decorators, this decorator must be the 2025-03-14T05:25:14.2424134Z outmost one. 2025-03-14T05:25:14.2424236Z 2025-03-14T05:25:14.2424350Z >>> from torch import Tensor 2025-03-14T05:25:14.2424490Z >>> from torch.futures import Future 2025-03-14T05:25:14.2424618Z >>> from torch.distributed import rpc 2025-03-14T05:25:14.2424725Z >>> 2025-03-14T05:25:14.2424848Z >>> # omitting setup and shutdown RPC 2025-03-14T05:25:14.2424956Z >>> 2025-03-14T05:25:14.2425058Z >>> # On all workers 2025-03-14T05:25:14.2425178Z >>> @torch.jit.script 2025-03-14T05:25:14.2425331Z >>> def script_add(x: Tensor, y: Tensor) -> Tensor: 2025-03-14T05:25:14.2425446Z >>> return x + y 2025-03-14T05:25:14.2425536Z >>> 2025-03-14T05:25:14.2425674Z >>> @rpc.functions.async_execution 2025-03-14T05:25:14.2425776Z >>> @torch.jit.script 2025-03-14T05:25:14.2425986Z >>> def async_add(to: str, x: Tensor, y: Tensor) -> Future[Tensor]: 2025-03-14T05:25:14.2426132Z >>> return rpc.rpc_async(to, script_add, (x, y)) 2025-03-14T05:25:14.2426235Z >>> 2025-03-14T05:25:14.2426331Z >>> # On worker0 2025-03-14T05:25:14.2426452Z >>> ret = rpc.rpc_sync( 2025-03-14T05:25:14.2426546Z >>> "worker1", 2025-03-14T05:25:14.2426652Z >>> async_add, 2025-03-14T05:25:14.2426779Z >>> args=("worker2", torch.ones(2), 1) 2025-03-14T05:25:14.2426880Z >>> ) 2025-03-14T05:25:14.2427005Z >>> print(ret) # prints tensor([2., 2.]) 2025-03-14T05:25:14.2427103Z 2025-03-14T05:25:14.2427328Z When combined with static or class method, this decorator must be the 2025-03-14T05:25:14.2427432Z inner one. 2025-03-14T05:25:14.2427518Z 2025-03-14T05:25:14.2427644Z >>> from torch.distributed import rpc 2025-03-14T05:25:14.2427742Z >>> 2025-03-14T05:25:14.2427866Z >>> # omitting setup and shutdown RPC 2025-03-14T05:25:14.2427963Z >>> 2025-03-14T05:25:14.2428063Z >>> # On all workers 2025-03-14T05:25:14.2428192Z >>> class AsyncExecutionClass: 2025-03-14T05:25:14.2428278Z >>> 2025-03-14T05:25:14.2428389Z >>> @staticmethod 2025-03-14T05:25:14.2428513Z >>> @rpc.functions.async_execution 2025-03-14T05:25:14.2428646Z >>> def static_async_add(to, x, y, z): 2025-03-14T05:25:14.2428856Z >>> return rpc.rpc_async(to, torch.add, args=(x, y)).then( 2025-03-14T05:25:14.2428984Z >>> lambda fut: fut.wait() + z 2025-03-14T05:25:14.2429074Z >>> ) 2025-03-14T05:25:14.2429172Z >>> 2025-03-14T05:25:14.2429270Z >>> @classmethod 2025-03-14T05:25:14.2429406Z >>> @rpc.functions.async_execution 2025-03-14T05:25:14.2429536Z >>> def class_async_add(cls, to, x, y, z): 2025-03-14T05:25:14.2429708Z >>> ret_fut = torch.futures.Future() 2025-03-14T05:25:14.2429866Z >>> rpc.rpc_async(to, torch.add, args=(x, y)).then( 2025-03-14T05:25:14.2430034Z >>> lambda fut: ret_fut.set_result(fut.wait() + z) 2025-03-14T05:25:14.2430125Z >>> ) 2025-03-14T05:25:14.2430244Z >>> return ret_fut 2025-03-14T05:25:14.2430332Z >>> 2025-03-14T05:25:14.2430470Z >>> @rpc.functions.async_execution 2025-03-14T05:25:14.2430627Z >>> def bound_async_add(self, to, x, y, z): 2025-03-14T05:25:14.2430812Z >>> return rpc.rpc_async(to, torch.add, args=(x, y)).then( 2025-03-14T05:25:14.2430932Z >>> lambda fut: fut.wait() + z 2025-03-14T05:25:14.2431036Z >>> ) 2025-03-14T05:25:14.2431123Z >>> 2025-03-14T05:25:14.2431230Z >>> # On worker0 2025-03-14T05:25:14.2431337Z >>> ret = rpc.rpc_sync( 2025-03-14T05:25:14.2431431Z >>> "worker1", 2025-03-14T05:25:14.2431610Z >>> AsyncExecutionClass.static_async_add, 2025-03-14T05:25:14.2431737Z >>> args=("worker2", torch.ones(2), 1, 2) 2025-03-14T05:25:14.2431837Z >>> ) 2025-03-14T05:25:14.2431961Z >>> print(ret) # prints tensor([4., 4.]) 2025-03-14T05:25:14.2432061Z >>> 2025-03-14T05:25:14.2432166Z >>> ret = rpc.rpc_sync( 2025-03-14T05:25:14.2432273Z >>> "worker1", 2025-03-14T05:25:14.2432415Z >>> AsyncExecutionClass.class_async_add, 2025-03-14T05:25:14.2432552Z >>> args=("worker2", torch.ones(2), 1, 2) 2025-03-14T05:25:14.2432641Z >>> ) 2025-03-14T05:25:14.2432779Z >>> print(ret) # prints tensor([4., 4.]) 2025-03-14T05:25:14.2432868Z 2025-03-14T05:25:14.2433049Z This decorator also works with RRef helpers, i.e., . 2025-03-14T05:25:14.2433197Z :meth:`torch.distributed.rpc.RRef.rpc_sync`, 2025-03-14T05:25:14.2433375Z :meth:`torch.distributed.rpc.RRef.rpc_async`, and 2025-03-14T05:25:14.2433523Z :meth:`torch.distributed.rpc.RRef.remote`. 2025-03-14T05:25:14.2433624Z 2025-03-14T05:25:14.2433751Z >>> from torch.distributed import rpc 2025-03-14T05:25:14.2433853Z >>> 2025-03-14T05:25:14.2433992Z >>> # reuse the AsyncExecutionClass class above 2025-03-14T05:25:14.2434165Z >>> rref = rpc.remote("worker1", AsyncExecutionClass) 2025-03-14T05:25:14.2434382Z >>> ret = rref.rpc_sync().static_async_add("worker2", torch.ones(2), 1, 2) 2025-03-14T05:25:14.2434522Z >>> print(ret) # prints tensor([4., 4.]) 2025-03-14T05:25:14.2434613Z >>> 2025-03-14T05:25:14.2434781Z >>> rref = rpc.remote("worker1", AsyncExecutionClass) 2025-03-14T05:25:14.2435021Z >>> ret = rref.rpc_async().static_async_add("worker2", torch.ones(2), 1, 2).wait() 2025-03-14T05:25:14.2435157Z >>> print(ret) # prints tensor([4., 4.]) 2025-03-14T05:25:14.2435246Z >>> 2025-03-14T05:25:14.2435412Z >>> rref = rpc.remote("worker1", AsyncExecutionClass) 2025-03-14T05:25:14.2435653Z >>> ret = rref.remote().static_async_add("worker2", torch.ones(2), 1, 2).to_here() 2025-03-14T05:25:14.2435791Z >>> print(ret) # prints tensor([4., 4.]) 2025-03-14T05:25:14.2435878Z 2025-03-14T05:25:14.2436151Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2436238Z 2025-03-14T05:25:14.2436353Z warnings.warn(msg) 2025-03-14T05:25:14.2436472Z 2025-03-14T05:25:14.2436711Z --- Parse Warning: 76 / 116 --- 2025-03-14T05:25:14.2437793Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=TensorPipeRpcBackendOptions.set_device_map in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/rpc/options.py line=108. 2025-03-14T05:25:14.2438076Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2438163Z 2025-03-14T05:25:14.2438419Z Set device mapping between each RPC caller and callee pair. This 2025-03-14T05:25:14.2438609Z function can be called multiple times to incrementally add 2025-03-14T05:25:14.2438744Z device placement configurations. 2025-03-14T05:25:14.2438835Z 2025-03-14T05:25:14.2438937Z Args: 2025-03-14T05:25:14.2439041Z to (str): Callee name. 2025-03-14T05:25:14.2439245Z device_map (Dict of int, str, or torch.device): Device placement 2025-03-14T05:25:14.2439474Z mappings from this worker to the callee. This map must be 2025-03-14T05:25:14.2439571Z invertible. 2025-03-14T05:25:14.2439672Z 2025-03-14T05:25:14.2439761Z Example: 2025-03-14T05:25:14.2439895Z >>> # xdoctest: +SKIP("distributed") 2025-03-14T05:25:14.2439994Z >>> # both workers 2025-03-14T05:25:14.2440105Z >>> def add(x, y): 2025-03-14T05:25:14.2440246Z >>> print(x) # tensor([1., 1.], device='cuda:1') 2025-03-14T05:25:14.2440370Z >>> return x + y, (x + y).to(2) 2025-03-14T05:25:14.2440485Z >>> 2025-03-14T05:25:14.2440594Z >>> # on worker 0 2025-03-14T05:25:14.2440735Z >>> options = TensorPipeRpcBackendOptions( 2025-03-14T05:25:14.2440858Z >>> num_worker_threads=8, 2025-03-14T05:25:14.2440978Z >>> device_maps={"worker1": {0: 1}} 2025-03-14T05:25:14.2441127Z >>> # maps worker0's cuda:0 to worker1's cuda:1 2025-03-14T05:25:14.2441216Z >>> ) 2025-03-14T05:25:14.2441367Z >>> options.set_device_map("worker1", {1: 2}) 2025-03-14T05:25:14.2441501Z >>> # maps worker0's cuda:1 to worker1's cuda:2 2025-03-14T05:25:14.2441601Z >>> 2025-03-14T05:25:14.2441701Z >>> rpc.init_rpc( 2025-03-14T05:25:14.2441809Z >>> "worker0", 2025-03-14T05:25:14.2441901Z >>> rank=0, 2025-03-14T05:25:14.2442014Z >>> world_size=2, 2025-03-14T05:25:14.2442150Z >>> backend=rpc.BackendType.TENSORPIPE, 2025-03-14T05:25:14.2442282Z >>> rpc_backend_options=options 2025-03-14T05:25:14.2442372Z >>> ) 2025-03-14T05:25:14.2442474Z >>> 2025-03-14T05:25:14.2442577Z >>> x = torch.ones(2) 2025-03-14T05:25:14.2442761Z >>> rets = rpc.rpc_sync("worker1", add, args=(x.to(0), 1)) 2025-03-14T05:25:14.2442952Z >>> # The first argument will be moved to cuda:1 on worker1. When 2025-03-14T05:25:14.2443156Z >>> # sending the return value back, it will follow the invert of 2025-03-14T05:25:14.2443338Z >>> # the device map, and hence will be moved back to cuda:0 and 2025-03-14T05:25:14.2443456Z >>> # cuda:1 on worker0 2025-03-14T05:25:14.2443609Z >>> print(rets[0]) # tensor([2., 2.], device='cuda:0') 2025-03-14T05:25:14.2443771Z >>> print(rets[1]) # tensor([2., 2.], device='cuda:1') 2025-03-14T05:25:14.2443860Z 2025-03-14T05:25:14.2444120Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2444220Z 2025-03-14T05:25:14.2444324Z warnings.warn(msg) 2025-03-14T05:25:14.2444425Z 2025-03-14T05:25:14.2444623Z --- Parse Warning: 77 / 116 --- 2025-03-14T05:25:14.2445738Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=_server_process_global_profile in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/rpc/server_process_global_profiler.py line=19. 2025-03-14T05:25:14.2446038Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2446137Z 2025-03-14T05:25:14.2446342Z It has the same API as ``torch.autograd.profiler.profile`` class, 2025-03-14T05:25:14.2446637Z except that it enables profiling on all threads running RPC server request callbacks. 2025-03-14T05:25:14.2446725Z 2025-03-14T05:25:14.2447022Z Context manager that manages autograd profiler state and holds a summary of results. 2025-03-14T05:25:14.2447292Z Under the hood it just records events of functions being executed in C++ and 2025-03-14T05:25:14.2447545Z exposes those events to Python. You can wrap any code into it and it will 2025-03-14T05:25:14.2447681Z only report runtime of PyTorch functions. 2025-03-14T05:25:14.2447967Z Note: profiler is thread local and is automatically propagated into the async tasks 2025-03-14T05:25:14.2472711Z 2025-03-14T05:25:14.2472900Z Args: 2025-03-14T05:25:14.2473194Z enabled (bool, optional): Setting this to False makes this context manager a no-op. 2025-03-14T05:25:14.2473399Z Default: ``True``. 2025-03-14T05:25:14.2473481Z 2025-03-14T05:25:14.2473765Z use_cuda (bool, optional): Enables timing of CUDA events as well using the cudaEvent API. 2025-03-14T05:25:14.2473964Z Adds approximately 4us of overhead to each tensor operation. 2025-03-14T05:25:14.2474058Z Default: ``False`` 2025-03-14T05:25:14.2474138Z 2025-03-14T05:25:14.2474402Z record_shapes (bool, optional): If shapes recording is set, information 2025-03-14T05:25:14.2474632Z about input dimensions will be collected. This allows one to see which 2025-03-14T05:25:14.2474840Z dimensions have been used under the hood and further group by them 2025-03-14T05:25:14.2475056Z using prof.key_averages(group_by_input_shape=True). Please note that 2025-03-14T05:25:14.2475276Z shape recording might skew your profiling data. It is recommended to 2025-03-14T05:25:14.2475521Z use separate runs with and without shape recording to validate the timing. 2025-03-14T05:25:14.2475753Z Most likely the skew will be negligible for bottom most events (in a case 2025-03-14T05:25:14.2475985Z of nested function calls). But for higher level functions the total 2025-03-14T05:25:14.2476196Z self cpu time might be artificially increased because of the shape 2025-03-14T05:25:14.2476311Z collection. 2025-03-14T05:25:14.2476396Z 2025-03-14T05:25:14.2476690Z profile_memory (bool, optional): Whether to report memory usage, default: ``False`` 2025-03-14T05:25:14.2476779Z 2025-03-14T05:25:14.2476884Z .. warning: 2025-03-14T05:25:14.2477094Z Enabling memory profiling incurs additional profiler overhead 2025-03-14T05:25:14.2477191Z 2025-03-14T05:25:14.2477281Z .. warning: 2025-03-14T05:25:14.2477551Z Due to some CUDA multiprocessing limitations (multiprocessing-cuda-note_), 2025-03-14T05:25:14.2477756Z one cannot use the profiler with ``use_cuda = True`` to benchmark 2025-03-14T05:25:14.2478011Z DataLoaders with ``num_workers > 0``. If you wish to benchmark data loading, 2025-03-14T05:25:14.2478180Z please use ``use_cuda = False`` or ``num_workers = 0``. 2025-03-14T05:25:14.2478278Z 2025-03-14T05:25:14.2478368Z Example: 2025-03-14T05:25:14.2478484Z >>> # xdoctest: +SKIP 2025-03-14T05:25:14.2478582Z >>> # On worker 0: 2025-03-14T05:25:14.2478690Z >>> import torch 2025-03-14T05:25:14.2478826Z >>> import torch.distributed.rpc as rpc 2025-03-14T05:25:14.2478983Z >>> rpc.init_rpc("worker0", rank=0, world_size=2) 2025-03-14T05:25:14.2479111Z >>> x, y = torch.tensor(1), torch.tensor(2) 2025-03-14T05:25:14.2479247Z >>> outer_profile_rref = rpc.remote( 2025-03-14T05:25:14.2479414Z ... dst_worker_name, rpc._server_process_global_profile 2025-03-14T05:25:14.2479549Z ... ) 2025-03-14T05:25:14.2479682Z >>> outer_profile_rref.rpc_sync().__enter__() 2025-03-14T05:25:14.2479849Z >>> rpc.rpc_sync(dst_worker_name, torch.add, (x, y)) 2025-03-14T05:25:14.2479969Z >>> inner_profile_rref = rpc.remote( 2025-03-14T05:25:14.2480150Z ... dst_worker_name, rpc._server_process_global_profile 2025-03-14T05:25:14.2480236Z ... ) 2025-03-14T05:25:14.2480385Z >>> inner_profile_rref.rpc_sync().__enter__() 2025-03-14T05:25:14.2480537Z >>> rpc.rpc_sync(dst_worker_name, torch.sub, (x, y)) 2025-03-14T05:25:14.2480759Z >>> inner_profile_rref.rpc_sync().__exit__(None, None, None) 2025-03-14T05:25:14.2480938Z >>> outer_profile_rref.rpc_sync().__exit__(None, None, None) 2025-03-14T05:25:14.2481114Z >>> print(inner_profile_rref.rpc_sync().key_averages()) 2025-03-14T05:25:14.2481355Z --------- --------------- --------------- --------------- --------------- --------------- --------------- 2025-03-14T05:25:14.2481712Z Name Self CPU total % Self CPU total CPU total % CPU total CPU time avg Number of Calls 2025-03-14T05:25:14.2481943Z --------- --------------- --------------- --------------- --------------- --------------- --------------- 2025-03-14T05:25:14.2482147Z sub 85.06% 76.275us 100.00% 89.667us 89.667us 1 2025-03-14T05:25:14.2482340Z empty 14.94% 13.392us 14.94% 13.392us 13.392us 1 2025-03-14T05:25:14.2482638Z --------- --------------- --------------- --------------- --------------- --------------- --------------- 2025-03-14T05:25:14.2482754Z Self CPU time total: 89.667us 2025-03-14T05:25:14.2482931Z >>> print(outer_profile_rref.rpc_sync().key_averages()) 2025-03-14T05:25:14.2483158Z --------- --------------- --------------- --------------- --------------- --------------- --------------- 2025-03-14T05:25:14.2483479Z Name Self CPU total % Self CPU total CPU total % CPU total CPU time avg Number of Calls 2025-03-14T05:25:14.2483703Z --------- --------------- --------------- --------------- --------------- --------------- --------------- 2025-03-14T05:25:14.2483896Z sub 35.65% 76.275us 41.91% 89.667us 89.667us 1 2025-03-14T05:25:14.2484084Z empty 12.67% 27.101us 12.67% 27.101us 13.551us 2 2025-03-14T05:25:14.2484283Z add 51.68% 110.550us 58.09% 124.259us 124.259us 1 2025-03-14T05:25:14.2484510Z --------- --------------- --------------- --------------- --------------- --------------- --------------- 2025-03-14T05:25:14.2484636Z Self CPU time total: 213.926us 2025-03-14T05:25:14.2484741Z >>> rpc.shutdown() 2025-03-14T05:25:14.2484840Z 2025-03-14T05:25:14.2484943Z >>> # On worker 1: 2025-03-14T05:25:14.2485088Z >>> import torch.distributed.rpc as rpc 2025-03-14T05:25:14.2485233Z >>> rpc.init_rpc("worker1", rank=1, world_size=2) 2025-03-14T05:25:14.2485408Z >>> # wait for worker 0 to finish work, and then shutdown. 2025-03-14T05:25:14.2485509Z >>> rpc.shutdown() 2025-03-14T05:25:14.2485608Z 2025-03-14T05:25:14.2485869Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2485971Z 2025-03-14T05:25:14.2486076Z warnings.warn(msg) 2025-03-14T05:25:14.2486179Z 2025-03-14T05:25:14.2486435Z --- Parse Warning: 78 / 116 --- 2025-03-14T05:25:14.2487435Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=local_map in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/tensor/experimental/_func_map.py line=34. 2025-03-14T05:25:14.2487707Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2487844Z 2025-03-14T05:25:14.2488112Z :meth:`local_map` is an experimental API that allows users to pass :class:`DTensor` s 2025-03-14T05:25:14.2488405Z to a function that is written to be applied on ``torch.Tensor`` s. It is done by extracting 2025-03-14T05:25:14.2488677Z the local components of :class:`DTensor`, call the function, and wrap the outputs to 2025-03-14T05:25:14.2488856Z :class:`DTensor` according to the ``out_placements``. 2025-03-14T05:25:14.2488942Z 2025-03-14T05:25:14.2489071Z Args: 2025-03-14T05:25:14.2489285Z func (Callable): the function to be applied on each local shard of 2025-03-14T05:25:14.2489402Z :class:`DTensor` s. 2025-03-14T05:25:14.2489634Z out_placements (Union[`PlacementType`, Tuple[`PlacementType`, ...]]): 2025-03-14T05:25:14.2489905Z the desired placements of the :class:`DTensor` s in ``func``'s flattened output. 2025-03-14T05:25:14.2490182Z If the flattened ``output`` is a single value, the ``out_placements`` should be 2025-03-14T05:25:14.2490442Z of type `PlacementType`. Otherwise if the flattened ``output`` has multiple 2025-03-14T05:25:14.2490692Z values, the ``out_placements`` should be a tuple of `PlacementType` values 1:1 2025-03-14T05:25:14.2490834Z mapping to the flattened ``output``. 2025-03-14T05:25:14.2491045Z Besides, for :class:`Tensor` output, we use `PlacementType` as its 2025-03-14T05:25:14.2491358Z placements (a `Tuple[Placement]` value). For non-Tensor output, the `PlacementType` 2025-03-14T05:25:14.2491464Z should be `None`. 2025-03-14T05:25:14.2491717Z Note that the only exception is when no :class:`DTensor` argument is passed 2025-03-14T05:25:14.2491943Z in. In this case, even if `out_placements` is not `None`, the result function 2025-03-14T05:25:14.2492214Z should ignore the desired placements because the function is not running with 2025-03-14T05:25:14.2492323Z :class:`DTensor` s. 2025-03-14T05:25:14.2492506Z in_placements (Tuple[`PlacementType`, ...], optional): 2025-03-14T05:25:14.2492787Z the required placements of the :class:`DTensor` s in the flattened inputs of ``func``. 2025-03-14T05:25:14.2493038Z If ``in_placements`` is specified, :meth:`local_map` would examine whether the 2025-03-14T05:25:14.2493270Z placements of each :class:`DTensor` argument is the same as the required 2025-03-14T05:25:14.2493471Z placements or not. If the placements are not the same and 2025-03-14T05:25:14.2493722Z ``redistribute_inputs`` is ``False``, an exception will be raised. Otherwise if 2025-03-14T05:25:14.2493980Z ``redistribute_inputs`` is ``True``, the argument will be first redistributed to 2025-03-14T05:25:14.2494240Z the required sharding placements before passing its local tensor to ``func``. 2025-03-14T05:25:14.2494483Z The only exception is when required placements are not ``None`` and the 2025-03-14T05:25:14.2494730Z argument is a :class:`torch.Tensor`. In this case, the placements examination 2025-03-14T05:25:14.2494964Z will be skipped and the argument will be directly passed to ``func``. 2025-03-14T05:25:14.2495189Z If ``in_placements`` is ``None``, no placements examination will be performed. 2025-03-14T05:25:14.2495299Z Default: None 2025-03-14T05:25:14.2495443Z device_mesh (:class:`DeviceMesh`, optional): 2025-03-14T05:25:14.2495770Z the device mesh that all the :class:`DTensor` s are placed on. If not 2025-03-14T05:25:14.2496014Z specified, this will be inferred from the input :class:`DTensor` s' device 2025-03-14T05:25:14.2496267Z mesh. `local_map` requires every :class:`DTensor` s to be placed on the same 2025-03-14T05:25:14.2496381Z device mesh. Default: None. 2025-03-14T05:25:14.2496558Z redistribute_inputs (bool, optional): 2025-03-14T05:25:14.2496816Z the bool value indicating whether to reshard the input :class:`DTensor` s when 2025-03-14T05:25:14.2497080Z their placements are different from the required input placements. If this 2025-03-14T05:25:14.2497309Z value is ``False`` and some :class:`DTensor` input has a different placement, 2025-03-14T05:25:14.2497463Z an exception will be raised. Default: False. 2025-03-14T05:25:14.2497548Z 2025-03-14T05:25:14.2497650Z Returns: 2025-03-14T05:25:14.2498133Z A ``Callable`` that applies ``func`` to each local shard of the input :class:`DTensor` 2025-03-14T05:25:14.2498394Z and returns a :class:`DTensor` constructed from the return value of ``func``. 2025-03-14T05:25:14.2498479Z 2025-03-14T05:25:14.2498582Z Raises: 2025-03-14T05:25:14.2498835Z AssertionError: If the input :class:`DTensor` is not placed on the same device 2025-03-14T05:25:14.2499136Z mesh, or if they are placed on a different device mesh than the ``device_mesh`` 2025-03-14T05:25:14.2499244Z argument passed in. 2025-03-14T05:25:14.2499345Z 2025-03-14T05:25:14.2499593Z AssertionError: For any non-DTensor output, we require its corresponding 2025-03-14T05:25:14.2499868Z output placement in ``out_placements`` be None. An AssertionError will be raised 2025-03-14T05:25:14.2499979Z if this is not the case. 2025-03-14T05:25:14.2500076Z 2025-03-14T05:25:14.2500382Z ValueError: If ``redistribute_inputs=False`` but the input :class:`DTensor` needs 2025-03-14T05:25:14.2500557Z a redistribution according to ``in_placements``. 2025-03-14T05:25:14.2500643Z 2025-03-14T05:25:14.2500746Z Example: 2025-03-14T05:25:14.2500869Z >>> # xdoctest: +SKIP("distributed") 2025-03-14T05:25:14.2501024Z >>> def mm_allreduce_forward(device_mesh, W, X): 2025-03-14T05:25:14.2501151Z >>> partial_sum_tensor = torch.mm(W, X) 2025-03-14T05:25:14.2501414Z >>> reduced_tensor = funcol.all_reduce(partial_sum_tensor, "sum", device_mesh) 2025-03-14T05:25:14.2501525Z >>> return reduced_tensor 2025-03-14T05:25:14.2501628Z >>> 2025-03-14T05:25:14.2501761Z >>> W = torch.randn(12, 8, requires_grad=False) 2025-03-14T05:25:14.2501894Z >>> X = torch.randn(8, 16, requires_grad=False) 2025-03-14T05:25:14.2502010Z >>> Y = torch.mm(W, X) 2025-03-14T05:25:14.2502206Z >>> row_wise = [Shard(0)] # row-wise sharding placements on 1-d mesh 2025-03-14T05:25:14.2502410Z >>> col_wise = [Shard(1)] # col-wise sharding placements on 1-d mesh 2025-03-14T05:25:14.2502498Z >>> 2025-03-14T05:25:14.2502788Z >>> # local_mm_allreduce_forward is the function wrapped with DTensor/Tensor convertion 2025-03-14T05:25:14.2502920Z >>> local_mm_allreduce_forward = local_map( 2025-03-14T05:25:14.2503043Z >>> mm_allreduce_forward, 2025-03-14T05:25:14.2503171Z >>> out_placements=[Replicate()], 2025-03-14T05:25:14.2503310Z >>> in_placements=[col_wise, row_wise], 2025-03-14T05:25:14.2503422Z >>> device_mesh=device_mesh, 2025-03-14T05:25:14.2503523Z >>> ) 2025-03-14T05:25:14.2503611Z >>> 2025-03-14T05:25:14.2503734Z >>> W_dt = distribute_tensor( 2025-03-14T05:25:14.2503850Z ... W, device_mesh, (col_wise) 2025-03-14T05:25:14.2503982Z ... ) # col-wisely sharded W tensor 2025-03-14T05:25:14.2504093Z >>> X_dt = distribute_tensor( 2025-03-14T05:25:14.2504221Z ... X, device_mesh, (row_wise) 2025-03-14T05:25:14.2504341Z ... ) # row-wisely sharded X tensor 2025-03-14T05:25:14.2504474Z >>> Y_dt = local_mm_allreduce_forward( 2025-03-14T05:25:14.2504580Z ... device_mesh, W_dt, X_dt 2025-03-14T05:25:14.2504743Z ... ) # apply local_mm_allreduce_forward to DTensors 2025-03-14T05:25:14.2504834Z 2025-03-14T05:25:14.2505096Z .. note:: This API is currently experimental and subject to change 2025-03-14T05:25:14.2505182Z 2025-03-14T05:25:14.2505454Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2505540Z 2025-03-14T05:25:14.2505657Z warnings.warn(msg) 2025-03-14T05:25:14.2505743Z 2025-03-14T05:25:14.2505985Z --- Parse Warning: 79 / 116 --- 2025-03-14T05:25:14.2507101Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=register_sharding in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/tensor/experimental/_register_sharding.py line=26. 2025-03-14T05:25:14.2507389Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2507477Z 2025-03-14T05:25:14.2507775Z :meth:`register_sharding` is an experimental API that allows users to register sharding 2025-03-14T05:25:14.2508020Z strategies for an operator when the tensor inputs and outputs are DTensor. 2025-03-14T05:25:14.2508319Z It can be useful when: (1) there doesn't exist a default sharding strategy for ``op``, 2025-03-14T05:25:14.2508566Z e.g. when ``op`` is a custom operator that is not supported by :class:`DTensor`; (2) 2025-03-14T05:25:14.2508860Z when users would like to overwrite default sharding strategies of existing operators. 2025-03-14T05:25:14.2508948Z 2025-03-14T05:25:14.2509050Z Args: 2025-03-14T05:25:14.2509189Z op (Union[OpOverload, List[OpOverload]]): 2025-03-14T05:25:14.2509431Z An op or a list of ops to register the customized sharding function. 2025-03-14T05:25:14.2509521Z 2025-03-14T05:25:14.2509627Z Returns: 2025-03-14T05:25:14.2509903Z A function decorator which can be used to wrap a function that defines the sharding 2025-03-14T05:25:14.2510195Z strategy for the operator specified in ``op``. The defined sharding strategy will be 2025-03-14T05:25:14.2510480Z registered to DTensor and will override the default sharding strategy if DTensor has 2025-03-14T05:25:14.2510804Z already implemented the operator. The customized sharding function takes the same inputs 2025-03-14T05:25:14.2511049Z as the original op (except that if an arg is a :class:`torch.Tensor`, it will be 2025-03-14T05:25:14.2511343Z replaced by a tensor-like object that DTensor uses internally). The function should 2025-03-14T05:25:14.2511624Z return a sequence of 2-tuples, each specifying acceptable output placements and its 2025-03-14T05:25:14.2511765Z corresponding intput placements. 2025-03-14T05:25:14.2511852Z 2025-03-14T05:25:14.2511954Z Example: 2025-03-14T05:25:14.2512079Z >>> # xdoctest: +SKIP("distributed") 2025-03-14T05:25:14.2512229Z >>> @register_sharding(aten._softmax.default) 2025-03-14T05:25:14.2512391Z >>> def custom_softmax_sharding(x, dim, half_to_float): 2025-03-14T05:25:14.2512554Z >>> softmax_dim = dim if dim >= 0 else dim + x.ndim 2025-03-14T05:25:14.2512674Z >>> acceptable_shardings = [] 2025-03-14T05:25:14.2512777Z >>> 2025-03-14T05:25:14.2512959Z >>> all_replicate = ([Replicate()], [Replicate(), None, None]) 2025-03-14T05:25:14.2513119Z >>> acceptable_shardings.append(all_replicate) 2025-03-14T05:25:14.2513209Z >>> 2025-03-14T05:25:14.2513345Z >>> for sharding_dim in range(x.ndim): 2025-03-14T05:25:14.2513466Z >>> if sharding_dim != softmax_dim: 2025-03-14T05:25:14.2513586Z >>> all_sharded = ( 2025-03-14T05:25:14.2513702Z >>> [Shard(sharding_dim)], 2025-03-14T05:25:14.2513836Z >>> [Shard(sharding_dim), None, None], 2025-03-14T05:25:14.2513942Z >>> ) 2025-03-14T05:25:14.2514087Z >>> acceptable_shardings.append(all_sharded) 2025-03-14T05:25:14.2514186Z >>> 2025-03-14T05:25:14.2514331Z >>> return acceptable_shardings 2025-03-14T05:25:14.2514429Z 2025-03-14T05:25:14.2514632Z .. note:: This API is currently experimental and subject to change 2025-03-14T05:25:14.2514729Z 2025-03-14T05:25:14.2514985Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2515080Z 2025-03-14T05:25:14.2515183Z warnings.warn(msg) 2025-03-14T05:25:14.2515279Z 2025-03-14T05:25:14.2515477Z --- Parse Warning: 80 / 116 --- 2025-03-14T05:25:14.2516533Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=PrepareModuleInput in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/tensor/parallel/style.py line=403. 2025-03-14T05:25:14.2516800Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2516899Z 2025-03-14T05:25:14.2517286Z Configure the nn.Module's inputs to convert the input tensors of the nn.Module to DTensors at runtime according to 2025-03-14T05:25:14.2517661Z ``input_layouts``, and perform layout redistribution according to the ``desired_input_layouts``. 2025-03-14T05:25:14.2517747Z 2025-03-14T05:25:14.2517852Z Keyword Args: 2025-03-14T05:25:14.2518057Z input_layouts (Union[Placement, Tuple[Optional[Placement]]]): 2025-03-14T05:25:14.2518402Z The DTensor layouts of input tensors for the nn.Module, this is used to convert the input tensors to 2025-03-14T05:25:14.2518791Z DTensors. If some inputs are not torch.Tensor or no need to convert to DTensors, ``None`` need to be specified 2025-03-14T05:25:14.2518927Z as a placeholder. default: None. 2025-03-14T05:25:14.2519165Z desired_input_layouts (Union[Placement, Tuple[Optional[Placement]]]): 2025-03-14T05:25:14.2519557Z The desired DTensor layout of input tensors for the nn.Module, this is used to ensure the inputs of the nn.Module 2025-03-14T05:25:14.2519956Z have the desired DTensor layouts. This argument needs to have the same length with ``input_layouts``. default: None. 2025-03-14T05:25:14.2520106Z input_kwarg_layouts (Dict[str, Placement]): 2025-03-14T05:25:14.2520487Z The DTensor layouts of input kwargs for the nn.Module, this is used to convert the input kwarg tensors to DTensors. 2025-03-14T05:25:14.2520602Z default: None 2025-03-14T05:25:14.2520767Z desired_input_kwarg_layouts: (Dict[str, Placement]): 2025-03-14T05:25:14.2521156Z The desired DTensor layout of input kwargs for the nn.Module, this is used to ensure the inputs of the nn.Module 2025-03-14T05:25:14.2521311Z have the desired DTensor layouts. default: None. 2025-03-14T05:25:14.2521449Z use_local_output (bool, optional): 2025-03-14T05:25:14.2521811Z Whether to use local :class:`torch.Tensor` instead of :class:`DTensor` for the module inputs, default: False. 2025-03-14T05:25:14.2521917Z Returns: 2025-03-14T05:25:14.2522236Z A :class:`ParallelStyle` object that prepares the sharding layouts of the nn.Module's inputs. 2025-03-14T05:25:14.2522338Z 2025-03-14T05:25:14.2522435Z Example:: 2025-03-14T05:25:14.2522562Z >>> # xdoctest: +SKIP(failing) 2025-03-14T05:25:14.2522878Z >>> from torch.distributed.tensor.parallel import parallelize_module, PrepareModuleInput 2025-03-14T05:25:14.2523088Z >>> from torch.distributed.device_mesh import init_device_mesh 2025-03-14T05:25:14.2523176Z >>> ... 2025-03-14T05:25:14.2523500Z >>> block = TransformerBlock(...) # block is a nn.Module that contains an "attn" Attention submodule 2025-03-14T05:25:14.2523634Z >>> tp_mesh = init_device_mesh("cuda", (8,)) 2025-03-14T05:25:14.2523733Z >>> 2025-03-14T05:25:14.2524072Z >>> # According to the style specified below, the first input of attn will be annotated to Sharded DTensor 2025-03-14T05:25:14.2524239Z >>> # and then redistributed to Replicated DTensor. 2025-03-14T05:25:14.2524379Z >>> parallelize_module( 2025-03-14T05:25:14.2524530Z >>> block, # this can be a submodule or module 2025-03-14T05:25:14.2524630Z >>> tp_mesh, 2025-03-14T05:25:14.2524750Z >>> parallelize_plan={ 2025-03-14T05:25:14.2524876Z >>> "attn": PrepareModuleInput( 2025-03-14T05:25:14.2525031Z >>> input_layouts=(Shard(0), None, None, ...), 2025-03-14T05:25:14.2525205Z >>> desired_input_layouts=(Replicate(), None, None, ...) 2025-03-14T05:25:14.2525338Z >>> ), 2025-03-14T05:25:14.2525428Z >>> } 2025-03-14T05:25:14.2525528Z >>> ) 2025-03-14T05:25:14.2525614Z 2025-03-14T05:25:14.2525886Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2525973Z 2025-03-14T05:25:14.2526088Z warnings.warn(msg) 2025-03-14T05:25:14.2526174Z 2025-03-14T05:25:14.2526387Z --- Parse Warning: 81 / 116 --- 2025-03-14T05:25:14.2527440Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=PrepareModuleOutput in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributed/tensor/parallel/style.py line=562. 2025-03-14T05:25:14.2527722Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2527814Z 2025-03-14T05:25:14.2528253Z Configure the nn.Module's outputs to convert the output tensors of the nn.Module to DTensors at runtime according to 2025-03-14T05:25:14.2528591Z ``output_layouts``, and perform layout redistribution according to the ``desired_output_layouts``. 2025-03-14T05:25:14.2528689Z 2025-03-14T05:25:14.2528785Z Keyword Args: 2025-03-14T05:25:14.2528968Z output_layouts (Union[Placement, Tuple[Placement]]): 2025-03-14T05:25:14.2529309Z The DTensor layouts of output tensors for the nn.Module, this is used to convert the output tensors to 2025-03-14T05:25:14.2529706Z DTensors if they are :class:`torch.Tensor`. If some outputs are not torch.Tensor or no need to convert to DTensors, 2025-03-14T05:25:14.2529858Z ``None`` need to be specified as a placeholder. 2025-03-14T05:25:14.2530071Z desired_output_layouts (Union[Placement, Tuple[Placement]]): 2025-03-14T05:25:14.2530462Z The desired DTensor layouts of output tensors for the nn.Module, this is used to ensure the outputs of the nn.Module 2025-03-14T05:25:14.2530600Z have the desired DTensor layouts. 2025-03-14T05:25:14.2530721Z use_local_output (bool, optional): 2025-03-14T05:25:14.2531092Z Whether to use local :class:`torch.Tensor` instead of :class:`DTensor` for the module outputs, default: True. 2025-03-14T05:25:14.2531183Z Returns: 2025-03-14T05:25:14.2531491Z A ParallelStyle object that prepares the sharding layouts of the nn.Module's outputs. 2025-03-14T05:25:14.2531580Z 2025-03-14T05:25:14.2531687Z Example:: 2025-03-14T05:25:14.2531797Z >>> # xdoctest: +SKIP(failing) 2025-03-14T05:25:14.2532126Z >>> from torch.distributed.tensor.parallel import parallelize_module, PrepareModuleOutput 2025-03-14T05:25:14.2532323Z >>> from torch.distributed.device_mesh import init_device_mesh 2025-03-14T05:25:14.2532424Z >>> ... 2025-03-14T05:25:14.2532733Z >>> block = TransformerBlock(...) # block is a nn.Module that contains an "attn" Attention submodule 2025-03-14T05:25:14.2532881Z >>> tp_mesh = init_device_mesh("cuda", (8,)) 2025-03-14T05:25:14.2532969Z >>> 2025-03-14T05:25:14.2533383Z >>> # According to the style specified below, the output of the TransformerBlock will be converted to Replicated DTensor 2025-03-14T05:25:14.2533524Z >>> # and then redistributed to Sharded DTensor. 2025-03-14T05:25:14.2533643Z >>> parallelize_module( 2025-03-14T05:25:14.2533784Z >>> block, # this can be a submodule or module 2025-03-14T05:25:14.2533918Z >>> tp_mesh, 2025-03-14T05:25:14.2534063Z >>> parallelize_plan = PrepareModuleOutput( 2025-03-14T05:25:14.2534197Z >>> output_layouts=Replicate(), 2025-03-14T05:25:14.2534325Z >>> desired_output_layouts=Shard(0) 2025-03-14T05:25:14.2534424Z >>> ) 2025-03-14T05:25:14.2534511Z >>> ) 2025-03-14T05:25:14.2534607Z 2025-03-14T05:25:14.2534869Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2534966Z 2025-03-14T05:25:14.2535093Z warnings.warn(msg) 2025-03-14T05:25:14.2535179Z 2025-03-14T05:25:14.2535387Z --- Parse Warning: 82 / 116 --- 2025-03-14T05:25:14.2536566Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=LowRankMultivariateNormal in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/lowrank_multivariate_normal.py line=55. 2025-03-14T05:25:14.2536894Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2536994Z 2025-03-14T05:25:14.2537305Z Creates a multivariate normal distribution with covariance matrix having a low-rank form 2025-03-14T05:25:14.2537514Z parameterized by :attr:`cov_factor` and :attr:`cov_diag`:: 2025-03-14T05:25:14.2537602Z 2025-03-14T05:25:14.2537797Z covariance_matrix = cov_factor @ cov_factor.T + cov_diag 2025-03-14T05:25:14.2537884Z 2025-03-14T05:25:14.2537975Z Example: 2025-03-14T05:25:14.2538170Z >>> # xdoctest: +REQUIRES(env:TORCH_DOCTEST_LAPACK) 2025-03-14T05:25:14.2538318Z >>> # xdoctest: +IGNORE_WANT("non-deterministic") 2025-03-14T05:25:14.2538461Z >>> m = LowRankMultivariateNormal( 2025-03-14T05:25:14.2538647Z ... torch.zeros(2), torch.tensor([[1.0], [0.0]]), torch.ones(2) 2025-03-14T05:25:14.2538752Z ... ) 2025-03-14T05:25:14.2539046Z >>> m.sample() # normally distributed with mean=`[0,0]`, cov_factor=`[[1],[0]]`, cov_diag=`[1,1]` 2025-03-14T05:25:14.2539173Z tensor([-0.2102, -0.5429]) 2025-03-14T05:25:14.2539259Z 2025-03-14T05:25:14.2539357Z Args: 2025-03-14T05:25:14.2539596Z loc (Tensor): mean of the distribution with shape `batch_shape + event_shape` 2025-03-14T05:25:14.2539874Z cov_factor (Tensor): factor part of low-rank form of covariance matrix with shape 2025-03-14T05:25:14.2540000Z `batch_shape + event_shape + (rank,)` 2025-03-14T05:25:14.2540269Z cov_diag (Tensor): diagonal part of low-rank form of covariance matrix with shape 2025-03-14T05:25:14.2540384Z `batch_shape + event_shape` 2025-03-14T05:25:14.2540480Z 2025-03-14T05:25:14.2540568Z Note: 2025-03-14T05:25:14.2540848Z The computation for determinant and inverse of covariance matrix is avoided when 2025-03-14T05:25:14.2541091Z `cov_factor.shape[1] << cov_factor.shape[0]` thanks to `Woodbury matrix identity 2025-03-14T05:25:14.2541322Z `_ and 2025-03-14T05:25:14.2541622Z `matrix determinant lemma `_. 2025-03-14T05:25:14.2541887Z Thanks to these formulas, we just need to compute the determinant and inverse of 2025-03-14T05:25:14.2542015Z the small size "capacitance" matrix:: 2025-03-14T05:25:14.2542108Z 2025-03-14T05:25:14.2542295Z capacitance = I + cov_factor.T @ inv(cov_diag) @ cov_factor 2025-03-14T05:25:14.2542390Z 2025-03-14T05:25:14.2542651Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2542745Z 2025-03-14T05:25:14.2542847Z warnings.warn(msg) 2025-03-14T05:25:14.2542944Z 2025-03-14T05:25:14.2543145Z --- Parse Warning: 83 / 116 --- 2025-03-14T05:25:14.2544148Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=MixtureSameFamily in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/mixture_same_family.py line=13. 2025-03-14T05:25:14.2544447Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2544543Z 2025-03-14T05:25:14.2544772Z The `MixtureSameFamily` distribution implements a (batch of) mixture 2025-03-14T05:25:14.2545034Z distribution where all component are from different parameterizations of 2025-03-14T05:25:14.2545279Z the same distribution type. It is parameterized by a `Categorical` 2025-03-14T05:25:14.2545489Z "selecting distribution" (over `k` component) and a component 2025-03-14T05:25:14.2545700Z distribution, i.e., a `Distribution` with a rightmost batch shape 2025-03-14T05:25:14.2545874Z (equal to `[k]`) which indexes each (batch of) component. 2025-03-14T05:25:14.2545959Z 2025-03-14T05:25:14.2546065Z Examples:: 2025-03-14T05:25:14.2546148Z 2025-03-14T05:25:14.2546309Z >>> # xdoctest: +SKIP("undefined vars") 2025-03-14T05:25:14.2546517Z >>> # Construct Gaussian Mixture Model in 1D consisting of 5 equally 2025-03-14T05:25:14.2546645Z >>> # weighted normal distributions 2025-03-14T05:25:14.2546765Z >>> mix = D.Categorical(torch.ones(5,)) 2025-03-14T05:25:14.2546929Z >>> comp = D.Normal(torch.randn(5,), torch.rand(5,)) 2025-03-14T05:25:14.2547055Z >>> gmm = MixtureSameFamily(mix, comp) 2025-03-14T05:25:14.2547146Z 2025-03-14T05:25:14.2547376Z >>> # Construct Gaussian Mixture Model in 2D consisting of 5 equally 2025-03-14T05:25:14.2547521Z >>> # weighted bivariate normal distributions 2025-03-14T05:25:14.2547641Z >>> mix = D.Categorical(torch.ones(5,)) 2025-03-14T05:25:14.2547760Z >>> comp = D.Independent(D.Normal( 2025-03-14T05:25:14.2547897Z ... torch.randn(5,2), torch.rand(5,2)), 1) 2025-03-14T05:25:14.2548022Z >>> gmm = MixtureSameFamily(mix, comp) 2025-03-14T05:25:14.2548117Z 2025-03-14T05:25:14.2548305Z >>> # Construct a batch of 3 Gaussian Mixture Models in 2D each 2025-03-14T05:25:14.2548518Z >>> # consisting of 5 random weighted bivariate normal distributions 2025-03-14T05:25:14.2548641Z >>> mix = D.Categorical(torch.rand(3,5)) 2025-03-14T05:25:14.2548765Z >>> comp = D.Independent(D.Normal( 2025-03-14T05:25:14.2548901Z ... torch.randn(3,5,2), torch.rand(3,5,2)), 1) 2025-03-14T05:25:14.2549031Z >>> gmm = MixtureSameFamily(mix, comp) 2025-03-14T05:25:14.2549116Z 2025-03-14T05:25:14.2549216Z Args: 2025-03-14T05:25:14.2549425Z mixture_distribution: `torch.distributions.Categorical`-like 2025-03-14T05:25:14.2549629Z instance. Manages the probability of selecting component. 2025-03-14T05:25:14.2549800Z The number of categories must match the rightmost batch 2025-03-14T05:25:14.2549998Z dimension of the `component_distribution`. Must have either 2025-03-14T05:25:14.2550145Z scalar `batch_shape` or `batch_shape` matching 2025-03-14T05:25:14.2550294Z `component_distribution.batch_shape[:-1]` 2025-03-14T05:25:14.2550516Z component_distribution: `torch.distributions.Distribution`-like 2025-03-14T05:25:14.2550705Z instance. Right-most batch dimension indexes component. 2025-03-14T05:25:14.2550790Z 2025-03-14T05:25:14.2551051Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2551135Z 2025-03-14T05:25:14.2551247Z warnings.warn(msg) 2025-03-14T05:25:14.2551331Z 2025-03-14T05:25:14.2551534Z --- Parse Warning: 84 / 116 --- 2025-03-14T05:25:14.2552519Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=RelaxedBernoulli in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/relaxed_bernoulli.py line=111. 2025-03-14T05:25:14.2552828Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2552913Z 2025-03-14T05:25:14.2553110Z Creates a RelaxedBernoulli distribution, parametrized by 2025-03-14T05:25:14.2553303Z :attr:`temperature`, and either :attr:`probs` or :attr:`logits` 2025-03-14T05:25:14.2553531Z (but not both). This is a relaxed version of the `Bernoulli` distribution, 2025-03-14T05:25:14.2553716Z so the values are in (0, 1), and has reparametrizable samples. 2025-03-14T05:25:14.2553810Z 2025-03-14T05:25:14.2553902Z Example:: 2025-03-14T05:25:14.2554039Z 2025-03-14T05:25:14.2554181Z >>> # xdoctest: +IGNORE_WANT("non-deterministic") 2025-03-14T05:25:14.2554327Z >>> m = RelaxedBernoulli(torch.tensor([2.2]), 2025-03-14T05:25:14.2554453Z ... torch.tensor([0.1, 0.2, 0.3, 0.99])) 2025-03-14T05:25:14.2554560Z >>> m.sample() 2025-03-14T05:25:14.2554683Z tensor([ 0.2951, 0.3442, 0.8918, 0.9021]) 2025-03-14T05:25:14.2554807Z 2025-03-14T05:25:14.2554894Z Args: 2025-03-14T05:25:14.2555054Z temperature (Tensor): relaxation temperature 2025-03-14T05:25:14.2555229Z probs (Number, Tensor): the probability of sampling `1` 2025-03-14T05:25:14.2555411Z logits (Number, Tensor): the log-odds of sampling `1` 2025-03-14T05:25:14.2555497Z 2025-03-14T05:25:14.2555763Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2555844Z 2025-03-14T05:25:14.2555959Z warnings.warn(msg) 2025-03-14T05:25:14.2556063Z 2025-03-14T05:25:14.2556255Z --- Parse Warning: 85 / 116 --- 2025-03-14T05:25:14.2557293Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=RelaxedOneHotCategorical in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/distributions/relaxed_categorical.py line=101. 2025-03-14T05:25:14.2557568Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2557653Z 2025-03-14T05:25:14.2557881Z Creates a RelaxedOneHotCategorical distribution parametrized by 2025-03-14T05:25:14.2558075Z :attr:`temperature`, and either :attr:`probs` or :attr:`logits`. 2025-03-14T05:25:14.2558325Z This is a relaxed version of the :class:`OneHotCategorical` distribution, so 2025-03-14T05:25:14.2558491Z its samples are on simplex, and are reparametrizable. 2025-03-14T05:25:14.2558585Z 2025-03-14T05:25:14.2558674Z Example:: 2025-03-14T05:25:14.2558758Z 2025-03-14T05:25:14.2558914Z >>> # xdoctest: +IGNORE_WANT("non-deterministic") 2025-03-14T05:25:14.2559074Z >>> m = RelaxedOneHotCategorical(torch.tensor([2.2]), 2025-03-14T05:25:14.2559210Z ... torch.tensor([0.1, 0.2, 0.3, 0.4])) 2025-03-14T05:25:14.2559302Z >>> m.sample() 2025-03-14T05:25:14.2559431Z tensor([ 0.1294, 0.2324, 0.3859, 0.2523]) 2025-03-14T05:25:14.2559520Z 2025-03-14T05:25:14.2559618Z Args: 2025-03-14T05:25:14.2559760Z temperature (Tensor): relaxation temperature 2025-03-14T05:25:14.2559887Z probs (Tensor): event probabilities 2025-03-14T05:25:14.2560077Z logits (Tensor): unnormalized log probability for each event 2025-03-14T05:25:14.2560169Z 2025-03-14T05:25:14.2560424Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2560516Z 2025-03-14T05:25:14.2560619Z warnings.warn(msg) 2025-03-14T05:25:14.2560707Z 2025-03-14T05:25:14.2560898Z --- Parse Warning: 86 / 116 --- 2025-03-14T05:25:14.2561912Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=assoc_in in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/unification_tools.py line=245. 2025-03-14T05:25:14.2562179Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2562416Z Return a new dict with new, potentially nested, key value pair 2025-03-14T05:25:14.2562501Z 2025-03-14T05:25:14.2562613Z >>> purchase = { 2025-03-14T05:25:14.2562710Z ... "name": "Alice", 2025-03-14T05:25:14.2562898Z ... "order": {"items": ["Apple", "Orange"], "costs": [0.50, 1.25]}, 2025-03-14T05:25:14.2563017Z ... "credit card": "5555-1234-1234-1234", 2025-03-14T05:25:14.2563114Z ... } 2025-03-14T05:25:14.2563349Z >>> assoc_in(purchase, ["order", "costs"], [0.25, 1.00]) # doctest: +SKIP 2025-03-14T05:25:14.2563477Z {'credit card': '5555-1234-1234-1234', 2025-03-14T05:25:14.2563571Z 'name': 'Alice', 2025-03-14T05:25:14.2563747Z 'order': {'costs': [0.25, 1.00], 'items': ['Apple', 'Orange']}} 2025-03-14T05:25:14.2563829Z 2025-03-14T05:25:14.2564096Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2564208Z 2025-03-14T05:25:14.2564324Z warnings.warn(msg) 2025-03-14T05:25:14.2564404Z 2025-03-14T05:25:14.2564602Z --- Parse Warning: 87 / 116 --- 2025-03-14T05:25:14.2565607Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=update_in in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/unification_tools.py line=261. 2025-03-14T05:25:14.2565883Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2566061Z Update value in a (potentially) nested dictionary 2025-03-14T05:25:14.2566160Z 2025-03-14T05:25:14.2566245Z inputs: 2025-03-14T05:25:14.2566378Z d - dictionary on which to operate 2025-03-14T05:25:14.2566601Z keys - list or tuple giving the location of the value to be changed in d 2025-03-14T05:25:14.2566742Z func - function to operate on that value 2025-03-14T05:25:14.2566826Z 2025-03-14T05:25:14.2567031Z If keys == [k0,..,kX] and d[k0]..[kX] == v, update_in returns a copy of the 2025-03-14T05:25:14.2567263Z original dictionary with v replaced by func(v), but does not mutate the 2025-03-14T05:25:14.2567383Z original dictionary. 2025-03-14T05:25:14.2567462Z 2025-03-14T05:25:14.2567684Z If k0 is not a key in d, update_in creates nested dictionaries to the depth 2025-03-14T05:25:14.2567900Z specified by the keys, with the innermost value set to func(default). 2025-03-14T05:25:14.2567992Z 2025-03-14T05:25:14.2568096Z >>> inc = lambda x: x + 1 2025-03-14T05:25:14.2568206Z >>> update_in({"a": 0}, ["a"], inc) 2025-03-14T05:25:14.2568308Z {'a': 1} 2025-03-14T05:25:14.2568390Z 2025-03-14T05:25:14.2568497Z >>> transaction = { 2025-03-14T05:25:14.2568593Z ... "name": "Alice", 2025-03-14T05:25:14.2568794Z ... "purchase": {"items": ["Apple", "Orange"], "costs": [0.50, 1.25]}, 2025-03-14T05:25:14.2568918Z ... "credit card": "5555-1234-1234-1234", 2025-03-14T05:25:14.2569014Z ... } 2025-03-14T05:25:14.2569228Z >>> update_in(transaction, ["purchase", "costs"], sum) # doctest: +SKIP 2025-03-14T05:25:14.2569351Z {'credit card': '5555-1234-1234-1234', 2025-03-14T05:25:14.2569445Z 'name': 'Alice', 2025-03-14T05:25:14.2569620Z 'purchase': {'costs': 1.75, 'items': ['Apple', 'Orange']}} 2025-03-14T05:25:14.2569704Z 2025-03-14T05:25:14.2569836Z >>> # updating a value when k0 is not in d 2025-03-14T05:25:14.2569972Z >>> update_in({}, [1, 2, 3], str, default="bar") 2025-03-14T05:25:14.2570081Z {1: {2: {3: 'bar'}}} 2025-03-14T05:25:14.2570205Z >>> update_in({1: "foo"}, [2, 3, 4], inc, 0) 2025-03-14T05:25:14.2570324Z {1: 'foo', 2: {3: {4: 1}}} 2025-03-14T05:25:14.2570413Z 2025-03-14T05:25:14.2570685Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2570802Z 2025-03-14T05:25:14.2570918Z warnings.warn(msg) 2025-03-14T05:25:14.2571005Z 2025-03-14T05:25:14.2571210Z --- Parse Warning: 88 / 116 --- 2025-03-14T05:25:14.2572206Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=get_in in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/unification_tools.py line=320. 2025-03-14T05:25:14.2572487Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2572691Z Returns coll[i0][i1]...[iX] where [i0, i1, ..., iX]==keys. 2025-03-14T05:25:14.2572793Z 2025-03-14T05:25:14.2572980Z If coll[i0][i1]...[iX] cannot be found, returns ``default``, unless 2025-03-14T05:25:14.2573200Z ``no_default`` is specified, then it raises KeyError or IndexError. 2025-03-14T05:25:14.2573288Z 2025-03-14T05:25:14.2573514Z ``get_in`` is a generalization of ``operator.getitem`` for nested data 2025-03-14T05:25:14.2573681Z structures such as dictionaries and lists. 2025-03-14T05:25:14.2573783Z 2025-03-14T05:25:14.2573887Z >>> transaction = { 2025-03-14T05:25:14.2574005Z ... "name": "Alice", 2025-03-14T05:25:14.2574201Z ... "purchase": {"items": ["Apple", "Orange"], "costs": [0.50, 1.25]}, 2025-03-14T05:25:14.2574339Z ... "credit card": "5555-1234-1234-1234", 2025-03-14T05:25:14.2574430Z ... } 2025-03-14T05:25:14.2574588Z >>> get_in(["purchase", "items", 0], transaction) 2025-03-14T05:25:14.2574706Z 'Apple' 2025-03-14T05:25:14.2574834Z >>> get_in(["name"], transaction) 2025-03-14T05:25:14.2574924Z 'Alice' 2025-03-14T05:25:14.2575058Z >>> get_in(["purchase", "total"], transaction) 2025-03-14T05:25:14.2575224Z >>> get_in(["purchase", "items", "apple"], transaction) 2025-03-14T05:25:14.2575366Z >>> get_in(["purchase", "items", 10], transaction) 2025-03-14T05:25:14.2575528Z >>> get_in(["purchase", "total"], transaction, 0) 2025-03-14T05:25:14.2575710Z 0 2025-03-14T05:25:14.2575847Z >>> get_in(["y"], {}, no_default=True) 2025-03-14T05:25:14.2575968Z Traceback (most recent call last): 2025-03-14T05:25:14.2576069Z ... 2025-03-14T05:25:14.2576166Z KeyError: 'y' 2025-03-14T05:25:14.2576268Z 2025-03-14T05:25:14.2576360Z See Also: 2025-03-14T05:25:14.2576478Z itertoolz.get 2025-03-14T05:25:14.2576583Z operator.getitem 2025-03-14T05:25:14.2576686Z 2025-03-14T05:25:14.2576949Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2577048Z 2025-03-14T05:25:14.2577151Z warnings.warn(msg) 2025-03-14T05:25:14.2577248Z 2025-03-14T05:25:14.2577444Z --- Parse Warning: 89 / 116 --- 2025-03-14T05:25:14.2578464Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=groupby in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/unification/unification_tools.py line=373. 2025-03-14T05:25:14.2578733Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2578864Z Group a collection by a key function 2025-03-14T05:25:14.2578951Z 2025-03-14T05:25:14.2579133Z >>> names = ["Alice", "Bob", "Charlie", "Dan", "Edith", "Frank"] 2025-03-14T05:25:14.2579260Z >>> groupby(len, names) # doctest: +SKIP 2025-03-14T05:25:14.2579445Z {3: ['Bob', 'Dan'], 5: ['Alice', 'Edith', 'Frank'], 7: ['Charlie']} 2025-03-14T05:25:14.2579531Z 2025-03-14T05:25:14.2579658Z >>> iseven = lambda x: x % 2 == 0 2025-03-14T05:25:14.2579835Z >>> groupby(iseven, [1, 2, 3, 4, 5, 6, 7, 8]) # doctest: +SKIP 2025-03-14T05:25:14.2579967Z {False: [1, 3, 5, 7], True: [2, 4, 6, 8]} 2025-03-14T05:25:14.2580055Z 2025-03-14T05:25:14.2580216Z Non-callable keys imply grouping on a member. 2025-03-14T05:25:14.2580340Z 2025-03-14T05:25:14.2580448Z >>> groupby( 2025-03-14T05:25:14.2580544Z ... "gender", 2025-03-14T05:25:14.2580646Z ... [ 2025-03-14T05:25:14.2580770Z ... {"name": "Alice", "gender": "F"}, 2025-03-14T05:25:14.2580890Z ... {"name": "Bob", "gender": "M"}, 2025-03-14T05:25:14.2581033Z ... {"name": "Charlie", "gender": "M"}, 2025-03-14T05:25:14.2581126Z ... ], 2025-03-14T05:25:14.2581240Z ... ) # doctest:+SKIP 2025-03-14T05:25:14.2581386Z {'F': [{'gender': 'F', 'name': 'Alice'}], 2025-03-14T05:25:14.2581513Z 'M': [{'gender': 'M', 'name': 'Bob'}, 2025-03-14T05:25:14.2581632Z {'gender': 'M', 'name': 'Charlie'}]} 2025-03-14T05:25:14.2581730Z 2025-03-14T05:25:14.2581877Z Not to be confused with ``itertools.groupby`` 2025-03-14T05:25:14.2581974Z 2025-03-14T05:25:14.2582064Z See Also: 2025-03-14T05:25:14.2582193Z countby 2025-03-14T05:25:14.2582281Z 2025-03-14T05:25:14.2582554Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2582639Z 2025-03-14T05:25:14.2582753Z warnings.warn(msg) 2025-03-14T05:25:14.2582838Z 2025-03-14T05:25:14.2583038Z --- Parse Warning: 90 / 116 --- 2025-03-14T05:25:14.2583976Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=SyncBatchNorm in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/batchnorm.py line=601. 2025-03-14T05:25:14.2584257Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2584440Z Applies Batch Normalization over a N-Dimensional input. 2025-03-14T05:25:14.2584539Z 2025-03-14T05:25:14.2584889Z The N-D input is a mini-batch of [N-2]D inputs with additional channel dimension) as described in the paper 2025-03-14T05:25:14.2585141Z `Batch Normalization: Accelerating Deep Network Training by Reducing 2025-03-14T05:25:14.2585357Z Internal Covariate Shift `__ . 2025-03-14T05:25:14.2585458Z 2025-03-14T05:25:14.2585552Z .. math:: 2025-03-14T05:25:14.2585651Z 2025-03-14T05:25:14.2585872Z y = \frac{x - \mathrm{E}[x]}{ \sqrt{\mathrm{Var}[x] + \epsilon}} * \gamma + \beta 2025-03-14T05:25:14.2585969Z 2025-03-14T05:25:14.2586202Z The mean and standard-deviation are calculated per-dimension over all 2025-03-14T05:25:14.2586454Z mini-batches of the same process groups. :math:`\gamma` and :math:`\beta` 2025-03-14T05:25:14.2586700Z are learnable parameter vectors of size `C` (where `C` is the input size). 2025-03-14T05:25:14.2586893Z By default, the elements of :math:`\gamma` are sampled from 2025-03-14T05:25:14.2587097Z :math:`\mathcal{U}(0, 1)` and the elements of :math:`\beta` are set to 0. 2025-03-14T05:25:14.2587377Z The standard-deviation is calculated via the biased estimator, equivalent to 2025-03-14T05:25:14.2587499Z `torch.var(input, unbiased=False)`. 2025-03-14T05:25:14.2587597Z 2025-03-14T05:25:14.2587836Z Also by default, during training this layer keeps running estimates of its 2025-03-14T05:25:14.2588083Z computed mean and variance, which are then used for normalization during 2025-03-14T05:25:14.2588330Z evaluation. The running estimates are kept with a default :attr:`momentum` 2025-03-14T05:25:14.2588433Z of 0.1. 2025-03-14T05:25:14.2588521Z 2025-03-14T05:25:14.2588763Z If :attr:`track_running_stats` is set to ``False``, this layer then does not 2025-03-14T05:25:14.2588986Z keep running estimates, and batch statistics are instead used during 2025-03-14T05:25:14.2589107Z evaluation time as well. 2025-03-14T05:25:14.2589193Z 2025-03-14T05:25:14.2589296Z .. note:: 2025-03-14T05:25:14.2589564Z This :attr:`momentum` argument is different from one used in optimizer 2025-03-14T05:25:14.2589802Z classes and the conventional notion of momentum. Mathematically, the 2025-03-14T05:25:14.2589943Z update rule for running statistics here is 2025-03-14T05:25:14.2590229Z :math:`\hat{x}_\text{new} = (1 - \text{momentum}) \times \hat{x} + \text{momentum} \times x_t`, 2025-03-14T05:25:14.2590437Z where :math:`\hat{x}` is the estimated statistic and :math:`x_t` is the 2025-03-14T05:25:14.2590556Z new observed value. 2025-03-14T05:25:14.2590669Z 2025-03-14T05:25:14.2590990Z Because the Batch Normalization is done for each channel in the ``C`` dimension, computing 2025-03-14T05:25:14.2591243Z statistics on ``(N, +)`` slices, it's common terminology to call this Volumetric Batch 2025-03-14T05:25:14.2591439Z Normalization or Spatio-temporal Batch Normalization. 2025-03-14T05:25:14.2591523Z 2025-03-14T05:25:14.2591713Z Currently :class:`SyncBatchNorm` only supports 2025-03-14T05:25:14.2591999Z :class:`~torch.nn.DistributedDataParallel` (DDP) with single GPU per process. Use 2025-03-14T05:25:14.2592224Z :meth:`torch.nn.SyncBatchNorm.convert_sync_batchnorm()` to convert 2025-03-14T05:25:14.2592434Z :attr:`BatchNorm*D` layer to :class:`SyncBatchNorm` before wrapping 2025-03-14T05:25:14.2592549Z Network with DDP. 2025-03-14T05:25:14.2592634Z 2025-03-14T05:25:14.2592724Z Args: 2025-03-14T05:25:14.2592935Z num_features: :math:`C` from an expected input of size 2025-03-14T05:25:14.2593038Z :math:`(N, C, +)` 2025-03-14T05:25:14.2593241Z eps: a value added to the denominator for numerical stability. 2025-03-14T05:25:14.2593345Z Default: ``1e-5`` 2025-03-14T05:25:14.2593551Z momentum: the value used for the running_mean and running_var 2025-03-14T05:25:14.2593768Z computation. Can be set to ``None`` for cumulative moving average 2025-03-14T05:25:14.2593911Z (i.e. simple average). Default: 0.1 2025-03-14T05:25:14.2594119Z affine: a boolean value that when set to ``True``, this module has 2025-03-14T05:25:14.2594287Z learnable affine parameters. Default: ``True`` 2025-03-14T05:25:14.2594507Z track_running_stats: a boolean value that when set to ``True``, this 2025-03-14T05:25:14.2594757Z module tracks the running mean and variance, and when set to ``False``, 2025-03-14T05:25:14.2594986Z this module does not track such statistics, and initializes statistics 2025-03-14T05:25:14.2595204Z buffers :attr:`running_mean` and :attr:`running_var` as ``None``. 2025-03-14T05:25:14.2595437Z When these buffers are ``None``, this module always uses batch statistics. 2025-03-14T05:25:14.2595611Z in both training and eval modes. Default: ``True`` 2025-03-14T05:25:14.2595870Z process_group: synchronization of stats happen within each process group 2025-03-14T05:25:14.2596116Z individually. Default behavior is synchronization across the whole 2025-03-14T05:25:14.2596209Z world 2025-03-14T05:25:14.2596309Z 2025-03-14T05:25:14.2596401Z Shape: 2025-03-14T05:25:14.2596528Z - Input: :math:`(N, C, +)` 2025-03-14T05:25:14.2596684Z - Output: :math:`(N, C, +)` (same shape as input) 2025-03-14T05:25:14.2596782Z 2025-03-14T05:25:14.2596876Z .. note:: 2025-03-14T05:25:14.2597142Z Synchronization of batchnorm statistics occurs only while training, i.e. 2025-03-14T05:25:14.2597351Z synchronization is disabled when ``model.eval()`` is set or if 2025-03-14T05:25:14.2597499Z ``self.training`` is otherwise ``False``. 2025-03-14T05:25:14.2597585Z 2025-03-14T05:25:14.2597695Z Examples:: 2025-03-14T05:25:14.2597780Z 2025-03-14T05:25:14.2598093Z >>> # xdoctest: +SKIP 2025-03-14T05:25:14.2598293Z >>> # With Learnable Parameters 2025-03-14T05:25:14.2598424Z >>> m = nn.SyncBatchNorm(100) 2025-03-14T05:25:14.2598556Z >>> # creating process group (optional) 2025-03-14T05:25:14.2598718Z >>> # ranks is a list of int identifying rank ids. 2025-03-14T05:25:14.2598828Z >>> ranks = list(range(8)) 2025-03-14T05:25:14.2598963Z >>> r1, r2 = ranks[:4], ranks[4:] 2025-03-14T05:25:14.2599123Z >>> # Note: every rank calls into new_group for every 2025-03-14T05:25:14.2599329Z >>> # process group created, even if that rank is not 2025-03-14T05:25:14.2599438Z >>> # part of the group. 2025-03-14T05:25:14.2599702Z >>> process_groups = [torch.distributed.new_group(pids) for pids in [r1, r2]] 2025-03-14T05:25:14.2599911Z >>> process_group = process_groups[0 if dist.get_rank() <= 3 else 1] 2025-03-14T05:25:14.2600048Z >>> # Without Learnable Parameters 2025-03-14T05:25:14.2600359Z >>> m = nn.BatchNorm3d(100, affine=False, process_group=process_group) 2025-03-14T05:25:14.2600501Z >>> input = torch.randn(20, 100, 35, 45, 10) 2025-03-14T05:25:14.2600607Z >>> output = m(input) 2025-03-14T05:25:14.2600705Z 2025-03-14T05:25:14.2600829Z >>> # network is nn.BatchNorm layer 2025-03-14T05:25:14.2601125Z >>> sync_bn_network = nn.SyncBatchNorm.convert_sync_batchnorm(network, process_group) 2025-03-14T05:25:14.2601327Z >>> # only single gpu per process is currently supported 2025-03-14T05:25:14.2601562Z >>> ddp_sync_bn_network = torch.nn.parallel.DistributedDataParallel( 2025-03-14T05:25:14.2601680Z >>> sync_bn_network, 2025-03-14T05:25:14.2601828Z >>> device_ids=[args.local_rank], 2025-03-14T05:25:14.2601965Z >>> output_device=args.local_rank) 2025-03-14T05:25:14.2602068Z 2025-03-14T05:25:14.2602329Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2602427Z 2025-03-14T05:25:14.2602532Z warnings.warn(msg) 2025-03-14T05:25:14.2602631Z 2025-03-14T05:25:14.2602845Z --- Parse Warning: 91 / 116 --- 2025-03-14T05:25:14.2603877Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=SyncBatchNorm.convert_sync_batchnorm in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/batchnorm.py line=825. 2025-03-14T05:25:14.2604146Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2604470Z Converts all :attr:`BatchNorm*D` layers in the model to :class:`torch.nn.SyncBatchNorm` layers. 2025-03-14T05:25:14.2604559Z 2025-03-14T05:25:14.2604666Z Args: 2025-03-14T05:25:14.2604916Z module (nn.Module): module containing one or more :attr:`BatchNorm*D` layers 2025-03-14T05:25:14.2605153Z process_group (optional): process group to scope synchronization, 2025-03-14T05:25:14.2605273Z default is the whole world 2025-03-14T05:25:14.2605375Z 2025-03-14T05:25:14.2605468Z Returns: 2025-03-14T05:25:14.2605735Z The original :attr:`module` with the converted :class:`torch.nn.SyncBatchNorm` 2025-03-14T05:25:14.2605951Z layers. If the original :attr:`module` is a :attr:`BatchNorm*D` layer, 2025-03-14T05:25:14.2606181Z a new :class:`torch.nn.SyncBatchNorm` layer object will be returned 2025-03-14T05:25:14.2606275Z instead. 2025-03-14T05:25:14.2606377Z 2025-03-14T05:25:14.2606473Z Example:: 2025-03-14T05:25:14.2606556Z 2025-03-14T05:25:14.2606694Z >>> # Network with nn.BatchNorm layer 2025-03-14T05:25:14.2606839Z >>> # xdoctest: +REQUIRES(env:TORCH_DOCTEST_CUDA) 2025-03-14T05:25:14.2607006Z >>> module = torch.nn.Sequential( 2025-03-14T05:25:14.2607132Z >>> torch.nn.Linear(20, 100), 2025-03-14T05:25:14.2607270Z >>> torch.nn.BatchNorm1d(100), 2025-03-14T05:25:14.2607370Z >>> ).cuda() 2025-03-14T05:25:14.2607511Z >>> # creating process group (optional) 2025-03-14T05:25:14.2607658Z >>> # ranks is a list of int identifying rank ids. 2025-03-14T05:25:14.2607784Z >>> ranks = list(range(8)) 2025-03-14T05:25:14.2607926Z >>> r1, r2 = ranks[:4], ranks[4:] 2025-03-14T05:25:14.2608090Z >>> # Note: every rank calls into new_group for every 2025-03-14T05:25:14.2608245Z >>> # process group created, even if that rank is not 2025-03-14T05:25:14.2608364Z >>> # part of the group. 2025-03-14T05:25:14.2608491Z >>> # xdoctest: +SKIP("distributed") 2025-03-14T05:25:14.2608755Z >>> process_groups = [torch.distributed.new_group(pids) for pids in [r1, r2]] 2025-03-14T05:25:14.2608991Z >>> process_group = process_groups[0 if dist.get_rank() <= 3 else 1] 2025-03-14T05:25:14.2609299Z >>> sync_bn_module = torch.nn.SyncBatchNorm.convert_sync_batchnorm(module, process_group) 2025-03-14T05:25:14.2609385Z 2025-03-14T05:25:14.2609488Z 2025-03-14T05:25:14.2609748Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2609847Z 2025-03-14T05:25:14.2609981Z warnings.warn(msg) 2025-03-14T05:25:14.2610081Z 2025-03-14T05:25:14.2610278Z --- Parse Warning: 92 / 116 --- 2025-03-14T05:25:14.2611164Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=Unflatten in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/flatten.py line=60. 2025-03-14T05:25:14.2611431Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2611530Z 2025-03-14T05:25:14.2611844Z Unflattens a tensor dim expanding it to a desired shape. For use with :class:`~nn.Sequential`. 2025-03-14T05:25:14.2611942Z 2025-03-14T05:25:14.2612217Z * :attr:`dim` specifies the dimension of the input tensor to be unflattened, and it can 2025-03-14T05:25:14.2612456Z be either `int` or `str` when `Tensor` or `NamedTensor` is used, respectively. 2025-03-14T05:25:14.2612542Z 2025-03-14T05:25:14.2612873Z * :attr:`unflattened_size` is the new shape of the unflattened dimension of the tensor and it can be 2025-03-14T05:25:14.2613126Z a `tuple` of ints or a `list` of ints or `torch.Size` for `Tensor` input; a `NamedShape` 2025-03-14T05:25:14.2613309Z (tuple of `(name, size)` tuples) for `NamedTensor` input. 2025-03-14T05:25:14.2613397Z 2025-03-14T05:25:14.2613496Z Shape: 2025-03-14T05:25:14.2613714Z - Input: :math:`(*, S_{\text{dim}}, *)`, where :math:`S_{\text{dim}}` is the size at 2025-03-14T05:25:14.2613979Z dimension :attr:`dim` and :math:`*` means any number of dimensions including none. 2025-03-14T05:25:14.2614199Z - Output: :math:`(*, U_1, ..., U_n, *)`, where :math:`U` = :attr:`unflattened_size` and 2025-03-14T05:25:14.2614341Z :math:`\prod_{i=1}^n U_i = S_{\text{dim}}`. 2025-03-14T05:25:14.2614428Z 2025-03-14T05:25:14.2614528Z Args: 2025-03-14T05:25:14.2614682Z dim (Union[int, str]): Dimension to be unflattened 2025-03-14T05:25:14.2615042Z unflattened_size (Union[torch.Size, Tuple, List, NamedShape]): New shape of the unflattened dimension 2025-03-14T05:25:14.2615129Z 2025-03-14T05:25:14.2615232Z Examples: 2025-03-14T05:25:14.2615347Z >>> input = torch.randn(2, 50) 2025-03-14T05:25:14.2615464Z >>> # With tuple of ints 2025-03-14T05:25:14.2615569Z >>> m = nn.Sequential( 2025-03-14T05:25:14.2615780Z >>> nn.Linear(50, 50), 2025-03-14T05:25:14.2615941Z >>> nn.Unflatten(1, (2, 5, 5)) 2025-03-14T05:25:14.2616043Z >>> ) 2025-03-14T05:25:14.2616147Z >>> output = m(input) 2025-03-14T05:25:14.2616263Z >>> output.size() 2025-03-14T05:25:14.2616367Z torch.Size([2, 2, 5, 5]) 2025-03-14T05:25:14.2616483Z >>> # With torch.Size 2025-03-14T05:25:14.2616587Z >>> m = nn.Sequential( 2025-03-14T05:25:14.2616690Z >>> nn.Linear(50, 50), 2025-03-14T05:25:14.2616832Z >>> nn.Unflatten(1, torch.Size([2, 5, 5])) 2025-03-14T05:25:14.2616920Z >>> ) 2025-03-14T05:25:14.2617067Z >>> output = m(input) 2025-03-14T05:25:14.2617168Z >>> output.size() 2025-03-14T05:25:14.2617284Z torch.Size([2, 2, 5, 5]) 2025-03-14T05:25:14.2617410Z >>> # With namedshape (tuple of tuples) 2025-03-14T05:25:14.2617575Z >>> input = torch.randn(2, 50, names=('N', 'features')) 2025-03-14T05:25:14.2617783Z >>> unflatten = nn.Unflatten('features', (('C', 2), ('H', 5), ('W', 5))) 2025-03-14T05:25:14.2617939Z >>> output = unflatten(input) 2025-03-14T05:25:14.2618039Z >>> output.size() 2025-03-14T05:25:14.2618151Z torch.Size([2, 2, 5, 5]) 2025-03-14T05:25:14.2618235Z 2025-03-14T05:25:14.2618503Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2618590Z 2025-03-14T05:25:14.2618704Z warnings.warn(msg) 2025-03-14T05:25:14.2618793Z 2025-03-14T05:25:14.2619008Z --- Parse Warning: 93 / 116 --- 2025-03-14T05:25:14.2620033Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=TripletMarginWithDistanceLoss in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/loss.py line=1700. 2025-03-14T05:25:14.2620317Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2620523Z Creates a criterion that measures the triplet loss given input 2025-03-14T05:25:14.2620741Z tensors :math:`a`, :math:`p`, and :math:`n` (representing anchor, 2025-03-14T05:25:14.2620959Z positive, and negative examples, respectively), and a nonnegative, 2025-03-14T05:25:14.2621224Z real-valued function ("distance function") used to compute the relationship 2025-03-14T05:25:14.2621450Z between the anchor and positive example ("positive distance") and the 2025-03-14T05:25:14.2621621Z anchor and negative example ("negative distance"). 2025-03-14T05:25:14.2621707Z 2025-03-14T05:25:14.2621934Z The unreduced loss (i.e., with :attr:`reduction` set to ``'none'``) 2025-03-14T05:25:14.2622039Z can be described as: 2025-03-14T05:25:14.2622146Z 2025-03-14T05:25:14.2622240Z .. math:: 2025-03-14T05:25:14.2622396Z \ell(a, p, n) = L = \{l_1,\dots,l_N\}^\top, \quad 2025-03-14T05:25:14.2622551Z l_i = \max \{d(a_i, p_i) - d(a_i, n_i) + {\rm margin}, 0\} 2025-03-14T05:25:14.2622649Z 2025-03-14T05:25:14.2622898Z where :math:`N` is the batch size; :math:`d` is a nonnegative, real-valued function 2025-03-14T05:25:14.2623201Z quantifying the closeness of two tensors, referred to as the :attr:`distance_function`; 2025-03-14T05:25:14.2623442Z and :math:`margin` is a nonnegative margin representing the minimum difference 2025-03-14T05:25:14.2623701Z between the positive and negative distances that is required for the loss to 2025-03-14T05:25:14.2623931Z be 0. The input tensors have :math:`N` elements each and can be of any shape 2025-03-14T05:25:14.2624070Z that the distance function can handle. 2025-03-14T05:25:14.2624155Z 2025-03-14T05:25:14.2624290Z If :attr:`reduction` is not ``'none'`` 2025-03-14T05:25:14.2624397Z (default ``'mean'``), then: 2025-03-14T05:25:14.2624490Z 2025-03-14T05:25:14.2624581Z .. math:: 2025-03-14T05:25:14.2624688Z \ell(x, y) = 2025-03-14T05:25:14.2624786Z \begin{cases} 2025-03-14T05:25:14.2625031Z \operatorname{mean}(L), & \text{if reduction} = \text{`mean';}\\ 2025-03-14T05:25:14.2625225Z \operatorname{sum}(L), & \text{if reduction} = \text{`sum'.} 2025-03-14T05:25:14.2625331Z \end{cases} 2025-03-14T05:25:14.2625419Z 2025-03-14T05:25:14.2625669Z See also :class:`~torch.nn.TripletMarginLoss`, which computes the triplet 2025-03-14T05:25:14.2625924Z loss for input tensors using the :math:`l_p` distance as the distance function. 2025-03-14T05:25:14.2626019Z 2025-03-14T05:25:14.2626137Z Args: 2025-03-14T05:25:14.2626415Z distance_function (Callable, optional): A nonnegative, real-valued function that 2025-03-14T05:25:14.2626619Z quantifies the closeness of two tensors. If not specified, 2025-03-14T05:25:14.2626802Z `nn.PairwiseDistance` will be used. Default: ``None`` 2025-03-14T05:25:14.2627076Z margin (float, optional): A nonnegative margin representing the minimum difference 2025-03-14T05:25:14.2627391Z between the positive and negative distances required for the loss to be 0. Larger 2025-03-14T05:25:14.2627672Z margins penalize cases where the negative examples are not distant enough from the 2025-03-14T05:25:14.2627863Z anchors, relative to the positives. Default: :math:`1`. 2025-03-14T05:25:14.2628113Z swap (bool, optional): Whether to use the distance swap described in the paper 2025-03-14T05:25:14.2628423Z `Learning shallow convolutional feature descriptors with triplet losses` by 2025-03-14T05:25:14.2628660Z V. Balntas, E. Riba et al. If True, and if the positive example is closer to the 2025-03-14T05:25:14.2628940Z negative example than the anchor is, swaps the positive example and the anchor in 2025-03-14T05:25:14.2629081Z the loss computation. Default: ``False``. 2025-03-14T05:25:14.2629376Z reduction (str, optional): Specifies the (optional) reduction to apply to the output: 2025-03-14T05:25:14.2629570Z ``'none'`` | ``'mean'`` | ``'sum'``. ``'none'``: no reduction will be applied, 2025-03-14T05:25:14.2629764Z ``'mean'``: the sum of the output will be divided by the number of 2025-03-14T05:25:14.2630003Z elements in the output, ``'sum'``: the output will be summed. Default: ``'mean'`` 2025-03-14T05:25:14.2630101Z 2025-03-14T05:25:14.2630187Z 2025-03-14T05:25:14.2630292Z Shape: 2025-03-14T05:25:14.2630539Z - Input: :math:`(N, *)` where :math:`*` represents any number of additional dimensions 2025-03-14T05:25:14.2630688Z as supported by the distance function. 2025-03-14T05:25:14.2630943Z - Output: A Tensor of shape :math:`(N)` if :attr:`reduction` is ``'none'``, or a scalar 2025-03-14T05:25:14.2631054Z otherwise. 2025-03-14T05:25:14.2631140Z 2025-03-14T05:25:14.2631250Z Examples:: 2025-03-14T05:25:14.2631339Z 2025-03-14T05:25:14.2631450Z >>> # Initialize embeddings 2025-03-14T05:25:14.2631592Z >>> embedding = nn.Embedding(1000, 128) 2025-03-14T05:25:14.2631727Z >>> anchor_ids = torch.randint(0, 1000, (1,)) 2025-03-14T05:25:14.2631876Z >>> positive_ids = torch.randint(0, 1000, (1,)) 2025-03-14T05:25:14.2632009Z >>> negative_ids = torch.randint(0, 1000, (1,)) 2025-03-14T05:25:14.2632143Z >>> anchor = embedding(anchor_ids) 2025-03-14T05:25:14.2632268Z >>> positive = embedding(positive_ids) 2025-03-14T05:25:14.2632408Z >>> negative = embedding(negative_ids) 2025-03-14T05:25:14.2632500Z >>> 2025-03-14T05:25:14.2632629Z >>> # Built-in Distance Function 2025-03-14T05:25:14.2632733Z >>> triplet_loss = \ 2025-03-14T05:25:14.2633032Z >>> nn.TripletMarginWithDistanceLoss(distance_function=nn.PairwiseDistance()) 2025-03-14T05:25:14.2633193Z >>> output = triplet_loss(anchor, positive, negative) 2025-03-14T05:25:14.2633343Z >>> output.backward() 2025-03-14T05:25:14.2633432Z >>> 2025-03-14T05:25:14.2633560Z >>> # Custom Distance Function 2025-03-14T05:25:14.2633667Z >>> def l_infinity(x1, x2): 2025-03-14T05:25:14.2633843Z >>> return torch.max(torch.abs(x1 - x2), dim=1).values 2025-03-14T05:25:14.2633933Z >>> 2025-03-14T05:25:14.2634142Z >>> # xdoctest: +SKIP("FIXME: Would call backwards a second time") 2025-03-14T05:25:14.2634246Z >>> triplet_loss = ( 2025-03-14T05:25:14.2634574Z >>> nn.TripletMarginWithDistanceLoss(distance_function=l_infinity, margin=1.5)) 2025-03-14T05:25:14.2634736Z >>> output = triplet_loss(anchor, positive, negative) 2025-03-14T05:25:14.2634853Z >>> output.backward() 2025-03-14T05:25:14.2634943Z >>> 2025-03-14T05:25:14.2635079Z >>> # Custom Distance Function (Lambda) 2025-03-14T05:25:14.2635182Z >>> triplet_loss = ( 2025-03-14T05:25:14.2635355Z >>> nn.TripletMarginWithDistanceLoss( 2025-03-14T05:25:14.2635574Z >>> distance_function=lambda x, y: 1.0 - F.cosine_similarity(x, y))) 2025-03-14T05:25:14.2635745Z >>> output = triplet_loss(anchor, positive, negative) 2025-03-14T05:25:14.2635850Z >>> output.backward() 2025-03-14T05:25:14.2635946Z 2025-03-14T05:25:14.2636038Z Reference: 2025-03-14T05:25:14.2636356Z V. Balntas, et al.: Learning shallow convolutional feature descriptors with triplet losses: 2025-03-14T05:25:14.2636608Z https://bmva-archive.org.uk/bmvc/2016/papers/paper119/index.html 2025-03-14T05:25:14.2636708Z 2025-03-14T05:25:14.2636970Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 17)) 2025-03-14T05:25:14.2637065Z 2025-03-14T05:25:14.2637166Z warnings.warn(msg) 2025-03-14T05:25:14.2637262Z 2025-03-14T05:25:14.2637465Z --- Parse Warning: 94 / 116 --- 2025-03-14T05:25:14.2638373Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=MaxUnpool2d in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/pooling.py line=395. 2025-03-14T05:25:14.2638640Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2638811Z Computes a partial inverse of :class:`MaxPool2d`. 2025-03-14T05:25:14.2638900Z 2025-03-14T05:25:14.2639178Z :class:`MaxPool2d` is not fully invertible, since the non-maximal values are lost. 2025-03-14T05:25:14.2639264Z 2025-03-14T05:25:14.2639512Z :class:`MaxUnpool2d` takes in as input the output of :class:`MaxPool2d` 2025-03-14T05:25:14.2639756Z including the indices of the maximal values and computes a partial inverse 2025-03-14T05:25:14.2639920Z in which all non-maximal values are set to zero. 2025-03-14T05:25:14.2640009Z 2025-03-14T05:25:14.2640100Z Note: 2025-03-14T05:25:14.2640431Z This operation may behave nondeterministically when the input indices has repeat values. 2025-03-14T05:25:14.2640817Z See https://github.com/pytorch/pytorch/issues/80827 and :doc:`/notes/randomness` for more information. 2025-03-14T05:25:14.2640913Z 2025-03-14T05:25:14.2641144Z .. note:: :class:`MaxPool2d` can map several input sizes to the same output 2025-03-14T05:25:14.2641333Z sizes. Hence, the inversion process can get ambiguous. 2025-03-14T05:25:14.2641527Z To accommodate this, you can provide the needed output size 2025-03-14T05:25:14.2641752Z as an additional argument :attr:`output_size` in the forward call. 2025-03-14T05:25:14.2641892Z See the Inputs and Example below. 2025-03-14T05:25:14.2641980Z 2025-03-14T05:25:14.2642070Z Args: 2025-03-14T05:25:14.2642267Z kernel_size (int or tuple): Size of the max pooling window. 2025-03-14T05:25:14.2642440Z stride (int or tuple): Stride of the max pooling window. 2025-03-14T05:25:14.2642623Z It is set to :attr:`kernel_size` by default. 2025-03-14T05:25:14.2642809Z padding (int or tuple): Padding that was added to the input 2025-03-14T05:25:14.2642906Z 2025-03-14T05:25:14.2642998Z Inputs: 2025-03-14T05:25:14.2643135Z - `input`: the input Tensor to invert 2025-03-14T05:25:14.2643344Z - `indices`: the indices given out by :class:`~torch.nn.MaxPool2d` 2025-03-14T05:25:14.2643518Z - `output_size` (optional): the targeted output size 2025-03-14T05:25:14.2643631Z 2025-03-14T05:25:14.2643734Z Shape: 2025-03-14T05:25:14.2643920Z - Input: :math:`(N, C, H_{in}, W_{in})` or :math:`(C, H_{in}, W_{in})`. 2025-03-14T05:25:14.2644142Z - Output: :math:`(N, C, H_{out}, W_{out})` or :math:`(C, H_{out}, W_{out})`, where 2025-03-14T05:25:14.2644230Z 2025-03-14T05:25:14.2644335Z .. math:: 2025-03-14T05:25:14.2644634Z H_{out} = (H_{in} - 1) \times \text{stride[0]} - 2 \times \text{padding[0]} + \text{kernel\_size[0]} 2025-03-14T05:25:14.2644733Z 2025-03-14T05:25:14.2644831Z .. math:: 2025-03-14T05:25:14.2645103Z W_{out} = (W_{in} - 1) \times \text{stride[1]} - 2 \times \text{padding[1]} + \text{kernel\_size[1]} 2025-03-14T05:25:14.2645188Z 2025-03-14T05:25:14.2645367Z or as given by :attr:`output_size` in the call operator 2025-03-14T05:25:14.2645454Z 2025-03-14T05:25:14.2645560Z Example:: 2025-03-14T05:25:14.2645645Z 2025-03-14T05:25:14.2645847Z >>> pool = nn.MaxPool2d(2, stride=2, return_indices=True) 2025-03-14T05:25:14.2645979Z >>> unpool = nn.MaxUnpool2d(2, stride=2) 2025-03-14T05:25:14.2646129Z >>> input = torch.tensor([[[[ 1., 2., 3., 4.], 2025-03-14T05:25:14.2646243Z [ 5., 6., 7., 8.], 2025-03-14T05:25:14.2646367Z [ 9., 10., 11., 12.], 2025-03-14T05:25:14.2646485Z [13., 14., 15., 16.]]]]) 2025-03-14T05:25:14.2646618Z >>> output, indices = pool(input) 2025-03-14T05:25:14.2646729Z >>> unpool(output, indices) 2025-03-14T05:25:14.2646851Z tensor([[[[ 0., 0., 0., 0.], 2025-03-14T05:25:14.2646953Z [ 0., 6., 0., 8.], 2025-03-14T05:25:14.2647065Z [ 0., 0., 0., 0.], 2025-03-14T05:25:14.2647168Z [ 0., 14., 0., 16.]]]]) 2025-03-14T05:25:14.2647401Z >>> # Now using output_size to resolve an ambiguous size for the inverse 2025-03-14T05:25:14.2647545Z >>> input = torch.tensor([[[[ 1., 2., 3., 4., 5.], 2025-03-14T05:25:14.2647671Z [ 6., 7., 8., 9., 10.], 2025-03-14T05:25:14.2647784Z [11., 12., 13., 14., 15.], 2025-03-14T05:25:14.2647911Z [16., 17., 18., 19., 20.]]]]) 2025-03-14T05:25:14.2648033Z >>> output, indices = pool(input) 2025-03-14T05:25:14.2648219Z >>> # This call will not work without specifying output_size 2025-03-14T05:25:14.2648379Z >>> unpool(output, indices, output_size=input.size()) 2025-03-14T05:25:14.2648501Z tensor([[[[ 0., 0., 0., 0., 0.], 2025-03-14T05:25:14.2648605Z [ 0., 7., 0., 9., 0.], 2025-03-14T05:25:14.2648718Z [ 0., 0., 0., 0., 0.], 2025-03-14T05:25:14.2648827Z [ 0., 17., 0., 19., 0.]]]]) 2025-03-14T05:25:14.2648924Z 2025-03-14T05:25:14.2649007Z 2025-03-14T05:25:14.2649094Z 2025-03-14T05:25:14.2649362Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2649448Z 2025-03-14T05:25:14.2649565Z warnings.warn(msg) 2025-03-14T05:25:14.2649650Z 2025-03-14T05:25:14.2649859Z --- Parse Warning: 95 / 116 --- 2025-03-14T05:25:14.2650775Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=EmbeddingBag in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/sparse.py line=270. 2025-03-14T05:25:14.2651052Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2651372Z Compute sums or means of 'bags' of embeddings, without instantiating the intermediate embeddings. 2025-03-14T05:25:14.2651468Z 2025-03-14T05:25:14.2651818Z For bags of constant length, no :attr:`per_sample_weights`, no indices equal to :attr:`padding_idx`, 2025-03-14T05:25:14.2651943Z and with 2D inputs, this class 2025-03-14T05:25:14.2652027Z 2025-03-14T05:25:14.2652344Z * with ``mode="sum"`` is equivalent to :class:`~torch.nn.Embedding` followed by ``torch.sum(dim=1)``, 2025-03-14T05:25:14.2652654Z * with ``mode="mean"`` is equivalent to :class:`~torch.nn.Embedding` followed by ``torch.mean(dim=1)``, 2025-03-14T05:25:14.2653005Z * with ``mode="max"`` is equivalent to :class:`~torch.nn.Embedding` followed by ``torch.max(dim=1)``. 2025-03-14T05:25:14.2653090Z 2025-03-14T05:25:14.2653451Z However, :class:`~torch.nn.EmbeddingBag` is much more time and memory efficient than using a chain of these 2025-03-14T05:25:14.2653546Z operations. 2025-03-14T05:25:14.2653644Z 2025-03-14T05:25:14.2653907Z EmbeddingBag also supports per-sample weights as an argument to the forward 2025-03-14T05:25:14.2654184Z pass. This scales the output of the Embedding before performing a weighted 2025-03-14T05:25:14.2654439Z reduction as specified by ``mode``. If :attr:`per_sample_weights` is passed, the 2025-03-14T05:25:14.2654689Z only supported ``mode`` is ``"sum"``, which computes a weighted sum according to 2025-03-14T05:25:14.2654802Z :attr:`per_sample_weights`. 2025-03-14T05:25:14.2654904Z 2025-03-14T05:25:14.2654992Z Args: 2025-03-14T05:25:14.2655191Z num_embeddings (int): size of the dictionary of embeddings 2025-03-14T05:25:14.2655365Z embedding_dim (int): the size of each embedding vector 2025-03-14T05:25:14.2655807Z max_norm (float, optional): If given, each embedding vector with norm larger than :attr:`max_norm` 2025-03-14T05:25:14.2655967Z is renormalized to have norm :attr:`max_norm`. 2025-03-14T05:25:14.2656328Z norm_type (float, optional): The p of the p-norm to compute for the :attr:`max_norm` option. Default ``2``. 2025-03-14T05:25:14.2656659Z scale_grad_by_freq (bool, optional): if given, this will scale gradients by the inverse of frequency of 2025-03-14T05:25:14.2656834Z the words in the mini-batch. Default ``False``. 2025-03-14T05:25:14.2657022Z Note: this option is not supported when ``mode="max"``. 2025-03-14T05:25:14.2657290Z mode (str, optional): ``"sum"``, ``"mean"`` or ``"max"``. Specifies the way to reduce the bag. 2025-03-14T05:25:14.2657528Z ``"sum"`` computes the weighted sum, taking :attr:`per_sample_weights` 2025-03-14T05:25:14.2657752Z into consideration. ``"mean"`` computes the average of the values 2025-03-14T05:25:14.2657944Z in the bag, ``"max"`` computes the max value over each bag. 2025-03-14T05:25:14.2658066Z Default: ``"mean"`` 2025-03-14T05:25:14.2658400Z sparse (bool, optional): if ``True``, gradient w.r.t. :attr:`weight` matrix will be a sparse tensor. See 2025-03-14T05:25:14.2658656Z Notes for more details regarding sparse gradients. Note: this option is not 2025-03-14T05:25:14.2658803Z supported when ``mode="max"``. 2025-03-14T05:25:14.2659214Z include_last_offset (bool, optional): if ``True``, :attr:`offsets` has one additional element, where the last element 2025-03-14T05:25:14.2659450Z is equivalent to the size of `indices`. This matches the CSR format. 2025-03-14T05:25:14.2659783Z padding_idx (int, optional): If specified, the entries at :attr:`padding_idx` do not contribute to the 2025-03-14T05:25:14.2660101Z gradient; therefore, the embedding vector at :attr:`padding_idx` is not updated 2025-03-14T05:25:14.2660347Z during training, i.e. it remains as a fixed "pad". For a newly constructed 2025-03-14T05:25:14.2660629Z EmbeddingBag, the embedding vector at :attr:`padding_idx` will default to all 2025-03-14T05:25:14.2660884Z zeros, but can be updated to another value to be used as the padding vector. 2025-03-14T05:25:14.2661176Z Note that the embedding vector at :attr:`padding_idx` is excluded from the 2025-03-14T05:25:14.2661289Z reduction. 2025-03-14T05:25:14.2661390Z 2025-03-14T05:25:14.2661487Z Attributes: 2025-03-14T05:25:14.2661821Z weight (Tensor): the learnable weights of the module of shape `(num_embeddings, embedding_dim)` 2025-03-14T05:25:14.2661969Z initialized from :math:`\mathcal{N}(0, 1)`. 2025-03-14T05:25:14.2662100Z 2025-03-14T05:25:14.2662203Z Examples:: 2025-03-14T05:25:14.2662304Z 2025-03-14T05:25:14.2662481Z >>> # an EmbeddingBag module containing 10 tensors of size 3 2025-03-14T05:25:14.2662659Z >>> embedding_sum = nn.EmbeddingBag(10, 3, mode='sum') 2025-03-14T05:25:14.2662798Z >>> # a batch of 2 samples of 4 indices each 2025-03-14T05:25:14.2663005Z >>> input = torch.tensor([1, 2, 4, 5, 4, 3, 2, 9], dtype=torch.long) 2025-03-14T05:25:14.2663163Z >>> offsets = torch.tensor([0, 4], dtype=torch.long) 2025-03-14T05:25:14.2663324Z >>> # xdoctest: +IGNORE_WANT("non-deterministic") 2025-03-14T05:25:14.2663446Z >>> embedding_sum(input, offsets) 2025-03-14T05:25:14.2663578Z tensor([[-0.8861, -5.4350, -0.0523], 2025-03-14T05:25:14.2663689Z [ 1.1306, -2.5798, -1.0044]]) 2025-03-14T05:25:14.2663792Z 2025-03-14T05:25:14.2663909Z >>> # Example with padding_idx 2025-03-14T05:25:14.2664139Z >>> embedding_sum = nn.EmbeddingBag(10, 3, mode='sum', padding_idx=2) 2025-03-14T05:25:14.2664330Z >>> input = torch.tensor([2, 2, 2, 2, 4, 3, 2, 9], dtype=torch.long) 2025-03-14T05:25:14.2664498Z >>> offsets = torch.tensor([0, 4], dtype=torch.long) 2025-03-14T05:25:14.2664619Z >>> embedding_sum(input, offsets) 2025-03-14T05:25:14.2664742Z tensor([[ 0.0000, 0.0000, 0.0000], 2025-03-14T05:25:14.2664855Z [-0.7082, 3.2145, -2.6251]]) 2025-03-14T05:25:14.2664960Z 2025-03-14T05:25:14.2665142Z >>> # An EmbeddingBag can be loaded from an Embedding like so 2025-03-14T05:25:14.2665310Z >>> embedding = nn.Embedding(10, 3, padding_idx=2) 2025-03-14T05:25:14.2665473Z >>> embedding_sum = nn.EmbeddingBag.from_pretrained( 2025-03-14T05:25:14.2665597Z embedding.weight, 2025-03-14T05:25:14.2665732Z padding_idx=embedding.padding_idx, 2025-03-14T05:25:14.2665850Z mode='sum') 2025-03-14T05:25:14.2665938Z 2025-03-14T05:25:14.2666196Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2666294Z 2025-03-14T05:25:14.2666396Z warnings.warn(msg) 2025-03-14T05:25:14.2666496Z 2025-03-14T05:25:14.2666710Z --- Parse Warning: 96 / 116 --- 2025-03-14T05:25:14.2667736Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=DistributedDataParallel.join in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/parallel/distributed.py line=1742. 2025-03-14T05:25:14.2668036Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2668134Z 2025-03-14T05:25:14.2668373Z Context manager for training with uneven inputs across processes in DDP. 2025-03-14T05:25:14.2668472Z 2025-03-14T05:25:14.2668725Z This context manager will keep track of already-joined DDP processes, 2025-03-14T05:25:14.2668947Z and "shadow" the forward and backward passes by inserting collective 2025-03-14T05:25:14.2669182Z communication operations to match with the ones created by non-joined 2025-03-14T05:25:14.2669431Z DDP processes. This will ensure each collective call has a corresponding 2025-03-14T05:25:14.2669652Z call by already-joined DDP processes, preventing hangs or errors that 2025-03-14T05:25:14.2669902Z would otherwise happen when training with uneven inputs across 2025-03-14T05:25:14.2670140Z processes. Alternatively, if the flag ``throw_on_early_termination`` is 2025-03-14T05:25:14.2670364Z specified to be ``True``, all trainers will throw an error once one rank 2025-03-14T05:25:14.2670565Z runs out of inputs, allowing these errors to be caught and handled 2025-03-14T05:25:14.2670695Z according to application logic. 2025-03-14T05:25:14.2670783Z 2025-03-14T05:25:14.2671041Z Once all DDP processes have joined, the context manager will broadcast 2025-03-14T05:25:14.2671271Z the model corresponding to the last joined process to all processes to 2025-03-14T05:25:14.2671436Z ensure the model is the same across all processes 2025-03-14T05:25:14.2671548Z (which is guaranteed by DDP). 2025-03-14T05:25:14.2671646Z 2025-03-14T05:25:14.2671857Z To use this to enable training with uneven inputs across processes, 2025-03-14T05:25:14.2672096Z simply wrap this context manager around your training loop. No further 2025-03-14T05:25:14.2672273Z modifications to the model or data loading is required. 2025-03-14T05:25:14.2672371Z 2025-03-14T05:25:14.2672470Z .. warning:: 2025-03-14T05:25:14.2672696Z If the model or training loop this context manager is wrapped around 2025-03-14T05:25:14.2672883Z has additional distributed collective operations, such as 2025-03-14T05:25:14.2673085Z ``SyncBatchNorm`` in the model's forward pass, then the flag 2025-03-14T05:25:14.2673299Z ``throw_on_early_termination`` must be enabled. This is because this 2025-03-14T05:25:14.2673528Z context manager is not aware of non-DDP collective communication. 2025-03-14T05:25:14.2673706Z This flag will cause all ranks to throw when any one rank 2025-03-14T05:25:14.2673934Z exhausts inputs, allowing these errors to be caught and recovered 2025-03-14T05:25:14.2674042Z from across all ranks. 2025-03-14T05:25:14.2674141Z 2025-03-14T05:25:14.2674231Z Args: 2025-03-14T05:25:14.2674428Z divide_by_initial_world_size (bool): If ``True``, will divide 2025-03-14T05:25:14.2674637Z gradients by the initial ``world_size`` DDP training was launched 2025-03-14T05:25:14.2674818Z with. If ``False``, will compute the effective world size 2025-03-14T05:25:14.2675009Z (number of ranks that have not depleted their inputs yet) and 2025-03-14T05:25:14.2675173Z divide gradients by that during allreduce. Set 2025-03-14T05:25:14.2675360Z ``divide_by_initial_world_size=True`` to ensure every input 2025-03-14T05:25:14.2675583Z sample including the uneven inputs have equal weight in terms of 2025-03-14T05:25:14.2675756Z how much they contribute to the global gradient. This is 2025-03-14T05:25:14.2675943Z achieved by always dividing the gradient by the initial 2025-03-14T05:25:14.2676135Z ``world_size`` even when we encounter uneven inputs. If you set 2025-03-14T05:25:14.2676352Z this to ``False``, we divide the gradient by the remaining 2025-03-14T05:25:14.2676554Z number of nodes. This ensures parity with training on a smaller 2025-03-14T05:25:14.2676753Z ``world_size`` although it also means the uneven inputs would 2025-03-14T05:25:14.2676949Z contribute more towards the global gradient. Typically, you 2025-03-14T05:25:14.2677152Z would want to set this to ``True`` for cases where the last few 2025-03-14T05:25:14.2677380Z inputs of your training job are uneven. In extreme cases, where 2025-03-14T05:25:14.2677581Z there is a large discrepancy in the number of inputs, setting 2025-03-14T05:25:14.2677729Z this to ``False`` might provide better results. 2025-03-14T05:25:14.2677955Z enable (bool): Whether to enable uneven input detection or not. Pass 2025-03-14T05:25:14.2678128Z in ``enable=False`` to disable in cases where you know that 2025-03-14T05:25:14.2678370Z inputs are even across participating processes. Default is 2025-03-14T05:25:14.2678462Z ``True``. 2025-03-14T05:25:14.2678666Z throw_on_early_termination (bool): Whether to throw an error 2025-03-14T05:25:14.2678847Z or continue training when at least one rank has exhausted 2025-03-14T05:25:14.2679048Z inputs. If ``True``, will throw upon the first rank reaching end 2025-03-14T05:25:14.2679246Z of data. If ``False``, will continue training with a smaller 2025-03-14T05:25:14.2679456Z effective world size until all ranks are joined. Note that if 2025-03-14T05:25:14.2679583Z this flag is specified, then the flag 2025-03-14T05:25:14.2679771Z ``divide_by_initial_world_size`` would be ignored. Default 2025-03-14T05:25:14.2679867Z is ``False``. 2025-03-14T05:25:14.2679965Z 2025-03-14T05:25:14.2680051Z 2025-03-14T05:25:14.2680162Z Example:: 2025-03-14T05:25:14.2680247Z 2025-03-14T05:25:14.2680378Z >>> # xdoctest: +SKIP("Distributed") 2025-03-14T05:25:14.2680476Z >>> import torch 2025-03-14T05:25:14.2680613Z >>> import torch.distributed as dist 2025-03-14T05:25:14.2680706Z >>> import os 2025-03-14T05:25:14.2680847Z >>> import torch.multiprocessing as mp 2025-03-14T05:25:14.2680954Z >>> import torch.nn as nn 2025-03-14T05:25:14.2681074Z >>> # On each spawned worker 2025-03-14T05:25:14.2681176Z >>> def worker(rank): 2025-03-14T05:25:14.2681360Z >>> dist.init_process_group("nccl", rank=rank, world_size=2) 2025-03-14T05:25:14.2681493Z >>> torch.cuda.set_device(rank) 2025-03-14T05:25:14.2681633Z >>> model = nn.Linear(1, 1, bias=False).to(rank) 2025-03-14T05:25:14.2681823Z >>> model = torch.nn.parallel.DistributedDataParallel( 2025-03-14T05:25:14.2681968Z >>> model, device_ids=[rank], output_device=rank 2025-03-14T05:25:14.2682073Z >>> ) 2025-03-14T05:25:14.2682209Z >>> # Rank 1 gets one more input than rank 0. 2025-03-14T05:25:14.2682412Z >>> inputs = [torch.tensor([1]).float() for _ in range(10 + rank)] 2025-03-14T05:25:14.2682517Z >>> with model.join(): 2025-03-14T05:25:14.2682634Z >>> for _ in range(5): 2025-03-14T05:25:14.2682743Z >>> for inp in inputs: 2025-03-14T05:25:14.2682877Z >>> loss = model(inp).sum() 2025-03-14T05:25:14.2682989Z >>> loss.backward() 2025-03-14T05:25:14.2683197Z >>> # Without the join() API, the below synchronization will hang 2025-03-14T05:25:14.2683343Z >>> # blocking for rank 1's allreduce to complete. 2025-03-14T05:25:14.2683486Z >>> torch.cuda.synchronize(device=rank) 2025-03-14T05:25:14.2683572Z 2025-03-14T05:25:14.2683843Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2683959Z 2025-03-14T05:25:14.2684074Z warnings.warn(msg) 2025-03-14T05:25:14.2684159Z 2025-03-14T05:25:14.2684377Z --- Parse Warning: 97 / 116 --- 2025-03-14T05:25:14.2685456Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=DistributedDataParallel._register_fused_optim in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/parallel/distributed.py line=2033. 2025-03-14T05:25:14.2685779Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2685867Z 2025-03-14T05:25:14.2686189Z Register an optimizer in DDP to optimize parameter immediately after its gradient reduction. 2025-03-14T05:25:14.2686279Z 2025-03-14T05:25:14.2686505Z Registers an optimizer with DDP such that the optimization for a 2025-03-14T05:25:14.2686718Z parameter will run immediately when that parameter's gradient is 2025-03-14T05:25:14.2686965Z finished with reduction, instead of waiting for all parameters' 2025-03-14T05:25:14.2687191Z gradients to finish reduction. This can result in a training speedup 2025-03-14T05:25:14.2687426Z depending on your workload since the optimizer can run while gradient 2025-03-14T05:25:14.2687660Z reduction for other parameters are still ongoing. In addition, this has 2025-03-14T05:25:14.2687904Z the potential to reduce peak memory consumption during training, as it 2025-03-14T05:25:14.2688134Z only needs to load the per-parameter optimizer states of a single 2025-03-14T05:25:14.2688372Z parameter at a time, instead of loading all per-parameter optimizer 2025-03-14T05:25:14.2688468Z states at once. 2025-03-14T05:25:14.2688567Z 2025-03-14T05:25:14.2688656Z Args: 2025-03-14T05:25:14.2688865Z optim (Type): a ``torch.optim.Optimizer`` class to be registered 2025-03-14T05:25:14.2688970Z as a fused optimizer. 2025-03-14T05:25:14.2689150Z *args (Sequence[Any]): Arguments to forward to `optim`. 2025-03-14T05:25:14.2689371Z optim_params (Optional[Iterable[torch.Tensor]]): Set of parameters 2025-03-14T05:25:14.2689609Z to optimize, similar to `params` argument of traditional `torch.optim` 2025-03-14T05:25:14.2689815Z Optimizers. If this is omitted, all DDP model parameters will be 2025-03-14T05:25:14.2689922Z optimized. 2025-03-14T05:25:14.2690122Z **kwargs: (Dict[str, Any]): Keyword arguments to forward to `optim`. 2025-03-14T05:25:14.2690224Z 2025-03-14T05:25:14.2690322Z .. warning :: 2025-03-14T05:25:14.2690553Z _register_fused_optim should only be called once on a DDP instance, 2025-03-14T05:25:14.2690768Z and registering multiple fused optimizers for the same DDP model 2025-03-14T05:25:14.2690913Z is not currently supported. Please ping 2025-03-14T05:25:14.2691149Z https://github.com/pytorch/pytorch/issues/71595 if this is necessary 2025-03-14T05:25:14.2691266Z for your use case. 2025-03-14T05:25:14.2691353Z 2025-03-14T05:25:14.2691460Z .. warning :: 2025-03-14T05:25:14.2691658Z _register_fused_optim and register_comm_hook currently do not 2025-03-14T05:25:14.2691890Z compose together, meaning that custom DDP communication hooks are 2025-03-14T05:25:14.2692067Z not supported with overlapped optimizers. Please ping 2025-03-14T05:25:14.2692316Z https://github.com/pytorch/pytorch/issues/71595 if this is necessary 2025-03-14T05:25:14.2692418Z for your use case. 2025-03-14T05:25:14.2692520Z 2025-03-14T05:25:14.2692615Z .. warning :: 2025-03-14T05:25:14.2692862Z Gradient accumulation and DDP `no_sync` are currently not supported 2025-03-14T05:25:14.2692996Z with overlapped optimizer. Please ping 2025-03-14T05:25:14.2693241Z https://github.com/pytorch/pytorch/issues/71595 if this is necessary 2025-03-14T05:25:14.2693344Z for your use case. 2025-03-14T05:25:14.2693430Z 2025-03-14T05:25:14.2693570Z Example:: 2025-03-14T05:25:14.2693658Z 2025-03-14T05:25:14.2693812Z >>> # xdoctest: +SKIP("No rendezvous handler") 2025-03-14T05:25:14.2694116Z >>> torch.distributed.init_process_group(backend='nccl', world_size=4, init_method='...') 2025-03-14T05:25:14.2694331Z >>> net = torch.nn.parallel.DistributedDataParallel(model, pg) 2025-03-14T05:25:14.2694428Z >>> lr = 1e-2 2025-03-14T05:25:14.2694545Z >>> betas = (0.9, 0.99) 2025-03-14T05:25:14.2694640Z >>> eps = 1e-6 2025-03-14T05:25:14.2694915Z >>> net._register_fused_optim(torch.optim.Adam, lr, betas=betas, eps=eps) 2025-03-14T05:25:14.2695045Z >>> # Example with subset of parameters 2025-03-14T05:25:14.2695203Z >>> params_to_opt = [list(net.parameters())[0]] 2025-03-14T05:25:14.2695318Z >>> net._register_fused_optim( 2025-03-14T05:25:14.2695568Z ... torch.optim.Adam, lr, optim_params=params_to_opt, betas=betas, eps=eps 2025-03-14T05:25:14.2695781Z ... ) 2025-03-14T05:25:14.2695882Z 2025-03-14T05:25:14.2696140Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2696242Z 2025-03-14T05:25:14.2696347Z warnings.warn(msg) 2025-03-14T05:25:14.2696447Z 2025-03-14T05:25:14.2696656Z --- Parse Warning: 98 / 116 --- 2025-03-14T05:25:14.2697694Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=convert_conv2d_weight_memory_format in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/memory_format.py line=6. 2025-03-14T05:25:14.2698191Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2698428Z Convert ``memory_format`` of ``nn.Conv2d.weight`` to ``memory_format``. 2025-03-14T05:25:14.2698514Z 2025-03-14T05:25:14.2698810Z The conversion recursively applies to nested ``nn.Module``, including ``module``. 2025-03-14T05:25:14.2699092Z Note that it only changes the memory_format, but not the semantics of each dimensions. 2025-03-14T05:25:14.2699367Z This function is used to facilitate the computation to adopt NHWC kernels, which 2025-03-14T05:25:14.2699679Z provides considerable speed up for fp16 data on CUDA devices with compute capability >= 7.0 2025-03-14T05:25:14.2699780Z 2025-03-14T05:25:14.2699873Z .. note:: 2025-03-14T05:25:14.2700127Z Calling ``model.to(memory_format=torch.channels_last)`` is more aggressive 2025-03-14T05:25:14.2700356Z than the utility function ``convert_conv2d_weight_memory_format``. Any 2025-03-14T05:25:14.2700580Z layer with 4d weight will be affected by ``model.to``, which does not 2025-03-14T05:25:14.2700811Z necessarily benefit from conversion to specified ``memory_format``. 2025-03-14T05:25:14.2701048Z One place we are confident in is that NHWC(channels_last) conversion for 2025-03-14T05:25:14.2701275Z convolution in cuDNN, as it is beneficial to run convolution in NHWC, 2025-03-14T05:25:14.2701493Z even in cases where we have to apply permutation to input tensors. 2025-03-14T05:25:14.2701577Z 2025-03-14T05:25:14.2701815Z Hence our strategy here is to convert only the weight of convolution to 2025-03-14T05:25:14.2701939Z channels_last. This ensures that; 2025-03-14T05:25:14.2702171Z 1. Fast convolution kernels will be used, the benefit of which could 2025-03-14T05:25:14.2702412Z outweigh overhead of permutation (if input is not in the same format). 2025-03-14T05:25:14.2702660Z 2. No unnecessary permutations are applied on layers that do not benefit 2025-03-14T05:25:14.2702779Z from memory_format conversion. 2025-03-14T05:25:14.2702877Z 2025-03-14T05:25:14.2703113Z The optimal case is that, layers between convolution layers are channels 2025-03-14T05:25:14.2703368Z last compatible. Input tensor would be permuted to channels last when it 2025-03-14T05:25:14.2703669Z encounters the first convolution layer and stay in that memory format. 2025-03-14T05:25:14.2703926Z Hence following convolutions will not need to permute its input tensor. 2025-03-14T05:25:14.2704013Z 2025-03-14T05:25:14.2704254Z In case where a channels last incompatible layer is between convolution 2025-03-14T05:25:14.2704472Z layers, we need to permute the input tensor back to contiguous format 2025-03-14T05:25:14.2704748Z for that layer. The input tensor will go through the remaining layers in 2025-03-14T05:25:14.2704980Z contiguous format and be permuted to channels last when it encounters 2025-03-14T05:25:14.2705203Z another convolution layer. There's no point in propagating that 2025-03-14T05:25:14.2705425Z permutation to an earlier layer, as most layers are quite agnostic to 2025-03-14T05:25:14.2705580Z ``memory_format``. 2025-03-14T05:25:14.2705670Z 2025-03-14T05:25:14.2705915Z This claim might change when PyTorch supports fusion of permutation, as 2025-03-14T05:25:14.2706141Z there might have been a better spot to fuse the permutation other than 2025-03-14T05:25:14.2706279Z immediately before a convolution. 2025-03-14T05:25:14.2706367Z 2025-03-14T05:25:14.2706469Z Args: 2025-03-14T05:25:14.2706688Z module (nn.Module): ``nn.Conv2d`` & ``nn.ConvTranspose2d`` or container 2025-03-14T05:25:14.2706846Z ``nn.Module`` 2025-03-14T05:25:14.2707004Z memory_format: user specified ``memory_format``, 2025-03-14T05:25:14.2707200Z e.g. ``torch.channels_last`` or ``torch.contiguous_format`` 2025-03-14T05:25:14.2707287Z 2025-03-14T05:25:14.2707390Z Returns: 2025-03-14T05:25:14.2707539Z The original module with updated ``nn.Conv2d`` 2025-03-14T05:25:14.2707641Z 2025-03-14T05:25:14.2707732Z Example: 2025-03-14T05:25:14.2707890Z >>> # xdoctest: +REQUIRES(env:TORCH_DOCTEST_CUDA) 2025-03-14T05:25:14.2708053Z >>> # xdoctest: +REQUIRES(env:CUBLAS_WORKSPACE_CONFIG) 2025-03-14T05:25:14.2708300Z >>> input = torch.randint(1, 10, (2, 8, 4, 4), dtype=torch.float16, device="cuda") 2025-03-14T05:25:14.2708411Z >>> model = nn.Sequential( 2025-03-14T05:25:14.2708543Z >>> nn.Conv2d(8, 4, 3)).cuda().half() 2025-03-14T05:25:14.2708655Z >>> # This is identical to: 2025-03-14T05:25:14.2708920Z >>> # nn.utils.convert_conv2d_weight_memory_format(model, torch.channels_last) 2025-03-14T05:25:14.2709189Z >>> model = nn.utils.convert_conv2d_weight_memory_format(model, torch.channels_last) 2025-03-14T05:25:14.2709306Z >>> out = model(input) 2025-03-14T05:25:14.2709394Z 2025-03-14T05:25:14.2709666Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2709756Z 2025-03-14T05:25:14.2709860Z warnings.warn(msg) 2025-03-14T05:25:14.2709958Z 2025-03-14T05:25:14.2710164Z --- Parse Warning: 99 / 116 --- 2025-03-14T05:25:14.2711177Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=convert_conv3d_weight_memory_format in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/memory_format.py line=81. 2025-03-14T05:25:14.2711460Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2711679Z Convert ``memory_format`` of ``nn.Conv3d.weight`` to ``memory_format`` 2025-03-14T05:25:14.2711975Z The conversion recursively applies to nested ``nn.Module``, including ``module``. 2025-03-14T05:25:14.2712250Z Note that it only changes the memory_format, but not the semantics of each dimensions. 2025-03-14T05:25:14.2712527Z This function is used to facilitate the computation to adopt NHWC kernels, which 2025-03-14T05:25:14.2712873Z provides considerable speed up for fp16 data on CUDA devices with compute capability >= 7.0 2025-03-14T05:25:14.2712970Z 2025-03-14T05:25:14.2713063Z .. note:: 2025-03-14T05:25:14.2713324Z Calling ``model.to(memory_format=torch.channels_last_3d)`` is more aggressive 2025-03-14T05:25:14.2713549Z than the utility function ``convert_conv3d_weight_memory_format``. Any 2025-03-14T05:25:14.2713776Z layer with 4d weight will be affected by ``model.to``, which does not 2025-03-14T05:25:14.2714028Z necessarily benefit from conversion to specified ``memory_format``. 2025-03-14T05:25:14.2714279Z One place we are confident in is that NDHWC(channels_last_3d) conversion for 2025-03-14T05:25:14.2714507Z convolution in cuDNN, as it is beneficial to run convolution in NDHWC, 2025-03-14T05:25:14.2714724Z even in cases where we have to apply permutation to input tensors. 2025-03-14T05:25:14.2714838Z 2025-03-14T05:25:14.2715080Z Hence our strategy here is to convert only the weight of convolution to 2025-03-14T05:25:14.2715204Z channels_last_3d. This ensures that; 2025-03-14T05:25:14.2715436Z 1. Fast convolution kernels will be used, the benefit of which could 2025-03-14T05:25:14.2715672Z outweigh overhead of permutation (if input is not in the same format). 2025-03-14T05:25:14.2715923Z 2. No unnecessary permutations are applied on layers that do not benefit 2025-03-14T05:25:14.2716070Z from memory_format conversion. 2025-03-14T05:25:14.2716168Z 2025-03-14T05:25:14.2716396Z The optimal case is that, layers between convolution layers are channels 2025-03-14T05:25:14.2716648Z last compatible. Input tensor would be permuted to channels last when it 2025-03-14T05:25:14.2716879Z encounters the first convolution layer and stay in that memory format. 2025-03-14T05:25:14.2717136Z Hence following convolutions will not need to permute its input tensor. 2025-03-14T05:25:14.2717220Z 2025-03-14T05:25:14.2717455Z In case where a channels last incompatible layer is between convolution 2025-03-14T05:25:14.2717672Z layers, we need to permute the input tensor back to contiguous format 2025-03-14T05:25:14.2717907Z for that layer. The input tensor will go through the remaining layers in 2025-03-14T05:25:14.2718139Z contiguous format and be permuted to channels last when it encounters 2025-03-14T05:25:14.2718363Z another convolution layer. There's no point in propagating that 2025-03-14T05:25:14.2718586Z permutation to an earlier layer, as most layers are quite agnostic to 2025-03-14T05:25:14.2718700Z ``memory_format``. 2025-03-14T05:25:14.2718785Z 2025-03-14T05:25:14.2719032Z This claim might change when PyTorch supports fusion of permutation, as 2025-03-14T05:25:14.2719261Z there might have been a better spot to fuse the permutation other than 2025-03-14T05:25:14.2719396Z immediately before a convolution. 2025-03-14T05:25:14.2719481Z 2025-03-14T05:25:14.2719570Z Args: 2025-03-14T05:25:14.2719799Z module (nn.Module): ``nn.Conv3d`` & ``nn.ConvTranspose3d`` or container 2025-03-14T05:25:14.2719907Z ``nn.Module`` 2025-03-14T05:25:14.2720075Z memory_format: user specified ``memory_format``, 2025-03-14T05:25:14.2720261Z e.g. ``torch.channels_last`` or ``torch.contiguous_format`` 2025-03-14T05:25:14.2720359Z 2025-03-14T05:25:14.2720451Z Returns: 2025-03-14T05:25:14.2720616Z The original module with updated ``nn.Conv3d`` 2025-03-14T05:25:14.2720704Z 2025-03-14T05:25:14.2720813Z Example: 2025-03-14T05:25:14.2720957Z >>> # xdoctest: +REQUIRES(env:TORCH_DOCTEST_CUDA) 2025-03-14T05:25:14.2721175Z >>> # xdoctest: +REQUIRES(env:CUBLAS_WORKSPACE_CONFIG) 2025-03-14T05:25:14.2721412Z >>> input = torch.randint(1, 10, (2, 8, 4, 4, 4), dtype=torch.float16, device="cuda") 2025-03-14T05:25:14.2721537Z >>> model = nn.Sequential( 2025-03-14T05:25:14.2721657Z >>> nn.Conv3d(8, 4, 3)).cuda().half() 2025-03-14T05:25:14.2721775Z >>> # This is identical to: 2025-03-14T05:25:14.2722034Z >>> # nn.utils.convert_conv3d_weight_memory_format(model, torch.channels_last_3d) 2025-03-14T05:25:14.2722347Z >>> model = nn.utils.convert_conv3d_weight_memory_format(model, torch.channels_last_3d) 2025-03-14T05:25:14.2722455Z >>> out = model(input) 2025-03-14T05:25:14.2722552Z 2025-03-14T05:25:14.2722811Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2722907Z 2025-03-14T05:25:14.2723008Z warnings.warn(msg) 2025-03-14T05:25:14.2723106Z 2025-03-14T05:25:14.2723335Z --- Parse Warning: 100 / 116 --- 2025-03-14T05:25:14.2724244Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=random_structured in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/prune.py line=935. 2025-03-14T05:25:14.2724513Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2724770Z Prune tensor by removing random channels along the specified dimension. 2025-03-14T05:25:14.2724859Z 2025-03-14T05:25:14.2725142Z Prunes tensor corresponding to parameter called ``name`` in ``module`` 2025-03-14T05:25:14.2725365Z by removing the specified ``amount`` of (currently unpruned) channels 2025-03-14T05:25:14.2725526Z along the specified ``dim`` selected at random. 2025-03-14T05:25:14.2725726Z Modifies module in place (and also return the modified module) 2025-03-14T05:25:14.2725830Z by: 2025-03-14T05:25:14.2725923Z 2025-03-14T05:25:14.2726150Z 1) adding a named buffer called ``name+'_mask'`` corresponding to the 2025-03-14T05:25:14.2726374Z binary mask applied to the parameter ``name`` by the pruning method. 2025-03-14T05:25:14.2726600Z 2) replacing the parameter ``name`` by its pruned version, while the 2025-03-14T05:25:14.2726815Z original (unpruned) parameter is stored in a new parameter named 2025-03-14T05:25:14.2726931Z ``name+'_orig'``. 2025-03-14T05:25:14.2727019Z 2025-03-14T05:25:14.2727125Z Args: 2025-03-14T05:25:14.2727312Z module (nn.Module): module containing the tensor to prune 2025-03-14T05:25:14.2727518Z name (str): parameter name within ``module`` on which pruning 2025-03-14T05:25:14.2727619Z will act. 2025-03-14T05:25:14.2727810Z amount (int or float): quantity of parameters to prune. 2025-03-14T05:25:14.2727994Z If ``float``, should be between 0.0 and 1.0 and represent the 2025-03-14T05:25:14.2728220Z fraction of parameters to prune. If ``int``, it represents the 2025-03-14T05:25:14.2728359Z absolute number of parameters to prune. 2025-03-14T05:25:14.2728578Z dim (int): index of the dim along which we define channels to prune. 2025-03-14T05:25:14.2728665Z 2025-03-14T05:25:14.2728773Z Returns: 2025-03-14T05:25:14.2728997Z module (nn.Module): modified (i.e. pruned) version of the input module 2025-03-14T05:25:14.2729098Z 2025-03-14T05:25:14.2729193Z Examples: 2025-03-14T05:25:14.2729320Z >>> # xdoctest: +SKIP 2025-03-14T05:25:14.2729444Z >>> m = prune.random_structured( 2025-03-14T05:25:14.2729603Z ... nn.Linear(5, 3), 'weight', amount=3, dim=1 2025-03-14T05:25:14.2729694Z ... ) 2025-03-14T05:25:14.2729883Z >>> columns_pruned = int(sum(torch.sum(m.weight, dim=0) == 0)) 2025-03-14T05:25:14.2730008Z >>> print(columns_pruned) 2025-03-14T05:25:14.2730127Z 3 2025-03-14T05:25:14.2730227Z 2025-03-14T05:25:14.2730483Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2730581Z 2025-03-14T05:25:14.2730684Z warnings.warn(msg) 2025-03-14T05:25:14.2730786Z 2025-03-14T05:25:14.2730982Z --- Parse Warning: 101 / 116 --- 2025-03-14T05:25:14.2731893Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=ln_structured in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/prune.py line=976. 2025-03-14T05:25:14.2732162Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2732489Z Prune tensor by removing channels with the lowest L\ ``n``-norm along the specified dimension. 2025-03-14T05:25:14.2732574Z 2025-03-14T05:25:14.2732822Z Prunes tensor corresponding to parameter called ``name`` in ``module`` 2025-03-14T05:25:14.2733072Z by removing the specified ``amount`` of (currently unpruned) channels 2025-03-14T05:25:14.2733266Z along the specified ``dim`` with the lowest L\ ``n``-norm. 2025-03-14T05:25:14.2733466Z Modifies module in place (and also return the modified module) 2025-03-14T05:25:14.2733566Z by: 2025-03-14T05:25:14.2733653Z 2025-03-14T05:25:14.2733876Z 1) adding a named buffer called ``name+'_mask'`` corresponding to the 2025-03-14T05:25:14.2734126Z binary mask applied to the parameter ``name`` by the pruning method. 2025-03-14T05:25:14.2734355Z 2) replacing the parameter ``name`` by its pruned version, while the 2025-03-14T05:25:14.2734566Z original (unpruned) parameter is stored in a new parameter named 2025-03-14T05:25:14.2734678Z ``name+'_orig'``. 2025-03-14T05:25:14.2734763Z 2025-03-14T05:25:14.2734862Z Args: 2025-03-14T05:25:14.2735045Z module (nn.Module): module containing the tensor to prune 2025-03-14T05:25:14.2735245Z name (str): parameter name within ``module`` on which pruning 2025-03-14T05:25:14.2735346Z will act. 2025-03-14T05:25:14.2735534Z amount (int or float): quantity of parameters to prune. 2025-03-14T05:25:14.2735804Z If ``float``, should be between 0.0 and 1.0 and represent the 2025-03-14T05:25:14.2736028Z fraction of parameters to prune. If ``int``, it represents the 2025-03-14T05:25:14.2736168Z absolute number of parameters to prune. 2025-03-14T05:25:14.2736382Z n (int, float, inf, -inf, 'fro', 'nuc'): See documentation of valid 2025-03-14T05:25:14.2736543Z entries for argument ``p`` in :func:`torch.norm`. 2025-03-14T05:25:14.2736759Z dim (int): index of the dim along which we define channels to prune. 2025-03-14T05:25:14.2736998Z importance_scores (torch.Tensor): tensor of importance scores (of same 2025-03-14T05:25:14.2737210Z shape as module parameter) used to compute mask for pruning. 2025-03-14T05:25:14.2737434Z The values in this tensor indicate the importance of the corresponding 2025-03-14T05:25:14.2737583Z elements in the parameter being pruned. 2025-03-14T05:25:14.2737815Z If unspecified or None, the module parameter will be used in its place. 2025-03-14T05:25:14.2737911Z 2025-03-14T05:25:14.2738002Z Returns: 2025-03-14T05:25:14.2738238Z module (nn.Module): modified (i.e. pruned) version of the input module 2025-03-14T05:25:14.2738324Z 2025-03-14T05:25:14.2738431Z Examples: 2025-03-14T05:25:14.2738557Z >>> from torch.nn.utils import prune 2025-03-14T05:25:14.2738682Z >>> m = prune.ln_structured( 2025-03-14T05:25:14.2738867Z ... nn.Conv2d(5, 3, 2), 'weight', amount=0.3, dim=1, n=float('-inf') 2025-03-14T05:25:14.2738968Z ... ) 2025-03-14T05:25:14.2739092Z 2025-03-14T05:25:14.2739364Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2739449Z 2025-03-14T05:25:14.2739563Z warnings.warn(msg) 2025-03-14T05:25:14.2739648Z 2025-03-14T05:25:14.2739866Z --- Parse Warning: 102 / 116 --- 2025-03-14T05:25:14.2740768Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=global_unstructured in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/prune.py line=1023. 2025-03-14T05:25:14.2741140Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2741228Z 2025-03-14T05:25:14.2741675Z Globally prunes tensors corresponding to all parameters in ``parameters`` by applying the specified ``pruning_method``. 2025-03-14T05:25:14.2741763Z 2025-03-14T05:25:14.2741895Z Modifies modules in place by: 2025-03-14T05:25:14.2741982Z 2025-03-14T05:25:14.2742237Z 1) adding a named buffer called ``name+'_mask'`` corresponding to the 2025-03-14T05:25:14.2742459Z binary mask applied to the parameter ``name`` by the pruning method. 2025-03-14T05:25:14.2742691Z 2) replacing the parameter ``name`` by its pruned version, while the 2025-03-14T05:25:14.2742903Z original (unpruned) parameter is stored in a new parameter named 2025-03-14T05:25:14.2743014Z ``name+'_orig'``. 2025-03-14T05:25:14.2743099Z 2025-03-14T05:25:14.2743200Z Args: 2025-03-14T05:25:14.2743428Z parameters (Iterable of (module, name) tuples): parameters of 2025-03-14T05:25:14.2743625Z the model to prune in a global fashion, i.e. by aggregating all 2025-03-14T05:25:14.2743847Z weights prior to deciding which ones to prune. module must be of 2025-03-14T05:25:14.2744003Z type :class:`nn.Module`, and name must be a string. 2025-03-14T05:25:14.2744241Z pruning_method (function): a valid pruning function from this module, 2025-03-14T05:25:14.2744435Z or a custom one implemented by the user that satisfies the 2025-03-14T05:25:14.2744668Z implementation guidelines and has ``PRUNING_TYPE='unstructured'``. 2025-03-14T05:25:14.2744912Z importance_scores (dict): a dictionary mapping (module, name) tuples to 2025-03-14T05:25:14.2745139Z the corresponding parameter's importance scores tensor. The tensor 2025-03-14T05:25:14.2745360Z should be the same shape as the parameter, and is used for computing 2025-03-14T05:25:14.2745467Z mask for pruning. 2025-03-14T05:25:14.2745689Z If unspecified or None, the parameter will be used in place of its 2025-03-14T05:25:14.2745795Z importance scores. 2025-03-14T05:25:14.2745925Z kwargs: other keyword arguments such as: 2025-03-14T05:25:14.2746136Z amount (int or float): quantity of parameters to prune across the 2025-03-14T05:25:14.2746249Z specified parameters. 2025-03-14T05:25:14.2746440Z If ``float``, should be between 0.0 and 1.0 and represent the 2025-03-14T05:25:14.2746647Z fraction of parameters to prune. If ``int``, it represents the 2025-03-14T05:25:14.2746793Z absolute number of parameters to prune. 2025-03-14T05:25:14.2746878Z 2025-03-14T05:25:14.2746982Z Raises: 2025-03-14T05:25:14.2747136Z TypeError: if ``PRUNING_TYPE != 'unstructured'`` 2025-03-14T05:25:14.2747237Z 2025-03-14T05:25:14.2747326Z Note: 2025-03-14T05:25:14.2747560Z Since global structured pruning doesn't make much sense unless the 2025-03-14T05:25:14.2747761Z norm is normalized by the size of the parameter, we now limit the 2025-03-14T05:25:14.2747926Z scope of global pruning to unstructured methods. 2025-03-14T05:25:14.2748010Z 2025-03-14T05:25:14.2748115Z Examples: 2025-03-14T05:25:14.2748237Z >>> from torch.nn.utils import prune 2025-03-14T05:25:14.2748376Z >>> from collections import OrderedDict 2025-03-14T05:25:14.2748528Z >>> net = nn.Sequential(OrderedDict([ 2025-03-14T05:25:14.2748650Z ... ('first', nn.Linear(10, 4)), 2025-03-14T05:25:14.2748764Z ... ('second', nn.Linear(4, 1)), 2025-03-14T05:25:14.2748865Z ... ])) 2025-03-14T05:25:14.2748974Z >>> parameters_to_prune = ( 2025-03-14T05:25:14.2749092Z ... (net.first, 'weight'), 2025-03-14T05:25:14.2749200Z ... (net.second, 'weight'), 2025-03-14T05:25:14.2749300Z ... ) 2025-03-14T05:25:14.2749419Z >>> prune.global_unstructured( 2025-03-14T05:25:14.2749565Z ... parameters_to_prune, 2025-03-14T05:25:14.2749705Z ... pruning_method=prune.L1Unstructured, 2025-03-14T05:25:14.2749816Z ... amount=10, 2025-03-14T05:25:14.2749905Z ... ) 2025-03-14T05:25:14.2750140Z >>> print(sum(torch.nn.utils.parameters_to_vector(net.buffers()) == 0)) 2025-03-14T05:25:14.2750232Z tensor(10) 2025-03-14T05:25:14.2750359Z 2025-03-14T05:25:14.2750445Z 2025-03-14T05:25:14.2750709Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2750808Z 2025-03-14T05:25:14.2750911Z warnings.warn(msg) 2025-03-14T05:25:14.2751011Z 2025-03-14T05:25:14.2751213Z --- Parse Warning: 103 / 116 --- 2025-03-14T05:25:14.2752156Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=custom_from_mask in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/prune.py line=1142. 2025-03-14T05:25:14.2752427Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2752837Z Prune tensor corresponding to parameter called ``name`` in ``module`` by applying the pre-computed mask in ``mask``. 2025-03-14T05:25:14.2752923Z 2025-03-14T05:25:14.2753155Z Modifies module in place (and also return the modified module) by: 2025-03-14T05:25:14.2753243Z 2025-03-14T05:25:14.2758329Z 1) adding a named buffer called ``name+'_mask'`` corresponding to the 2025-03-14T05:25:14.2758619Z binary mask applied to the parameter ``name`` by the pruning method. 2025-03-14T05:25:14.2758852Z 2) replacing the parameter ``name`` by its pruned version, while the 2025-03-14T05:25:14.2759065Z original (unpruned) parameter is stored in a new parameter named 2025-03-14T05:25:14.2759181Z ``name+'_orig'``. 2025-03-14T05:25:14.2759269Z 2025-03-14T05:25:14.2759375Z Args: 2025-03-14T05:25:14.2759564Z module (nn.Module): module containing the tensor to prune 2025-03-14T05:25:14.2759764Z name (str): parameter name within ``module`` on which pruning 2025-03-14T05:25:14.2759858Z will act. 2025-03-14T05:25:14.2760046Z mask (Tensor): binary mask to be applied to the parameter. 2025-03-14T05:25:14.2760129Z 2025-03-14T05:25:14.2760228Z Returns: 2025-03-14T05:25:14.2760454Z module (nn.Module): modified (i.e. pruned) version of the input module 2025-03-14T05:25:14.2760549Z 2025-03-14T05:25:14.2760642Z Examples: 2025-03-14T05:25:14.2760783Z >>> from torch.nn.utils import prune 2025-03-14T05:25:14.2760901Z >>> m = prune.custom_from_mask( 2025-03-14T05:25:14.2761090Z ... nn.Linear(5, 3), name='bias', mask=torch.tensor([0, 1, 0]) 2025-03-14T05:25:14.2761177Z ... ) 2025-03-14T05:25:14.2761294Z >>> print(m.bias_mask) 2025-03-14T05:25:14.2761401Z tensor([0., 1., 0.]) 2025-03-14T05:25:14.2761499Z 2025-03-14T05:25:14.2761587Z 2025-03-14T05:25:14.2761849Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2761929Z 2025-03-14T05:25:14.2762045Z warnings.warn(msg) 2025-03-14T05:25:14.2762131Z 2025-03-14T05:25:14.2762385Z --- Parse Warning: 104 / 116 --- 2025-03-14T05:25:14.2763366Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=AveragedModel in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/optim/swa_utils.py line=117. 2025-03-14T05:25:14.2763646Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2764015Z Implements averaged model for Stochastic Weight Averaging (SWA) and Exponential Moving Average (EMA). 2025-03-14T05:25:14.2764116Z 2025-03-14T05:25:14.2764400Z Stochastic Weight Averaging was proposed in `Averaging Weights Leads to 2025-03-14T05:25:14.2764631Z Wider Optima and Better Generalization`_ by Pavel Izmailov, Dmitrii 2025-03-14T05:25:14.2764856Z Podoprikhin, Timur Garipov, Dmitry Vetrov and Andrew Gordon Wilson 2025-03-14T05:25:14.2764958Z (UAI 2018). 2025-03-14T05:25:14.2765042Z 2025-03-14T05:25:14.2765273Z Exponential Moving Average is a variation of `Polyak averaging`_, 2025-03-14T05:25:14.2765549Z but using exponential weights instead of equal weights across iterations. 2025-03-14T05:25:14.2765649Z 2025-03-14T05:25:14.2765889Z AveragedModel class creates a copy of the provided module :attr:`model` 2025-03-14T05:25:14.2766128Z on the device :attr:`device` and allows to compute running averages of the 2025-03-14T05:25:14.2766246Z parameters of the :attr:`model`. 2025-03-14T05:25:14.2766345Z 2025-03-14T05:25:14.2766434Z Args: 2025-03-14T05:25:14.2766624Z model (torch.nn.Module): model to use with SWA/EMA 2025-03-14T05:25:14.2766875Z device (torch.device, optional): if provided, the averaged model will be 2025-03-14T05:25:14.2766992Z stored on the :attr:`device` 2025-03-14T05:25:14.2767209Z avg_fn (function, optional): the averaging function used to update 2025-03-14T05:25:14.2767414Z parameters; the function must take in the current value of the 2025-03-14T05:25:14.2767653Z :class:`AveragedModel` parameter, the current value of :attr:`model` 2025-03-14T05:25:14.2767852Z parameter, and the number of models already averaged; if None, 2025-03-14T05:25:14.2768026Z an equally weighted average is used (default: None) 2025-03-14T05:25:14.2768257Z multi_avg_fn (function, optional): the averaging function used to update 2025-03-14T05:25:14.2768505Z parameters inplace; the function must take in the current values of the 2025-03-14T05:25:14.2768787Z :class:`AveragedModel` parameters as a list, the current values of :attr:`model` 2025-03-14T05:25:14.2769018Z parameters as a list, and the number of models already averaged; if None, 2025-03-14T05:25:14.2769192Z an equally weighted average is used (default: None) 2025-03-14T05:25:14.2769400Z use_buffers (bool): if ``True``, it will compute running averages for 2025-03-14T05:25:14.2769640Z both the parameters and the buffers of the model. (default: ``False``) 2025-03-14T05:25:14.2769728Z 2025-03-14T05:25:14.2769818Z Example: 2025-03-14T05:25:14.2769964Z >>> # xdoctest: +SKIP("undefined variables") 2025-03-14T05:25:14.2770096Z >>> loader, optimizer, model, loss_fn = ... 2025-03-14T05:25:14.2770282Z >>> swa_model = torch.optim.swa_utils.AveragedModel(model) 2025-03-14T05:25:14.2770510Z >>> scheduler = torch.optim.lr_scheduler.CosineAnnealingLR(optimizer, 2025-03-14T05:25:14.2770645Z >>> T_max=300) 2025-03-14T05:25:14.2770748Z >>> swa_start = 160 2025-03-14T05:25:14.2770906Z >>> swa_scheduler = SWALR(optimizer, swa_lr=0.05) 2025-03-14T05:25:14.2771012Z >>> for i in range(300): 2025-03-14T05:25:14.2771138Z >>> for input, target in loader: 2025-03-14T05:25:14.2771256Z >>> optimizer.zero_grad() 2025-03-14T05:25:14.2771438Z >>> loss_fn(model(input), target).backward() 2025-03-14T05:25:14.2771550Z >>> optimizer.step() 2025-03-14T05:25:14.2771667Z >>> if i > swa_start: 2025-03-14T05:25:14.2771804Z >>> swa_model.update_parameters(model) 2025-03-14T05:25:14.2771931Z >>> swa_scheduler.step() 2025-03-14T05:25:14.2772027Z >>> else: 2025-03-14T05:25:14.2772142Z >>> scheduler.step() 2025-03-14T05:25:14.2772231Z >>> 2025-03-14T05:25:14.2772432Z >>> # Update bn statistics for the swa_model at the end 2025-03-14T05:25:14.2772602Z >>> torch.optim.swa_utils.update_bn(loader, swa_model) 2025-03-14T05:25:14.2772696Z 2025-03-14T05:25:14.2773003Z You can also use custom averaging functions with the `avg_fn` or `multi_avg_fn` parameters. 2025-03-14T05:25:14.2773215Z If no averaging function is provided, the default is to compute 2025-03-14T05:25:14.2773396Z equally-weighted average of the weights (SWA). 2025-03-14T05:25:14.2773490Z 2025-03-14T05:25:14.2773580Z Example: 2025-03-14T05:25:14.2773723Z >>> # xdoctest: +SKIP("undefined variables") 2025-03-14T05:25:14.2773935Z >>> # Compute exponential moving averages of the weights and buffers 2025-03-14T05:25:14.2774119Z >>> ema_model = torch.optim.swa_utils.AveragedModel(model, 2025-03-14T05:25:14.2774342Z >>> torch.optim.swa_utils.get_ema_multi_avg_fn(0.9), use_buffers=True) 2025-03-14T05:25:14.2774497Z 2025-03-14T05:25:14.2774599Z .. note:: 2025-03-14T05:25:14.2774834Z When using SWA/EMA with models containing Batch Normalization you may 2025-03-14T05:25:14.2775045Z need to update the activation statistics for Batch Normalization. 2025-03-14T05:25:14.2775296Z This can be done either by using the :meth:`torch.optim.swa_utils.update_bn` 2025-03-14T05:25:14.2775529Z or by setting :attr:`use_buffers` to `True`. The first approach updates the 2025-03-14T05:25:14.2775883Z statistics in a post-training step by passing data through the model. The 2025-03-14T05:25:14.2776131Z second does it during the parameter update phase by averaging all buffers. 2025-03-14T05:25:14.2776396Z Empirical evidence has shown that updating the statistics in normalization 2025-03-14T05:25:14.2776628Z layers increases accuracy, but you may wish to empirically test which 2025-03-14T05:25:14.2776806Z approach yields the best results in your problem. 2025-03-14T05:25:14.2776893Z 2025-03-14T05:25:14.2776999Z .. note:: 2025-03-14T05:25:14.2777259Z :attr:`avg_fn` and `multi_avg_fn` are not saved in the :meth:`state_dict` of the model. 2025-03-14T05:25:14.2777357Z 2025-03-14T05:25:14.2777451Z .. note:: 2025-03-14T05:25:14.2777669Z When :meth:`update_parameters` is called for the first time (i.e. 2025-03-14T05:25:14.2777863Z :attr:`n_averaged` is `0`) the parameters of `model` are copied 2025-03-14T05:25:14.2778080Z to the parameters of :class:`AveragedModel`. For every subsequent 2025-03-14T05:25:14.2778272Z call of :meth:`update_parameters` the function `avg_fn` is used 2025-03-14T05:25:14.2778400Z to update the parameters. 2025-03-14T05:25:14.2778485Z 2025-03-14T05:25:14.2778726Z .. _Averaging Weights Leads to Wider Optima and Better Generalization: 2025-03-14T05:25:14.2778863Z https://arxiv.org/abs/1803.05407 2025-03-14T05:25:14.2779118Z .. _There Are Many Consistent Explanations of Unlabeled Data: Why You Should 2025-03-14T05:25:14.2779214Z Average: 2025-03-14T05:25:14.2779347Z https://arxiv.org/abs/1806.05594 2025-03-14T05:25:14.2779552Z .. _SWALP: Stochastic Weight Averaging in Low-Precision Training: 2025-03-14T05:25:14.2779683Z https://arxiv.org/abs/1904.11943 2025-03-14T05:25:14.2779950Z .. _Stochastic Weight Averaging in Parallel: Large-Batch Training That 2025-03-14T05:25:14.2780066Z Generalizes Well: 2025-03-14T05:25:14.2780190Z https://arxiv.org/abs/2001.02312 2025-03-14T05:25:14.2780304Z .. _Polyak averaging: 2025-03-14T05:25:14.2780481Z https://paperswithcode.com/method/polyak-averaging 2025-03-14T05:25:14.2780581Z 2025-03-14T05:25:14.2780840Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2780944Z 2025-03-14T05:25:14.2781075Z warnings.warn(msg) 2025-03-14T05:25:14.2781161Z 2025-03-14T05:25:14.2781395Z --- Parse Warning: 105 / 116 --- 2025-03-14T05:25:14.2782238Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=SWALR in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/optim/swa_utils.py line=369. 2025-03-14T05:25:14.2782553Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2782784Z Anneals the learning rate in each parameter group to a fixed value. 2025-03-14T05:25:14.2782869Z 2025-03-14T05:25:14.2783102Z This learning rate scheduler is meant to be used with Stochastic Weight 2025-03-14T05:25:14.2783329Z Averaging (SWA) method (see `torch.optim.swa_utils.AveragedModel`). 2025-03-14T05:25:14.2783414Z 2025-03-14T05:25:14.2783516Z Args: 2025-03-14T05:25:14.2783717Z optimizer (torch.optim.Optimizer): wrapped optimizer 2025-03-14T05:25:14.2783940Z swa_lrs (float or list): the learning rate value for all param groups 2025-03-14T05:25:14.2784071Z together or separately for each group. 2025-03-14T05:25:14.2784289Z annealing_epochs (int): number of epochs in the annealing phase 2025-03-14T05:25:14.2784386Z (default: 10) 2025-03-14T05:25:14.2784619Z annealing_strategy (str): "cos" or "linear"; specifies the annealing 2025-03-14T05:25:14.2784834Z strategy: "cos" for cosine annealing, "linear" for linear annealing 2025-03-14T05:25:14.2784947Z (default: "cos") 2025-03-14T05:25:14.2785128Z last_epoch (int): the index of the last epoch (default: -1) 2025-03-14T05:25:14.2785230Z 2025-03-14T05:25:14.2785408Z The :class:`SWALR` scheduler can be used together with other 2025-03-14T05:25:14.2785643Z schedulers to switch to a constant learning rate late in the training 2025-03-14T05:25:14.2785754Z as in the example below. 2025-03-14T05:25:14.2785851Z 2025-03-14T05:25:14.2785939Z Example: 2025-03-14T05:25:14.2786086Z >>> # xdoctest: +SKIP("Undefined variables") 2025-03-14T05:25:14.2786207Z >>> loader, optimizer, model = ... 2025-03-14T05:25:14.2786339Z >>> lr_lambda = lambda epoch: 0.9 2025-03-14T05:25:14.2786562Z >>> scheduler = torch.optim.lr_scheduler.MultiplicativeLR(optimizer, 2025-03-14T05:25:14.2786690Z >>> lr_lambda=lr_lambda) 2025-03-14T05:25:14.2786865Z >>> swa_scheduler = torch.optim.swa_utils.SWALR(optimizer, 2025-03-14T05:25:14.2787062Z >>> anneal_strategy="linear", anneal_epochs=20, swa_lr=0.05) 2025-03-14T05:25:14.2787162Z >>> swa_start = 160 2025-03-14T05:25:14.2787278Z >>> for i in range(300): 2025-03-14T05:25:14.2787399Z >>> for input, target in loader: 2025-03-14T05:25:14.2787531Z >>> optimizer.zero_grad() 2025-03-14T05:25:14.2787674Z >>> loss_fn(model(input), target).backward() 2025-03-14T05:25:14.2787796Z >>> optimizer.step() 2025-03-14T05:25:14.2787901Z >>> if i > swa_start: 2025-03-14T05:25:14.2788029Z >>> swa_scheduler.step() 2025-03-14T05:25:14.2788123Z >>> else: 2025-03-14T05:25:14.2788242Z >>> scheduler.step() 2025-03-14T05:25:14.2788357Z 2025-03-14T05:25:14.2788595Z .. _Averaging Weights Leads to Wider Optima and Better Generalization: 2025-03-14T05:25:14.2788718Z https://arxiv.org/abs/1803.05407 2025-03-14T05:25:14.2788818Z 2025-03-14T05:25:14.2789076Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2789174Z 2025-03-14T05:25:14.2789279Z warnings.warn(msg) 2025-03-14T05:25:14.2789377Z 2025-03-14T05:25:14.2789577Z --- Parse Warning: 106 / 116 --- 2025-03-14T05:25:14.2790510Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=assert_close in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/testing/_comparison.py line=1263. 2025-03-14T05:25:14.2790782Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2790949Z Asserts that ``actual`` and ``expected`` are close. 2025-03-14T05:25:14.2791078Z 2025-03-14T05:25:14.2791463Z If ``actual`` and ``expected`` are strided, non-quantized, real-valued, and finite, they are considered close if 2025-03-14T05:25:14.2791549Z 2025-03-14T05:25:14.2791654Z .. math:: 2025-03-14T05:25:14.2791741Z 2025-03-14T05:25:14.2792118Z \lvert \text{actual} - \text{expected} \rvert \le \texttt{atol} + \texttt{rtol} \cdot \lvert \text{expected} \rvert 2025-03-14T05:25:14.2792205Z 2025-03-14T05:25:14.2792588Z Non-finite values (``-inf`` and ``inf``) are only considered close if and only if they are equal. ``NaN``'s are 2025-03-14T05:25:14.2792802Z only considered equal to each other if ``equal_nan`` is ``True``. 2025-03-14T05:25:14.2792900Z 2025-03-14T05:25:14.2793106Z In addition, they are only considered close if they have the same 2025-03-14T05:25:14.2793189Z 2025-03-14T05:25:14.2793400Z - :attr:`~torch.Tensor.device` (if ``check_device`` is ``True``), 2025-03-14T05:25:14.2793536Z - ``dtype`` (if ``check_dtype`` is ``True``), 2025-03-14T05:25:14.2793698Z - ``layout`` (if ``check_layout`` is ``True``), and 2025-03-14T05:25:14.2793829Z - stride (if ``check_stride`` is ``True``). 2025-03-14T05:25:14.2793928Z 2025-03-14T05:25:14.2794227Z If either ``actual`` or ``expected`` is a meta tensor, only the attribute checks will be performed. 2025-03-14T05:25:14.2794327Z 2025-03-14T05:25:14.2794691Z If ``actual`` and ``expected`` are sparse (either having COO, CSR, CSC, BSR, or BSC layout), their strided members are 2025-03-14T05:25:14.2795080Z checked individually. Indices, namely ``indices`` for COO, ``crow_indices`` and ``col_indices`` for CSR and BSR, 2025-03-14T05:25:14.2795308Z or ``ccol_indices`` and ``row_indices`` for CSC and BSC layouts, respectively, 2025-03-14T05:25:14.2795707Z are always checked for equality whereas the values are checked for closeness according to the definition above. 2025-03-14T05:25:14.2795793Z 2025-03-14T05:25:14.2796090Z If ``actual`` and ``expected`` are quantized, they are considered close if they have the same 2025-03-14T05:25:14.2796440Z :meth:`~torch.Tensor.qscheme` and the result of :meth:`~torch.Tensor.dequantize` is close according to the 2025-03-14T05:25:14.2796555Z definition above. 2025-03-14T05:25:14.2796639Z 2025-03-14T05:25:14.2796954Z ``actual`` and ``expected`` can be :class:`~torch.Tensor`'s or any tensor-or-scalar-likes from which 2025-03-14T05:25:14.2797331Z :class:`torch.Tensor`'s can be constructed with :func:`torch.as_tensor`. Except for Python scalars the input types 2025-03-14T05:25:14.2797710Z have to be directly related. In addition, ``actual`` and ``expected`` can be :class:`~collections.abc.Sequence`'s 2025-03-14T05:25:14.2798287Z or :class:`~collections.abc.Mapping`'s in which case they are considered close if their structure matches and all 2025-03-14T05:25:14.2798525Z their elements are considered close according to the above definition. 2025-03-14T05:25:14.2798704Z 2025-03-14T05:25:14.2798797Z .. note:: 2025-03-14T05:25:14.2798882Z 2025-03-14T05:25:14.2799230Z Python scalars are an exception to the type relation requirement, because their :func:`type`, i.e. 2025-03-14T05:25:14.2799567Z :class:`int`, :class:`float`, and :class:`complex`, is equivalent to the ``dtype`` of a tensor-like. Thus, 2025-03-14T05:25:14.2799853Z Python scalars of different types can be checked, but require ``check_dtype=False``. 2025-03-14T05:25:14.2799990Z 2025-03-14T05:25:14.2800081Z Args: 2025-03-14T05:25:14.2800193Z actual (Any): Actual input. 2025-03-14T05:25:14.2800325Z expected (Any): Expected input. 2025-03-14T05:25:14.2800684Z allow_subclasses (bool): If ``True`` (default) and except for Python scalars, inputs of directly related types 2025-03-14T05:25:14.2800859Z are allowed. Otherwise type equality is required. 2025-03-14T05:25:14.2801270Z rtol (Optional[float]): Relative tolerance. If specified ``atol`` must also be specified. If omitted, default 2025-03-14T05:25:14.2801550Z values based on the :attr:`~torch.Tensor.dtype` are selected with the below table. 2025-03-14T05:25:14.2801921Z atol (Optional[float]): Absolute tolerance. If specified ``rtol`` must also be specified. If omitted, default 2025-03-14T05:25:14.2802216Z values based on the :attr:`~torch.Tensor.dtype` are selected with the below table. 2025-03-14T05:25:14.2802477Z equal_nan (Union[bool, str]): If ``True``, two ``NaN`` values will be considered equal. 2025-03-14T05:25:14.2802769Z check_device (bool): If ``True`` (default), asserts that corresponding tensors are on the same 2025-03-14T05:25:14.2803030Z :attr:`~torch.Tensor.device`. If this check is disabled, tensors on different 2025-03-14T05:25:14.2803269Z :attr:`~torch.Tensor.device`'s are moved to the CPU before being compared. 2025-03-14T05:25:14.2803633Z check_dtype (bool): If ``True`` (default), asserts that corresponding tensors have the same ``dtype``. If this 2025-03-14T05:25:14.2803978Z check is disabled, tensors with different ``dtype``'s are promoted to a common ``dtype`` (according to 2025-03-14T05:25:14.2804153Z :func:`torch.promote_types`) before being compared. 2025-03-14T05:25:14.2804523Z check_layout (bool): If ``True`` (default), asserts that corresponding tensors have the same ``layout``. If this 2025-03-14T05:25:14.2804868Z check is disabled, tensors with different ``layout``'s are converted to strided tensors before being 2025-03-14T05:25:14.2804967Z compared. 2025-03-14T05:25:14.2805338Z check_stride (bool): If ``True`` and corresponding tensors are strided, asserts that they have the same stride. 2025-03-14T05:25:14.2805697Z msg (Optional[Union[str, Callable[[str], str]]]): Optional error message to use in case a failure occurs during 2025-03-14T05:25:14.2806069Z the comparison. Can also passed as callable in which case it will be called with the generated message and 2025-03-14T05:25:14.2806192Z should return the new message. 2025-03-14T05:25:14.2806286Z 2025-03-14T05:25:14.2806376Z Raises: 2025-03-14T05:25:14.2806621Z ValueError: If no :class:`torch.Tensor` can be constructed from an input. 2025-03-14T05:25:14.2806796Z ValueError: If only ``rtol`` or ``atol`` is specified. 2025-03-14T05:25:14.2807133Z AssertionError: If corresponding inputs are not Python scalars and are not directly related. 2025-03-14T05:25:14.2807500Z AssertionError: If ``allow_subclasses`` is ``False``, but corresponding inputs are not Python scalars and have 2025-03-14T05:25:14.2807618Z different types. 2025-03-14T05:25:14.2807985Z AssertionError: If the inputs are :class:`~collections.abc.Sequence`'s, but their length does not match. 2025-03-14T05:25:14.2808393Z AssertionError: If the inputs are :class:`~collections.abc.Mapping`'s, but their set of keys do not match. 2025-03-14T05:25:14.2808714Z AssertionError: If corresponding tensors do not have the same :attr:`~torch.Tensor.shape`. 2025-03-14T05:25:14.2809025Z AssertionError: If ``check_layout`` is ``True``, but corresponding tensors do not have the same 2025-03-14T05:25:14.2809150Z :attr:`~torch.Tensor.layout`. 2025-03-14T05:25:14.2809402Z AssertionError: If only one of corresponding tensors is quantized. 2025-03-14T05:25:14.2809792Z AssertionError: If corresponding tensors are quantized, but have different :meth:`~torch.Tensor.qscheme`'s. 2025-03-14T05:25:14.2810097Z AssertionError: If ``check_device`` is ``True``, but corresponding tensors are not on the same 2025-03-14T05:25:14.2810247Z :attr:`~torch.Tensor.device`. 2025-03-14T05:25:14.2810591Z AssertionError: If ``check_dtype`` is ``True``, but corresponding tensors do not have the same ``dtype``. 2025-03-14T05:25:14.2810951Z AssertionError: If ``check_stride`` is ``True``, but corresponding strided tensors do not have the same stride. 2025-03-14T05:25:14.2811327Z AssertionError: If the values of corresponding tensors are not close according to the definition above. 2025-03-14T05:25:14.2811413Z 2025-03-14T05:25:14.2811816Z The following table displays the default ``rtol`` and ``atol`` for different ``dtype``'s. In case of mismatching 2025-03-14T05:25:14.2811974Z ``dtype``'s, the maximum of both tolerances is used. 2025-03-14T05:25:14.2812071Z 2025-03-14T05:25:14.2812205Z +---------------------------+------------+----------+ 2025-03-14T05:25:14.2812349Z | ``dtype`` | ``rtol`` | ``atol`` | 2025-03-14T05:25:14.2812462Z +===========================+============+==========+ 2025-03-14T05:25:14.2812621Z | :attr:`~torch.float16` | ``1e-3`` | ``1e-5`` | 2025-03-14T05:25:14.2812750Z +---------------------------+------------+----------+ 2025-03-14T05:25:14.2812905Z | :attr:`~torch.bfloat16` | ``1.6e-2`` | ``1e-5`` | 2025-03-14T05:25:14.2813034Z +---------------------------+------------+----------+ 2025-03-14T05:25:14.2813184Z | :attr:`~torch.float32` | ``1.3e-6`` | ``1e-5`` | 2025-03-14T05:25:14.2813311Z +---------------------------+------------+----------+ 2025-03-14T05:25:14.2813462Z | :attr:`~torch.float64` | ``1e-7`` | ``1e-7`` | 2025-03-14T05:25:14.2813588Z +---------------------------+------------+----------+ 2025-03-14T05:25:14.2813739Z | :attr:`~torch.complex32` | ``1e-3`` | ``1e-5`` | 2025-03-14T05:25:14.2813866Z +---------------------------+------------+----------+ 2025-03-14T05:25:14.2814022Z | :attr:`~torch.complex64` | ``1.3e-6`` | ``1e-5`` | 2025-03-14T05:25:14.2814152Z +---------------------------+------------+----------+ 2025-03-14T05:25:14.2814303Z | :attr:`~torch.complex128` | ``1e-7`` | ``1e-7`` | 2025-03-14T05:25:14.2814430Z +---------------------------+------------+----------+ 2025-03-14T05:25:14.2814580Z | :attr:`~torch.quint8` | ``1.3e-6`` | ``1e-5`` | 2025-03-14T05:25:14.2814707Z +---------------------------+------------+----------+ 2025-03-14T05:25:14.2814856Z | :attr:`~torch.quint2x4` | ``1.3e-6`` | ``1e-5`` | 2025-03-14T05:25:14.2814985Z +---------------------------+------------+----------+ 2025-03-14T05:25:14.2815134Z | :attr:`~torch.quint4x2` | ``1.3e-6`` | ``1e-5`` | 2025-03-14T05:25:14.2815260Z +---------------------------+------------+----------+ 2025-03-14T05:25:14.2815410Z | :attr:`~torch.qint8` | ``1.3e-6`` | ``1e-5`` | 2025-03-14T05:25:14.2815537Z +---------------------------+------------+----------+ 2025-03-14T05:25:14.2815785Z | :attr:`~torch.qint32` | ``1.3e-6`` | ``1e-5`` | 2025-03-14T05:25:14.2815914Z +---------------------------+------------+----------+ 2025-03-14T05:25:14.2816054Z | other | ``0.0`` | ``0.0`` | 2025-03-14T05:25:14.2816182Z +---------------------------+------------+----------+ 2025-03-14T05:25:14.2816280Z 2025-03-14T05:25:14.2816372Z .. note:: 2025-03-14T05:25:14.2816469Z 2025-03-14T05:25:14.2816887Z :func:`~torch.testing.assert_close` is highly configurable with strict default settings. Users are encouraged 2025-03-14T05:25:14.2817251Z to :func:`~functools.partial` it to fit their use case. For example, if an equality check is needed, one might 2025-03-14T05:25:14.2817513Z define an ``assert_equal`` that uses zero tolerances for every ``dtype`` by default: 2025-03-14T05:25:14.2817609Z 2025-03-14T05:25:14.2817716Z >>> import functools 2025-03-14T05:25:14.2818013Z >>> assert_equal = functools.partial(torch.testing.assert_close, rtol=0, atol=0) 2025-03-14T05:25:14.2818125Z >>> assert_equal(1e-9, 1e-10) 2025-03-14T05:25:14.2818259Z Traceback (most recent call last): 2025-03-14T05:25:14.2818347Z ... 2025-03-14T05:25:14.2818489Z AssertionError: Scalars are not equal! 2025-03-14T05:25:14.2818584Z 2025-03-14T05:25:14.2818709Z Expected 1e-10 but got 1e-09. 2025-03-14T05:25:14.2818841Z Absolute difference: 9.000000000000001e-10 2025-03-14T05:25:14.2818990Z Relative difference: 9.0 2025-03-14T05:25:14.2819076Z 2025-03-14T05:25:14.2819176Z Examples: 2025-03-14T05:25:14.2819296Z >>> # tensor to tensor comparison 2025-03-14T05:25:14.2819441Z >>> expected = torch.tensor([1e0, 1e-1, 1e-2]) 2025-03-14T05:25:14.2819580Z >>> actual = torch.acos(torch.cos(expected)) 2025-03-14T05:25:14.2819739Z >>> torch.testing.assert_close(actual, expected) 2025-03-14T05:25:14.2819826Z 2025-03-14T05:25:14.2819953Z >>> # scalar to scalar comparison 2025-03-14T05:25:14.2820051Z >>> import math 2025-03-14T05:25:14.2820174Z >>> expected = math.sqrt(2.0) 2025-03-14T05:25:14.2820285Z >>> actual = 2.0 / math.sqrt(2.0) 2025-03-14T05:25:14.2820434Z >>> torch.testing.assert_close(actual, expected) 2025-03-14T05:25:14.2820530Z 2025-03-14T05:25:14.2820665Z >>> # numpy array to numpy array comparison 2025-03-14T05:25:14.2820784Z >>> import numpy as np 2025-03-14T05:25:14.2820911Z >>> expected = np.array([1e0, 1e-1, 1e-2]) 2025-03-14T05:25:14.2821051Z >>> actual = np.arccos(np.cos(expected)) 2025-03-14T05:25:14.2821201Z >>> torch.testing.assert_close(actual, expected) 2025-03-14T05:25:14.2821293Z 2025-03-14T05:25:14.2821417Z >>> # sequence to sequence comparison 2025-03-14T05:25:14.2821539Z >>> import numpy as np 2025-03-14T05:25:14.2821798Z >>> # The types of the sequences do not have to match. They only have to have the same 2025-03-14T05:25:14.2821944Z >>> # length and their elements have to match. 2025-03-14T05:25:14.2822105Z >>> expected = [torch.tensor([1.0]), 2.0, np.array(3.0)] 2025-03-14T05:25:14.2822231Z >>> actual = tuple(expected) 2025-03-14T05:25:14.2822378Z >>> torch.testing.assert_close(actual, expected) 2025-03-14T05:25:14.2822468Z 2025-03-14T05:25:14.2822594Z >>> # mapping to mapping comparison 2025-03-14T05:25:14.2822732Z >>> from collections import OrderedDict 2025-03-14T05:25:14.2822836Z >>> import numpy as np 2025-03-14T05:25:14.2822954Z >>> foo = torch.tensor(1.0) 2025-03-14T05:25:14.2823049Z >>> bar = 2.0 2025-03-14T05:25:14.2823160Z >>> baz = np.array(3.0) 2025-03-14T05:25:14.2823415Z >>> # The types and a possible ordering of mappings do not have to match. They only 2025-03-14T05:25:14.2823657Z >>> # have to have the same set of keys and their elements have to match. 2025-03-14T05:25:14.2823862Z >>> expected = OrderedDict([("foo", foo), ("bar", bar), ("baz", baz)]) 2025-03-14T05:25:14.2824012Z >>> actual = {"baz": baz, "bar": bar, "foo": foo} 2025-03-14T05:25:14.2824161Z >>> torch.testing.assert_close(actual, expected) 2025-03-14T05:25:14.2824251Z 2025-03-14T05:25:14.2824380Z >>> expected = torch.tensor([1.0, 2.0, 3.0]) 2025-03-14T05:25:14.2824541Z >>> actual = expected.clone() 2025-03-14T05:25:14.2824716Z >>> # By default, directly related instances can be compared 2025-03-14T05:25:14.2824940Z >>> torch.testing.assert_close(torch.nn.Parameter(actual), expected) 2025-03-14T05:25:14.2825135Z >>> # This check can be made more strict with allow_subclasses=False 2025-03-14T05:25:14.2825262Z >>> torch.testing.assert_close( 2025-03-14T05:25:14.2825816Z ... torch.nn.Parameter(actual), expected, allow_subclasses=False 2025-03-14T05:25:14.2825914Z ... ) 2025-03-14T05:25:14.2826036Z Traceback (most recent call last): 2025-03-14T05:25:14.2826129Z ... 2025-03-14T05:25:14.2826338Z TypeError: No comparison pair was able to handle inputs of type 2025-03-14T05:25:14.2826565Z and . 2025-03-14T05:25:14.2826820Z >>> # If the inputs are not directly related, they are never considered close 2025-03-14T05:25:14.2827002Z >>> torch.testing.assert_close(actual.numpy(), expected) 2025-03-14T05:25:14.2827122Z Traceback (most recent call last): 2025-03-14T05:25:14.2827214Z ... 2025-03-14T05:25:14.2827502Z TypeError: No comparison pair was able to handle inputs of type 2025-03-14T05:25:14.2827620Z and . 2025-03-14T05:25:14.2827893Z >>> # Exceptions to these rules are Python scalars. They can be checked regardless of 2025-03-14T05:25:14.2828026Z >>> # their type if check_dtype=False. 2025-03-14T05:25:14.2828199Z >>> torch.testing.assert_close(1.0, 1, check_dtype=False) 2025-03-14T05:25:14.2828287Z 2025-03-14T05:25:14.2828391Z >>> # NaN != NaN by default. 2025-03-14T05:25:14.2828531Z >>> expected = torch.tensor(float("Nan")) 2025-03-14T05:25:14.2828645Z >>> actual = expected.clone() 2025-03-14T05:25:14.2828797Z >>> torch.testing.assert_close(actual, expected) 2025-03-14T05:25:14.2828924Z Traceback (most recent call last): 2025-03-14T05:25:14.2829006Z ... 2025-03-14T05:25:14.2829147Z AssertionError: Scalars are not close! 2025-03-14T05:25:14.2829239Z 2025-03-14T05:25:14.2829355Z Expected nan but got nan. 2025-03-14T05:25:14.2829502Z Absolute difference: nan (up to 1e-05 allowed) 2025-03-14T05:25:14.2829662Z Relative difference: nan (up to 1.3e-06 allowed) 2025-03-14T05:25:14.2829860Z >>> torch.testing.assert_close(actual, expected, equal_nan=True) 2025-03-14T05:25:14.2829954Z 2025-03-14T05:25:14.2830081Z >>> expected = torch.tensor([1.0, 2.0, 3.0]) 2025-03-14T05:25:14.2830214Z >>> actual = torch.tensor([1.0, 4.0, 5.0]) 2025-03-14T05:25:14.2830357Z >>> # The default error message can be overwritten. 2025-03-14T05:25:14.2830662Z >>> torch.testing.assert_close(actual, expected, msg="Argh, the tensors are not close!") 2025-03-14T05:25:14.2830785Z Traceback (most recent call last): 2025-03-14T05:25:14.2830878Z ... 2025-03-14T05:25:14.2831033Z AssertionError: Argh, the tensors are not close! 2025-03-14T05:25:14.2831264Z >>> # If msg is a callable, it can be used to augment the generated message with 2025-03-14T05:25:14.2831398Z >>> # extra information 2025-03-14T05:25:14.2831522Z >>> torch.testing.assert_close( 2025-03-14T05:25:14.2831727Z ... actual, expected, msg=lambda msg: f"Header\n\n{msg}\n\nFooter" 2025-03-14T05:25:14.2831821Z ... ) 2025-03-14T05:25:14.2831941Z Traceback (most recent call last): 2025-03-14T05:25:14.2832030Z ... 2025-03-14T05:25:14.2832139Z AssertionError: Header 2025-03-14T05:25:14.2832238Z 2025-03-14T05:25:14.2832352Z Tensor-likes are not close! 2025-03-14T05:25:14.2832474Z 2025-03-14T05:25:14.2832590Z Mismatched elements: 2 / 3 (66.7%) 2025-03-14T05:25:14.2832825Z Greatest absolute difference: 2.0 at index (1,) (up to 1e-05 allowed) 2025-03-14T05:25:14.2833057Z Greatest relative difference: 1.0 at index (1,) (up to 1.3e-06 allowed) 2025-03-14T05:25:14.2833156Z 2025-03-14T05:25:14.2833272Z Footer 2025-03-14T05:25:14.2833364Z 2025-03-14T05:25:14.2833616Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2833705Z 2025-03-14T05:25:14.2833805Z warnings.warn(msg) 2025-03-14T05:25:14.2833896Z 2025-03-14T05:25:14.2834136Z --- Parse Warning: 107 / 116 --- 2025-03-14T05:25:14.2835084Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=register_pytree_node in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/_cxx_pytree.py line=104. 2025-03-14T05:25:14.2835354Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2835507Z Register a container-like type as pytree node. 2025-03-14T05:25:14.2835588Z 2025-03-14T05:25:14.2835685Z Args: 2025-03-14T05:25:14.2835879Z cls (type): A Python type to treat as an internal pytree node. 2025-03-14T05:25:14.2836162Z flatten_fn (callable): A function to be used during flattening, taking an instance of 2025-03-14T05:25:14.2836413Z ``cls`` and returning a pair, with (1) an iterable for the children to be flattened 2025-03-14T05:25:14.2836712Z recursively, and (2) some hashable auxiliary data to be stored in the treespec and to be 2025-03-14T05:25:14.2836837Z passed to the ``unflatten_fn``. 2025-03-14T05:25:14.2837123Z unflatten_fn (callable): A function taking two arguments: the auxiliary data that was 2025-03-14T05:25:14.2837391Z returned by ``flatten_fn`` and stored in the treespec, and the unflattened children. 2025-03-14T05:25:14.2837559Z The function should return an instance of ``cls``. 2025-03-14T05:25:14.2837827Z serialized_type_name (str, optional): A keyword argument used to specify the fully 2025-03-14T05:25:14.2837999Z qualified name used when serializing the tree spec. 2025-03-14T05:25:14.2838311Z to_dumpable_context (callable, optional): An optional keyword argument to custom specify how 2025-03-14T05:25:14.2838593Z to convert the context of the pytree to a custom json dumpable representation. This is 2025-03-14T05:25:14.2838866Z used for json serialization, which is being used in :mod:`torch.export` right now. 2025-03-14T05:25:14.2839178Z from_dumpable_context (callable, optional): An optional keyword argument to custom specify 2025-03-14T05:25:14.2839445Z how to convert the custom json dumpable representation of the context back to the 2025-03-14T05:25:14.2839709Z original context. This is used for json deserialization, which is being used in 2025-03-14T05:25:14.2839834Z :mod:`torch.export` right now. 2025-03-14T05:25:14.2839922Z 2025-03-14T05:25:14.2840018Z Example:: 2025-03-14T05:25:14.2840106Z 2025-03-14T05:25:14.2840208Z >>> # xdoctest: +SKIP 2025-03-14T05:25:14.2840390Z >>> # Registry a Python type with lambda functions 2025-03-14T05:25:14.2840499Z >>> register_pytree_node( 2025-03-14T05:25:14.2840597Z ... set, 2025-03-14T05:25:14.2840724Z ... lambda s: (sorted(s), None, None), 2025-03-14T05:25:14.2840861Z ... lambda children, _: set(children), 2025-03-14T05:25:14.2840947Z ... ) 2025-03-14T05:25:14.2841039Z 2025-03-14T05:25:14.2841296Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2841414Z 2025-03-14T05:25:14.2841513Z warnings.warn(msg) 2025-03-14T05:25:14.2841591Z 2025-03-14T05:25:14.2841796Z --- Parse Warning: 108 / 116 --- 2025-03-14T05:25:14.2842756Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=SelectiveCheckpointContext in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/checkpoint.py line=1200. 2025-03-14T05:25:14.2843062Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2843153Z 2025-03-14T05:25:14.2843374Z Context passed to policy function during selective checkpointing. 2025-03-14T05:25:14.2843456Z 2025-03-14T05:25:14.2843696Z This class is used to pass relevant metadata to the policy function during 2025-03-14T05:25:14.2843961Z selective checkpointing. The metadata includes whether the current invocation 2025-03-14T05:25:14.2844164Z of the policy function is during recomputation or not. 2025-03-14T05:25:14.2844248Z 2025-03-14T05:25:14.2844350Z Example: 2025-03-14T05:25:14.2844456Z >>> # xdoctest: +SKIP(stub) 2025-03-14T05:25:14.2844554Z >>> 2025-03-14T05:25:14.2844685Z >>> def policy_fn(ctx, op, *args, **kwargs): 2025-03-14T05:25:14.2844808Z >>> print(ctx.is_recompute) 2025-03-14T05:25:14.2844893Z >>> 2025-03-14T05:25:14.2845182Z >>> context_fn = functools.partial(create_selective_checkpoint_contexts, policy_fn) 2025-03-14T05:25:14.2845269Z >>> 2025-03-14T05:25:14.2845427Z >>> out = torch.utils.checkpoint.checkpoint( 2025-03-14T05:25:14.2845521Z >>> fn, x, y, 2025-03-14T05:25:14.2845635Z >>> use_reentrant=False, 2025-03-14T05:25:14.2845749Z >>> context_fn=context_fn, 2025-03-14T05:25:14.2845843Z >>> ) 2025-03-14T05:25:14.2845927Z 2025-03-14T05:25:14.2846196Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2846282Z 2025-03-14T05:25:14.2846386Z warnings.warn(msg) 2025-03-14T05:25:14.2846470Z 2025-03-14T05:25:14.2846667Z --- Parse Warning: 109 / 116 --- 2025-03-14T05:25:14.2847654Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=create_selective_checkpoint_contexts in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/checkpoint.py line=1334. 2025-03-14T05:25:14.2847928Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2848013Z 2025-03-14T05:25:14.2848261Z Helper to avoid recomputing certain ops during activation checkpointing. 2025-03-14T05:25:14.2848346Z 2025-03-14T05:25:14.2848570Z Use this with `torch.utils.checkpoint.checkpoint` to control which 2025-03-14T05:25:14.2848736Z operations are recomputed during the backward pass. 2025-03-14T05:25:14.2848830Z 2025-03-14T05:25:14.2848918Z Args: 2025-03-14T05:25:14.2849053Z policy_fn_or_list (Callable or List): 2025-03-14T05:25:14.2849221Z - If a policy function is provided, it should accept a 2025-03-14T05:25:14.2849472Z :class:`SelectiveCheckpointContext`, the :class:`OpOverload`, args and 2025-03-14T05:25:14.2849684Z kwargs to the op, and return a :class:`CheckpointPolicy` enum value 2025-03-14T05:25:14.2849963Z indicating whether the execution of the op should be recomputed or not. 2025-03-14T05:25:14.2850168Z - If a list of operations is provided, it is equivalent to a policy 2025-03-14T05:25:14.2850363Z returning `CheckpointPolicy.MUST_SAVE` for the specified 2025-03-14T05:25:14.2850587Z operations and `CheckpointPolicy.PREFER_RECOMPUTE` for all other 2025-03-14T05:25:14.2850696Z operations. 2025-03-14T05:25:14.2850916Z allow_cache_entry_mutation (bool, optional): By default, an error is 2025-03-14T05:25:14.2851170Z raised if any tensors cached by selective activation checkpoint are 2025-03-14T05:25:14.2851384Z mutated in order to ensure correctness. If set to `True`, this check 2025-03-14T05:25:14.2851494Z is disabled. 2025-03-14T05:25:14.2851584Z Returns: 2025-03-14T05:25:14.2851712Z A tuple of two context managers. 2025-03-14T05:25:14.2851796Z 2025-03-14T05:25:14.2851887Z Example: 2025-03-14T05:25:14.2852040Z >>> # xdoctest: +REQUIRES(LINUX) 2025-03-14T05:25:14.2852144Z >>> import functools 2025-03-14T05:25:14.2852243Z >>> 2025-03-14T05:25:14.2852376Z >>> x = torch.rand(10, 10, requires_grad=True) 2025-03-14T05:25:14.2852519Z >>> y = torch.rand(10, 10, requires_grad=True) 2025-03-14T05:25:14.2852608Z >>> 2025-03-14T05:25:14.2852723Z >>> ops_to_save = [ 2025-03-14T05:25:14.2852842Z >>> torch.ops.aten.mm.default, 2025-03-14T05:25:14.2852945Z >>> ] 2025-03-14T05:25:14.2853033Z >>> 2025-03-14T05:25:14.2853207Z >>> def policy_fn(ctx, op, *args, **kwargs): 2025-03-14T05:25:14.2853317Z >>> if op in ops_to_save: 2025-03-14T05:25:14.2853466Z >>> return CheckpointPolicy.MUST_SAVE 2025-03-14T05:25:14.2853559Z >>> else: 2025-03-14T05:25:14.2853723Z >>> return CheckpointPolicy.PREFER_RECOMPUTE 2025-03-14T05:25:14.2853812Z >>> 2025-03-14T05:25:14.2854104Z >>> context_fn = functools.partial(create_selective_checkpoint_contexts, policy_fn) 2025-03-14T05:25:14.2854199Z >>> 2025-03-14T05:25:14.2854314Z >>> # or equivalently 2025-03-14T05:25:14.2854593Z >>> context_fn = functools.partial(create_selective_checkpoint_contexts, ops_to_save) 2025-03-14T05:25:14.2854695Z >>> 2025-03-14T05:25:14.2854794Z >>> def fn(x, y): 2025-03-14T05:25:14.2855018Z >>> return torch.sigmoid(torch.matmul(torch.matmul(x, y), y)) * y 2025-03-14T05:25:14.2855107Z >>> 2025-03-14T05:25:14.2855274Z >>> out = torch.utils.checkpoint.checkpoint( 2025-03-14T05:25:14.2855371Z >>> fn, x, y, 2025-03-14T05:25:14.2855493Z >>> use_reentrant=False, 2025-03-14T05:25:14.2855689Z >>> context_fn=context_fn, 2025-03-14T05:25:14.2855797Z >>> ) 2025-03-14T05:25:14.2855884Z 2025-03-14T05:25:14.2856144Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2856248Z 2025-03-14T05:25:14.2856349Z warnings.warn(msg) 2025-03-14T05:25:14.2856453Z 2025-03-14T05:25:14.2856655Z --- Parse Warning: 110 / 116 --- 2025-03-14T05:25:14.2857572Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=CppExtension in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/cpp_extension.py line=1064. 2025-03-14T05:25:14.2857839Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2857940Z 2025-03-14T05:25:14.2858092Z Create a :class:`setuptools.Extension` for C++. 2025-03-14T05:25:14.2858192Z 2025-03-14T05:25:14.2858438Z Convenience method that creates a :class:`setuptools.Extension` with the 2025-03-14T05:25:14.2858678Z bare minimum (but often sufficient) arguments to build a C++ extension. 2025-03-14T05:25:14.2858768Z 2025-03-14T05:25:14.2858989Z All arguments are forwarded to the :class:`setuptools.Extension` 2025-03-14T05:25:14.2859201Z constructor. Full list arguments can be found at 2025-03-14T05:25:14.2859546Z https://setuptools.pypa.io/en/latest/userguide/ext_modules.html#extension-api-reference 2025-03-14T05:25:14.2859632Z 2025-03-14T05:25:14.2859741Z .. warning:: 2025-03-14T05:25:14.2859975Z The PyTorch python API (as provided in libtorch_python) cannot be built 2025-03-14T05:25:14.2860202Z with the flag ``py_limited_api=True``. When this flag is passed, it is 2025-03-14T05:25:14.2860432Z the user's responsibility in their library to not use APIs from 2025-03-14T05:25:14.2860679Z libtorch_python (in particular pytorch/python bindings) and to only use 2025-03-14T05:25:14.2860899Z APIs from libtorch (aten objects, operators and the dispatcher). For 2025-03-14T05:25:14.2861128Z example, to give access to custom ops from python, the library should 2025-03-14T05:25:14.2861262Z register the ops through the dispatcher. 2025-03-14T05:25:14.2861386Z 2025-03-14T05:25:14.2861616Z Contrary to CPython setuptools, who does not define -DPy_LIMITED_API 2025-03-14T05:25:14.2861835Z as a compile flag when py_limited_api is specified as an option for 2025-03-14T05:25:14.2862046Z the "bdist_wheel" command in ``setup``, PyTorch does! We will specify 2025-03-14T05:25:14.2862280Z -DPy_LIMITED_API=min_supported_cpython to best enforce consistency, 2025-03-14T05:25:14.2862501Z safety, and sanity in order to encourage best practices. To target a 2025-03-14T05:25:14.2862762Z different version, set min_supported_cpython to the hexcode of the 2025-03-14T05:25:14.2862876Z CPython version of choice. 2025-03-14T05:25:14.2862977Z 2025-03-14T05:25:14.2863068Z Example: 2025-03-14T05:25:14.2863186Z >>> # xdoctest: +SKIP 2025-03-14T05:25:14.2863342Z >>> # xdoctest: +REQUIRES(env:TORCH_DOCTEST_CPP_EXT) 2025-03-14T05:25:14.2863473Z >>> from setuptools import setup 2025-03-14T05:25:14.2863702Z >>> from torch.utils.cpp_extension import BuildExtension, CppExtension 2025-03-14T05:25:14.2863804Z >>> setup( 2025-03-14T05:25:14.2863911Z ... name='extension', 2025-03-14T05:25:14.2864023Z ... ext_modules=[ 2025-03-14T05:25:14.2864125Z ... CppExtension( 2025-03-14T05:25:14.2864243Z ... name='extension', 2025-03-14T05:25:14.2864369Z ... sources=['extension.cpp'], 2025-03-14T05:25:14.2864504Z ... extra_compile_args=['-g'], 2025-03-14T05:25:14.2864665Z ... extra_link_args=['-Wl,--no-as-needed', '-lm']) 2025-03-14T05:25:14.2864767Z ... ], 2025-03-14T05:25:14.2864864Z ... cmdclass={ 2025-03-14T05:25:14.2864997Z ... 'build_ext': BuildExtension 2025-03-14T05:25:14.2865085Z ... }) 2025-03-14T05:25:14.2865182Z 2025-03-14T05:25:14.2865440Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2865528Z 2025-03-14T05:25:14.2865642Z warnings.warn(msg) 2025-03-14T05:25:14.2865726Z 2025-03-14T05:25:14.2865934Z --- Parse Warning: 111 / 116 --- 2025-03-14T05:25:14.2866843Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=CUDAExtension in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/cpp_extension.py line=1134. 2025-03-14T05:25:14.2867126Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2867216Z 2025-03-14T05:25:14.2867394Z Create a :class:`setuptools.Extension` for CUDA/C++. 2025-03-14T05:25:14.2867481Z 2025-03-14T05:25:14.2867741Z Convenience method that creates a :class:`setuptools.Extension` with the 2025-03-14T05:25:14.2867949Z bare minimum (but often sufficient) arguments to build a CUDA/C++ 2025-03-14T05:25:14.2868198Z extension. This includes the CUDA include path, library path and runtime 2025-03-14T05:25:14.2868321Z library. 2025-03-14T05:25:14.2868420Z 2025-03-14T05:25:14.2868635Z All arguments are forwarded to the :class:`setuptools.Extension` 2025-03-14T05:25:14.2868802Z constructor. Full list arguments can be found at 2025-03-14T05:25:14.2869131Z https://setuptools.pypa.io/en/latest/userguide/ext_modules.html#extension-api-reference 2025-03-14T05:25:14.2869229Z 2025-03-14T05:25:14.2869325Z .. warning:: 2025-03-14T05:25:14.2869602Z The PyTorch python API (as provided in libtorch_python) cannot be built 2025-03-14T05:25:14.2869819Z with the flag ``py_limited_api=True``. When this flag is passed, it is 2025-03-14T05:25:14.2870034Z the user's responsibility in their library to not use APIs from 2025-03-14T05:25:14.2870271Z libtorch_python (in particular pytorch/python bindings) and to only use 2025-03-14T05:25:14.2870502Z APIs from libtorch (aten objects, operators and the dispatcher). For 2025-03-14T05:25:14.2870747Z example, to give access to custom ops from python, the library should 2025-03-14T05:25:14.2870896Z register the ops through the dispatcher. 2025-03-14T05:25:14.2870984Z 2025-03-14T05:25:14.2871222Z Contrary to CPython setuptools, who does not define -DPy_LIMITED_API 2025-03-14T05:25:14.2871432Z as a compile flag when py_limited_api is specified as an option for 2025-03-14T05:25:14.2871658Z the "bdist_wheel" command in ``setup``, PyTorch does! We will specify 2025-03-14T05:25:14.2871907Z -DPy_LIMITED_API=min_supported_cpython to best enforce consistency, 2025-03-14T05:25:14.2872140Z safety, and sanity in order to encourage best practices. To target a 2025-03-14T05:25:14.2872360Z different version, set min_supported_cpython to the hexcode of the 2025-03-14T05:25:14.2872483Z CPython version of choice. 2025-03-14T05:25:14.2872569Z 2025-03-14T05:25:14.2872672Z Example: 2025-03-14T05:25:14.2872779Z >>> # xdoctest: +SKIP 2025-03-14T05:25:14.2872947Z >>> # xdoctest: +REQUIRES(env:TORCH_DOCTEST_CPP_EXT) 2025-03-14T05:25:14.2873065Z >>> from setuptools import setup 2025-03-14T05:25:14.2873304Z >>> from torch.utils.cpp_extension import BuildExtension, CUDAExtension 2025-03-14T05:25:14.2873396Z >>> setup( 2025-03-14T05:25:14.2873518Z ... name='cuda_extension', 2025-03-14T05:25:14.2873619Z ... ext_modules=[ 2025-03-14T05:25:14.2873734Z ... CUDAExtension( 2025-03-14T05:25:14.2873858Z ... name='cuda_extension', 2025-03-14T05:25:14.2874039Z ... sources=['extension.cpp', 'extension_kernel.cu'], 2025-03-14T05:25:14.2874172Z ... extra_compile_args={'cxx': ['-g'], 2025-03-14T05:25:14.2874308Z ... 'nvcc': ['-O2']}, 2025-03-14T05:25:14.2874466Z ... extra_link_args=['-Wl,--no-as-needed', '-lcuda']) 2025-03-14T05:25:14.2874569Z ... ], 2025-03-14T05:25:14.2874666Z ... cmdclass={ 2025-03-14T05:25:14.2874797Z ... 'build_ext': BuildExtension 2025-03-14T05:25:14.2874886Z ... }) 2025-03-14T05:25:14.2874983Z 2025-03-14T05:25:14.2875089Z Compute capabilities: 2025-03-14T05:25:14.2875186Z 2025-03-14T05:25:14.2875491Z By default the extension will be compiled to run on all archs of the cards visible during the 2025-03-14T05:25:14.2875802Z building process of the extension, plus PTX. If down the road a new card is installed the 2025-03-14T05:25:14.2876098Z extension may need to be recompiled. If a visible card has a compute capability (CC) that's 2025-03-14T05:25:14.2876414Z newer than the newest version for which your nvcc can build fully-compiled binaries, PyTorch 2025-03-14T05:25:14.2876702Z will make nvcc fall back to building kernels with the newest version of PTX your nvcc does 2025-03-14T05:25:14.2876841Z support (see below for details on PTX). 2025-03-14T05:25:14.2876960Z 2025-03-14T05:25:14.2877289Z You can override the default behavior using `TORCH_CUDA_ARCH_LIST` to explicitly specify which 2025-03-14T05:25:14.2877413Z CCs you want the extension to support: 2025-03-14T05:25:14.2877513Z 2025-03-14T05:25:14.2877706Z ``TORCH_CUDA_ARCH_LIST="6.1 8.6" python build_my_extension.py`` 2025-03-14T05:25:14.2877949Z ``TORCH_CUDA_ARCH_LIST="5.2 6.0 6.1 7.0 7.5 8.0 8.6+PTX" python build_my_extension.py`` 2025-03-14T05:25:14.2878048Z 2025-03-14T05:25:14.2878395Z The +PTX option causes extension kernel binaries to include PTX instructions for the specified 2025-03-14T05:25:14.2878733Z CC. PTX is an intermediate representation that allows kernels to runtime-compile for any CC >= 2025-03-14T05:25:14.2879056Z the specified CC (for example, 8.6+PTX generates PTX that can runtime-compile for any GPU with 2025-03-14T05:25:14.2879354Z CC >= 8.6). This improves your binary's forward compatibility. However, relying on older PTX to 2025-03-14T05:25:14.2879722Z provide forward compat by runtime-compiling for newer CCs can modestly reduce performance on 2025-03-14T05:25:14.2879999Z those newer CCs. If you know exact CC(s) of the GPUs you want to target, you're always better 2025-03-14T05:25:14.2880342Z off specifying them individually. For example, if you want your extension to run on 8.0 and 8.6, 2025-03-14T05:25:14.2880657Z "8.0+PTX" would work functionally because it includes PTX that can runtime-compile for 8.6, but 2025-03-14T05:25:14.2880797Z "8.0 8.6" would be better. 2025-03-14T05:25:14.2880885Z 2025-03-14T05:25:14.2881200Z Note that while it's possible to include all supported archs, the more archs get included the 2025-03-14T05:25:14.2881494Z slower the building process will be, as it will build a separate kernel image for each arch. 2025-03-14T05:25:14.2881592Z 2025-03-14T05:25:14.2881922Z Note that CUDA-11.5 nvcc will hit internal compiler error while parsing torch/extension.h on Windows. 2025-03-14T05:25:14.2882154Z To workaround the issue, move python binding logic to pure C++ file. 2025-03-14T05:25:14.2882240Z 2025-03-14T05:25:14.2882348Z Example use: 2025-03-14T05:25:14.2882452Z #include 2025-03-14T05:25:14.2882609Z at::Tensor SigmoidAlphaBlendForwardCuda(....) 2025-03-14T05:25:14.2882711Z 2025-03-14T05:25:14.2882804Z Instead of: 2025-03-14T05:25:14.2882929Z #include 2025-03-14T05:25:14.2883093Z torch::Tensor SigmoidAlphaBlendForwardCuda(...) 2025-03-14T05:25:14.2883194Z 2025-03-14T05:25:14.2883469Z Currently open issue for nvcc bug: https://github.com/pytorch/pytorch/issues/69460 2025-03-14T05:25:14.2884001Z Complete workaround code example: https://github.com/facebookresearch/pytorch3d/commit/cb170ac024a949f1f9614ffe6af1c38d972f7d48 2025-03-14T05:25:14.2884083Z 2025-03-14T05:25:14.2884212Z Relocatable device code linking: 2025-03-14T05:25:14.2884306Z 2025-03-14T05:25:14.2884606Z If you want to reference device symbols across compilation units (across object files), 2025-03-14T05:25:14.2884864Z the object files need to be built with `relocatable device code` (-rdc=true or -dc). 2025-03-14T05:25:14.2885247Z An exception to this rule is "dynamic parallelism" (nested kernel launches) which is not used a lot anymore. 2025-03-14T05:25:14.2885576Z `Relocatable device code` is less optimized so it needs to be used only on object files that need it. 2025-03-14T05:25:14.2885922Z Using `-dlto` (Device Link Time Optimization) at the device code compilation step and `dlink` step 2025-03-14T05:25:14.2886108Z helps reduce the protentional perf degradation of `-rdc`. 2025-03-14T05:25:14.2886296Z Note that it needs to be used at both steps to be useful. 2025-03-14T05:25:14.2886382Z 2025-03-14T05:25:14.2886766Z If you have `rdc` objects you need to have an extra `-dlink` (device linking) step before the CPU symbol linking step. 2025-03-14T05:25:14.2887009Z There is also a case where `-dlink` is used without `-rdc`: 2025-03-14T05:25:14.2887283Z when an extension is linked against a static lib containing rdc-compiled objects 2025-03-14T05:25:14.2887499Z like the [NVSHMEM library](https://developer.nvidia.com/nvshmem). 2025-03-14T05:25:14.2887602Z 2025-03-14T05:25:14.2887805Z Note: Ninja is required to build a CUDA Extension with RDC linking. 2025-03-14T05:25:14.2887909Z 2025-03-14T05:25:14.2887998Z Example: 2025-03-14T05:25:14.2888115Z >>> # xdoctest: +SKIP 2025-03-14T05:25:14.2888293Z >>> # xdoctest: +REQUIRES(env:TORCH_DOCTEST_CPP_EXT) 2025-03-14T05:25:14.2888409Z >>> CUDAExtension( 2025-03-14T05:25:14.2888517Z ... name='cuda_extension', 2025-03-14T05:25:14.2888695Z ... sources=['extension.cpp', 'extension_kernel.cu'], 2025-03-14T05:25:14.2888793Z ... dlink=True, 2025-03-14T05:25:14.2888931Z ... dlink_libraries=["dlink_lib"], 2025-03-14T05:25:14.2889086Z ... extra_compile_args={'cxx': ['-g'], 2025-03-14T05:25:14.2889227Z ... 'nvcc': ['-O2', '-rdc=true']}) 2025-03-14T05:25:14.2889308Z 2025-03-14T05:25:14.2889580Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2889662Z 2025-03-14T05:25:14.2889775Z warnings.warn(msg) 2025-03-14T05:25:14.2889855Z 2025-03-14T05:25:14.2890069Z --- Parse Warning: 112 / 116 --- 2025-03-14T05:25:14.2891013Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=SyclExtension in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/cpp_extension.py line=1325. 2025-03-14T05:25:14.2891298Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2891381Z 2025-03-14T05:25:14.2891567Z Creates a :class:`setuptools.Extension` for SYCL/C++. 2025-03-14T05:25:14.2891653Z 2025-03-14T05:25:14.2891910Z Convenience method that creates a :class:`setuptools.Extension` with the 2025-03-14T05:25:14.2892112Z bare minimum (but often sufficient) arguments to build a SYCL/C++ 2025-03-14T05:25:14.2892216Z extension. 2025-03-14T05:25:14.2892298Z 2025-03-14T05:25:14.2892522Z All arguments are forwarded to the :class:`setuptools.Extension` 2025-03-14T05:25:14.2892612Z constructor. 2025-03-14T05:25:14.2892711Z 2025-03-14T05:25:14.2892803Z .. warning:: 2025-03-14T05:25:14.2893053Z The PyTorch python API (as provided in libtorch_python) cannot be built 2025-03-14T05:25:14.2893267Z with the flag ``py_limited_api=True``. When this flag is passed, it is 2025-03-14T05:25:14.2893482Z the user's responsibility in their library to not use APIs from 2025-03-14T05:25:14.2893716Z libtorch_python (in particular pytorch/python bindings) and to only use 2025-03-14T05:25:14.2893945Z APIs from libtorch (aten objects, operators and the dispatcher). For 2025-03-14T05:25:14.2894164Z example, to give access to custom ops from python, the library should 2025-03-14T05:25:14.2894310Z register the ops through the dispatcher. 2025-03-14T05:25:14.2894397Z 2025-03-14T05:25:14.2894632Z Contrary to CPython setuptools, who does not define -DPy_LIMITED_API 2025-03-14T05:25:14.2894840Z as a compile flag when py_limited_api is specified as an option for 2025-03-14T05:25:14.2895062Z the "bdist_wheel" command in ``setup``, PyTorch does! We will specify 2025-03-14T05:25:14.2895283Z -DPy_LIMITED_API=min_supported_cpython to best enforce consistency, 2025-03-14T05:25:14.2895515Z safety, and sanity in order to encourage best practices. To target a 2025-03-14T05:25:14.2895799Z different version, set min_supported_cpython to the hexcode of the 2025-03-14T05:25:14.2895921Z CPython version of choice. 2025-03-14T05:25:14.2896007Z 2025-03-14T05:25:14.2896131Z Example: 2025-03-14T05:25:14.2896249Z >>> # xdoctest: +SKIP 2025-03-14T05:25:14.2896401Z >>> # xdoctest: +REQUIRES(env:TORCH_DOCTEST_CPP_EXT) 2025-03-14T05:25:14.2896641Z >>> from torch.utils.cpp_extension import BuildExtension, SyclExtension 2025-03-14T05:25:14.2896730Z >>> setup( 2025-03-14T05:25:14.2896851Z ... name='xpu_extension', 2025-03-14T05:25:14.2896947Z ... ext_modules=[ 2025-03-14T05:25:14.2897060Z ... SyclExtension( 2025-03-14T05:25:14.2897179Z ... name='xpu_extension', 2025-03-14T05:25:14.2897386Z ... sources=['extension.cpp', 'extension_kernel.cpp'], 2025-03-14T05:25:14.2897568Z ... extra_compile_args={'cxx': ['-g', '-std=c++20', '-fPIC']}) 2025-03-14T05:25:14.2897670Z ... ], 2025-03-14T05:25:14.2897765Z ... cmdclass={ 2025-03-14T05:25:14.2898042Z ... 'build_ext': BuildExtension 2025-03-14T05:25:14.2898202Z ... }) 2025-03-14T05:25:14.2898301Z 2025-03-14T05:25:14.2898603Z By default the extension will be compiled to run on all archs of the cards visible during the 2025-03-14T05:25:14.2898877Z building process of the extension. If down the road a new card is installed the 2025-03-14T05:25:14.2899133Z extension may need to be recompiled. You can override the default behavior using 2025-03-14T05:25:14.2899457Z `TORCH_XPU_ARCH_LIST` to explicitly specify which device architectures you want the extension 2025-03-14T05:25:14.2899584Z to support: 2025-03-14T05:25:14.2899687Z 2025-03-14T05:25:14.2899889Z ``TORCH_XPU_ARCH_LIST="pvc,xe-lpg" python build_my_extension.py`` 2025-03-14T05:25:14.2899987Z 2025-03-14T05:25:14.2900283Z Note that while it's possible to include all supported archs, the more archs get included the 2025-03-14T05:25:14.2900590Z slower the building process will be, as it will build a separate kernel image for each arch. 2025-03-14T05:25:14.2900677Z 2025-03-14T05:25:14.2900834Z Note: Ninja is required to build SyclExtension. 2025-03-14T05:25:14.2900918Z 2025-03-14T05:25:14.2901188Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2901272Z 2025-03-14T05:25:14.2901389Z warnings.warn(msg) 2025-03-14T05:25:14.2901475Z 2025-03-14T05:25:14.2901710Z --- Parse Warning: 113 / 116 --- 2025-03-14T05:25:14.2902575Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=load in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/cpp_extension.py line=1502. 2025-03-14T05:25:14.2902857Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2902942Z 2025-03-14T05:25:14.2903108Z Load a PyTorch C++ extension just-in-time (JIT). 2025-03-14T05:25:14.2903193Z 2025-03-14T05:25:14.2903417Z To load an extension, a Ninja build file is emitted, which is used to 2025-03-14T05:25:14.2903627Z compile the given sources into a dynamic library. This library is 2025-03-14T05:25:14.2903865Z subsequently loaded into the current Python process as a module and 2025-03-14T05:25:14.2903999Z returned from this function, ready for use. 2025-03-14T05:25:14.2904100Z 2025-03-14T05:25:14.2904309Z By default, the directory to which the build file is emitted and the 2025-03-14T05:25:14.2904562Z resulting library compiled to is ``/torch_extensions/``, where 2025-03-14T05:25:14.2904770Z ```` is the temporary folder on the current platform and ```` 2025-03-14T05:25:14.2905000Z the name of the extension. This location can be overridden in two ways. 2025-03-14T05:25:14.2905208Z First, if the ``TORCH_EXTENSIONS_DIR`` environment variable is set, it 2025-03-14T05:25:14.2905442Z replaces ``/torch_extensions`` and all extensions will be compiled 2025-03-14T05:25:14.2905660Z into subfolders of this directory. Second, if the ``build_directory`` 2025-03-14T05:25:14.2905949Z argument to this function is supplied, it overrides the entire path, i.e. 2025-03-14T05:25:14.2906118Z the library will be compiled into that folder directly. 2025-03-14T05:25:14.2906214Z 2025-03-14T05:25:14.2906424Z To compile the sources, the default system compiler (``c++``) is used, 2025-03-14T05:25:14.2906678Z which can be overridden by setting the ``CXX`` environment variable. To pass 2025-03-14T05:25:14.2906940Z additional arguments to the compilation process, ``extra_cflags`` or 2025-03-14T05:25:14.2907177Z ``extra_ldflags`` can be provided. For example, to compile your extension 2025-03-14T05:25:14.2907392Z with optimizations, pass ``extra_cflags=['-O3']``. You can also use 2025-03-14T05:25:14.2907565Z ``extra_cflags`` to pass further include directories. 2025-03-14T05:25:14.2907650Z 2025-03-14T05:25:14.2907901Z CUDA support with mixed compilation is provided. Simply pass CUDA source 2025-03-14T05:25:14.2908116Z files (``.cu`` or ``.cuh``) along with other sources. Such files will be 2025-03-14T05:25:14.2908374Z detected and compiled with nvcc rather than the C++ compiler. This includes 2025-03-14T05:25:14.2908590Z passing the CUDA lib64 directory as a library directory, and linking 2025-03-14T05:25:14.2908753Z ``cudart``. You can pass additional flags to nvcc via 2025-03-14T05:25:14.2908961Z ``extra_cuda_cflags``, just like with ``extra_cflags`` for C++. Various 2025-03-14T05:25:14.2909234Z heuristics for finding the CUDA install directory are used, which usually 2025-03-14T05:25:14.2909450Z work fine. If not, setting the ``CUDA_HOME`` environment variable is the 2025-03-14T05:25:14.2909552Z safest option. 2025-03-14T05:25:14.2909638Z 2025-03-14T05:25:14.2909879Z SYCL support with mixed compilation is provided. Simply pass SYCL source 2025-03-14T05:25:14.2910093Z files (``.sycl``) along with other sources. Such files will be detected 2025-03-14T05:25:14.2910327Z and compiled with SYCL compiler (such as Intel DPC++ Compiler) rather 2025-03-14T05:25:14.2910540Z than the C++ compiler. You can pass additional flags to SYCL compiler 2025-03-14T05:25:14.2910744Z via ``extra_sycl_cflags``, just like with ``extra_cflags`` for C++. 2025-03-14T05:25:14.2910952Z SYCL compiler is expected to be found via system PATH environment 2025-03-14T05:25:14.2911040Z variable. 2025-03-14T05:25:14.2911139Z 2025-03-14T05:25:14.2911225Z Args: 2025-03-14T05:25:14.2911455Z name: The name of the extension to build. This MUST be the same as the 2025-03-14T05:25:14.2911569Z name of the pybind11 module! 2025-03-14T05:25:14.2911787Z sources: A list of relative or absolute paths to C++ source files. 2025-03-14T05:25:14.2912013Z extra_cflags: optional list of compiler flags to forward to the build. 2025-03-14T05:25:14.2912252Z extra_cuda_cflags: optional list of compiler flags to forward to nvcc 2025-03-14T05:25:14.2912368Z when building CUDA sources. 2025-03-14T05:25:14.2912601Z extra_sycl_cflags: optional list of compiler flags to forward to SYCL 2025-03-14T05:25:14.2912724Z compiler when building SYCL sources. 2025-03-14T05:25:14.2912958Z extra_ldflags: optional list of linker flags to forward to the build. 2025-03-14T05:25:14.2913176Z extra_include_paths: optional list of include directories to forward 2025-03-14T05:25:14.2913285Z to the build. 2025-03-14T05:25:14.2913470Z build_directory: optional path to use as build workspace. 2025-03-14T05:25:14.2913664Z verbose: If ``True``, turns on verbose logging of load steps. 2025-03-14T05:25:14.2913887Z with_cuda: Determines whether CUDA headers and libraries are added to 2025-03-14T05:25:14.2914060Z the build. If set to ``None`` (default), this value is 2025-03-14T05:25:14.2914267Z automatically determined based on the existence of ``.cu`` or 2025-03-14T05:25:14.2914484Z ``.cuh`` in ``sources``. Set it to `True`` to force CUDA headers 2025-03-14T05:25:14.2914597Z and libraries to be included. 2025-03-14T05:25:14.2914835Z with_sycl: Determines whether SYCL headers and libraries are added to 2025-03-14T05:25:14.2914994Z the build. If set to ``None`` (default), this value is 2025-03-14T05:25:14.2915221Z automatically determined based on the existence of ``.sycl`` in 2025-03-14T05:25:14.2915387Z ``sources``. Set it to `True`` to force SYCL headers and 2025-03-14T05:25:14.2915542Z libraries to be included. 2025-03-14T05:25:14.2915750Z is_python_module: If ``True`` (default), imports the produced shared 2025-03-14T05:25:14.2915955Z library as a Python module. If ``False``, behavior depends on 2025-03-14T05:25:14.2916058Z ``is_standalone``. 2025-03-14T05:25:14.2916280Z is_standalone: If ``False`` (default) loads the constructed extension 2025-03-14T05:25:14.2916505Z into the process as a plain dynamic library. If ``True``, build a 2025-03-14T05:25:14.2916627Z standalone executable. 2025-03-14T05:25:14.2916710Z 2025-03-14T05:25:14.2916816Z Returns: 2025-03-14T05:25:14.2916936Z If ``is_python_module`` is ``True``: 2025-03-14T05:25:14.2917133Z Returns the loaded PyTorch extension as a Python module. 2025-03-14T05:25:14.2917219Z 2025-03-14T05:25:14.2917438Z If ``is_python_module`` is ``False`` and ``is_standalone`` is ``False``: 2025-03-14T05:25:14.2917684Z Returns nothing. (The shared library is loaded into the process as 2025-03-14T05:25:14.2917799Z a side effect.) 2025-03-14T05:25:14.2917882Z 2025-03-14T05:25:14.2918012Z If ``is_standalone`` is ``True``. 2025-03-14T05:25:14.2918215Z Return the path to the executable. (On Windows, TORCH_LIB_PATH is 2025-03-14T05:25:14.2918409Z added to the PATH environment variable as a side effect.) 2025-03-14T05:25:14.2918499Z 2025-03-14T05:25:14.2918602Z Example: 2025-03-14T05:25:14.2918704Z >>> # xdoctest: +SKIP 2025-03-14T05:25:14.2918865Z >>> from torch.utils.cpp_extension import load 2025-03-14T05:25:14.2918963Z >>> module = load( 2025-03-14T05:25:14.2919081Z ... name='extension', 2025-03-14T05:25:14.2919246Z ... sources=['extension.cpp', 'extension_kernel.cu'], 2025-03-14T05:25:14.2919364Z ... extra_cflags=['-O2'], 2025-03-14T05:25:14.2919463Z ... verbose=True) 2025-03-14T05:25:14.2919564Z 2025-03-14T05:25:14.2919819Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2919915Z 2025-03-14T05:25:14.2920019Z warnings.warn(msg) 2025-03-14T05:25:14.2920106Z 2025-03-14T05:25:14.2920323Z --- Parse Warning: 114 / 116 --- 2025-03-14T05:25:14.2921210Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=load_inline in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/cpp_extension.py line=1811. 2025-03-14T05:25:14.2921498Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2921598Z 2025-03-14T05:25:14.2921816Z Load a PyTorch C++ extension just-in-time (JIT) from string sources. 2025-03-14T05:25:14.2921903Z 2025-03-14T05:25:14.2922153Z This function behaves exactly like :func:`load`, but takes its sources as 2025-03-14T05:25:14.2922389Z strings rather than filenames. These strings are stored to files in the 2025-03-14T05:25:14.2922616Z build directory, after which the behavior of :func:`load_inline` is 2025-03-14T05:25:14.2922723Z identical to :func:`load`. 2025-03-14T05:25:14.2922819Z 2025-03-14T05:25:14.2922907Z See `the 2025-03-14T05:25:14.2923245Z tests `_ 2025-03-14T05:25:14.2923405Z for good examples of using this function. 2025-03-14T05:25:14.2923503Z 2025-03-14T05:25:14.2923739Z Sources may omit two required parts of a typical non-inline C++ extension: 2025-03-14T05:25:14.2923995Z the necessary header includes, as well as the (pybind11) binding code. More 2025-03-14T05:25:14.2924238Z precisely, strings passed to ``cpp_sources`` are first concatenated into a 2025-03-14T05:25:14.2924441Z single ``.cpp`` file. This file is then prepended with ``#include 2025-03-14T05:25:14.2924546Z ``. 2025-03-14T05:25:14.2924668Z 2025-03-14T05:25:14.2924895Z Furthermore, if the ``functions`` argument is supplied, bindings will be 2025-03-14T05:25:14.2925148Z automatically generated for each function specified. ``functions`` can 2025-03-14T05:25:14.2925369Z either be a list of function names, or a dictionary mapping from function 2025-03-14T05:25:14.2925608Z names to docstrings. If a list is given, the name of each function is used 2025-03-14T05:25:14.2925744Z as its docstring. 2025-03-14T05:25:14.2925840Z 2025-03-14T05:25:14.2926057Z The sources in ``cuda_sources`` are concatenated into a separate ``.cu`` 2025-03-14T05:25:14.2926247Z file and prepended with ``torch/types.h``, ``cuda.h`` and 2025-03-14T05:25:14.2926458Z ``cuda_runtime.h`` includes. The ``.cpp`` and ``.cu`` files are compiled 2025-03-14T05:25:14.2926700Z separately, but ultimately linked into a single library. Note that no 2025-03-14T05:25:14.2926958Z bindings are generated for functions in ``cuda_sources`` per se. To bind 2025-03-14T05:25:14.2927193Z to a CUDA kernel, you must create a C++ function that calls it, and either 2025-03-14T05:25:14.2927405Z declare or define this C++ function in one of the ``cpp_sources`` (and 2025-03-14T05:25:14.2927534Z include its name in ``functions``). 2025-03-14T05:25:14.2927620Z 2025-03-14T05:25:14.2927858Z The sources in ``sycl_sources`` are concatenated into a separate ``.sycl`` 2025-03-14T05:25:14.2928083Z file and prepended with ``torch/types.h``, ``sycl/sycl.hpp`` includes. 2025-03-14T05:25:14.2928294Z The ``.cpp`` and ``.sycl`` files are compiled separately, but ultimately 2025-03-14T05:25:14.2928508Z linked into a single library. Note that no bindings are generated for 2025-03-14T05:25:14.2928736Z functions in ``sycl_sources`` per se. To bind to a SYCL kernel, you must 2025-03-14T05:25:14.2928949Z create a C++ function that calls it, and either declare or define this 2025-03-14T05:25:14.2929153Z C++ function in one of the ``cpp_sources`` (and include its name 2025-03-14T05:25:14.2929252Z in ``functions``). 2025-03-14T05:25:14.2929348Z 2025-03-14T05:25:14.2929534Z See :func:`load` for a description of arguments omitted below. 2025-03-14T05:25:14.2929633Z 2025-03-14T05:25:14.2929722Z Args: 2025-03-14T05:25:14.2929953Z cpp_sources: A string, or list of strings, containing C++ source code. 2025-03-14T05:25:14.2930179Z cuda_sources: A string, or list of strings, containing CUDA source code. 2025-03-14T05:25:14.2930413Z sycl_sources: A string, or list of strings, containing SYCL source code. 2025-03-14T05:25:14.2930621Z functions: A list of function names for which to generate function 2025-03-14T05:25:14.2930849Z bindings. If a dictionary is given, it should map function names to 2025-03-14T05:25:14.2931035Z docstrings (which are otherwise just the function names). 2025-03-14T05:25:14.2931276Z with_cuda: Determines whether CUDA headers and libraries are added to 2025-03-14T05:25:14.2931438Z the build. If set to ``None`` (default), this value is 2025-03-14T05:25:14.2931661Z automatically determined based on whether ``cuda_sources`` is 2025-03-14T05:25:14.2931818Z provided. Set it to ``True`` to force CUDA headers 2025-03-14T05:25:14.2931947Z and libraries to be included. 2025-03-14T05:25:14.2932173Z with_sycl: Determines whether SYCL headers and libraries are added to 2025-03-14T05:25:14.2932375Z the build. If set to ``None`` (default), this value is 2025-03-14T05:25:14.2932583Z automatically determined based on whether ``sycl_sources`` is 2025-03-14T05:25:14.2932753Z provided. Set it to ``True`` to force SYCL headers 2025-03-14T05:25:14.2932868Z and libraries to be included. 2025-03-14T05:25:14.2933092Z with_pytorch_error_handling: Determines whether pytorch error and 2025-03-14T05:25:14.2933321Z warning macros are handled by pytorch instead of pybind. To do 2025-03-14T05:25:14.2933552Z this, each function ``foo`` is called via an intermediary ``_safe_foo`` 2025-03-14T05:25:14.2933756Z function. This redirection might cause issues in obscure cases 2025-03-14T05:25:14.2933956Z of cpp. This flag should be set to ``False`` when this redirect 2025-03-14T05:25:14.2934055Z causes issues. 2025-03-14T05:25:14.2934178Z 2025-03-14T05:25:14.2934266Z Example: 2025-03-14T05:25:14.2934429Z >>> # xdoctest: +REQUIRES(env:TORCH_DOCTEST_CPP_EXT) 2025-03-14T05:25:14.2934588Z >>> from torch.utils.cpp_extension import load_inline 2025-03-14T05:25:14.2934698Z >>> source = """ 2025-03-14T05:25:14.2934854Z at::Tensor sin_add(at::Tensor x, at::Tensor y) { 2025-03-14T05:25:14.2934972Z return x.sin() + y.sin(); 2025-03-14T05:25:14.2935058Z } 2025-03-14T05:25:14.2935156Z """ 2025-03-14T05:25:14.2935323Z >>> module = load_inline(name='inline_extension', 2025-03-14T05:25:14.2935459Z ... cpp_sources=[source], 2025-03-14T05:25:14.2935658Z ... functions=['sin_add']) 2025-03-14T05:25:14.2935760Z 2025-03-14T05:25:14.2935848Z .. note:: 2025-03-14T05:25:14.2936091Z Since load_inline will just-in-time compile the source code, please ensure 2025-03-14T05:25:14.2936335Z that you have the right toolchains installed in the runtime. For example, 2025-03-14T05:25:14.2936575Z when loading C++, make sure a C++ compiler is available. If you're loading 2025-03-14T05:25:14.2936824Z a CUDA extension, you will need to additionally install the corresponding CUDA 2025-03-14T05:25:14.2937082Z toolkit (nvcc and any other dependencies your code has). Compiling toolchains 2025-03-14T05:25:14.2937321Z are not included when you install torch and must be additionally installed. 2025-03-14T05:25:14.2937417Z 2025-03-14T05:25:14.2937674Z During compiling, by default, the Ninja backend uses #CPUS + 2 workers to build 2025-03-14T05:25:14.2937906Z the extension. This may use up too many resources on some systems. One 2025-03-14T05:25:14.2938131Z can control the number of workers by setting the `MAX_JOBS` environment 2025-03-14T05:25:14.2938264Z variable to a non-negative number. 2025-03-14T05:25:14.2938349Z 2025-03-14T05:25:14.2938604Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2938700Z 2025-03-14T05:25:14.2938800Z warnings.warn(msg) 2025-03-14T05:25:14.2938895Z 2025-03-14T05:25:14.2939109Z --- Parse Warning: 115 / 116 --- 2025-03-14T05:25:14.2940096Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=ThroughputBenchmark in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/throughput_benchmark.py line=61. 2025-03-14T05:25:14.2940365Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2940461Z 2025-03-14T05:25:14.2940755Z This class is a wrapper around a c++ component throughput_benchmark::ThroughputBenchmark. 2025-03-14T05:25:14.2940852Z 2025-03-14T05:25:14.2941147Z This wrapper on the throughput_benchmark::ThroughputBenchmark component is responsible 2025-03-14T05:25:14.2941410Z for executing a PyTorch module (nn.Module or ScriptModule) under an inference 2025-03-14T05:25:14.2941683Z server like load. It can emulate multiple calling threads to a single module 2025-03-14T05:25:14.2941942Z provided. In the future we plan to enhance this component to support inter and 2025-03-14T05:25:14.2942207Z intra-op parallelism as well as multiple models running in a single process. 2025-03-14T05:25:14.2942293Z 2025-03-14T05:25:14.2942548Z Please note that even though nn.Module is supported, it might incur an overhead 2025-03-14T05:25:14.2942813Z from the need to hold GIL every time we execute Python code or pass around 2025-03-14T05:25:14.2943056Z inputs as Python objects. As soon as you have a ScriptModule version of your 2025-03-14T05:25:14.2943307Z model for inference deployment it is better to switch to using it in this 2025-03-14T05:25:14.2943400Z benchmark. 2025-03-14T05:25:14.2943500Z 2025-03-14T05:25:14.2943595Z Example:: 2025-03-14T05:25:14.2943692Z 2025-03-14T05:25:14.2943843Z >>> # xdoctest: +SKIP("undefined vars") 2025-03-14T05:25:14.2944004Z >>> from torch.utils import ThroughputBenchmark 2025-03-14T05:25:14.2944138Z >>> bench = ThroughputBenchmark(my_module) 2025-03-14T05:25:14.2944317Z >>> # Pre-populate benchmark's data set with the inputs 2025-03-14T05:25:14.2944422Z >>> for input in inputs: 2025-03-14T05:25:14.2944658Z ... # Both args and kwargs work, same as any PyTorch Module / ScriptModule 2025-03-14T05:25:14.2944791Z ... bench.add_input(input[0], x2=input[1]) 2025-03-14T05:25:14.2945031Z >>> # Inputs supplied above are randomly used during the execution 2025-03-14T05:25:14.2945139Z >>> stats = bench.benchmark( 2025-03-14T05:25:14.2945265Z ... num_calling_threads=4, 2025-03-14T05:25:14.2945370Z ... num_warmup_iters = 100, 2025-03-14T05:25:14.2945483Z ... num_iters = 1000, 2025-03-14T05:25:14.2945568Z ... ) 2025-03-14T05:25:14.2945769Z >>> print("Avg latency (ms): {}".format(stats.latency_avg_ms)) 2025-03-14T05:25:14.2945948Z >>> print("Number of iterations: {}".format(stats.num_iters)) 2025-03-14T05:25:14.2946044Z 2025-03-14T05:25:14.2946311Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2946409Z 2025-03-14T05:25:14.2946512Z warnings.warn(msg) 2025-03-14T05:25:14.2946613Z 2025-03-14T05:25:14.2946810Z --- Parse Warning: 116 / 116 --- 2025-03-14T05:25:14.2947769Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/xdoctest/core.py:423: UserWarning: Cannot scrape callname=DistributedSampler in modpath=/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/utils/data/distributed.py line=18. 2025-03-14T05:25:14.2948037Z Caused by: DoctestParseError('Failed to parse doctest in _label_docsrc_lines') 2025-03-14T05:25:14.2948257Z Sampler that restricts data loading to a subset of the dataset. 2025-03-14T05:25:14.2948347Z 2025-03-14T05:25:14.2948500Z It is especially useful in conjunction with 2025-03-14T05:25:14.2948755Z :class:`torch.nn.parallel.DistributedDataParallel`. In such a case, each 2025-03-14T05:25:14.2949035Z process can pass a :class:`~torch.utils.data.DistributedSampler` instance as a 2025-03-14T05:25:14.2949270Z :class:`~torch.utils.data.DataLoader` sampler, and load a subset of the 2025-03-14T05:25:14.2949419Z original dataset that is exclusive to it. 2025-03-14T05:25:14.2949507Z 2025-03-14T05:25:14.2949611Z .. note:: 2025-03-14T05:25:14.2949855Z Dataset is assumed to be of constant size and that any instance of it always 2025-03-14T05:25:14.2950013Z returns the same elements in the same order. 2025-03-14T05:25:14.2950098Z 2025-03-14T05:25:14.2950201Z Args: 2025-03-14T05:25:14.2950328Z dataset: Dataset used for sampling. 2025-03-14T05:25:14.2950563Z num_replicas (int, optional): Number of processes participating in 2025-03-14T05:25:14.2950853Z distributed training. By default, :attr:`world_size` is retrieved from the 2025-03-14T05:25:14.2950986Z current distributed group. 2025-03-14T05:25:14.2951230Z rank (int, optional): Rank of the current process within :attr:`num_replicas`. 2025-03-14T05:25:14.2951449Z By default, :attr:`rank` is retrieved from the current distributed 2025-03-14T05:25:14.2951542Z group. 2025-03-14T05:25:14.2951810Z shuffle (bool, optional): If ``True`` (default), sampler will shuffle the 2025-03-14T05:25:14.2951904Z indices. 2025-03-14T05:25:14.2952114Z seed (int, optional): random seed used to shuffle the sampler if 2025-03-14T05:25:14.2952313Z :attr:`shuffle=True`. This number should be identical across all 2025-03-14T05:25:14.2952492Z processes in the distributed group. Default: ``0``. 2025-03-14T05:25:14.2952708Z drop_last (bool, optional): if ``True``, then the sampler will drop the 2025-03-14T05:25:14.2952944Z tail of the data to make it evenly divisible across the number of 2025-03-14T05:25:14.2953147Z replicas. If ``False``, the sampler will add extra indices to make 2025-03-14T05:25:14.2953376Z the data evenly divisible across the replicas. Default: ``False``. 2025-03-14T05:25:14.2953462Z 2025-03-14T05:25:14.2953571Z .. warning:: 2025-03-14T05:25:14.2953766Z In distributed mode, calling the :meth:`set_epoch` method at 2025-03-14T05:25:14.2954060Z the beginning of each epoch **before** creating the :class:`DataLoader` iterator 2025-03-14T05:25:14.2954324Z is necessary to make shuffling work properly across multiple epochs. Otherwise, 2025-03-14T05:25:14.2954459Z the same ordering will be always used. 2025-03-14T05:25:14.2954547Z 2025-03-14T05:25:14.2954653Z Example:: 2025-03-14T05:25:14.2954742Z 2025-03-14T05:25:14.2954860Z >>> # xdoctest: +SKIP 2025-03-14T05:25:14.2955083Z >>> sampler = DistributedSampler(dataset) if is_distributed else None 2025-03-14T05:25:14.2955269Z >>> loader = DataLoader(dataset, shuffle=(sampler is None), 2025-03-14T05:25:14.2955391Z ... sampler=sampler) 2025-03-14T05:25:14.2955530Z >>> for epoch in range(start_epoch, n_epochs): 2025-03-14T05:25:14.2955649Z ... if is_distributed: 2025-03-14T05:25:14.2955768Z ... sampler.set_epoch(epoch) 2025-03-14T05:25:14.2955884Z ... train(loader) 2025-03-14T05:25:14.2955974Z 2025-03-14T05:25:14.2956240Z Original Error: TokenError('unexpected EOF in multi-line statement', (1, 0)) 2025-03-14T05:25:14.2956325Z 2025-03-14T05:25:14.2956439Z warnings.warn(msg) 2025-03-14T05:25:14.2956523Z 2025-03-14T05:25:14.2956652Z  2025-03-14T05:25:14.2956836Z === Found 10 run-time warnings === 2025-03-14T05:25:14.2957039Z --- Runtime Warning: 1 / 10 --- 2025-03-14T05:25:14.2957307Z example = 2025-03-14T05:25:14.2958538Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_tensor.py:1365: UserWarning: Named tensors and all their associated APIs are an experimental feature and subject to change. Please do not use them for anything important until they are released as stable. (Triggered internally at ../c10/core/TensorImpl.h:1938.) 2025-03-14T05:25:14.2958663Z return super().refine_names(names) 2025-03-14T05:25:14.2958762Z 2025-03-14T05:25:14.2958949Z --- Runtime Warning: 2 / 10 --- 2025-03-14T05:25:14.2959274Z example = 2025-03-14T05:25:14.2959902Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/library.py:288: UserWarning: Warning only once for all operators, other operators may also be overridden. 2025-03-14T05:25:14.2960258Z Overriding a previously registered kernel for the same operator and the same dispatch key 2025-03-14T05:25:14.2960464Z operator: aten::div.Tensor(Tensor self, Tensor other) -> Tensor 2025-03-14T05:25:14.2960643Z registered at aten/src/ATen/RegisterSchema.cpp:6 2025-03-14T05:25:14.2960748Z dispatch key: CPU 2025-03-14T05:25:14.2961058Z previous kernel: registered at ../aten/src/ATen/LegacyBatchingRegistrations.cpp:1079 2025-03-14T05:25:14.2961519Z new kernel: registered at /dev/null:811 (Triggered internally at ../aten/src/ATen/core/dispatch/OperatorEntry.cpp:161.) 2025-03-14T05:25:14.2961695Z impl_fn(self.ns, name.split("::")[-1], dispatch_key) 2025-03-14T05:25:14.2961779Z 2025-03-14T05:25:14.2961982Z --- Runtime Warning: 3 / 10 --- 2025-03-14T05:25:14.2962226Z example = 2025-03-14T05:25:14.2963927Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nested/__init__.py:117: UserWarning: The PyTorch API of nested tensors is in prototype stage and will change in the near future. We recommend specifying layout=torch.jagged when constructing a nested tensor, as this layout receives active development, has better operator coverage, and works with torch.compile. (Triggered internally at ../aten/src/ATen/NestedTensorImpl.cpp:182.) 2025-03-14T05:25:14.2964216Z return torch._nested_tensor_from_tensor_list(ts, dtype, None, device, None) 2025-03-14T05:25:14.2964303Z 2025-03-14T05:25:14.2964531Z --- Runtime Warning: 4 / 10 --- 2025-03-14T05:25:14.2964792Z example = 2025-03-14T05:25:14.2966259Z :1: UserWarning: Sparse CSR tensor support is in beta state. If you miss a functionality in the sparse tensor support, please submit a feature request to https://github.com/pytorch/pytorch/issues. (Triggered internally at ../aten/src/ATen/SparseCsrTensorImpl.cpp:55.) 2025-03-14T05:25:14.2966351Z 2025-03-14T05:25:14.2966549Z --- Runtime Warning: 5 / 10 --- 2025-03-14T05:25:14.2966861Z example = 2025-03-14T05:25:14.2968361Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/fx/experimental/const_fold.py:264: UserWarning: Attempted to insert a get_attr Node with no underlying reference in the owning GraphModule! Call GraphModule.add_submodule to add the necessary submodule, GraphModule.add_parameter to add the necessary Parameter, or nn.Module.register_buffer to add the necessary buffer 2025-03-14T05:25:14.2968534Z new_node = root_const_gm.graph.get_attr(in_node.target) 2025-03-14T05:25:14.2968632Z 2025-03-14T05:25:14.2968815Z --- Runtime Warning: 6 / 10 --- 2025-03-14T05:25:14.2969121Z example = 2025-03-14T05:25:14.2970198Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/transformer.py:382: UserWarning: enable_nested_tensor is True, but self.use_nested_tensor is False because encoder_layer.self_attn.batch_first was not True(use batch_first for better inference performance) 2025-03-14T05:25:14.2970308Z warnings.warn( 2025-03-14T05:25:14.2970406Z 2025-03-14T05:25:14.2970589Z --- Runtime Warning: 7 / 10 --- 2025-03-14T05:25:14.2970925Z example = 2025-03-14T05:25:14.2972010Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/modules/transformer.py:382: UserWarning: enable_nested_tensor is True, but self.use_nested_tensor is False because encoder_layer.self_attn.batch_first was not True(use batch_first for better inference performance) 2025-03-14T05:25:14.2972149Z warnings.warn( 2025-03-14T05:25:14.2972233Z 2025-03-14T05:25:14.2972428Z --- Runtime Warning: 8 / 10 --- 2025-03-14T05:25:14.2972705Z example = 2025-03-14T05:25:14.2973520Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/weight_norm.py:143: FutureWarning: `torch.nn.utils.weight_norm` is deprecated in favor of `torch.nn.utils.parametrizations.weight_norm`. 2025-03-14T05:25:14.2973643Z WeightNorm.apply(module, name, dim) 2025-03-14T05:25:14.2973740Z 2025-03-14T05:25:14.2973948Z --- Runtime Warning: 9 / 10 --- 2025-03-14T05:25:14.2974269Z example = 2025-03-14T05:25:14.2975068Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/nn/utils/weight_norm.py:143: FutureWarning: `torch.nn.utils.weight_norm` is deprecated in favor of `torch.nn.utils.parametrizations.weight_norm`. 2025-03-14T05:25:14.2975231Z WeightNorm.apply(module, name, dim) 2025-03-14T05:25:14.2975316Z 2025-03-14T05:25:14.2975514Z --- Runtime Warning: 10 / 10 --- 2025-03-14T05:25:14.2975880Z example = 2025-03-14T05:25:14.2976728Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/_export/utils.py:453: FutureWarning: `torch.utils._pytree._register_pytree_node` is deprecated. Please use `torch.utils._pytree.register_pytree_node` instead. 2025-03-14T05:25:14.2976874Z _register_pytree_node( 2025-03-14T05:25:14.2976974Z 2025-03-14T05:25:14.2977284Z === 342 passed, 367 skipped, 126 warnings in 13.18 seconds === 2025-03-14T05:25:14.2977494Z Running test_autoload_enable 1/1 ... [2025-03-14 05:25:14.076350] 2025-03-14T05:25:16.6969822Z running install 2025-03-14T05:25:16.6971323Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/setuptools/_distutils/cmd.py:79: SetuptoolsDeprecationWarning: setup.py install is deprecated. 2025-03-14T05:25:16.6972171Z !! 2025-03-14T05:25:16.6972303Z 2025-03-14T05:25:16.6972431Z ******************************************************************************** 2025-03-14T05:25:16.6972848Z Please avoid running ``setup.py`` directly. 2025-03-14T05:25:16.6973268Z Instead, use pypa/build, pypa/installer or other 2025-03-14T05:25:16.6973674Z standards-based tools. 2025-03-14T05:25:16.6973869Z 2025-03-14T05:25:16.6974197Z See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. 2025-03-14T05:25:16.6974753Z ******************************************************************************** 2025-03-14T05:25:16.6974999Z 2025-03-14T05:25:16.6975101Z !! 2025-03-14T05:25:16.6975329Z self.initialize_options() 2025-03-14T05:25:16.7101806Z running build 2025-03-14T05:25:16.7102076Z running build_py 2025-03-14T05:25:16.7178589Z creating build/lib.linux-x86_64-cpython-313/torch_test_cpp_extension 2025-03-14T05:25:16.7180711Z copying torch_test_cpp_extension/__init__.py -> build/lib.linux-x86_64-cpython-313/torch_test_cpp_extension 2025-03-14T05:25:16.7184001Z running build_ext 2025-03-14T05:25:16.7962345Z building 'torch_test_cpp_extension.cpp' extension 2025-03-14T05:25:16.7963879Z creating build/temp.linux-x86_64-cpython-313 2025-03-14T05:25:16.7969206Z g++ -pthread -B /opt/conda/envs/py_3.13/compiler_compat -fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /opt/conda/envs/py_3.13/include -fPIC -O2 -isystem /opt/conda/envs/py_3.13/include -fPIC -I/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include -I/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/torch/csrc/api/include -Iself_compiler_include_dirs_test -I/opt/conda/envs/py_3.13/include/python3.13 -c extension.cpp -o build/temp.linux-x86_64-cpython-313/extension.o -g -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_clang\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1002\" -DTORCH_EXTENSION_NAME=cpp -D_GLIBCXX_USE_CXX11_ABI=1 -std=c++17 2025-03-14T05:25:17.8184356Z In file included from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/torch/csrc/Exceptions.h:12, 2025-03-14T05:25:17.8185378Z from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/torch/csrc/api/include/torch/python.h:11, 2025-03-14T05:25:17.8186264Z from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/torch/extension.h:9, 2025-03-14T05:25:17.8186828Z from extension.cpp:1: 2025-03-14T05:25:17.8188344Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/pybind11/pybind11.h: In instantiation of ‘class pybind11::class_’: 2025-03-14T05:25:17.8189212Z extension.cpp:45:53: required from here 2025-03-14T05:25:17.8190689Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/pybind11/pybind11.h:1539:7: warning: ‘pybind11::class_’ declared with greater visibility than its base ‘pybind11::detail::generic_type’ [-Wattributes] 2025-03-14T05:25:17.8192200Z 1539 | class class_ : public detail::generic_type { 2025-03-14T05:25:17.8192697Z | ^~~~~~ 2025-03-14T05:25:17.8194451Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/pybind11/pybind11.h: In instantiation of ‘pybind11::class_< , >::class_(pybind11::handle, const char*, const Extra& ...) [with Extra = {}; type_ = MatrixMultiplier; options = {}]’: 2025-03-14T05:25:17.8195966Z extension.cpp:45:53: required from here 2025-03-14T05:25:17.8199405Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/pybind11/pybind11.h:1599:28: warning: ‘pybind11::class_< , >::class_(pybind11::handle, const char*, const Extra& ...) [with Extra = {}; type_ = MatrixMultiplier; options = {}]::’ declared with greater visibility than the type of its field ‘pybind11::class_< , >::class_(pybind11::handle, const char*, const Extra& ...) [with Extra = {}; type_ = MatrixMultiplier; options = {}]::::’ [-Wattributes] 2025-03-14T05:25:17.8202113Z 1599 | with_internals([&](internals &internals) { 2025-03-14T05:25:17.8202505Z | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-03-14T05:25:17.8203036Z 1600 | auto &instances = record.module_local ? get_local_internals().registered_types_cpp 2025-03-14T05:25:17.8203633Z | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-03-14T05:25:17.8204096Z 1601 | : internals.registered_types_cpp; 2025-03-14T05:25:17.8204528Z | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-03-14T05:25:17.8204959Z 1602 | instances[std::type_index(typeid(type_alias))] 2025-03-14T05:25:17.8205391Z | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-03-14T05:25:17.8205800Z 1603 | = instances[std::type_index(typeid(type))]; 2025-03-14T05:25:17.8206204Z | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-03-14T05:25:17.8206545Z 1604 | }); 2025-03-14T05:25:17.8206799Z | ~ 2025-03-14T05:25:17.8209971Z g++ -pthread -B /opt/conda/envs/py_3.13/compiler_compat -fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /opt/conda/envs/py_3.13/include -fPIC -O2 -isystem /opt/conda/envs/py_3.13/include -pthread -B /opt/conda/envs/py_3.13/compiler_compat -shared -Wl,-rpath,/opt/conda/envs/py_3.13/lib -Wl,-rpath-link,/opt/conda/envs/py_3.13/lib -L/opt/conda/envs/py_3.13/lib -Wl,-rpath,/opt/conda/envs/py_3.13/lib -Wl,-rpath-link,/opt/conda/envs/py_3.13/lib -L/opt/conda/envs/py_3.13/lib build/temp.linux-x86_64-cpython-313/extension.o -L/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/lib -lc10 -ltorch -ltorch_cpu -ltorch_python -o build/lib.linux-x86_64-cpython-313/torch_test_cpp_extension/cpp.cpython-313-x86_64-linux-gnu.so 2025-03-14T05:25:18.2353359Z building 'torch_test_cpp_extension.maia' extension 2025-03-14T05:25:18.2358334Z g++ -pthread -B /opt/conda/envs/py_3.13/compiler_compat -fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /opt/conda/envs/py_3.13/include -fPIC -O2 -isystem /opt/conda/envs/py_3.13/include -fPIC -I/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include -I/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/torch/csrc/api/include -Iself_compiler_include_dirs_test -I/opt/conda/envs/py_3.13/include/python3.13 -c maia_extension.cpp -o build/temp.linux-x86_64-cpython-313/maia_extension.o -g -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_clang\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1002\" -DTORCH_EXTENSION_NAME=maia -D_GLIBCXX_USE_CXX11_ABI=1 -std=c++17 2025-03-14T05:25:19.2475330Z g++ -pthread -B /opt/conda/envs/py_3.13/compiler_compat -fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /opt/conda/envs/py_3.13/include -fPIC -O2 -isystem /opt/conda/envs/py_3.13/include -pthread -B /opt/conda/envs/py_3.13/compiler_compat -shared -Wl,-rpath,/opt/conda/envs/py_3.13/lib -Wl,-rpath-link,/opt/conda/envs/py_3.13/lib -L/opt/conda/envs/py_3.13/lib -Wl,-rpath,/opt/conda/envs/py_3.13/lib -Wl,-rpath-link,/opt/conda/envs/py_3.13/lib -L/opt/conda/envs/py_3.13/lib build/temp.linux-x86_64-cpython-313/maia_extension.o -L/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/lib -lc10 -ltorch -ltorch_cpu -ltorch_python -o build/lib.linux-x86_64-cpython-313/torch_test_cpp_extension/maia.cpython-313-x86_64-linux-gnu.so 2025-03-14T05:25:19.6216595Z building 'torch_test_cpp_extension.rng' extension 2025-03-14T05:25:19.6221540Z g++ -pthread -B /opt/conda/envs/py_3.13/compiler_compat -fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /opt/conda/envs/py_3.13/include -fPIC -O2 -isystem /opt/conda/envs/py_3.13/include -fPIC -I/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include -I/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/torch/csrc/api/include -Iself_compiler_include_dirs_test -I/opt/conda/envs/py_3.13/include/python3.13 -c rng_extension.cpp -o build/temp.linux-x86_64-cpython-313/rng_extension.o -g -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_clang\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1002\" -DTORCH_EXTENSION_NAME=rng -D_GLIBCXX_USE_CXX11_ABI=1 -std=c++17 2025-03-14T05:25:20.7890740Z In file included from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/cpu/vec/vec256/vec256.h:8, 2025-03-14T05:25:20.7891669Z from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/cpu/vec/vec.h:7, 2025-03-14T05:25:20.7892472Z from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/native/cpu/Loops.h:37, 2025-03-14T05:25:20.7893426Z from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/native/cpu/DistributionTemplates.h:9, 2025-03-14T05:25:20.7894152Z from rng_extension.cpp:6: 2025-03-14T05:25:20.7895166Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/cpu/vec/vec_base.h:1158: warning: ignoring #pragma unroll [-Wunknown-pragmas] 2025-03-14T05:25:20.7896421Z 1158 | # pragma unroll 2025-03-14T05:25:20.7896783Z | 2025-03-14T05:25:20.7897678Z In file included from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/cpu/vec/vec_base.h:1198, 2025-03-14T05:25:20.7899413Z from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/cpu/vec/vec256/vec256.h:8, 2025-03-14T05:25:20.7900681Z from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/cpu/vec/vec.h:7, 2025-03-14T05:25:20.7901887Z from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/native/cpu/Loops.h:37, 2025-03-14T05:25:20.7902810Z from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/native/cpu/DistributionTemplates.h:9, 2025-03-14T05:25:20.7903649Z from rng_extension.cpp:6: 2025-03-14T05:25:20.7904451Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/cpu/vec/vec_n.h:59: warning: ignoring #pragma unroll [-Wunknown-pragmas] 2025-03-14T05:25:20.7905347Z 59 | #pragma unroll 2025-03-14T05:25:20.7905611Z | 2025-03-14T05:25:20.7906298Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/cpu/vec/vec_n.h:72: warning: ignoring #pragma unroll [-Wunknown-pragmas] 2025-03-14T05:25:20.7907074Z 72 | #pragma unroll 2025-03-14T05:25:20.7907336Z | 2025-03-14T05:25:20.7908024Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/cpu/vec/vec_n.h:87: warning: ignoring #pragma unroll [-Wunknown-pragmas] 2025-03-14T05:25:20.7908860Z 87 | #pragma unroll 2025-03-14T05:25:20.7909116Z | 2025-03-14T05:25:20.7909663Z In file included from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/cpu/vec/vec_base.h:1199, 2025-03-14T05:25:20.7910576Z from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/cpu/vec/vec256/vec256.h:8, 2025-03-14T05:25:20.7911391Z from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/cpu/vec/vec.h:7, 2025-03-14T05:25:20.7912243Z from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/native/cpu/Loops.h:37, 2025-03-14T05:25:20.7913160Z from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/native/cpu/DistributionTemplates.h:9, 2025-03-14T05:25:20.7922964Z from rng_extension.cpp:6: 2025-03-14T05:25:20.7923918Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/cpu/vec/vec_mask.h:153: warning: ignoring #pragma unroll [-Wunknown-pragmas] 2025-03-14T05:25:20.7924750Z 153 | #pragma unroll 2025-03-14T05:25:20.7925017Z | 2025-03-14T05:25:20.7928150Z g++ -pthread -B /opt/conda/envs/py_3.13/compiler_compat -fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /opt/conda/envs/py_3.13/include -fPIC -O2 -isystem /opt/conda/envs/py_3.13/include -pthread -B /opt/conda/envs/py_3.13/compiler_compat -shared -Wl,-rpath,/opt/conda/envs/py_3.13/lib -Wl,-rpath-link,/opt/conda/envs/py_3.13/lib -L/opt/conda/envs/py_3.13/lib -Wl,-rpath,/opt/conda/envs/py_3.13/lib -Wl,-rpath-link,/opt/conda/envs/py_3.13/lib -L/opt/conda/envs/py_3.13/lib build/temp.linux-x86_64-cpython-313/rng_extension.o -L/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/lib -lc10 -ltorch -ltorch_cpu -ltorch_python -o build/lib.linux-x86_64-cpython-313/torch_test_cpp_extension/rng.cpython-313-x86_64-linux-gnu.so 2025-03-14T05:25:21.1799668Z running install_lib 2025-03-14T05:25:21.1881428Z copying build/lib.linux-x86_64-cpython-313/torch_test_cpp_extension/cpp.cpython-313-x86_64-linux-gnu.so -> ./install/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch_test_cpp_extension 2025-03-14T05:25:21.1982295Z copying build/lib.linux-x86_64-cpython-313/torch_test_cpp_extension/maia.cpython-313-x86_64-linux-gnu.so -> ./install/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch_test_cpp_extension 2025-03-14T05:25:21.2082200Z copying build/lib.linux-x86_64-cpython-313/torch_test_cpp_extension/rng.cpython-313-x86_64-linux-gnu.so -> ./install/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch_test_cpp_extension 2025-03-14T05:25:21.2188963Z running install_egg_info 2025-03-14T05:25:21.2365541Z running egg_info 2025-03-14T05:25:21.2435652Z writing torch_test_cpp_extension.egg-info/PKG-INFO 2025-03-14T05:25:21.2439653Z writing dependency_links to torch_test_cpp_extension.egg-info/dependency_links.txt 2025-03-14T05:25:21.2463532Z writing entry points to torch_test_cpp_extension.egg-info/entry_points.txt 2025-03-14T05:25:21.2474651Z writing top-level names to torch_test_cpp_extension.egg-info/top_level.txt 2025-03-14T05:25:21.2557476Z reading manifest file 'torch_test_cpp_extension.egg-info/SOURCES.txt' 2025-03-14T05:25:21.2566560Z writing manifest file 'torch_test_cpp_extension.egg-info/SOURCES.txt' 2025-03-14T05:25:21.2578112Z removing './install/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch_test_cpp_extension-0.0.0-py3.13.egg-info' (and everything under it) 2025-03-14T05:25:21.2580480Z Copying torch_test_cpp_extension.egg-info to ./install/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch_test_cpp_extension-0.0.0-py3.13.egg-info 2025-03-14T05:25:21.2587370Z running install_scripts 2025-03-14T05:25:24.5982058Z 2025-03-14T05:25:24.5982520Z Running tests... 2025-03-14T05:25:24.5982929Z ---------------------------------------------------------------------- 2025-03-14T05:25:24.7355803Z . 2025-03-14T05:25:24.7356211Z ---------------------------------------------------------------------- 2025-03-14T05:25:24.7356848Z Ran 1 test in 0.137s 2025-03-14T05:25:24.7357014Z 2025-03-14T05:25:24.7357118Z OK 2025-03-14T05:25:24.7357239Z 2025-03-14T05:25:24.7357369Z Generating XML reports... 2025-03-14T05:25:25.4040137Z Running test_cpp_extensions_aot_no_ninja 1/1 ... [2025-03-14 05:25:25.403651] 2025-03-14T05:25:28.0079397Z running install 2025-03-14T05:25:28.0080785Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/setuptools/_distutils/cmd.py:79: SetuptoolsDeprecationWarning: setup.py install is deprecated. 2025-03-14T05:25:28.0081815Z !! 2025-03-14T05:25:28.0081938Z 2025-03-14T05:25:28.0082081Z ******************************************************************************** 2025-03-14T05:25:28.0082479Z Please avoid running ``setup.py`` directly. 2025-03-14T05:25:28.0082899Z Instead, use pypa/build, pypa/installer or other 2025-03-14T05:25:28.0083290Z standards-based tools. 2025-03-14T05:25:28.0083505Z 2025-03-14T05:25:28.0083828Z See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. 2025-03-14T05:25:28.0084369Z ******************************************************************************** 2025-03-14T05:25:28.0084613Z 2025-03-14T05:25:28.0084708Z !! 2025-03-14T05:25:28.0084943Z self.initialize_options() 2025-03-14T05:25:28.0216205Z running build 2025-03-14T05:25:28.0216458Z running build_py 2025-03-14T05:25:28.0296627Z creating build/lib.linux-x86_64-cpython-313/torch_test_cpp_extension 2025-03-14T05:25:28.0298991Z copying torch_test_cpp_extension/__init__.py -> build/lib.linux-x86_64-cpython-313/torch_test_cpp_extension 2025-03-14T05:25:28.0302362Z running build_ext 2025-03-14T05:25:28.1089015Z building 'torch_test_cpp_extension.cpp' extension 2025-03-14T05:25:28.1089800Z creating build/temp.linux-x86_64-cpython-313 2025-03-14T05:25:28.1094969Z g++ -pthread -B /opt/conda/envs/py_3.13/compiler_compat -fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /opt/conda/envs/py_3.13/include -fPIC -O2 -isystem /opt/conda/envs/py_3.13/include -fPIC -I/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include -I/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/torch/csrc/api/include -Iself_compiler_include_dirs_test -I/opt/conda/envs/py_3.13/include/python3.13 -c extension.cpp -o build/temp.linux-x86_64-cpython-313/extension.o -g -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_clang\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1002\" -DTORCH_EXTENSION_NAME=cpp -D_GLIBCXX_USE_CXX11_ABI=1 -std=c++17 2025-03-14T05:25:29.1828634Z In file included from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/torch/csrc/Exceptions.h:12, 2025-03-14T05:25:29.1829665Z from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/torch/csrc/api/include/torch/python.h:11, 2025-03-14T05:25:29.1830537Z from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/torch/extension.h:9, 2025-03-14T05:25:29.1831293Z from extension.cpp:1: 2025-03-14T05:25:29.1832611Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/pybind11/pybind11.h: In instantiation of ‘class pybind11::class_’: 2025-03-14T05:25:29.1833511Z extension.cpp:45:53: required from here 2025-03-14T05:25:29.1835068Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/pybind11/pybind11.h:1539:7: warning: ‘pybind11::class_’ declared with greater visibility than its base ‘pybind11::detail::generic_type’ [-Wattributes] 2025-03-14T05:25:29.1836318Z 1539 | class class_ : public detail::generic_type { 2025-03-14T05:25:29.1836685Z | ^~~~~~ 2025-03-14T05:25:29.1839013Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/pybind11/pybind11.h: In instantiation of ‘pybind11::class_< , >::class_(pybind11::handle, const char*, const Extra& ...) [with Extra = {}; type_ = MatrixMultiplier; options = {}]’: 2025-03-14T05:25:29.1840504Z extension.cpp:45:53: required from here 2025-03-14T05:25:29.1843816Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/pybind11/pybind11.h:1599:28: warning: ‘pybind11::class_< , >::class_(pybind11::handle, const char*, const Extra& ...) [with Extra = {}; type_ = MatrixMultiplier; options = {}]::’ declared with greater visibility than the type of its field ‘pybind11::class_< , >::class_(pybind11::handle, const char*, const Extra& ...) [with Extra = {}; type_ = MatrixMultiplier; options = {}]::::’ [-Wattributes] 2025-03-14T05:25:29.1846477Z 1599 | with_internals([&](internals &internals) { 2025-03-14T05:25:29.1846871Z | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-03-14T05:25:29.1847412Z 1600 | auto &instances = record.module_local ? get_local_internals().registered_types_cpp 2025-03-14T05:25:29.1847991Z | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-03-14T05:25:29.1848446Z 1601 | : internals.registered_types_cpp; 2025-03-14T05:25:29.1848864Z | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-03-14T05:25:29.1849294Z 1602 | instances[std::type_index(typeid(type_alias))] 2025-03-14T05:25:29.1849714Z | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-03-14T05:25:29.1850125Z 1603 | = instances[std::type_index(typeid(type))]; 2025-03-14T05:25:29.1850529Z | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-03-14T05:25:29.1850867Z 1604 | }); 2025-03-14T05:25:29.1851132Z | ~ 2025-03-14T05:25:29.1854298Z g++ -pthread -B /opt/conda/envs/py_3.13/compiler_compat -fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /opt/conda/envs/py_3.13/include -fPIC -O2 -isystem /opt/conda/envs/py_3.13/include -pthread -B /opt/conda/envs/py_3.13/compiler_compat -shared -Wl,-rpath,/opt/conda/envs/py_3.13/lib -Wl,-rpath-link,/opt/conda/envs/py_3.13/lib -L/opt/conda/envs/py_3.13/lib -Wl,-rpath,/opt/conda/envs/py_3.13/lib -Wl,-rpath-link,/opt/conda/envs/py_3.13/lib -L/opt/conda/envs/py_3.13/lib build/temp.linux-x86_64-cpython-313/extension.o -L/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/lib -lc10 -ltorch -ltorch_cpu -ltorch_python -o build/lib.linux-x86_64-cpython-313/torch_test_cpp_extension/cpp.cpython-313-x86_64-linux-gnu.so 2025-03-14T05:25:29.5860567Z building 'torch_test_cpp_extension.maia' extension 2025-03-14T05:25:29.5865377Z g++ -pthread -B /opt/conda/envs/py_3.13/compiler_compat -fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /opt/conda/envs/py_3.13/include -fPIC -O2 -isystem /opt/conda/envs/py_3.13/include -fPIC -I/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include -I/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/torch/csrc/api/include -Iself_compiler_include_dirs_test -I/opt/conda/envs/py_3.13/include/python3.13 -c maia_extension.cpp -o build/temp.linux-x86_64-cpython-313/maia_extension.o -g -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_clang\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1002\" -DTORCH_EXTENSION_NAME=maia -D_GLIBCXX_USE_CXX11_ABI=1 -std=c++17 2025-03-14T05:25:30.5761210Z g++ -pthread -B /opt/conda/envs/py_3.13/compiler_compat -fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /opt/conda/envs/py_3.13/include -fPIC -O2 -isystem /opt/conda/envs/py_3.13/include -pthread -B /opt/conda/envs/py_3.13/compiler_compat -shared -Wl,-rpath,/opt/conda/envs/py_3.13/lib -Wl,-rpath-link,/opt/conda/envs/py_3.13/lib -L/opt/conda/envs/py_3.13/lib -Wl,-rpath,/opt/conda/envs/py_3.13/lib -Wl,-rpath-link,/opt/conda/envs/py_3.13/lib -L/opt/conda/envs/py_3.13/lib build/temp.linux-x86_64-cpython-313/maia_extension.o -L/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/lib -lc10 -ltorch -ltorch_cpu -ltorch_python -o build/lib.linux-x86_64-cpython-313/torch_test_cpp_extension/maia.cpython-313-x86_64-linux-gnu.so 2025-03-14T05:25:30.9574795Z building 'torch_test_cpp_extension.rng' extension 2025-03-14T05:25:30.9579730Z g++ -pthread -B /opt/conda/envs/py_3.13/compiler_compat -fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /opt/conda/envs/py_3.13/include -fPIC -O2 -isystem /opt/conda/envs/py_3.13/include -fPIC -I/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include -I/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/torch/csrc/api/include -Iself_compiler_include_dirs_test -I/opt/conda/envs/py_3.13/include/python3.13 -c rng_extension.cpp -o build/temp.linux-x86_64-cpython-313/rng_extension.o -g -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_clang\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1002\" -DTORCH_EXTENSION_NAME=rng -D_GLIBCXX_USE_CXX11_ABI=1 -std=c++17 2025-03-14T05:25:32.1460008Z In file included from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/cpu/vec/vec256/vec256.h:8, 2025-03-14T05:25:32.1461161Z from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/cpu/vec/vec.h:7, 2025-03-14T05:25:32.1462006Z from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/native/cpu/Loops.h:37, 2025-03-14T05:25:32.1462942Z from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/native/cpu/DistributionTemplates.h:9, 2025-03-14T05:25:32.1463632Z from rng_extension.cpp:6: 2025-03-14T05:25:32.1464455Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/cpu/vec/vec_base.h:1158: warning: ignoring #pragma unroll [-Wunknown-pragmas] 2025-03-14T05:25:32.1465285Z 1158 | # pragma unroll 2025-03-14T05:25:32.1465546Z | 2025-03-14T05:25:32.1466096Z In file included from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/cpu/vec/vec_base.h:1198, 2025-03-14T05:25:32.1467013Z from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/cpu/vec/vec256/vec256.h:8, 2025-03-14T05:25:32.1467944Z from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/cpu/vec/vec.h:7, 2025-03-14T05:25:32.1468984Z from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/native/cpu/Loops.h:37, 2025-03-14T05:25:32.1469969Z from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/native/cpu/DistributionTemplates.h:9, 2025-03-14T05:25:32.1470712Z from rng_extension.cpp:6: 2025-03-14T05:25:32.1471573Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/cpu/vec/vec_n.h:59: warning: ignoring #pragma unroll [-Wunknown-pragmas] 2025-03-14T05:25:32.1472607Z 59 | #pragma unroll 2025-03-14T05:25:32.1472864Z | 2025-03-14T05:25:32.1473613Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/cpu/vec/vec_n.h:72: warning: ignoring #pragma unroll [-Wunknown-pragmas] 2025-03-14T05:25:32.1474452Z 72 | #pragma unroll 2025-03-14T05:25:32.1474710Z | 2025-03-14T05:25:32.1475444Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/cpu/vec/vec_n.h:87: warning: ignoring #pragma unroll [-Wunknown-pragmas] 2025-03-14T05:25:32.1476344Z 87 | #pragma unroll 2025-03-14T05:25:32.1476644Z | 2025-03-14T05:25:32.1477243Z In file included from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/cpu/vec/vec_base.h:1199, 2025-03-14T05:25:32.1478212Z from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/cpu/vec/vec256/vec256.h:8, 2025-03-14T05:25:32.1479164Z from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/cpu/vec/vec.h:7, 2025-03-14T05:25:32.1480027Z from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/native/cpu/Loops.h:37, 2025-03-14T05:25:32.1481054Z from /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/native/cpu/DistributionTemplates.h:9, 2025-03-14T05:25:32.1481789Z from rng_extension.cpp:6: 2025-03-14T05:25:32.1482718Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/ATen/cpu/vec/vec_mask.h:153: warning: ignoring #pragma unroll [-Wunknown-pragmas] 2025-03-14T05:25:32.1483574Z 153 | #pragma unroll 2025-03-14T05:25:32.1483832Z | 2025-03-14T05:25:32.1487199Z g++ -pthread -B /opt/conda/envs/py_3.13/compiler_compat -fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /opt/conda/envs/py_3.13/include -fPIC -O2 -isystem /opt/conda/envs/py_3.13/include -pthread -B /opt/conda/envs/py_3.13/compiler_compat -shared -Wl,-rpath,/opt/conda/envs/py_3.13/lib -Wl,-rpath-link,/opt/conda/envs/py_3.13/lib -L/opt/conda/envs/py_3.13/lib -Wl,-rpath,/opt/conda/envs/py_3.13/lib -Wl,-rpath-link,/opt/conda/envs/py_3.13/lib -L/opt/conda/envs/py_3.13/lib build/temp.linux-x86_64-cpython-313/rng_extension.o -L/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/lib -lc10 -ltorch -ltorch_cpu -ltorch_python -o build/lib.linux-x86_64-cpython-313/torch_test_cpp_extension/rng.cpython-313-x86_64-linux-gnu.so 2025-03-14T05:25:32.5609880Z running install_lib 2025-03-14T05:25:32.5690698Z copying build/lib.linux-x86_64-cpython-313/torch_test_cpp_extension/cpp.cpython-313-x86_64-linux-gnu.so -> ./install/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch_test_cpp_extension 2025-03-14T05:25:32.5791221Z copying build/lib.linux-x86_64-cpython-313/torch_test_cpp_extension/maia.cpython-313-x86_64-linux-gnu.so -> ./install/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch_test_cpp_extension 2025-03-14T05:25:32.5889961Z copying build/lib.linux-x86_64-cpython-313/torch_test_cpp_extension/rng.cpython-313-x86_64-linux-gnu.so -> ./install/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch_test_cpp_extension 2025-03-14T05:25:32.5995986Z running install_egg_info 2025-03-14T05:25:32.6173974Z running egg_info 2025-03-14T05:25:32.6244653Z writing torch_test_cpp_extension.egg-info/PKG-INFO 2025-03-14T05:25:32.6248301Z writing dependency_links to torch_test_cpp_extension.egg-info/dependency_links.txt 2025-03-14T05:25:32.6250418Z writing entry points to torch_test_cpp_extension.egg-info/entry_points.txt 2025-03-14T05:25:32.6252501Z writing top-level names to torch_test_cpp_extension.egg-info/top_level.txt 2025-03-14T05:25:32.6330288Z reading manifest file 'torch_test_cpp_extension.egg-info/SOURCES.txt' 2025-03-14T05:25:32.6338920Z writing manifest file 'torch_test_cpp_extension.egg-info/SOURCES.txt' 2025-03-14T05:25:32.6340521Z removing './install/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch_test_cpp_extension-0.0.0-py3.13.egg-info' (and everything under it) 2025-03-14T05:25:32.6342295Z Copying torch_test_cpp_extension.egg-info to ./install/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch_test_cpp_extension-0.0.0-py3.13.egg-info 2025-03-14T05:25:32.6348513Z running install_scripts 2025-03-14T05:25:34.7979250Z running install 2025-03-14T05:25:34.7980787Z /opt/conda/envs/py_3.13/lib/python3.13/site-packages/setuptools/_distutils/cmd.py:79: SetuptoolsDeprecationWarning: setup.py install is deprecated. 2025-03-14T05:25:34.7981662Z !! 2025-03-14T05:25:34.7981784Z 2025-03-14T05:25:34.7982181Z ******************************************************************************** 2025-03-14T05:25:34.7982593Z Please avoid running ``setup.py`` directly. 2025-03-14T05:25:34.7983074Z Instead, use pypa/build, pypa/installer or other 2025-03-14T05:25:34.7983462Z standards-based tools. 2025-03-14T05:25:34.7983707Z 2025-03-14T05:25:34.7984030Z See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. 2025-03-14T05:25:34.7984723Z ******************************************************************************** 2025-03-14T05:25:34.7984970Z 2025-03-14T05:25:34.7985075Z !! 2025-03-14T05:25:34.7985369Z self.initialize_options() 2025-03-14T05:25:34.8113995Z running build 2025-03-14T05:25:34.8114439Z running build_ext 2025-03-14T05:25:34.9177904Z building 'no_python_abi_suffix_test' extension 2025-03-14T05:25:34.9180943Z creating /var/lib/jenkins/workspace/test/cpp_extensions/no_python_abi_suffix_test/build/temp.linux-x86_64-cpython-313 2025-03-14T05:25:34.9474863Z Emitting ninja build file /var/lib/jenkins/workspace/test/cpp_extensions/no_python_abi_suffix_test/build/temp.linux-x86_64-cpython-313/build.ninja... 2025-03-14T05:25:34.9475709Z Compiling objects... 2025-03-14T05:25:34.9476048Z Using envvar MAX_JOBS (6) as the number of workers... 2025-03-14T05:25:35.0800883Z [1/1] c++ -MMD -MF /var/lib/jenkins/workspace/test/cpp_extensions/no_python_abi_suffix_test/build/temp.linux-x86_64-cpython-313/no_python_abi_suffix_test.o.d -pthread -B /opt/conda/envs/py_3.13/compiler_compat -fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /opt/conda/envs/py_3.13/include -fPIC -O2 -isystem /opt/conda/envs/py_3.13/include -fPIC -I/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include -I/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/include/torch/csrc/api/include -I/opt/conda/envs/py_3.13/include/python3.13 -c -c /var/lib/jenkins/workspace/test/cpp_extensions/no_python_abi_suffix_test/no_python_abi_suffix_test.cpp -o /var/lib/jenkins/workspace/test/cpp_extensions/no_python_abi_suffix_test/build/temp.linux-x86_64-cpython-313/no_python_abi_suffix_test.o -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_clang"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1002"' -DTORCH_EXTENSION_NAME=no_python_abi_suffix_test -D_GLIBCXX_USE_CXX11_ABI=1 -std=c++17 2025-03-14T05:25:35.0847254Z creating build/lib.linux-x86_64-cpython-313 2025-03-14T05:25:35.0852141Z g++ -pthread -B /opt/conda/envs/py_3.13/compiler_compat -fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /opt/conda/envs/py_3.13/include -fPIC -O2 -isystem /opt/conda/envs/py_3.13/include -pthread -B /opt/conda/envs/py_3.13/compiler_compat -shared -Wl,-rpath,/opt/conda/envs/py_3.13/lib -Wl,-rpath-link,/opt/conda/envs/py_3.13/lib -L/opt/conda/envs/py_3.13/lib -Wl,-rpath,/opt/conda/envs/py_3.13/lib -Wl,-rpath-link,/opt/conda/envs/py_3.13/lib -L/opt/conda/envs/py_3.13/lib /var/lib/jenkins/workspace/test/cpp_extensions/no_python_abi_suffix_test/build/temp.linux-x86_64-cpython-313/no_python_abi_suffix_test.o -L/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/lib -lc10 -ltorch -ltorch_cpu -ltorch_python -o build/lib.linux-x86_64-cpython-313/no_python_abi_suffix_test.so 2025-03-14T05:25:35.1435267Z running install_lib 2025-03-14T05:25:35.1514111Z creating install/opt/conda/envs/py_3.13/lib/python3.13/site-packages 2025-03-14T05:25:35.1517598Z copying build/lib.linux-x86_64-cpython-313/no_python_abi_suffix_test.so -> ./install/opt/conda/envs/py_3.13/lib/python3.13/site-packages 2025-03-14T05:25:35.1522906Z running install_egg_info 2025-03-14T05:25:35.1696595Z running egg_info 2025-03-14T05:25:35.1764669Z creating no_python_abi_suffix_test.egg-info 2025-03-14T05:25:35.1765667Z writing no_python_abi_suffix_test.egg-info/PKG-INFO 2025-03-14T05:25:35.1769494Z writing dependency_links to no_python_abi_suffix_test.egg-info/dependency_links.txt 2025-03-14T05:25:35.1772298Z writing top-level names to no_python_abi_suffix_test.egg-info/top_level.txt 2025-03-14T05:25:35.1773017Z writing manifest file 'no_python_abi_suffix_test.egg-info/SOURCES.txt' 2025-03-14T05:25:35.1845679Z reading manifest file 'no_python_abi_suffix_test.egg-info/SOURCES.txt' 2025-03-14T05:25:35.1852730Z writing manifest file 'no_python_abi_suffix_test.egg-info/SOURCES.txt' 2025-03-14T05:25:35.1854205Z Copying no_python_abi_suffix_test.egg-info to ./install/opt/conda/envs/py_3.13/lib/python3.13/site-packages/no_python_abi_suffix_test-0.0.0-py3.13.egg-info 2025-03-14T05:25:35.1859337Z running install_scripts 2025-03-14T05:25:35.6236890Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:25:35.6240756Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'test_cpp_extensions_aot_no_ninja.py', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:25:35.623726] 2025-03-14T05:25:42.3834981Z 2025-03-14T05:25:42.3836483Z test_cpp_extensions_aot_no_ninja 1/1 was successful, full logs can be found in artifacts with path test/test-reports/test_cpp_extensions_aot_no_ninja_1.1_26319490ba4c5b66_.log 2025-03-14T05:25:42.3844331Z Running 20 items in this shard: test/test_cpp_extensions_aot_no_ninja.py::TestCppExtensionAOT::test_backward, test/test_cpp_extensions_aot_no_ninja.py::TestCppExtensionAOT::test_cublas_extension, test/test_cpp_extensions_aot_no_ninja.py::TestCppExtensionAOT::test_cuda_dlink_libs, test/test_cpp_extensions_aot_no_ninja.py::TestCppExtensionAOT::test_cuda_extension, test/test_cpp_extensions_aot_no_ninja.py::TestCppExtensionAOT::test_cusolver_extension, test/test_cpp_extensions_aot_no_ninja.py::TestCppExtensionAOT::test_extension_function, test/test_cpp_extensions_aot_no_ninja.py::TestCppExtensionAOT::test_extension_module, test/test_cpp_extensions_aot_no_ninja.py::TestCppExtensionAOT::test_libtorch_agnostic, test/test_cpp_extensions_aot_no_ninja.py::TestCppExtensionAOT::test_mps_extension, test/test_cpp_extensions_aot_no_ninja.py::TestCppExtensionAOT::test_no_python_abi_suffix_sets_the_correct_library_name, test/test_cpp_extensions_aot_no_ninja.py::TestCppExtensionAOT::test_optional, test/test_cpp_extensions_aot_no_ninja.py::TestCppExtensionAOT::test_python_agnostic, test/test_cpp_extensions_aot_no_ninja.py::TestCppExtensionAOT::test_sycl_extension, test/test_cpp_extensions_aot_no_ninja.py::TestPybindTypeCasters::test_pybind_return_types, test/test_cpp_extensions_aot_no_ninja.py::TestMAIATensor::test_add, test/test_cpp_extensions_aot_no_ninja.py::TestMAIATensor::test_conv_backend_override, test/test_cpp_extensions_aot_no_ninja.py::TestMAIATensor::test_unregistered, test/test_cpp_extensions_aot_no_ninja.py::TestMAIATensor::test_zeros, test/test_cpp_extensions_aot_no_ninja.py::TestRNGExtension::test_rng, test/test_cpp_extensions_aot_no_ninja.py::TestTorchLibrary::test_torch_library 2025-03-14T05:25:42.3851440Z 2025-03-14T05:25:42.3851707Z Running dynamo/test_graph_deduplication 1/1 ... [2025-03-14 05:25:42.383892] 2025-03-14T05:25:42.3852198Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:25:42.3853349Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_graph_deduplication.py', '-m', 'serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:25:42.384214] 2025-03-14T05:25:45.6017821Z 2025-03-14T05:25:45.6019088Z dynamo/test_graph_deduplication 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_graph_deduplication_1.1_a71e6752285f0139_.log 2025-03-14T05:25:45.6019889Z 2025-03-14T05:25:45.6021232Z Running dynamo/test_structured_trace 1/1 ... [2025-03-14 05:25:45.601946] 2025-03-14T05:25:45.6021712Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:25:45.6025047Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_structured_trace.py', '-m', 'serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:25:45.602274] 2025-03-14T05:25:52.2507287Z 2025-03-14T05:25:52.2508595Z dynamo/test_structured_trace 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_structured_trace_1.1_c3e068a494751c3e_.log 2025-03-14T05:25:52.2509506Z 2025-03-14T05:25:52.2510439Z Running dynamo/test_fx_passes_pre_grad 1/1 ... [2025-03-14 05:25:52.250855] 2025-03-14T05:25:52.2511232Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:25:52.2514230Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_fx_passes_pre_grad.py', '-m', 'serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:25:52.251191] 2025-03-14T05:25:55.5118643Z 2025-03-14T05:25:55.5120168Z dynamo/test_fx_passes_pre_grad 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_fx_passes_pre_grad_1.1_759878a0a9889b26_.log 2025-03-14T05:25:55.5120994Z 2025-03-14T05:25:55.5122342Z Running dynamo/test_base_output 1/1 ... [2025-03-14 05:25:55.512030] 2025-03-14T05:25:55.5123005Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:25:55.5126112Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_base_output.py', '-m', 'serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:25:55.512358] 2025-03-14T05:25:58.7358568Z 2025-03-14T05:25:58.7359873Z dynamo/test_base_output 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_base_output_1.1_4318624077813706_.log 2025-03-14T05:25:58.7360569Z 2025-03-14T05:25:58.7362133Z Running dynamo/test_utils 1/1 ... [2025-03-14 05:25:58.736026] 2025-03-14T05:25:58.7362840Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:25:58.7365989Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_utils.py', '-m', 'serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:25:58.736345] 2025-03-14T05:26:01.9711826Z 2025-03-14T05:26:01.9713052Z dynamo/test_utils 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_utils_1.1_42ee86022c7ba612_.log 2025-03-14T05:26:01.9713775Z 2025-03-14T05:26:01.9715222Z Running dynamo/test_view 1/1 ... [2025-03-14 05:26:01.971334] 2025-03-14T05:26:01.9715658Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:26:01.9718691Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_view.py', '-m', 'serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:26:01.971636] 2025-03-14T05:26:05.1861862Z 2025-03-14T05:26:05.1863058Z dynamo/test_view 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_view_1.1_1b6b1a5fffd4a93f_.log 2025-03-14T05:26:05.1863706Z 2025-03-14T05:26:05.1865162Z Running dynamo/test_callback 1/1 ... [2025-03-14 05:26:05.186345] 2025-03-14T05:26:05.1865832Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:26:05.1869486Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_callback.py', '-m', 'serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:26:05.186679] 2025-03-14T05:26:08.4252940Z 2025-03-14T05:26:08.4254145Z dynamo/test_callback 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_callback_1.1_0000f5b3a84e4cf8_.log 2025-03-14T05:26:08.4254844Z 2025-03-14T05:26:08.4256696Z Running dynamo/test_subgraphs 1/1 ... [2025-03-14 05:26:08.425462] 2025-03-14T05:26:08.4257557Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:26:08.4260579Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_subgraphs.py', '-m', 'serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:26:08.425805] 2025-03-14T05:26:11.6188198Z 2025-03-14T05:26:11.6189569Z dynamo/test_subgraphs 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_subgraphs_1.1_de8cafbd515eb151_.log 2025-03-14T05:26:11.6190263Z 2025-03-14T05:26:11.6191834Z Running dynamo/test_deviceguard 1/1 ... [2025-03-14 05:26:11.618988] 2025-03-14T05:26:11.6192492Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:26:11.6195876Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_deviceguard.py', '-m', 'serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:26:11.619304] 2025-03-14T05:26:14.8187239Z 2025-03-14T05:26:14.8188494Z dynamo/test_deviceguard 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_deviceguard_1.1_71f088ae7184c295_.log 2025-03-14T05:26:14.8189202Z 2025-03-14T05:26:14.8190918Z Running dynamo/test_dynamic_shapes 1/1 ... [2025-03-14 05:26:14.818892] 2025-03-14T05:26:14.8191604Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:26:14.8194818Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_dynamic_shapes.py', '-m', 'serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:26:14.819230] 2025-03-14T05:26:22.9072432Z 2025-03-14T05:26:22.9073740Z dynamo/test_dynamic_shapes 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_dynamic_shapes_1.1_0cf16b61b2db8849_.log 2025-03-14T05:26:22.9074478Z 2025-03-14T05:26:22.9075956Z Running dynamo/test_compile 1/1 ... [2025-03-14 05:26:22.907416] 2025-03-14T05:26:22.9076639Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:26:22.9079800Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_compile.py', '-m', 'serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:26:22.907728] 2025-03-14T05:26:26.0959173Z 2025-03-14T05:26:26.0960106Z dynamo/test_compile 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_compile_1.1_b84c89a1d1c3e149_.log 2025-03-14T05:26:26.0960782Z 2025-03-14T05:26:26.0962310Z Running dynamo/test_recompiles 1/1 ... [2025-03-14 05:26:26.096066] 2025-03-14T05:26:26.0962778Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:26:26.0966466Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_recompiles.py', '-m', 'serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:26:26.096369] 2025-03-14T05:26:29.3155065Z 2025-03-14T05:26:29.3156326Z dynamo/test_recompiles 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_recompiles_1.1_32b71d758baf22d3_.log 2025-03-14T05:26:29.3157419Z 2025-03-14T05:26:29.3158469Z Running dynamo/test_decorators 1/1 ... [2025-03-14 05:26:29.315646] 2025-03-14T05:26:29.3159125Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:26:29.3162232Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_decorators.py', '-m', 'serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:26:29.315962] 2025-03-14T05:26:32.5425316Z 2025-03-14T05:26:32.5426485Z dynamo/test_decorators 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_decorators_1.1_08a2b21cc8c4e715_.log 2025-03-14T05:26:32.5427215Z 2025-03-14T05:26:32.5428872Z Running dynamo/test_base_hop 1/1 ... [2025-03-14 05:26:32.542722] 2025-03-14T05:26:32.5429322Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:26:32.5432988Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_base_hop.py', '-m', 'serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:26:32.543087] 2025-03-14T05:26:39.0981274Z 2025-03-14T05:26:39.0982573Z dynamo/test_base_hop 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_base_hop_1.1_237b9cd499e8fa51_.log 2025-03-14T05:26:39.0983704Z 2025-03-14T05:26:39.0984026Z Running dynamo/test_global 1/1 ... [2025-03-14 05:26:39.098144] 2025-03-14T05:26:39.0985023Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:26:39.0988869Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_global.py', '-m', 'serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:26:39.098553] 2025-03-14T05:26:42.3472592Z 2025-03-14T05:26:42.3473542Z dynamo/test_global 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_global_1.1_4a16528dc953b2e5_.log 2025-03-14T05:26:42.3474231Z 2025-03-14T05:26:42.3476929Z Running dynamo/test_debug_utils 1/1 ... [2025-03-14 05:26:42.347406] 2025-03-14T05:26:42.3480150Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:26:42.3481806Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_debug_utils.py', '-m', 'serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:26:42.347807] 2025-03-14T05:26:48.9034026Z 2025-03-14T05:26:48.9035287Z dynamo/test_debug_utils 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_debug_utils_1.1_71b76ab124171ff9_.log 2025-03-14T05:26:48.9036024Z 2025-03-14T05:26:48.9037269Z Running dynamo/test_exceptions 1/1 ... [2025-03-14 05:26:48.903539] 2025-03-14T05:26:48.9037765Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:26:48.9040971Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_exceptions.py', '-m', 'serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:26:48.903862] 2025-03-14T05:26:52.1513844Z 2025-03-14T05:26:52.1515186Z dynamo/test_exceptions 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_exceptions_1.1_f4039b6e1d6fc006_.log 2025-03-14T05:26:52.1515904Z 2025-03-14T05:26:52.1516793Z Running dynamo/test_dicts 1/1 ... [2025-03-14 05:26:52.151514] 2025-03-14T05:26:52.1517497Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:26:52.1520818Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_dicts.py', '-m', 'serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:26:52.151831] 2025-03-14T05:26:55.3842960Z 2025-03-14T05:26:55.3844067Z dynamo/test_dicts 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_dicts_1.1_45c633d870335266_.log 2025-03-14T05:26:55.3844754Z 2025-03-14T05:26:55.3845858Z Running dynamo/test_flat_apply 1/1 ... [2025-03-14 05:26:55.384407] 2025-03-14T05:26:55.3846524Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:26:55.3849693Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_flat_apply.py', '-m', 'serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:26:55.384704] 2025-03-14T05:26:58.5570469Z 2025-03-14T05:26:58.5571685Z dynamo/test_flat_apply 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_flat_apply_1.1_57fa86183ba4e761_.log 2025-03-14T05:26:58.5572376Z 2025-03-14T05:26:58.5573706Z Running dynamo/test_resume 1/1 ... [2025-03-14 05:26:58.557191] 2025-03-14T05:26:58.5574419Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:26:58.5577725Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_resume.py', '-m', 'serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:26:58.557511] 2025-03-14T05:27:01.8053372Z 2025-03-14T05:27:01.8054795Z dynamo/test_resume 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_resume_1.1_283e4f196b847649_.log 2025-03-14T05:27:01.8055903Z 2025-03-14T05:27:01.8056202Z Running dynamo/test_unspec 1/1 ... [2025-03-14 05:27:01.805384] 2025-03-14T05:27:01.8056634Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:27:01.8059949Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_unspec.py', '-m', 'serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:27:01.805737] 2025-03-14T05:27:05.0176050Z 2025-03-14T05:27:05.0177274Z dynamo/test_unspec 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_unspec_1.1_e57f8095c73fed48_.log 2025-03-14T05:27:05.0177937Z 2025-03-14T05:27:05.0179232Z Running dynamo/test_higher_order_ops 1/1 ... [2025-03-14 05:27:05.017747] 2025-03-14T05:27:05.0179913Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:27:05.0183036Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_higher_order_ops.py', '-m', 'serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:27:05.018045] 2025-03-14T05:27:12.3275836Z 2025-03-14T05:27:12.3276900Z dynamo/test_higher_order_ops 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_higher_order_ops_1.1_1a1db7931230823a_.log 2025-03-14T05:27:12.3277679Z 2025-03-14T05:27:12.3278789Z Running dynamo/test_torchrec 1/1 ... [2025-03-14 05:27:12.327703] 2025-03-14T05:27:12.3279238Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:27:12.3282210Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_torchrec.py', '-m', 'serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:27:12.327991] 2025-03-14T05:27:15.4862608Z 2025-03-14T05:27:15.4863505Z dynamo/test_torchrec 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_torchrec_1.1_ff32137f36f3f07e_.log 2025-03-14T05:27:15.4864196Z 2025-03-14T05:27:15.4866190Z Running test_accelerator 1/1 ... [2025-03-14 05:27:15.486451] 2025-03-14T05:27:15.4866693Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:27:15.4870130Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'test_accelerator.py', '-m', 'serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:27:15.486774] 2025-03-14T05:27:18.7700713Z 2025-03-14T05:27:18.7701629Z test_accelerator 1/1 was successful, full logs can be found in artifacts with path test/test-reports/test_accelerator_1.1_8821c157a0a9549f_.log 2025-03-14T05:27:18.7702386Z Running 0 items in this shard: 2025-03-14T05:27:18.7702582Z 2025-03-14T05:27:18.7704662Z Running dynamo/test_hooks 1/1 ... [2025-03-14 05:27:18.770277] 2025-03-14T05:27:18.7705105Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:27:18.7708115Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_hooks.py', '-m', 'serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:27:18.770598] 2025-03-14T05:27:21.9735024Z 2025-03-14T05:27:21.9736170Z dynamo/test_hooks 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_hooks_1.1_e97b0bc319153a26_.log 2025-03-14T05:27:21.9736852Z 2025-03-14T05:27:21.9738178Z Running dynamo/test_subclasses 1/1 ... [2025-03-14 05:27:21.973662] 2025-03-14T05:27:21.9738751Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:27:21.9742037Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_subclasses.py', '-m', 'serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:27:21.973962] 2025-03-14T05:27:28.5893369Z 2025-03-14T05:27:28.5894331Z dynamo/test_subclasses 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_subclasses_1.1_f120baabc96faf80_.log 2025-03-14T05:27:28.5895130Z 2025-03-14T05:27:28.5896286Z Running dynamo/test_repros 1/1 ... [2025-03-14 05:27:28.589450] 2025-03-14T05:27:28.5896771Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:27:28.5906187Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_repros.py', '-m', 'serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:27:28.590396] 2025-03-14T05:27:31.8840142Z 2025-03-14T05:27:31.8841393Z dynamo/test_repros 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_repros_1.1_1881e061b4ea21fe_.log 2025-03-14T05:27:31.8842152Z 2025-03-14T05:27:31.8842871Z Running dynamo/test_functions 1/1 ... [2025-03-14 05:27:31.884130] 2025-03-14T05:27:31.8843327Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:27:31.8847296Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_functions.py', '-m', 'serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:27:31.884521] 2025-03-14T05:27:38.5129058Z 2025-03-14T05:27:38.5130264Z dynamo/test_functions 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_functions_1.1_9440e6123f5a6591_.log 2025-03-14T05:27:38.5131077Z 2025-03-14T05:27:38.5132115Z Running dynamo/test_misc 1/1 ... [2025-03-14 05:27:38.513026] 2025-03-14T05:27:38.5132778Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:27:38.5136060Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_misc.py', '-m', 'serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:27:38.513350] 2025-03-14T05:27:42.8659637Z 2025-03-14T05:27:42.8660555Z dynamo/test_misc 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_misc_1.1_58c37b2610cb78ea_.log 2025-03-14T05:27:42.8661519Z 2025-03-14T05:27:42.8662961Z Running optim/test_swa_utils 1/1 ... [2025-03-14 05:27:42.866098] 2025-03-14T05:27:42.8663405Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:27:42.8666331Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'optim/test_swa_utils.py', '-m', 'serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:27:42.866417] 2025-03-14T05:27:46.0458644Z 2025-03-14T05:27:46.0459845Z optim/test_swa_utils 1/1 was successful, full logs can be found in artifacts with path test/test-reports/optim.test_swa_utils_1.1_3205c93f51d32d5d_.log 2025-03-14T05:27:46.0460540Z 2025-03-14T05:27:46.0462265Z Running dynamo/test_python_autograd 1/1 ... [2025-03-14 05:27:46.046011] 2025-03-14T05:27:46.0462953Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:27:46.0465884Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_python_autograd.py', '-m', 'serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:27:46.046337] 2025-03-14T05:27:49.2379820Z 2025-03-14T05:27:49.2380848Z dynamo/test_python_autograd 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_python_autograd_1.1_edaa905b48ed34b2_.log 2025-03-14T05:27:49.2381675Z 2025-03-14T05:27:49.2382461Z Running test_quantization 4/6 ... [2025-03-14 05:27:49.238043] 2025-03-14T05:27:49.2382961Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:27:49.2386370Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'test_quantization.py', '-m', 'serial', '--shard-id=4', '--num-shards=6', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:27:49.238383] 2025-03-14T05:27:53.6084614Z 2025-03-14T05:27:53.6085549Z test_quantization 4/6 was successful, full logs can be found in artifacts with path test/test-reports/test_quantization_4.6_a4944d504d07f8e5_.log 2025-03-14T05:27:53.6086330Z Running 0 items in this shard: 2025-03-14T05:27:53.6086550Z 2025-03-14T05:27:53.6169177Z Running dynamo/test_graph_deduplication 1/1 ... [2025-03-14 05:27:53.616611] 2025-03-14T05:27:53.6169938Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:27:53.6172078Z Running dynamo/test_structured_trace 1/1 ... [2025-03-14 05:27:53.616981] 2025-03-14T05:27:53.6172818Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:27:53.6174685Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_graph_deduplication.py', '-m', 'not serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:27:53.617086] 2025-03-14T05:27:53.6177017Z Running dynamo/test_fx_passes_pre_grad 1/1 ... [2025-03-14 05:27:53.617144] 2025-03-14T05:27:53.6177920Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:27:53.6179313Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_structured_trace.py', '-m', 'not serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:27:53.617471] 2025-03-14T05:27:53.6181509Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_fx_passes_pre_grad.py', '-m', 'not serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:27:53.617608] 2025-03-14T05:27:57.0859822Z 2025-03-14T05:27:57.0861247Z dynamo/test_fx_passes_pre_grad 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_fx_passes_pre_grad_1.1_e6f255c700505f47_.log 2025-03-14T05:27:57.0862641Z 2025-03-14T05:27:57.0959077Z 2025-03-14T05:27:57.0960501Z dynamo/test_graph_deduplication 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_graph_deduplication_1.1_fd34f748942bfa84_.log 2025-03-14T05:27:57.0961372Z 2025-03-14T05:27:59.0528651Z Uploading artifacts took 1.97 seconds 2025-03-14T05:28:00.8774579Z 2025-03-14T05:28:00.8776205Z dynamo/test_structured_trace 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_structured_trace_1.1_faba7c883e6d558a_.log 2025-03-14T05:28:00.8777581Z 2025-03-14T05:28:01.0058227Z Running dynamo/test_base_output 1/1 ... [2025-03-14 05:28:01.005343] 2025-03-14T05:28:01.0059141Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:28:01.0060990Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_base_output.py', '-m', 'not serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:28:01.005697] 2025-03-14T05:28:01.0085241Z Running dynamo/test_utils 1/1 ... [2025-03-14 05:28:01.008240] 2025-03-14T05:28:01.0085945Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:28:01.0089158Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_utils.py', '-m', 'not serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:28:01.008585] 2025-03-14T05:28:04.4325317Z 2025-03-14T05:28:04.4327030Z dynamo/test_utils 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_utils_1.1_7c11a76ea56dd4f4_.log 2025-03-14T05:28:04.4328324Z 2025-03-14T05:28:04.4409971Z Running dynamo/test_view 1/1 ... [2025-03-14 05:28:04.440715] 2025-03-14T05:28:04.4410668Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:28:04.4414407Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_view.py', '-m', 'not serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:28:04.441103] 2025-03-14T05:28:04.4738910Z 2025-03-14T05:28:04.4740003Z dynamo/test_base_output 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_base_output_1.1_01e95ccfe5906ace_.log 2025-03-14T05:28:04.4740782Z 2025-03-14T05:28:07.9140555Z 2025-03-14T05:28:07.9142410Z dynamo/test_view 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_view_1.1_a017a73c6becc8fe_.log 2025-03-14T05:28:07.9143546Z 2025-03-14T05:28:08.0696217Z Running dynamo/test_callback 1/1 ... [2025-03-14 05:28:08.069184] 2025-03-14T05:28:08.0697174Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:28:08.0699549Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_callback.py', '-m', 'not serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:28:08.069547] 2025-03-14T05:28:08.0715235Z Running dynamo/test_subgraphs 1/1 ... [2025-03-14 05:28:08.071250] 2025-03-14T05:28:08.0716016Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:28:08.0719853Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_subgraphs.py', '-m', 'not serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:28:08.071603] 2025-03-14T05:28:11.5024237Z 2025-03-14T05:28:11.5025228Z dynamo/test_callback 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_callback_1.1_063227832b6ef64f_.log 2025-03-14T05:28:11.5025895Z 2025-03-14T05:28:11.5378376Z 2025-03-14T05:28:11.5379736Z dynamo/test_subgraphs 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_subgraphs_1.1_eed1a8572ecc36ef_.log 2025-03-14T05:28:11.5380683Z 2025-03-14T05:28:11.5585390Z Running dynamo/test_deviceguard 1/1 ... [2025-03-14 05:28:11.558200] 2025-03-14T05:28:11.5585886Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:28:11.5588816Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_deviceguard.py', '-m', 'not serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:28:11.558584] 2025-03-14T05:28:15.0005926Z 2025-03-14T05:28:15.0007115Z dynamo/test_deviceguard 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_deviceguard_1.1_bc130f3754260089_.log 2025-03-14T05:28:15.0007835Z 2025-03-14T05:28:15.1029763Z Running dynamo/test_dynamic_shapes 1/1 ... [2025-03-14 05:28:15.102572] 2025-03-14T05:28:15.1030481Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:28:15.1032373Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_dynamic_shapes.py', '-m', 'not serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:28:15.102936] 2025-03-14T05:28:15.1157271Z Running dynamo/test_compile 1/1 ... [2025-03-14 05:28:15.115389] 2025-03-14T05:28:15.1157743Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:28:15.1160264Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_compile.py', '-m', 'not serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:28:15.115738] 2025-03-14T05:28:18.5859041Z Running dynamo/test_recompiles 1/1 ... [2025-03-14 05:28:18.585458] 2025-03-14T05:28:18.5859625Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:28:18.5861497Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_recompiles.py', '-m', 'not serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:28:18.585849] 2025-03-14T05:28:18.5895435Z 2025-03-14T05:28:18.5896684Z dynamo/test_compile 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_compile_1.1_984c32ea04e97f9f_.log 2025-03-14T05:28:18.5897537Z 2025-03-14T05:28:22.0825708Z 2025-03-14T05:28:22.0827051Z dynamo/test_recompiles 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_recompiles_1.1_b4cd90c752cf6582_.log 2025-03-14T05:28:22.0827766Z 2025-03-14T05:28:22.2012626Z Running dynamo/test_decorators 1/1 ... [2025-03-14 05:28:22.200850] 2025-03-14T05:28:22.2013520Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:28:22.2016119Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_decorators.py', '-m', 'not serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:28:22.201234] 2025-03-14T05:28:23.6693186Z 2025-03-14T05:28:23.6694287Z dynamo/test_dynamic_shapes 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_dynamic_shapes_1.1_f5fe151f88bc3a99_.log 2025-03-14T05:28:23.6695082Z 2025-03-14T05:28:25.7198950Z Running dynamo/test_base_hop 1/1 ... [2025-03-14 05:28:25.719454] 2025-03-14T05:28:25.7199762Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:28:25.7202247Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_base_hop.py', '-m', 'not serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:28:25.719889] 2025-03-14T05:28:25.7231536Z 2025-03-14T05:28:25.7232709Z dynamo/test_decorators 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_decorators_1.1_03f024395c1e1f56_.log 2025-03-14T05:28:25.7234104Z 2025-03-14T05:28:27.1930706Z Running dynamo/test_global 1/1 ... [2025-03-14 05:28:27.192670] 2025-03-14T05:28:27.1931354Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:28:27.1933212Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_global.py', '-m', 'not serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:28:27.193020] 2025-03-14T05:28:29.3654287Z Running dynamo/test_debug_utils 1/1 ... [2025-03-14 05:28:29.364938] 2025-03-14T05:28:29.3655179Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:28:29.3657868Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_debug_utils.py', '-m', 'not serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:28:29.365429] 2025-03-14T05:28:30.6663971Z 2025-03-14T05:28:30.6665265Z dynamo/test_global 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_global_1.1_7e5ed1b8e7039a7d_.log 2025-03-14T05:28:30.6666389Z 2025-03-14T05:28:32.9374534Z 2025-03-14T05:28:32.9376155Z dynamo/test_base_hop 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_base_hop_1.1_0d8b3aeaa416cdd5_.log 2025-03-14T05:28:32.9377392Z 2025-03-14T05:28:34.3405887Z Running dynamo/test_exceptions 1/1 ... [2025-03-14 05:28:34.340135] 2025-03-14T05:28:34.3406505Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:28:34.3408059Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_exceptions.py', '-m', 'not serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:28:34.340515] 2025-03-14T05:28:36.5445635Z 2025-03-14T05:28:36.5447273Z dynamo/test_debug_utils 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_debug_utils_1.1_1083097c2422c024_.log 2025-03-14T05:28:36.5448594Z 2025-03-14T05:28:36.5638437Z Running dynamo/test_dicts 1/1 ... [2025-03-14 05:28:36.563492] 2025-03-14T05:28:36.5638967Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:28:36.5641224Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_dicts.py', '-m', 'not serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:28:36.563859] 2025-03-14T05:28:37.8559564Z 2025-03-14T05:28:37.8560530Z dynamo/test_exceptions 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_exceptions_1.1_43ca7fe4acc2da08_.log 2025-03-14T05:28:37.8561253Z 2025-03-14T05:28:40.1042379Z Running dynamo/test_flat_apply 1/1 ... [2025-03-14 05:28:40.103820] 2025-03-14T05:28:40.1043259Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:28:40.1045352Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_flat_apply.py', '-m', 'not serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:28:40.104194] 2025-03-14T05:28:40.1146584Z 2025-03-14T05:28:40.1147674Z dynamo/test_dicts 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_dicts_1.1_049cdbf95641e589_.log 2025-03-14T05:28:40.1148350Z 2025-03-14T05:28:41.4812732Z Running dynamo/test_resume 1/1 ... [2025-03-14 05:28:41.480815] 2025-03-14T05:28:41.4813282Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:28:41.4814942Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_resume.py', '-m', 'not serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:28:41.481203] 2025-03-14T05:28:43.5447256Z 2025-03-14T05:28:43.5448702Z dynamo/test_flat_apply 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_flat_apply_1.1_5f95ed0c921e5b68_.log 2025-03-14T05:28:43.5450132Z 2025-03-14T05:28:43.6359916Z Running dynamo/test_unspec 1/1 ... [2025-03-14 05:28:43.635590] 2025-03-14T05:28:43.6360655Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:28:43.6363233Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_unspec.py', '-m', 'not serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:28:43.635966] 2025-03-14T05:28:44.8764202Z 2025-03-14T05:28:44.8765624Z dynamo/test_resume 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_resume_1.1_9cc2ccf769035ce3_.log 2025-03-14T05:28:44.8767157Z 2025-03-14T05:28:47.1251913Z 2025-03-14T05:28:47.1253360Z dynamo/test_unspec 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_unspec_1.1_b7d2ff57e001fd9b_.log 2025-03-14T05:28:47.1254623Z 2025-03-14T05:28:47.1323167Z Running dynamo/test_higher_order_ops 1/1 ... [2025-03-14 05:28:47.131999] 2025-03-14T05:28:47.1324097Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:28:47.1328514Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_higher_order_ops.py', '-m', 'not serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:28:47.132461] 2025-03-14T05:28:48.4657215Z Running dynamo/test_torchrec 1/1 ... [2025-03-14 05:28:48.465243] 2025-03-14T05:28:48.4658046Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:28:48.4660082Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_torchrec.py', '-m', 'not serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:28:48.465593] 2025-03-14T05:28:50.7370006Z Running test_accelerator 1/1 ... [2025-03-14 05:28:50.736610] 2025-03-14T05:28:50.7370484Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:28:50.7372758Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'test_accelerator.py', '-m', 'not serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:28:50.736997] 2025-03-14T05:28:51.9322661Z 2025-03-14T05:28:51.9324100Z dynamo/test_torchrec 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_torchrec_1.1_7cd051f9b8d0b77a_.log 2025-03-14T05:28:51.9324786Z 2025-03-14T05:28:54.4339814Z 2025-03-14T05:28:54.4341226Z test_accelerator 1/1 was successful, full logs can be found in artifacts with path test/test-reports/test_accelerator_1.1_a710193bd30df38e_.log 2025-03-14T05:28:55.2094125Z Running 0 items in this shard: 2025-03-14T05:28:55.2094598Z 2025-03-14T05:28:55.2094609Z 2025-03-14T05:28:55.2095875Z dynamo/test_higher_order_ops 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_higher_order_ops_1.1_b9bcd7f481b34b53_.log 2025-03-14T05:28:55.2097294Z 2025-03-14T05:28:55.6078085Z Running dynamo/test_hooks 1/1 ... [2025-03-14 05:28:55.607380] 2025-03-14T05:28:55.6078829Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:28:55.6081121Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_hooks.py', '-m', 'not serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:28:55.607768] 2025-03-14T05:28:58.0078974Z Running dynamo/test_subclasses 1/1 ... [2025-03-14 05:28:58.007430] 2025-03-14T05:28:58.0079819Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:28:58.0081885Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_subclasses.py', '-m', 'not serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:28:58.007787] 2025-03-14T05:28:58.8701216Z Running dynamo/test_repros 1/1 ... [2025-03-14 05:28:58.869648] 2025-03-14T05:28:58.8702249Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:28:58.8704069Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_repros.py', '-m', 'not serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:28:58.870021] 2025-03-14T05:28:59.2006847Z 2025-03-14T05:28:59.2008465Z dynamo/test_hooks 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_hooks_1.1_e4987a98d3df933e_.log 2025-03-14T05:28:59.2009628Z 2025-03-14T05:29:02.3610944Z 2025-03-14T05:29:02.3612210Z dynamo/test_repros 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_repros_1.1_74d4bfa9bcb01f8b_.log 2025-03-14T05:29:02.3612872Z 2025-03-14T05:29:02.7624465Z Running dynamo/test_functions 1/1 ... [2025-03-14 05:29:02.762001] 2025-03-14T05:29:02.7625018Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:29:02.7626908Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_functions.py', '-m', 'not serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:29:02.762374] 2025-03-14T05:29:05.1393392Z 2025-03-14T05:29:05.1394727Z dynamo/test_subclasses 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_subclasses_1.1_d25270ada302a97a_.log 2025-03-14T05:29:05.1395829Z 2025-03-14T05:29:05.9475715Z Running dynamo/test_misc 1/1 ... [2025-03-14 05:29:05.947156] 2025-03-14T05:29:05.9476485Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:29:05.9478664Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_misc.py', '-m', 'not serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:29:05.947516] 2025-03-14T05:29:08.7653404Z Running optim/test_swa_utils 1/1 ... [2025-03-14 05:29:08.764900] 2025-03-14T05:29:08.7654233Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:29:08.7656372Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'optim/test_swa_utils.py', '-m', 'not serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:29:08.765266] 2025-03-14T05:29:09.9198854Z 2025-03-14T05:29:09.9200347Z dynamo/test_functions 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_functions_1.1_d94442b314f63334_.log 2025-03-14T05:29:09.9201623Z 2025-03-14T05:29:10.7837612Z 2025-03-14T05:29:10.7838553Z dynamo/test_misc 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_misc_1.1_7617d30662007868_.log 2025-03-14T05:29:10.7839189Z 2025-03-14T05:29:12.2487820Z 2025-03-14T05:29:12.2489115Z optim/test_swa_utils 1/1 was successful, full logs can be found in artifacts with path test/test-reports/optim.test_swa_utils_1.1_a9590a7e7c414737_.log 2025-03-14T05:29:12.2490195Z 2025-03-14T05:29:13.5531203Z Running dynamo/test_python_autograd 1/1 ... [2025-03-14 05:29:13.552692] 2025-03-14T05:29:13.5532122Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:29:13.5534987Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'dynamo/test_python_autograd.py', '-m', 'not serial', '--shard-id=1', '--num-shards=1', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:29:13.553092] 2025-03-14T05:29:14.3751234Z Running test_quantization 4/6 ... [2025-03-14 05:29:14.374738] 2025-03-14T05:29:14.3752077Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:29:14.3754726Z Executing ['/opt/conda/envs/py_3.13/bin/python', '-bb', 'test_quantization.py', '-m', 'not serial', '--shard-id=4', '--num-shards=6', '-v', '-vv', '-rfEX', '-p', 'no:xdist', '--use-pytest', '-x', '--reruns=2', '--import-slow-tests', '--import-disabled-tests'] ... [2025-03-14 05:29:14.375100] 2025-03-14T05:29:16.9656199Z 2025-03-14T05:29:16.9657879Z dynamo/test_python_autograd 1/1 was successful, full logs can be found in artifacts with path test/test-reports/dynamo.test_python_autograd_1.1_236290a7db6994d4_.log 2025-03-14T05:29:16.9659349Z 2025-03-14T05:45:22.7616368Z 2025-03-14T05:45:22.7617811Z test_quantization 4/6 was successful, full logs can be found in artifacts with path test/test-reports/test_quantization_4.6_0540c054832b5067_.log 2025-03-14T05:45:22.7783047Z Running 226 items in this shard: test/test_quantization.py::TestQuantizedOps::test_adaptive_avg_pool3d_ndhwc, test/test_quantization.py::TestQuantizedOps::test_cat, test/test_quantization.py::TestQuantizedOps::test_custom_module_multi_head_attention, test/test_quantization.py::TestQuantizedOps::test_hardswish, test/test_quantization.py::TestQuantizedOps::test_hardtanh, test/test_quantization.py::TestQuantizedOps::test_instance_norm, test/test_quantization.py::TestQuantizedOps::test_max_pool2d_nhwc, test/test_quantization.py::TestQuantizedOps::test_qadd_relu_cudnn_nhwc, test/test_quantization.py::TestQuantizedOps::test_qcelu, test/test_quantization.py::TestQuantizedOps::test_qelu, test/test_quantization.py::TestQuantizedOps::test_qmul_broadcast, test/test_quantization.py::TestQuantizedOps::test_qprelu, test/test_quantization.py::TestQuantizedOps::test_qrelu6, test/test_quantization.py::TestQuantizedOps::test_qtopk, test/test_quantization.py::TestQuantizedOps::test_std, test/test_quantization.py::TestQNNPackOps::test_qnnpack_add, test/test_quantization.py::TestQNNPackOps::test_qnnpack_mul, test/test_quantization.py::TestQNNPackOps::test_qnnpack_tanh, test/test_quantization.py::TestQuantizedLinear::test_qlinear_qnnpack_free_memory_and_unpack, test/test_quantization.py::TestQuantizedConv::test_conv_transpose_reorder_issue_onednn, test/test_quantization.py::TestQuantizedConv::test_qconv1d_cudnn, test/test_quantization.py::TestQuantizedConv::test_qconv1d_pt2e, test/test_quantization.py::TestQuantizedConv::test_qconv1d_unpack, test/test_quantization.py::TestQuantizedConv::test_qconv2d_sum_relu_pt2e, test/test_quantization.py::TestQuantizedConv::test_qconv3d, test/test_quantization.py::TestDynamicQuantizedOps::test_dynamic_conv3d, test/test_quantization.py::TestDynamicQuantizedOps::test_qlstmGRU, test/test_quantization.py::TestPadding::test_reflection_pad1d, test/test_quantization.py::TestPadding::test_reflection_pad2d, test/test_quantization.py::TestQuantizedFunctionalOps::test_conv3d_api, test/test_quantization.py::TestFakeQuantizeOps::test_forward_per_channel, test/test_quantization.py::TestFakeQuantizeOps::test_forward_per_channel_cachemask_cuda, test/test_quantization.py::TestFakeQuantizeOps::test_forward_per_tensor, test/test_quantization.py::TestFakeQuantizeOps::test_learnable_forward_per_tensor_cpu, test/test_quantization.py::TestQuantizedTensor::test_choose_qparams_optimized, test/test_quantization.py::TestQuantizedTensor::test_decomposed_dequantize_per_tensor, test/test_quantization.py::TestQuantizedTensor::test_decomposed_quantize_per_token, test/test_quantization.py::TestQuantizedTensor::test_dequantize_fp16_cpu, test/test_quantization.py::TestQuantizedTensor::test_jit_serialization, test/test_quantization.py::TestQuantizedTensor::test_per_tensor_qtensor_to_memory_format, test/test_quantization.py::TestQuantizedTensor::test_qtensor_creation, test/test_quantization.py::TestQuantizedTensor::test_qtensor_cuda, test/test_quantization.py::TestQuantizedTensor::test_qtensor_dtypes, test/test_quantization.py::TestQuantizedTensor::test_qtensor_index_put_cuda, test/test_quantization.py::TestQuantizedTensor::test_qtensor_masked_fill_cpu, test/test_quantization.py::TestQuantizedTensor::test_qtensor_per_channel_load_save, test/test_quantization.py::TestQuantizedTensor::test_qtensor_permute, test/test_quantization.py::TestQuantizedTensor::test_qtensor_quant_dequant, test/test_quantization.py::TestQuantizedTensor::test_qtensor_sub_byte_aligned_cols, test/test_quantization.py::TestQuantizedTensor::test_qtensor_unsqueeze, test/test_quantization.py::TestQuantizedTensor::test_quantize_per_channel_sub_byte, test/test_quantization.py::TestFakeQuantize::test_fq_module_per_channel, test/test_quantization.py::TestFakeQuantize::test_fq_serializable_per_channel, test/test_quantization.py::TestObserver::test_save_load_state_dict_script, test/test_quantization.py::TestStaticQuantizedModule::test_batch_norm3d, test/test_quantization.py::TestStaticQuantizedModule::test_batch_norm3d_serialization, test/test_quantization.py::TestStaticQuantizedModule::test_dropout, test/test_quantization.py::TestStaticQuantizedModule::test_sigmoid, test/test_quantization.py::TestDynamicQuantizedModule::test_lstm_api, test/test_quantization.py::TestHistogramObserver::test_histogram_observer_same_inputs, test/test_quantization.py::TestDistributed::test_qat_convbn_fused_syncbn_replacement, test/test_quantization.py::TestFusedObsFakeQuantModule::test_compare_fused_obs_fq_oss_module, test/test_quantization.py::TestFusedObsFakeQuantModule::test_fused_mod_per_channel, test/test_quantization.py::TestBackendConfig::test_backend_config_from_dict, test/test_quantization.py::TestBackendConfig::test_backend_op_config_set_extra_inputs_getter, test/test_quantization.py::TestBackendConfig::test_backend_op_config_set_root_module, test/test_quantization.py::TestUtils::test_get_fqn_to_example_inputs_default_kwargs, test/test_quantization.py::TestQuantizeEagerPTQStatic::test_activations, test/test_quantization.py::TestQuantizeEagerPTQStatic::test_activations_in_non_leaf_module_list, test/test_quantization.py::TestQuantizeEagerPTQStatic::test_quantized_embedding, test/test_quantization.py::TestQuantizeEagerOps::test_conv_transpose_3d, test/test_quantization.py::TestQuantizeEagerOps::test_functional_module, test/test_quantization.py::TestQuantizeEagerQAT::test_add_scalar_uses_input_qparams, test/test_quantization.py::TestQuantizeEagerQAT::test_mul_scalar_uses_input_qparams, test/test_quantization.py::TestQuantizeEagerQATNumerics::test_linear_bn_workflow, test/test_quantization.py::TestQuantizeEagerQATNumerics::test_relu, test/test_quantization.py::TestFuseEager::test_fuse_module_train, test/test_quantization.py::TestFuseEager::test_fusion_convtranspose_bn_eval, test/test_quantization.py::TestFuseEager::test_fusion_linear_bn_eval, test/test_quantization.py::TestModelNumericsEager::test_fake_quant_true_quant_compare, test/test_quantization.py::TestModelNumericsEager::test_float_quant_compare_per_channel, test/test_quantization.py::TestNumericSuiteEager::test_compare_model_outputs_conv_static, test/test_quantization.py::TestNumericSuiteEager::test_compare_model_stub_conv_static, test/test_quantization.py::TestNumericSuiteEager::test_compare_model_stub_lstm_dynamic, test/test_quantization.py::TestNumericSuiteEager::test_compare_weights_conv_static, test/test_quantization.py::TestEqualizeEager::test_converged, test/test_quantization.py::TestFuseFx::test_fuse_convtranspose_bn_eval, test/test_quantization.py::TestQuantizeFx::test__convert_to_reference_decomposed_fx_per_channel_quant, test/test_quantization.py::TestQuantizeFx::test_backend_config_quantization_range, test/test_quantization.py::TestQuantizeFx::test_backend_config_scale_min, test/test_quantization.py::TestQuantizeFx::test_convert_custom_config_set_preserved_attributes, test/test_quantization.py::TestQuantizeFx::test_convert_qconfig_mapping, test/test_quantization.py::TestQuantizeFx::test_convtranspose_per_channel_fails_early, test/test_quantization.py::TestQuantizeFx::test_dequantize, test/test_quantization.py::TestQuantizeFx::test_dict_output, test/test_quantization.py::TestQuantizeFx::test_dynamic_quant_weight_observer, test/test_quantization.py::TestQuantizeFx::test_fold_quant_dequant, test/test_quantization.py::TestQuantizeFx::test_fp32_input_fp32_output, test/test_quantization.py::TestQuantizeFx::test_fuse_custom_config_from_dict, test/test_quantization.py::TestQuantizeFx::test_linear_leaky_relu_lowering, test/test_quantization.py::TestQuantizeFx::test_lowering_functional_linear_with_kwargs, test/test_quantization.py::TestQuantizeFx::test_permute_nontensor_args_not_observed, test/test_quantization.py::TestQuantizeFx::test_prepare_custom_config_set_float_to_observed_mapping, test/test_quantization.py::TestQuantizeFx::test_prepare_custom_config_set_non_traceable_module_classes, test/test_quantization.py::TestQuantizeFx::test_prepare_mode, test/test_quantization.py::TestQuantizeFx::test_preserve_qconfig, test/test_quantization.py::TestQuantizeFx::test_propagate_dtypes_for_known_nodes_split_list_args, test/test_quantization.py::TestQuantizeFx::test_return_none, test/test_quantization.py::TestQuantizeFx::test_shape_followed_by_quantized_op, test/test_quantization.py::TestQuantizeFx::test_stack_trace_preserved_linear, test/test_quantization.py::TestQuantizeFx::test_standalone_module_quantized_interface, test/test_quantization.py::TestQuantizeFx::test_state_dict, test/test_quantization.py::TestQuantizeFx::test_symmetric_qnnpack_qat_qconfig_mapping, test/test_quantization.py::TestQuantizeFx::test_symmetric_qnnpack_qconfig_mapping, test/test_quantization.py::TestQuantizeFxOps::test_cat, test/test_quantization.py::TestQuantizeFxOps::test_conv_module, test/test_quantization.py::TestQuantizeFxOps::test_copy_node_fp32_input, test/test_quantization.py::TestQuantizeFxOps::test_div, test/test_quantization.py::TestQuantizeFxOps::test_elu, test/test_quantization.py::TestQuantizeFxOps::test_embedding, test/test_quantization.py::TestQuantizeFxOps::test_fixed_qparams_ops, test/test_quantization.py::TestQuantizeFxOps::test_hardswish, test/test_quantization.py::TestQuantizeFxOps::test_instance_norm, test/test_quantization.py::TestQuantizeFxOps::test_int8_input_no_unnecessary_fq, test/test_quantization.py::TestQuantizeFxOps::test_leaky_relu, test/test_quantization.py::TestQuantizeFxOps::test_linear_dynamic_fp16, test/test_quantization.py::TestQuantizeFxOps::test_norm_weight_bias, test/test_quantization.py::TestQuantizeFxOps::test_qbatch_norm, test/test_quantization.py::TestQuantizeFxOps::test_quantized_mul_qat, test/test_quantization.py::TestQuantizeFxModels::test_resnet_base, test/test_quantization.py::TestSubgraphRewriter::test_subgraph_rewriter_internal_pattern_nodes_cannot_have_users_that_are_not_matched, test/test_quantization.py::TestSubgraphRewriter::test_subgraph_rewriter_placeholder_matching, test/test_quantization.py::TestSubgraphRewriter::test_subgraph_rewriter_single_pattern_match, test/test_quantization.py::TestSubgraphRewriter::test_subgraph_rewriter_traced_as_callable, test/test_quantization.py::TestGraphUtils::test_conv_bn_conv_relu, test/test_quantization.py::TestGraphUtils::test_conv_bn_relu, test/test_quantization.py::TestDuplicateDQPass::test_avgpool_use_different_qconfig, test/test_quantization.py::TestDuplicateDQPass::test_simple_duplicate_dq, test/test_quantization.py::TestNumericDebugger::test_control_flow, test/test_quantization.py::TestNumericDebugger::test_prepare_for_propagation_comparison, test/test_quantization.py::TestQuantizePT2E::test_allow_exported_model_train_eval, test/test_quantization.py::TestQuantizePT2E::test_allow_exported_model_train_eval_idempotent, test/test_quantization.py::TestQuantizePT2E::test_derived_qspec_per_channel, test/test_quantization.py::TestQuantizePT2E::test_fixed_qparams_qspec_ptq, test/test_quantization.py::TestQuantizePT2E::test_max_pool2d_quantizer, test/test_quantization.py::TestQuantizePT2E::test_simple_quantizer, test/test_quantization.py::TestPT2ERepresentation::test_add, test/test_quantization.py::TestPT2ERepresentation::test_static_linear, test/test_quantization.py::TestXNNPACKQuantizer::test_linear, test/test_quantization.py::TestQuantizePT2EX86Inductor::test_conv2d_unary, test/test_quantization.py::TestQuantizePT2EX86Inductor::test_dynamic_quant_linear, test/test_quantization.py::TestQuantizePT2EX86Inductor::test_flatten_recipe2, test/test_quantization.py::TestQuantizePT2EX86Inductor::test_linear_binary, test/test_quantization.py::TestQuantizePT2EX86Inductor::test_qat_dynamic_quant_linear, test/test_quantization.py::TestQuantizePT2EX86Inductor::test_set_module_name_and_module_type_with_mixed_configs, test/test_quantization.py::TestQuantizePT2EQAT_ConvBn1d::test_qat_conv_bn_fusion, test/test_quantization.py::TestQuantizePT2EQAT_ConvBn1d::test_qat_conv_bn_per_channel_weight_bias, test/test_quantization.py::TestQuantizePT2EQAT_ConvBn1d::test_qat_conv_bn_relu_fusion_no_conv_bias, test/test_quantization.py::TestQuantizePT2EQAT_ConvBn1d::test_qat_conv_transpose_bn, test/test_quantization.py::TestQuantizePT2EQAT_ConvBn1d::test_qat_inplace_add_relu, test/test_quantization.py::TestQuantizePT2EQAT_ConvBn1d::test_qat_update_shared_qspec, test/test_quantization.py::TestQuantizePT2EQATModels::test_qat_mobilenet_v2, test/test_quantization.py::TestFXGraphMatcher::test_methods, test/test_quantization.py::TestFXGraphMatcher::test_simple_mod, test/test_quantization.py::TestFXNumericSuiteCoreAPIs::test_add_loggers_cuda, test/test_quantization.py::TestFXNumericSuiteCoreAPIs::test_extend_logger_results_with_comparison, test/test_quantization.py::TestFXNumericSuiteCoreAPIs::test_extract_weights_cuda, test/test_quantization.py::TestFXNumericSuiteCoreAPIs::test_layer_names, test/test_quantization.py::TestFXNumericSuiteCoreAPIs::test_user_module_scriptable, test/test_quantization.py::TestFXNumericSuiteNShadows::test_add_loggers_linear_mod_quant_quant, test/test_quantization.py::TestFXNumericSuiteNShadows::test_partial_qconfig_mapping, test/test_quantization.py::TestFXNumericSuiteNShadows::test_qconfig_multi_mapping_deduplication, test/test_quantization.py::TestFXNumericSuiteCoreAPIsModels::test_compare_activations_linear, test/test_quantization.py::TestFXNumericSuiteCoreAPIsModels::test_compare_weights_linear, test/test_quantization.py::TestFxModelReportDetector::test_simple_conv, test/test_quantization.py::TestFxModelReportClass::test_equalization_mapping_generation, test/test_quantization.py::TestFxModelReportClass::test_generate_report, test/test_quantization.py::TestFxDetectInputWeightEqualization::test_input_weight_equalization_report_gen, test/test_quantization.py::TestFxDetectOutliers::test_all_outlier_report_gen, test/test_quantization.py::TestFxDetectOutliers::test_no_outlier_report_gen, test/test_quantization.py::TestFxModelReportVisualizer::test_generate_tables_match_with_report, test/test_quantization.py::TestFxModelReportVisualizer::test_generate_tables_single_feat_match, test/test_quantization.py::TestEqualizeFx::test_input_weight_equalization_equalization_scales, test/test_quantization.py::TestSerialization::test_conv2d_graph_v2, test/test_quantization.py::TestSerialization::test_conv2d_relu, test/test_quantization.py::TestSerialization::test_conv3d_relu, test/test_quantization.py::TestSerialization::test_linear, test/test_quantization.py::TestSerialization::test_linear_relu, test/test_quantization.py::TestQuantizeJit::test_nested, test/test_quantization.py::TestQuantizeJit::test_skip_quant, test/test_quantization.py::TestQuantizeJitPasses::test_finalize_debug, test/test_quantization.py::TestQuantizeJitPasses::test_finalize_for_linear, test/test_quantization.py::TestQuantizeJitPasses::test_foldbn_shared_classtype, test/test_quantization.py::TestQuantizeJitPasses::test_foldbn_trivial_nobias, test/test_quantization.py::TestQuantizeJitPasses::test_insert_observers, test/test_quantization.py::TestQuantizeJitPasses::test_insert_observers_shared_class_type, test/test_quantization.py::TestQuantizeJitPasses::test_interface_with_fork, test/test_quantization.py::TestQuantizeJitPasses::test_replicate_dequantize_in_block, test/test_quantization.py::TestQuantizeJitOps::test_instance_norm, test/test_quantization.py::TestQuantizeJitOps::test_quantized_add_relu_alpha, test/test_quantization.py::TestQuantizeJitOps::test_quantized_cat, test/test_quantization.py::TestQuantizeDynamicJitPasses::test_dynamic_multi_op, test/test_quantization.py::TestQuantizeDynamicJitPasses::test_dynamic_weight_observer, test/test_quantization.py::TestQuantizeDynamicJitOps::test_embedding_bag, test/test_quantization.py::TestDeprecatedJitQuantized::test_erase_class_tensor_shapes, test/test_quantization.py::TestDeprecatedJitQuantized::test_quantization_modules, test/test_quantization.py::TestAOMigrationQuantization::test_function_import_stubs, test/test_quantization.py::TestAOMigrationNNQuantized::test_modules_normalization, test/test_quantization.py::TestAOMigrationNNIntrinsic::test_modules_import_nn_intrinsic_quantized, test/test_quantization.py::TestAOMigrationNNIntrinsic::test_modules_intrinsic_quantized_linear_relu, test/test_quantization.py::TestAOMigrationQuantizationFx::test_function_import_fx, test/test_quantization.py::TestAOMigrationQuantizationFx::test_function_import_fx_fuse, test/test_quantization.py::TestAOMigrationQuantizationFx::test_function_import_fx_match_utils, test/test_quantization.py::TestFloat8DtypeCPU::test_cast_round_trip_rte_cpu_float8_e8m0fnu, test/test_quantization.py::TestFloat8DtypeCPU::test_cast_round_trip_soak_cpu_float8_e5m2fnuz, test/test_quantization.py::TestFloat8DtypeCPU::test_cast_round_trip_subnormals_cpu_float8_e4m3fn, test/test_quantization.py::TestFloat8DtypeCPU::test_cat_cpu_float8_e4m3fnuz, test/test_quantization.py::TestFloat8DtypeCPU::test_cat_cpu_float8_e5m2fnuz, test/test_quantization.py::TestFloat8DtypeCPU::test_creation_with_zeros_cpu_float8_e4m3fn, test/test_quantization.py::TestFloat8DtypeCPU::test_creation_with_zeros_cpu_float8_e8m0fnu, test/test_quantization.py::TestFloat8DtypeCPU::test_empty_cpu_float8_e4m3fn, test/test_quantization.py::TestFloat8DtypeCPU::test_special_numbers_cpu_float8_e5m2fnuz, test/test_quantization.py::TestFloat8DtypeCPU::test_to_string_cpu_float8_e4m3fnuz, test/test_quantization.py::TestFloat8DtypeCPU::test_type_promotion_fails_cpu_float8_e4m3fn, test/test_quantization.py::TestFloat8DtypeCPU::test_type_promotion_fails_cpu_float8_e5m2fnuz, test/test_quantization.py::TestFloat8DtypeCPUOnlyCPU::test_mul_cpu_float8_e5m2 2025-03-14T05:45:22.7926761Z 2025-03-14T05:45:23.5719056Z Running test batch 'tests to run' cost 5769.63 seconds 2025-03-14T05:45:24.4944721Z 2025-03-14T05:45:24.4945297Z real 96m15.507s 2025-03-14T05:45:24.4945775Z user 133m14.447s 2025-03-14T05:45:24.4946138Z sys 10m57.931s 2025-03-14T05:45:24.4946513Z + assert_git_not_dirty 2025-03-14T05:45:24.4952972Z + [[ linux-focal-py3.13-clang10 != *rocm* ]] 2025-03-14T05:45:24.4953628Z + [[ linux-focal-py3.13-clang10 != *xla* ]] 2025-03-14T05:45:24.4977535Z ++ git status --porcelain 2025-03-14T05:45:24.4978412Z ++ grep -v '?? third_party' 2025-03-14T05:46:00.9004805Z ++ true 2025-03-14T05:46:00.9061731Z + git_status= 2025-03-14T05:46:00.9062064Z + [[ -n '' ]] 2025-03-14T05:46:00.9062397Z + [[ 1 == 1 ]] 2025-03-14T05:46:00.9062848Z + test_aten 2025-03-14T05:46:00.9068797Z + echo 'Running ATen tests with pytorch lib' 2025-03-14T05:46:00.9069255Z Running ATen tests with pytorch lib 2025-03-14T05:46:00.9069644Z + [[ -n '' ]] 2025-03-14T05:46:00.9069923Z + echo 'Running test with the build folder' 2025-03-14T05:46:00.9070273Z Running test with the build folder 2025-03-14T05:46:00.9070602Z + TEST_BASE_DIR=build/bin 2025-03-14T05:46:00.9071145Z + ln -sf /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/lib/libc10.so build/bin 2025-03-14T05:46:00.9104526Z + ln -sf '/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/lib/libcaffe2*' build/bin 2025-03-14T05:46:00.9114104Z + ln -sf '/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/lib/libmkldnn*' build/bin 2025-03-14T05:46:00.9123323Z + ln -sf '/opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/lib/libnccl*' build/bin 2025-03-14T05:46:00.9134781Z + ln -sf /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/lib/libtorch.so /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/lib/libtorch_cpu.so /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/lib/libtorch_global_deps.so /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/lib/libtorch_python.so /opt/conda/envs/py_3.13/lib/python3.13/site-packages/torch/lib/libtorchbind_test.so build/bin 2025-03-14T05:46:00.9141938Z + ls build/bin 2025-03-14T05:46:00.9196580Z BackoffTest cpu_profiling_allocator_test 2025-03-14T05:46:00.9197413Z CMakeFiles cpu_rng_test 2025-03-14T05:46:00.9198130Z CTestTestfile.cmake dispatch_key_set_test 2025-03-14T05:46:00.9198699Z CppSignature_test dlconvertor_test 2025-03-14T05:46:00.9199295Z Dict_test example_allreduce 2025-03-14T05:46:00.9199845Z Dimname_test extension_backend_test 2025-03-14T05:46:00.9200317Z FileStoreTest half_test 2025-03-14T05:46:00.9200820Z HashStoreTest inline_container_test 2025-03-14T05:46:00.9201216Z IListRef_test ivalue_test 2025-03-14T05:46:00.9201612Z KernelFunction_test kernel_function_legacy_test 2025-03-14T05:46:00.9202025Z List_test kernel_function_test 2025-03-14T05:46:00.9202406Z MaybeOwned_test kernel_lambda_legacy_test 2025-03-14T05:46:00.9202804Z NamedTensor_test kernel_lambda_test 2025-03-14T05:46:00.9203213Z ProcessGroupGlooTest kernel_stackbased_test 2025-03-14T05:46:00.9203685Z StorageUtils_test lazy_tensor_test 2025-03-14T05:46:00.9204050Z TCPStoreTest legacy_vmap_test 2025-03-14T05:46:00.9204402Z aot_model_compiler_test libc10.so 2025-03-14T05:46:00.9204753Z apply_utils_test 'libcaffe2*' 2025-03-14T05:46:00.9205080Z atest 'libmkldnn*' 2025-03-14T05:46:00.9205388Z backend_fallback_test 'libnccl*' 2025-03-14T05:46:00.9205720Z basic libtorch.so 2025-03-14T05:46:00.9206033Z broadcast_test libtorch_cpu.so 2025-03-14T05:46:00.9206406Z c10_ArrayRef_test libtorch_global_deps.so 2025-03-14T05:46:00.9206791Z c10_Bitset_test libtorch_python.so 2025-03-14T05:46:00.9207225Z c10_CompileTimeFunctionPointer_test libtorchbind_test.so 2025-03-14T05:46:00.9207755Z c10_ConstexprCrc_test make_boxed_from_unboxed_functor_test 2025-03-14T05:46:00.9208221Z c10_DeadlockDetection_test math_kernel_test 2025-03-14T05:46:00.9208626Z c10_DeviceGuard_test memory_format_test 2025-03-14T05:46:00.9209019Z c10_Device_test memory_overlapping_test 2025-03-14T05:46:00.9209452Z c10_DispatchKeySet_test mobile_memory_cleanup 2025-03-14T05:46:00.9209835Z c10_Half_test native_test 2025-03-14T05:46:00.9210199Z c10_InlineDeviceGuard_test op_allowlist_test 2025-03-14T05:46:00.9210639Z c10_InlineStreamGuard_test op_registration_test 2025-03-14T05:46:00.9211057Z c10_LeftRight_test operator_name_test 2025-03-14T05:46:00.9211451Z c10_Metaprogramming_test operators_test 2025-03-14T05:46:00.9211874Z c10_NetworkFlow_test packedtensoraccessor_test 2025-03-14T05:46:00.9212279Z c10_Scalar_test parallel_benchmark 2025-03-14T05:46:00.9212640Z c10_SizesAndStrides_test pow_test 2025-03-14T05:46:00.9212989Z c10_StreamGuard_test protoc 2025-03-14T05:46:00.9213324Z c10_SymInt_test protoc-3.13.0.0 2025-03-14T05:46:00.9213685Z c10_Synchronized_test quantized_test 2025-03-14T05:46:00.9214062Z c10_ThreadLocal_test reduce_ops_test 2025-03-14T05:46:00.9214459Z c10_TypeIndex_test reportMemoryUsage_test 2025-03-14T05:46:00.9214856Z c10_TypeList_test scalar_tensor_test 2025-03-14T05:46:00.9215218Z c10_TypeTraits_test scalar_test 2025-03-14T05:46:00.9215598Z c10_accumulate_test static_runtime_bench 2025-03-14T05:46:00.9216057Z c10_bfloat16_test static_runtime_test 2025-03-14T05:46:00.9216445Z c10_bit_cast_test stride_properties_test 2025-03-14T05:46:00.9216925Z c10_complex_math_test tensor_iterator_test 2025-03-14T05:46:00.9217304Z c10_complex_test test_api 2025-03-14T05:46:00.9217628Z c10_cow_test test_cpp_rpc 2025-03-14T05:46:00.9217968Z c10_error_test test_dist_autograd 2025-03-14T05:46:00.9218366Z c10_exception_test test_edge_op_registration 2025-03-14T05:46:00.9218748Z c10_flags_test test_jit 2025-03-14T05:46:00.9219074Z c10_generic_math_test test_lazy 2025-03-14T05:46:00.9219454Z c10_intrusive_ptr_benchmark test_mobile_nnc 2025-03-14T05:46:00.9219902Z c10_intrusive_ptr_test test_parallel 2025-03-14T05:46:00.9220269Z c10_irange_test test_tensorexpr 2025-03-14T05:46:00.9220599Z c10_lazy_test thread_init_test 2025-03-14T05:46:00.9220953Z c10_logging_test torch_shm_manager 2025-03-14T05:46:00.9221323Z c10_optional_test tutorial_tensorexpr 2025-03-14T05:46:00.9221732Z c10_ordered_preserving_dict_test type_ptr_test 2025-03-14T05:46:00.9222162Z c10_registry_test type_test 2025-03-14T05:46:00.9222525Z c10_small_vector_test undefined_tensor_test 2025-03-14T05:46:00.9222924Z c10_ssize_test vec_test_all_types_AVX2 2025-03-14T05:46:00.9223380Z c10_string_util_test vec_test_all_types_AVX512 2025-03-14T05:46:00.9223930Z c10_string_view_test vec_test_all_types_DEFAULT 2025-03-14T05:46:00.9224346Z c10_tempfile_test verify_api_visibility 2025-03-14T05:46:00.9224775Z c10_typeid_test weakref_test 2025-03-14T05:46:00.9225159Z cmake_install.cmake wrapdim_test 2025-03-14T05:46:00.9225518Z cpu_allocator_test xla_tensor_test 2025-03-14T05:46:00.9225856Z cpu_generator_test 2025-03-14T05:46:00.9226127Z + aten/tools/run_tests.sh build/bin 2025-03-14T05:46:00.9226542Z + set -e 2025-03-14T05:46:00.9227286Z ++ dirname aten/tools/run_tests.sh 2025-03-14T05:46:00.9241961Z + VALGRIND_SUP=/var/lib/jenkins/workspace/aten/tools/valgrind.sup 2025-03-14T05:46:00.9242856Z + export CPP_TESTS_DIR=build/bin 2025-03-14T05:46:00.9243397Z + CPP_TESTS_DIR=build/bin 2025-03-14T05:46:00.9243847Z + VALGRIND=ON 2025-03-14T05:46:00.9245934Z + python test/run_test.py --cpp --verbose -i cpp/basic cpp/atest cpp/scalar_test cpp/broadcast_test cpp/wrapdim_test cpp/apply_utils_test cpp/dlconvertor_test cpp/native_test cpp/scalar_tensor_test cpp/undefined_tensor_test cpp/extension_backend_test cpp/lazy_tensor_test cpp/tensor_iterator_test cpp/Dimname_test cpp/Dict_test cpp/NamedTensor_test cpp/cpu_generator_test cpp/legacy_vmap_test cpp/operators_test 2025-03-14T05:46:01.0279232Z /var/lib/jenkins/workspace/test/run_test.py:24: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html 2025-03-14T05:46:01.0280144Z import pkg_resources 2025-03-14T05:46:04.8194177Z Downloading https://ossci-metrics.s3.amazonaws.com/disabled-tests-condensed.json to /var/lib/jenkins/workspace/test/.pytorch-disabled-tests.json 2025-03-14T05:46:04.8418219Z Found test times from artifacts 2025-03-14T05:46:04.9283668Z Found test times from artifacts 2025-03-14T05:46:04.9307970Z Running all tests 2025-03-14T05:46:04.9312383Z Running parallel tests on 3 processes 2025-03-14T05:46:04.9314140Z Name: tests to run (est. time: 0.0min) 2025-03-14T05:46:04.9314557Z Serial tests (0): 2025-03-14T05:46:04.9314827Z Parallel tests (19): 2025-03-14T05:46:04.9315104Z cpp/Dict_test 1/1 2025-03-14T05:46:04.9315374Z cpp/Dimname_test 1/1 2025-03-14T05:46:04.9315679Z cpp/NamedTensor_test 1/1 2025-03-14T05:46:04.9316016Z cpp/apply_utils_test 1/1 2025-03-14T05:46:04.9316309Z cpp/atest 1/1 2025-03-14T05:46:04.9316558Z cpp/basic 1/1 2025-03-14T05:46:04.9316821Z cpp/broadcast_test 1/1 2025-03-14T05:46:04.9317119Z cpp/cpu_generator_test 1/1 2025-03-14T05:46:04.9317427Z cpp/dlconvertor_test 1/1 2025-03-14T05:46:04.9317736Z cpp/extension_backend_test 1/1 2025-03-14T05:46:04.9318058Z cpp/lazy_tensor_test 1/1 2025-03-14T05:46:04.9318931Z cpp/legacy_vmap_test 1/1 2025-03-14T05:46:04.9319223Z cpp/native_test 1/1 2025-03-14T05:46:04.9319503Z cpp/operators_test 1/1 2025-03-14T05:46:04.9319786Z cpp/scalar_tensor_test 1/1 2025-03-14T05:46:04.9320085Z cpp/scalar_test 1/1 2025-03-14T05:46:04.9320368Z cpp/tensor_iterator_test 1/1 2025-03-14T05:46:04.9320693Z cpp/undefined_tensor_test 1/1 2025-03-14T05:46:04.9321009Z cpp/wrapdim_test 1/1 2025-03-14T05:46:04.9321301Z Name: excluded (est. time: 0.0min) 2025-03-14T05:46:04.9321611Z Serial tests (0): 2025-03-14T05:46:04.9321875Z Parallel tests (0): 2025-03-14T05:46:04.9372113Z Running cpp/Dict_test 1/1 ... [2025-03-14 05:46:04.936913] 2025-03-14T05:46:04.9372891Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:46:04.9379241Z Executing ['pytest', '/var/lib/jenkins/workspace/build/bin/Dict_test', '-m', 'serial', '-v', '-vv', '-rfEX', '-n', '3', '--junit-xml-reruns', 'test-reports/python-pytest/test.run_test/test.run_test-b9ebcce73815f368.xml', '-x', '--reruns=2'] ... [2025-03-14 05:46:04.937539] 2025-03-14T05:46:07.5086395Z 2025-03-14T05:46:07.5087311Z cpp/Dict_test 1/1 was successful, full logs can be found in artifacts with path test/test-reports/cpp.Dict_test_1.1_7d6dec31406673eb_.log 2025-03-14T05:46:07.5087929Z 2025-03-14T05:46:07.5089830Z Running cpp/Dimname_test 1/1 ... [2025-03-14 05:46:07.508784] 2025-03-14T05:46:07.5090324Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:46:07.5095028Z Executing ['pytest', '/var/lib/jenkins/workspace/build/bin/Dimname_test', '-m', 'serial', '-v', '-vv', '-rfEX', '-n', '3', '--junit-xml-reruns', 'test-reports/python-pytest/test.run_test/test.run_test-e46616864a28d23b.xml', '-x', '--reruns=2'] ... [2025-03-14 05:46:07.509212] 2025-03-14T05:46:09.2268860Z 2025-03-14T05:46:09.2269969Z cpp/Dimname_test 1/1 was successful, full logs can be found in artifacts with path test/test-reports/cpp.Dimname_test_1.1_c77ec69c77087562_.log 2025-03-14T05:46:09.2270643Z 2025-03-14T05:46:09.2270861Z Running cpp/NamedTensor_test 1/1 ... [2025-03-14 05:46:09.226767] 2025-03-14T05:46:09.2271339Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:46:09.2273797Z Executing ['pytest', '/var/lib/jenkins/workspace/build/bin/NamedTensor_test', '-m', 'serial', '-v', '-vv', '-rfEX', '-n', '3', '--junit-xml-reruns', 'test-reports/python-pytest/test.run_test/test.run_test-229fed26db5e310a.xml', '-x', '--reruns=2'] ... [2025-03-14 05:46:09.227143] 2025-03-14T05:46:10.7943817Z 2025-03-14T05:46:10.7945322Z cpp/NamedTensor_test 1/1 was successful, full logs can be found in artifacts with path test/test-reports/cpp.NamedTensor_test_1.1_a0e089e43752440f_.log 2025-03-14T05:46:10.7946035Z 2025-03-14T05:46:10.7946314Z Running cpp/apply_utils_test 1/1 ... [2025-03-14 05:46:10.794246] 2025-03-14T05:46:10.7946906Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:46:10.7948251Z Executing ['pytest', '/var/lib/jenkins/workspace/build/bin/apply_utils_test', '-m', 'serial', '-v', '-vv', '-rfEX', '-n', '3', '--junit-xml-reruns', 'test-reports/python-pytest/test.run_test/test.run_test-e3b91f1bb1ff628d.xml', '-x', '--reruns=2'] ... [2025-03-14 05:46:10.794588] 2025-03-14T05:46:12.3616316Z 2025-03-14T05:46:12.3617512Z cpp/apply_utils_test 1/1 was successful, full logs can be found in artifacts with path test/test-reports/cpp.apply_utils_test_1.1_0281df0d5ad4195c_.log 2025-03-14T05:46:12.3618258Z 2025-03-14T05:46:12.3619175Z Running cpp/atest 1/1 ... [2025-03-14 05:46:12.361482] 2025-03-14T05:46:12.3619705Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:46:12.3621266Z Executing ['pytest', '/var/lib/jenkins/workspace/build/bin/atest', '-m', 'serial', '-v', '-vv', '-rfEX', '-n', '3', '--junit-xml-reruns', 'test-reports/python-pytest/test.run_test/test.run_test-79f99b2d26fe7a7a.xml', '-x', '--reruns=2'] ... [2025-03-14 05:46:12.361850] 2025-03-14T05:46:13.9288439Z 2025-03-14T05:46:13.9289605Z cpp/atest 1/1 was successful, full logs can be found in artifacts with path test/test-reports/cpp.atest_1.1_d2055f28b7ce353a_.log 2025-03-14T05:46:13.9290198Z 2025-03-14T05:46:13.9290388Z Running cpp/basic 1/1 ... [2025-03-14 05:46:13.928702] 2025-03-14T05:46:13.9291173Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:46:13.9292795Z Executing ['pytest', '/var/lib/jenkins/workspace/build/bin/basic', '-m', 'serial', '-v', '-vv', '-rfEX', '-n', '3', '--junit-xml-reruns', 'test-reports/python-pytest/test.run_test/test.run_test-6205d331f02e14c2.xml', '-x', '--reruns=2'] ... [2025-03-14 05:46:13.929008] 2025-03-14T05:46:15.4955968Z 2025-03-14T05:46:15.4956955Z cpp/basic 1/1 was successful, full logs can be found in artifacts with path test/test-reports/cpp.basic_1.1_039dd1d7067197cc_.log 2025-03-14T05:46:15.4958148Z 2025-03-14T05:46:15.4958387Z Running cpp/broadcast_test 1/1 ... [2025-03-14 05:46:15.495479] 2025-03-14T05:46:15.4958940Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:46:15.4960675Z Executing ['pytest', '/var/lib/jenkins/workspace/build/bin/broadcast_test', '-m', 'serial', '-v', '-vv', '-rfEX', '-n', '3', '--junit-xml-reruns', 'test-reports/python-pytest/test.run_test/test.run_test-ef1d0df197c930b2.xml', '-x', '--reruns=2'] ... [2025-03-14 05:46:15.495834] 2025-03-14T05:46:17.0626265Z 2025-03-14T05:46:17.0627596Z cpp/broadcast_test 1/1 was successful, full logs can be found in artifacts with path test/test-reports/cpp.broadcast_test_1.1_11528acb8f74de43_.log 2025-03-14T05:46:17.0628665Z 2025-03-14T05:46:17.0629018Z Running cpp/cpu_generator_test 1/1 ... [2025-03-14 05:46:17.062486] 2025-03-14T05:46:17.0629708Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:46:17.0632619Z Executing ['pytest', '/var/lib/jenkins/workspace/build/bin/cpu_generator_test', '-m', 'serial', '-v', '-vv', '-rfEX', '-n', '3', '--junit-xml-reruns', 'test-reports/python-pytest/test.run_test/test.run_test-d284570188a3cb1f.xml', '-x', '--reruns=2'] ... [2025-03-14 05:46:17.062878] 2025-03-14T05:46:18.6298606Z 2025-03-14T05:46:18.6300123Z cpp/cpu_generator_test 1/1 was successful, full logs can be found in artifacts with path test/test-reports/cpp.cpu_generator_test_1.1_ba67f471a4fb2457_.log 2025-03-14T05:46:18.6300870Z 2025-03-14T05:46:18.6301105Z Running cpp/dlconvertor_test 1/1 ... [2025-03-14 05:46:18.629740] 2025-03-14T05:46:18.6301549Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:46:18.6303754Z Executing ['pytest', '/var/lib/jenkins/workspace/build/bin/dlconvertor_test', '-m', 'serial', '-v', '-vv', '-rfEX', '-n', '3', '--junit-xml-reruns', 'test-reports/python-pytest/test.run_test/test.run_test-7edb2131018c582a.xml', '-x', '--reruns=2'] ... [2025-03-14 05:46:18.630123] 2025-03-14T05:46:20.1970276Z 2025-03-14T05:46:20.1971380Z cpp/dlconvertor_test 1/1 was successful, full logs can be found in artifacts with path test/test-reports/cpp.dlconvertor_test_1.1_05021fa200901cc0_.log 2025-03-14T05:46:20.1972059Z 2025-03-14T05:46:20.1972315Z Running cpp/extension_backend_test 1/1 ... [2025-03-14 05:46:20.196925] 2025-03-14T05:46:20.1972784Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:46:20.1975241Z Executing ['pytest', '/var/lib/jenkins/workspace/build/bin/extension_backend_test', '-m', 'serial', '-v', '-vv', '-rfEX', '-n', '3', '--junit-xml-reruns', 'test-reports/python-pytest/test.run_test/test.run_test-7dbb91d5fc544563.xml', '-x', '--reruns=2'] ... [2025-03-14 05:46:20.197295] 2025-03-14T05:46:21.7643409Z 2025-03-14T05:46:21.7644665Z cpp/extension_backend_test 1/1 was successful, full logs can be found in artifacts with path test/test-reports/cpp.extension_backend_test_1.1_202aec0f55e4c19c_.log 2025-03-14T05:46:21.7645424Z 2025-03-14T05:46:21.7645631Z Running cpp/lazy_tensor_test 1/1 ... [2025-03-14 05:46:21.764221] 2025-03-14T05:46:21.7646073Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:46:21.7648108Z Executing ['pytest', '/var/lib/jenkins/workspace/build/bin/lazy_tensor_test', '-m', 'serial', '-v', '-vv', '-rfEX', '-n', '3', '--junit-xml-reruns', 'test-reports/python-pytest/test.run_test/test.run_test-d94bc5ce68668749.xml', '-x', '--reruns=2'] ... [2025-03-14 05:46:21.764572] 2025-03-14T05:46:23.3317263Z 2025-03-14T05:46:23.3318527Z cpp/lazy_tensor_test 1/1 was successful, full logs can be found in artifacts with path test/test-reports/cpp.lazy_tensor_test_1.1_d9db0d01e86a6083_.log 2025-03-14T05:46:23.3319447Z 2025-03-14T05:46:23.3319673Z Running cpp/legacy_vmap_test 1/1 ... [2025-03-14 05:46:23.331604] 2025-03-14T05:46:23.3320113Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:46:23.3322230Z Executing ['pytest', '/var/lib/jenkins/workspace/build/bin/legacy_vmap_test', '-m', 'serial', '-v', '-vv', '-rfEX', '-n', '3', '--junit-xml-reruns', 'test-reports/python-pytest/test.run_test/test.run_test-f2fedf0f0a49a4ff.xml', '-x', '--reruns=2'] ... [2025-03-14 05:46:23.331990] 2025-03-14T05:46:24.8992386Z 2025-03-14T05:46:24.8993331Z cpp/legacy_vmap_test 1/1 was successful, full logs can be found in artifacts with path test/test-reports/cpp.legacy_vmap_test_1.1_56e6a1305573028e_.log 2025-03-14T05:46:24.8994015Z 2025-03-14T05:46:24.8994213Z Running cpp/native_test 1/1 ... [2025-03-14 05:46:24.899065] 2025-03-14T05:46:24.8994666Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:46:24.8996546Z Executing ['pytest', '/var/lib/jenkins/workspace/build/bin/native_test', '-m', 'serial', '-v', '-vv', '-rfEX', '-n', '3', '--junit-xml-reruns', 'test-reports/python-pytest/test.run_test/test.run_test-9674806648fc594a.xml', '-x', '--reruns=2'] ... [2025-03-14 05:46:24.899410] 2025-03-14T05:46:26.4666769Z 2025-03-14T05:46:26.4667983Z cpp/native_test 1/1 was successful, full logs can be found in artifacts with path test/test-reports/cpp.native_test_1.1_da325231011d05c3_.log 2025-03-14T05:46:26.4669032Z 2025-03-14T05:46:26.4669239Z Running cpp/operators_test 1/1 ... [2025-03-14 05:46:26.466335] 2025-03-14T05:46:26.4670341Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:46:26.4671569Z Executing ['pytest', '/var/lib/jenkins/workspace/build/bin/operators_test', '-m', 'serial', '-v', '-vv', '-rfEX', '-n', '3', '--junit-xml-reruns', 'test-reports/python-pytest/test.run_test/test.run_test-773b9dc8430c4832.xml', '-x', '--reruns=2'] ... [2025-03-14 05:46:26.466658] 2025-03-14T05:46:28.0334229Z 2025-03-14T05:46:28.0335363Z cpp/operators_test 1/1 was successful, full logs can be found in artifacts with path test/test-reports/cpp.operators_test_1.1_f6e0fa5b61909324_.log 2025-03-14T05:46:28.0336176Z 2025-03-14T05:46:28.0336410Z Running cpp/scalar_tensor_test 1/1 ... [2025-03-14 05:46:28.033236] 2025-03-14T05:46:28.0336933Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:46:28.0338280Z Executing ['pytest', '/var/lib/jenkins/workspace/build/bin/scalar_tensor_test', '-m', 'serial', '-v', '-vv', '-rfEX', '-n', '3', '--junit-xml-reruns', 'test-reports/python-pytest/test.run_test/test.run_test-69b940f63e36a85c.xml', '-x', '--reruns=2'] ... [2025-03-14 05:46:28.033587] 2025-03-14T05:46:29.6009073Z 2025-03-14T05:46:29.6010327Z cpp/scalar_tensor_test 1/1 was successful, full logs can be found in artifacts with path test/test-reports/cpp.scalar_tensor_test_1.1_84ff70b63b6252c9_.log 2025-03-14T05:46:29.6011139Z 2025-03-14T05:46:29.6011371Z Running cpp/scalar_test 1/1 ... [2025-03-14 05:46:29.600601] 2025-03-14T05:46:29.6011801Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:46:29.6013018Z Executing ['pytest', '/var/lib/jenkins/workspace/build/bin/scalar_test', '-m', 'serial', '-v', '-vv', '-rfEX', '-n', '3', '--junit-xml-reruns', 'test-reports/python-pytest/test.run_test/test.run_test-3036252fae3c6cdb.xml', '-x', '--reruns=2'] ... [2025-03-14 05:46:29.600952] 2025-03-14T05:46:31.1680211Z 2025-03-14T05:46:31.1681491Z cpp/scalar_test 1/1 was successful, full logs can be found in artifacts with path test/test-reports/cpp.scalar_test_1.1_40b8b822635d6101_.log 2025-03-14T05:46:31.1682520Z 2025-03-14T05:46:31.1682925Z Running cpp/tensor_iterator_test 1/1 ... [2025-03-14 05:46:31.167889] 2025-03-14T05:46:31.1683646Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:46:31.1685814Z Executing ['pytest', '/var/lib/jenkins/workspace/build/bin/tensor_iterator_test', '-m', 'serial', '-v', '-vv', '-rfEX', '-n', '3', '--junit-xml-reruns', 'test-reports/python-pytest/test.run_test/test.run_test-6fd596316382a119.xml', '-x', '--reruns=2'] ... [2025-03-14 05:46:31.168264] 2025-03-14T05:46:32.7355140Z 2025-03-14T05:46:32.7356582Z cpp/tensor_iterator_test 1/1 was successful, full logs can be found in artifacts with path test/test-reports/cpp.tensor_iterator_test_1.1_419ccbb9f7af01b5_.log 2025-03-14T05:46:32.7357730Z 2025-03-14T05:46:32.7358148Z Running cpp/undefined_tensor_test 1/1 ... [2025-03-14 05:46:32.735349] 2025-03-14T05:46:32.7358864Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:46:32.7361810Z Executing ['pytest', '/var/lib/jenkins/workspace/build/bin/undefined_tensor_test', '-m', 'serial', '-v', '-vv', '-rfEX', '-n', '3', '--junit-xml-reruns', 'test-reports/python-pytest/test.run_test/test.run_test-aed0a423c9c781f9.xml', '-x', '--reruns=2'] ... [2025-03-14 05:46:32.735752] 2025-03-14T05:46:34.3028159Z 2025-03-14T05:46:34.3029274Z cpp/undefined_tensor_test 1/1 was successful, full logs can be found in artifacts with path test/test-reports/cpp.undefined_tensor_test_1.1_740851c4c7ab514a_.log 2025-03-14T05:46:34.3030015Z 2025-03-14T05:46:34.3030209Z Running cpp/wrapdim_test 1/1 ... [2025-03-14 05:46:34.302684] 2025-03-14T05:46:34.3031083Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:46:34.3032479Z Executing ['pytest', '/var/lib/jenkins/workspace/build/bin/wrapdim_test', '-m', 'serial', '-v', '-vv', '-rfEX', '-n', '3', '--junit-xml-reruns', 'test-reports/python-pytest/test.run_test/test.run_test-32b22be37e6b0eed.xml', '-x', '--reruns=2'] ... [2025-03-14 05:46:34.303023] 2025-03-14T05:46:35.8697919Z 2025-03-14T05:46:35.8699034Z cpp/wrapdim_test 1/1 was successful, full logs can be found in artifacts with path test/test-reports/cpp.wrapdim_test_1.1_139e1b0555c3fe2f_.log 2025-03-14T05:46:35.8699716Z 2025-03-14T05:46:35.8709425Z Running cpp/Dict_test 1/1 ... [2025-03-14 05:46:35.870690] 2025-03-14T05:46:35.8710081Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:46:35.8710878Z Running cpp/Dimname_test 1/1 ... [2025-03-14 05:46:35.870875] 2025-03-14T05:46:35.8711409Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:46:35.8711932Z Running cpp/NamedTensor_test 1/1 ... [2025-03-14 05:46:35.870922] 2025-03-14T05:46:35.8712440Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:46:35.8716044Z Executing ['pytest', '/var/lib/jenkins/workspace/build/bin/Dict_test', '-m', 'not serial', '-v', '-vv', '-rfEX', '-n', '3', '--junit-xml-reruns', 'test-reports/python-pytest/test.run_test/test.run_test-efb1c54c8d9771f3.xml', '-x', '--reruns=2'] ... [2025-03-14 05:46:35.871318] 2025-03-14T05:46:35.8718493Z Executing ['pytest', '/var/lib/jenkins/workspace/build/bin/NamedTensor_test', '-m', 'not serial', '-v', '-vv', '-rfEX', '-n', '3', '--junit-xml-reruns', 'test-reports/python-pytest/test.run_test/test.run_test-c106ecfc5f73e5de.xml', '-x', '--reruns=2'] ... [2025-03-14 05:46:35.871501] 2025-03-14T05:46:35.8720752Z Executing ['pytest', '/var/lib/jenkins/workspace/build/bin/Dimname_test', '-m', 'not serial', '-v', '-vv', '-rfEX', '-n', '3', '--junit-xml-reruns', 'test-reports/python-pytest/test.run_test/test.run_test-1b50f8bf481c6fd5.xml', '-x', '--reruns=2'] ... [2025-03-14 05:46:35.871526] 2025-03-14T05:46:39.6465855Z 2025-03-14T05:46:39.6467562Z cpp/Dimname_test 1/1 was successful, full logs can be found in artifacts with path test/test-reports/cpp.Dimname_test_1.1_bb7acd86e11b90e2_.log 2025-03-14T05:46:39.6468714Z 2025-03-14T05:46:40.6971559Z 2025-03-14T05:46:40.6973381Z cpp/NamedTensor_test 1/1 was successful, full logs can be found in artifacts with path test/test-reports/cpp.NamedTensor_test_1.1_b4d42aa4328fadb4_.log 2025-03-14T05:46:40.6974708Z 2025-03-14T05:46:44.0920336Z Running cpp/apply_utils_test 1/1 ... [2025-03-14 05:46:44.091570] 2025-03-14T05:46:44.0921233Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:46:44.0925002Z Executing ['pytest', '/var/lib/jenkins/workspace/build/bin/apply_utils_test', '-m', 'not serial', '-v', '-vv', '-rfEX', '-n', '3', '--junit-xml-reruns', 'test-reports/python-pytest/test.run_test/test.run_test-ef3dfe592a4672ba.xml', '-x', '--reruns=2'] ... [2025-03-14 05:46:44.092101] 2025-03-14T05:46:45.1811013Z Running cpp/atest 1/1 ... [2025-03-14 05:46:45.180189] 2025-03-14T05:46:45.1812083Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:46:45.1818389Z Executing ['pytest', '/var/lib/jenkins/workspace/build/bin/atest', '-m', 'not serial', '-v', '-vv', '-rfEX', '-n', '3', '--junit-xml-reruns', 'test-reports/python-pytest/test.run_test/test.run_test-45886d78747226bf.xml', '-x', '--reruns=2'] ... [2025-03-14 05:46:45.180732] 2025-03-14T05:46:46.2591542Z 2025-03-14T05:46:46.2593063Z cpp/Dict_test 1/1 was successful, full logs can be found in artifacts with path test/test-reports/cpp.Dict_test_1.1_5f8e0c81b63d9519_.log 2025-03-14T05:46:46.2600032Z 2025-03-14T05:46:47.6134779Z 2025-03-14T05:46:47.6136598Z cpp/apply_utils_test 1/1 was successful, full logs can be found in artifacts with path test/test-reports/cpp.apply_utils_test_1.1_641854133becb50f_.log 2025-03-14T05:46:47.6137844Z 2025-03-14T05:46:50.1687668Z Running cpp/basic 1/1 ... [2025-03-14 05:46:50.168275] 2025-03-14T05:46:50.1688686Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:46:50.1691957Z Executing ['pytest', '/var/lib/jenkins/workspace/build/bin/basic', '-m', 'not serial', '-v', '-vv', '-rfEX', '-n', '3', '--junit-xml-reruns', 'test-reports/python-pytest/test.run_test/test.run_test-bd3901c2c864e817.xml', '-x', '--reruns=2'] ... [2025-03-14 05:46:50.168839] 2025-03-14T05:46:50.3051732Z 2025-03-14T05:46:50.3053154Z cpp/atest 1/1 was successful, full logs can be found in artifacts with path test/test-reports/cpp.atest_1.1_077fe7263a8c3b57_.log 2025-03-14T05:46:50.3054198Z 2025-03-14T05:46:51.6916021Z Running cpp/broadcast_test 1/1 ... [2025-03-14 05:46:51.691161] 2025-03-14T05:46:51.6917191Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:46:51.6920261Z Executing ['pytest', '/var/lib/jenkins/workspace/build/bin/broadcast_test', '-m', 'not serial', '-v', '-vv', '-rfEX', '-n', '3', '--junit-xml-reruns', 'test-reports/python-pytest/test.run_test/test.run_test-02e0d0631a65566f.xml', '-x', '--reruns=2'] ... [2025-03-14 05:46:51.691650] 2025-03-14T05:46:53.3395033Z 2025-03-14T05:46:53.3396657Z cpp/basic 1/1 was successful, full logs can be found in artifacts with path test/test-reports/cpp.basic_1.1_15d5ffc9bc7b9f1d_.log 2025-03-14T05:46:53.3397655Z 2025-03-14T05:46:54.2108945Z 2025-03-14T05:46:54.2110162Z cpp/broadcast_test 1/1 was successful, full logs can be found in artifacts with path test/test-reports/cpp.broadcast_test_1.1_1862fc1ebf21aed9_.log 2025-03-14T05:46:54.2110859Z 2025-03-14T05:46:54.3674107Z Running cpp/cpu_generator_test 1/1 ... [2025-03-14 05:46:54.367042] 2025-03-14T05:46:54.3674600Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:46:54.3678106Z Executing ['pytest', '/var/lib/jenkins/workspace/build/bin/cpu_generator_test', '-m', 'not serial', '-v', '-vv', '-rfEX', '-n', '3', '--junit-xml-reruns', 'test-reports/python-pytest/test.run_test/test.run_test-045a095dd0b548a2.xml', '-x', '--reruns=2'] ... [2025-03-14 05:46:54.367482] 2025-03-14T05:46:56.9865434Z Running cpp/dlconvertor_test 1/1 ... [2025-03-14 05:46:56.986095] 2025-03-14T05:46:56.9866688Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:46:56.9869521Z Executing ['pytest', '/var/lib/jenkins/workspace/build/bin/dlconvertor_test', '-m', 'not serial', '-v', '-vv', '-rfEX', '-n', '3', '--junit-xml-reruns', 'test-reports/python-pytest/test.run_test/test.run_test-5d25ea8be29c1c30.xml', '-x', '--reruns=2'] ... [2025-03-14 05:46:56.986598] 2025-03-14T05:46:58.3077760Z Running cpp/extension_backend_test 1/1 ... [2025-03-14 05:46:58.307165] 2025-03-14T05:46:58.3078941Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:46:58.3086092Z Executing ['pytest', '/var/lib/jenkins/workspace/build/bin/extension_backend_test', '-m', 'not serial', '-v', '-vv', '-rfEX', '-n', '3', '--junit-xml-reruns', 'test-reports/python-pytest/test.run_test/test.run_test-bc2c8c1b27d45af9.xml', '-x', '--reruns=2'] ... [2025-03-14 05:46:58.307791] 2025-03-14T05:46:59.4446268Z 2025-03-14T05:46:59.4447845Z cpp/cpu_generator_test 1/1 was successful, full logs can be found in artifacts with path test/test-reports/cpp.cpu_generator_test_1.1_8367c8d6b33ae4b2_.log 2025-03-14T05:46:59.4449791Z 2025-03-14T05:46:59.9067817Z 2025-03-14T05:46:59.9069298Z cpp/dlconvertor_test 1/1 was successful, full logs can be found in artifacts with path test/test-reports/cpp.dlconvertor_test_1.1_064d483cb030297d_.log 2025-03-14T05:46:59.9070624Z 2025-03-14T05:47:00.9787165Z 2025-03-14T05:47:00.9788207Z cpp/extension_backend_test 1/1 was successful, full logs can be found in artifacts with path test/test-reports/cpp.extension_backend_test_1.1_6c308eca762b1857_.log 2025-03-14T05:47:00.9789030Z 2025-03-14T05:47:03.1663096Z Running cpp/lazy_tensor_test 1/1 ... [2025-03-14 05:47:03.165814] 2025-03-14T05:47:03.1663917Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:47:03.1665770Z Executing ['pytest', '/var/lib/jenkins/workspace/build/bin/lazy_tensor_test', '-m', 'not serial', '-v', '-vv', '-rfEX', '-n', '3', '--junit-xml-reruns', 'test-reports/python-pytest/test.run_test/test.run_test-5cca619ba6352da9.xml', '-x', '--reruns=2'] ... [2025-03-14 05:47:03.166271] 2025-03-14T05:47:03.5828736Z Running cpp/legacy_vmap_test 1/1 ... [2025-03-14 05:47:03.582339] 2025-03-14T05:47:03.5829938Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:47:03.5833065Z Executing ['pytest', '/var/lib/jenkins/workspace/build/bin/legacy_vmap_test', '-m', 'not serial', '-v', '-vv', '-rfEX', '-n', '3', '--junit-xml-reruns', 'test-reports/python-pytest/test.run_test/test.run_test-1211bdb7885ec75f.xml', '-x', '--reruns=2'] ... [2025-03-14 05:47:03.582790] 2025-03-14T05:47:04.8965966Z Running cpp/native_test 1/1 ... [2025-03-14 05:47:04.895943] 2025-03-14T05:47:04.8966747Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:47:04.8970564Z Executing ['pytest', '/var/lib/jenkins/workspace/build/bin/native_test', '-m', 'not serial', '-v', '-vv', '-rfEX', '-n', '3', '--junit-xml-reruns', 'test-reports/python-pytest/test.run_test/test.run_test-282fbbfcd638e671.xml', '-x', '--reruns=2'] ... [2025-03-14 05:47:04.896537] 2025-03-14T05:47:05.9911034Z 2025-03-14T05:47:05.9912323Z cpp/lazy_tensor_test 1/1 was successful, full logs can be found in artifacts with path test/test-reports/cpp.lazy_tensor_test_1.1_679663ee8f166a06_.log 2025-03-14T05:47:05.9918111Z 2025-03-14T05:47:07.8173191Z 2025-03-14T05:47:07.8174680Z cpp/native_test 1/1 was successful, full logs can be found in artifacts with path test/test-reports/cpp.native_test_1.1_2b32d21e3a0a9ac6_.log 2025-03-14T05:47:07.8175807Z 2025-03-14T05:47:09.9624633Z 2025-03-14T05:47:09.9626070Z cpp/legacy_vmap_test 1/1 was successful, full logs can be found in artifacts with path test/test-reports/cpp.legacy_vmap_test_1.1_681ffbae38f4e942_.log 2025-03-14T05:47:09.9627363Z 2025-03-14T05:47:10.2260407Z Running cpp/operators_test 1/1 ... [2025-03-14 05:47:10.225620] 2025-03-14T05:47:10.2261168Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:47:10.2264835Z Executing ['pytest', '/var/lib/jenkins/workspace/build/bin/operators_test', '-m', 'not serial', '-v', '-vv', '-rfEX', '-n', '3', '--junit-xml-reruns', 'test-reports/python-pytest/test.run_test/test.run_test-16dea10d545efc80.xml', '-x', '--reruns=2'] ... [2025-03-14 05:47:10.226085] 2025-03-14T05:47:11.6101696Z Running cpp/scalar_tensor_test 1/1 ... [2025-03-14 05:47:11.609683] 2025-03-14T05:47:11.6103058Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:47:11.6106303Z Executing ['pytest', '/var/lib/jenkins/workspace/build/bin/scalar_tensor_test', '-m', 'not serial', '-v', '-vv', '-rfEX', '-n', '3', '--junit-xml-reruns', 'test-reports/python-pytest/test.run_test/test.run_test-60260593e43095d6.xml', '-x', '--reruns=2'] ... [2025-03-14 05:47:11.610216] 2025-03-14T05:47:13.4018852Z 2025-03-14T05:47:13.4020655Z cpp/operators_test 1/1 was successful, full logs can be found in artifacts with path test/test-reports/cpp.operators_test_1.1_d20619345e6614ac_.log 2025-03-14T05:47:13.4022137Z 2025-03-14T05:47:14.1796025Z 2025-03-14T05:47:14.1797373Z cpp/scalar_tensor_test 1/1 was successful, full logs can be found in artifacts with path test/test-reports/cpp.scalar_tensor_test_1.1_e94655689779ad49_.log 2025-03-14T05:47:14.1798648Z 2025-03-14T05:47:14.2741727Z Running cpp/scalar_test 1/1 ... [2025-03-14 05:47:14.273761] 2025-03-14T05:47:14.2742913Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:47:14.2745701Z Executing ['pytest', '/var/lib/jenkins/workspace/build/bin/scalar_test', '-m', 'not serial', '-v', '-vv', '-rfEX', '-n', '3', '--junit-xml-reruns', 'test-reports/python-pytest/test.run_test/test.run_test-e1d713d6a72910bc.xml', '-x', '--reruns=2'] ... [2025-03-14 05:47:14.274216] 2025-03-14T05:47:16.9938860Z 2025-03-14T05:47:16.9940455Z cpp/scalar_test 1/1 was successful, full logs can be found in artifacts with path test/test-reports/cpp.scalar_test_1.1_f5b5d45d8eaceff0_.log 2025-03-14T05:47:16.9941124Z 2025-03-14T05:47:17.0877102Z Running cpp/tensor_iterator_test 1/1 ... [2025-03-14 05:47:17.087255] 2025-03-14T05:47:17.0878046Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:47:17.0880869Z Executing ['pytest', '/var/lib/jenkins/workspace/build/bin/tensor_iterator_test', '-m', 'not serial', '-v', '-vv', '-rfEX', '-n', '3', '--junit-xml-reruns', 'test-reports/python-pytest/test.run_test/test.run_test-aa377b6c3ef89255.xml', '-x', '--reruns=2'] ... [2025-03-14 05:47:17.087700] 2025-03-14T05:47:17.9909452Z Running cpp/undefined_tensor_test 1/1 ... [2025-03-14 05:47:17.990496] 2025-03-14T05:47:17.9910415Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:47:17.9915063Z Executing ['pytest', '/var/lib/jenkins/workspace/build/bin/undefined_tensor_test', '-m', 'not serial', '-v', '-vv', '-rfEX', '-n', '3', '--junit-xml-reruns', 'test-reports/python-pytest/test.run_test/test.run_test-35b44c4fb38e5384.xml', '-x', '--reruns=2'] ... [2025-03-14 05:47:17.991080] 2025-03-14T05:47:20.9611512Z 2025-03-14T05:47:20.9613234Z cpp/undefined_tensor_test 1/1 was successful, full logs can be found in artifacts with path test/test-reports/cpp.undefined_tensor_test_1.1_3696059c1bc69ac0_.log 2025-03-14T05:47:20.9620738Z 2025-03-14T05:47:21.3922005Z Running cpp/wrapdim_test 1/1 ... [2025-03-14 05:47:21.391732] 2025-03-14T05:47:21.3922834Z SCRIBE_GRAPHQL_ACCESS_TOKEN is set 2025-03-14T05:47:21.3926411Z Executing ['pytest', '/var/lib/jenkins/workspace/build/bin/wrapdim_test', '-m', 'not serial', '-v', '-vv', '-rfEX', '-n', '3', '--junit-xml-reruns', 'test-reports/python-pytest/test.run_test/test.run_test-429b9e593dcd9d68.xml', '-x', '--reruns=2'] ... [2025-03-14 05:47:21.392225] 2025-03-14T05:47:24.1149532Z 2025-03-14T05:47:24.1151179Z cpp/wrapdim_test 1/1 was successful, full logs can be found in artifacts with path test/test-reports/cpp.wrapdim_test_1.1_61c17f351752c1fb_.log 2025-03-14T05:47:24.1152612Z 2025-03-14T05:47:29.0250242Z 2025-03-14T05:47:29.0251592Z cpp/tensor_iterator_test 1/1 was successful, full logs can be found in artifacts with path test/test-reports/cpp.tensor_iterator_test_1.1_d1ed57c6a2767f3c_.log 2025-03-14T05:47:29.0252392Z 2025-03-14T05:47:29.8395517Z Running test batch 'tests to run' cost 84.91 seconds 2025-03-14T05:47:30.5358596Z + run_if_exists tensor_interop_test 2025-03-14T05:47:30.5359240Z + local test_name=tensor_interop_test 2025-03-14T05:47:30.5359826Z + [[ -x build/bin/tensor_interop_test ]] 2025-03-14T05:47:30.5360453Z + echo 'Warning: tensor_interop_test does not exist.' 2025-03-14T05:47:30.5361065Z Warning: tensor_interop_test does not exist. 2025-03-14T05:47:30.5361616Z + run_if_exists cudnn_test 2025-03-14T05:47:30.5362041Z + local test_name=cudnn_test 2025-03-14T05:47:30.5362527Z + [[ -x build/bin/cudnn_test ]] 2025-03-14T05:47:30.5363002Z + echo 'Warning: cudnn_test does not exist.' 2025-03-14T05:47:30.5363593Z Warning: cudnn_test does not exist. 2025-03-14T05:47:30.5364097Z + run_if_exists cuda_generator_test 2025-03-14T05:47:30.5364649Z + local test_name=cuda_generator_test 2025-03-14T05:47:30.5365214Z + [[ -x build/bin/cuda_generator_test ]] 2025-03-14T05:47:30.5365800Z + echo 'Warning: cuda_generator_test does not exist.' 2025-03-14T05:47:30.5366421Z Warning: cuda_generator_test does not exist. 2025-03-14T05:47:30.5366970Z + run_if_exists apply_test 2025-03-14T05:47:30.5367299Z + local test_name=apply_test 2025-03-14T05:47:30.5367680Z + [[ -x build/bin/apply_test ]] 2025-03-14T05:47:30.5368293Z + echo 'Warning: apply_test does not exist.' 2025-03-14T05:47:30.5368659Z Warning: apply_test does not exist. 2025-03-14T05:47:30.5368972Z + run_if_exists stream_test 2025-03-14T05:47:30.5369275Z + local test_name=stream_test 2025-03-14T05:47:30.5369586Z + [[ -x build/bin/stream_test ]] 2025-03-14T05:47:30.5369975Z + echo 'Warning: stream_test does not exist.' 2025-03-14T05:47:30.5370342Z Warning: stream_test does not exist. 2025-03-14T05:47:30.5370732Z + run_if_exists cuda_half_test 2025-03-14T05:47:30.5371047Z + local test_name=cuda_half_test 2025-03-14T05:47:30.5371499Z + [[ -x build/bin/cuda_half_test ]] 2025-03-14T05:47:30.5371857Z + echo 'Warning: cuda_half_test does not exist.' 2025-03-14T05:47:30.5372297Z Warning: cuda_half_test does not exist. 2025-03-14T05:47:30.5372643Z + run_if_exists cuda_vectorized_test 2025-03-14T05:47:30.5373042Z + local test_name=cuda_vectorized_test 2025-03-14T05:47:30.5373396Z + [[ -x build/bin/cuda_vectorized_test ]] 2025-03-14T05:47:30.5373914Z + echo 'Warning: cuda_vectorized_test does not exist.' 2025-03-14T05:47:30.5374381Z Warning: cuda_vectorized_test does not exist. 2025-03-14T05:47:30.5374760Z + run_if_exists cuda_distributions_test 2025-03-14T05:47:30.5375169Z + local test_name=cuda_distributions_test 2025-03-14T05:47:30.5375526Z + [[ -x build/bin/cuda_distributions_test ]] 2025-03-14T05:47:30.5376100Z + echo 'Warning: cuda_distributions_test does not exist.' 2025-03-14T05:47:30.5376567Z Warning: cuda_distributions_test does not exist. 2025-03-14T05:47:30.5376974Z + run_if_exists cuda_optional_test 2025-03-14T05:47:30.5377420Z + local test_name=cuda_optional_test 2025-03-14T05:47:30.5377769Z + [[ -x build/bin/cuda_optional_test ]] 2025-03-14T05:47:30.5378209Z + echo 'Warning: cuda_optional_test does not exist.' 2025-03-14T05:47:30.5378611Z Warning: cuda_optional_test does not exist. 2025-03-14T05:47:30.5379027Z + run_if_exists cuda_tensor_interop_test 2025-03-14T05:47:30.5379392Z + local test_name=cuda_tensor_interop_test 2025-03-14T05:47:30.5379813Z + [[ -x build/bin/cuda_tensor_interop_test ]] 2025-03-14T05:47:30.5380231Z + echo 'Warning: cuda_tensor_interop_test does not exist.' 2025-03-14T05:47:30.5380728Z Warning: cuda_tensor_interop_test does not exist. 2025-03-14T05:47:30.5381134Z + run_if_exists cuda_complex_test 2025-03-14T05:47:30.5381508Z + local test_name=cuda_complex_test 2025-03-14T05:47:30.5381846Z + [[ -x build/bin/cuda_complex_test ]] 2025-03-14T05:47:30.5382280Z + echo 'Warning: cuda_complex_test does not exist.' 2025-03-14T05:47:30.5382715Z Warning: cuda_complex_test does not exist. 2025-03-14T05:47:30.5383107Z + run_if_exists cuda_complex_math_test 2025-03-14T05:47:30.5383480Z + local test_name=cuda_complex_math_test 2025-03-14T05:47:30.5383861Z + [[ -x build/bin/cuda_complex_math_test ]] 2025-03-14T05:47:30.5384323Z + echo 'Warning: cuda_complex_math_test does not exist.' 2025-03-14T05:47:30.5384759Z Warning: cuda_complex_math_test does not exist. 2025-03-14T05:47:30.5385188Z + run_if_exists cuda_cub_test 2025-03-14T05:47:30.5385506Z + local test_name=cuda_cub_test 2025-03-14T05:47:30.5385876Z + [[ -x build/bin/cuda_cub_test ]] 2025-03-14T05:47:30.5386231Z + echo 'Warning: cuda_cub_test does not exist.' 2025-03-14T05:47:30.5386661Z Warning: cuda_cub_test does not exist. 2025-03-14T05:47:30.5387014Z + run_if_exists cuda_atomic_ops_test 2025-03-14T05:47:30.5387407Z + local test_name=cuda_atomic_ops_test 2025-03-14T05:47:30.5387759Z + [[ -x build/bin/cuda_atomic_ops_test ]] 2025-03-14T05:47:30.5388213Z + echo 'Warning: cuda_atomic_ops_test does not exist.' 2025-03-14T05:47:30.5388631Z Warning: cuda_atomic_ops_test does not exist. 2025-03-14T05:47:30.5389038Z + '[' ON == ON ']' 2025-03-14T05:47:30.5389813Z + valgrind --suppressions=/var/lib/jenkins/workspace/aten/tools/valgrind.sup --error-exitcode=1 build/bin/basic '--gtest_filter=-*CUDA' 2025-03-14T05:47:30.5681151Z ==6446== Memcheck, a memory error detector 2025-03-14T05:47:30.5681707Z ==6446== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. 2025-03-14T05:47:30.5682513Z ==6446== Using Valgrind-3.20.0 and LibVEX; rerun with -h for copyright info 2025-03-14T05:47:30.5683080Z ==6446== Command: build/bin/basic --gtest_filter=-*CUDA 2025-03-14T05:47:30.5683436Z ==6446== 2025-03-14T05:47:31.0616868Z ==6446== Warning: set address range perms: large range [0x4a08000, 0x15af9000) (defined) 2025-03-14T05:48:00.0887741Z Running main() from ../third_party/googletest/googletest/src/gtest_main.cc 2025-03-14T05:48:00.1165684Z Note: Google Test filter = -*CUDA 2025-03-14T05:48:00.1212089Z [==========] Running 4 tests from 1 test suite. 2025-03-14T05:48:00.1239298Z [----------] Global test environment set-up. 2025-03-14T05:48:00.1311318Z [----------] 4 tests from BasicTest 2025-03-14T05:48:00.1336015Z [ RUN ] BasicTest.BasicTestCPU 2025-03-14T05:48:01.5646236Z 386 ms 2025-03-14T05:48:01.6489952Z 53 ms 2025-03-14T05:48:01.7228063Z 65 ms 2025-03-14T05:48:02.4496082Z [ OK ] BasicTest.BasicTestCPU (2309 ms) 2025-03-14T05:48:02.4508478Z [ RUN ] BasicTest.BasicTestHalfCPU 2025-03-14T05:48:02.6336958Z 138 ms 2025-03-14T05:48:02.6839051Z 45 ms 2025-03-14T05:48:02.7501279Z 64 ms 2025-03-14T05:48:02.8037549Z [ OK ] BasicTest.BasicTestHalfCPU (352 ms) 2025-03-14T05:48:02.8037996Z [ RUN ] BasicTest.FactoryMethodsTest 2025-03-14T05:48:02.8362074Z [ OK ] BasicTest.FactoryMethodsTest (32 ms) 2025-03-14T05:48:02.8362559Z [ RUN ] BasicTest.BasicStdTestCPU 2025-03-14T05:48:02.9199113Z Simple example: called once 2025-03-14T05:48:03.0107759Z throw: call_once will retry 2025-03-14T05:48:03.0530974Z throw: call_once will retry 2025-03-14T05:48:03.0534840Z Didn't throw, call_once will not attempt again 2025-03-14T05:48:03.0554826Z [ OK ] BasicTest.BasicStdTestCPU (219 ms) 2025-03-14T05:48:03.0578376Z [----------] 4 tests from BasicTest (2922 ms total) 2025-03-14T05:48:03.0578683Z 2025-03-14T05:48:03.0592686Z [----------] Global test environment tear-down 2025-03-14T05:48:03.0624504Z [==========] 4 tests from 1 test suite ran. (2948 ms total) 2025-03-14T05:48:03.0635275Z [ PASSED ] 4 tests. 2025-03-14T05:48:04.8582656Z ==6446== 2025-03-14T05:48:04.8586006Z ==6446== HEAP SUMMARY: 2025-03-14T05:48:04.8586653Z ==6446== in use at exit: 240,152 bytes in 3,996 blocks 2025-03-14T05:48:04.8587257Z ==6446== total heap usage: 754,422 allocs, 750,426 frees, 215,171,963 bytes allocated 2025-03-14T05:48:04.8587713Z ==6446== 2025-03-14T05:48:04.8967970Z ==6446== LEAK SUMMARY: 2025-03-14T05:48:04.8968299Z ==6446== definitely lost: 0 bytes in 0 blocks 2025-03-14T05:48:04.8968766Z ==6446== indirectly lost: 0 bytes in 0 blocks 2025-03-14T05:48:04.8969155Z ==6446== possibly lost: 0 bytes in 0 blocks 2025-03-14T05:48:04.8969611Z ==6446== still reachable: 240,152 bytes in 3,996 blocks 2025-03-14T05:48:04.8970014Z ==6446== suppressed: 0 bytes in 0 blocks 2025-03-14T05:48:04.8970523Z ==6446== Rerun with --leak-check=full to see details of leaked memory 2025-03-14T05:48:04.8970976Z ==6446== 2025-03-14T05:48:04.8971332Z ==6446== For lists of detected and suppressed errors, rerun with: -s 2025-03-14T05:48:04.8971934Z ==6446== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) 2025-03-14T05:48:04.9448031Z + [[ -x build/bin/tensor_interop_test ]] 2025-03-14T05:48:04.9450085Z + [[ -n '' ]] 2025-03-14T05:48:04.9450436Z + assert_git_not_dirty 2025-03-14T05:48:04.9450807Z + [[ linux-focal-py3.13-clang10 != *rocm* ]] 2025-03-14T05:48:04.9451190Z + [[ linux-focal-py3.13-clang10 != *xla* ]] 2025-03-14T05:48:04.9456542Z ++ git status --porcelain 2025-03-14T05:48:04.9457768Z ++ grep -v '?? third_party' 2025-03-14T05:48:05.1721744Z ++ true 2025-03-14T05:48:05.1723049Z + git_status= 2025-03-14T05:48:05.1723338Z + [[ -n '' ]] 2025-03-14T05:48:05.1748905Z + cleanup_workspace 2025-03-14T05:48:05.1749600Z + echo 'sudo may print the following warning message that can be ignored. The chown command will still run.' 2025-03-14T05:48:05.1750488Z sudo may print the following warning message that can be ignored. The chown command will still run. 2025-03-14T05:48:05.1751413Z + echo ' sudo: setrlimit(RLIMIT_STACK): Operation not permitted' 2025-03-14T05:48:05.1751908Z sudo: setrlimit(RLIMIT_STACK): Operation not permitted 2025-03-14T05:48:05.1752534Z + echo 'For more details refer to https://github.com/sudo-project/sudo/issues/42' 2025-03-14T05:48:05.1753215Z For more details refer to https://github.com/sudo-project/sudo/issues/42 2025-03-14T05:48:05.1753771Z + sudo chown -R 1000 /var/lib/jenkins/workspace 2025-03-14T05:48:07.3540314Z ##[group]Run pytorch/test-infra/.github/actions/upload-benchmark-results@main 2025-03-14T05:48:07.3540838Z with: 2025-03-14T05:48:07.3541115Z benchmark-results-dir: test/test-reports 2025-03-14T05:48:07.3541467Z dry-run: false 2025-03-14T05:48:07.3541728Z schema-version: v3 2025-03-14T05:48:07.3542219Z github-token: *** 2025-03-14T05:48:07.3542472Z env: 2025-03-14T05:48:07.3542708Z GIT_DEFAULT_BRANCH: main 2025-03-14T05:48:07.3543194Z DOCKER_CONTAINER_ID: 7050659e24a93ef76815bc43b96964165e9001a9eee2b0060d56f8d483e87007 2025-03-14T05:48:07.3543808Z ##[endgroup] 2025-03-14T05:48:07.3570320Z ##[group]Run set -eux 2025-03-14T05:48:07.3570609Z set -eux 2025-03-14T05:48:07.3570902Z python3 -mpip install boto3==1.35.33 2025-03-14T05:48:07.3625661Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T05:48:07.3626070Z env: 2025-03-14T05:48:07.3626298Z GIT_DEFAULT_BRANCH: main 2025-03-14T05:48:07.3626840Z DOCKER_CONTAINER_ID: 7050659e24a93ef76815bc43b96964165e9001a9eee2b0060d56f8d483e87007 2025-03-14T05:48:07.3627361Z ##[endgroup] 2025-03-14T05:48:07.3672962Z + python3 -mpip install boto3==1.35.33 2025-03-14T05:48:07.6961780Z Defaulting to user installation because normal site-packages is not writeable 2025-03-14T05:48:07.7159531Z Requirement already satisfied: boto3==1.35.33 in /home/ec2-user/.local/lib/python3.9/site-packages (1.35.33) 2025-03-14T05:48:07.7213861Z Requirement already satisfied: botocore<1.36.0,>=1.35.33 in /home/ec2-user/.local/lib/python3.9/site-packages (from boto3==1.35.33) (1.35.99) 2025-03-14T05:48:07.7218762Z Requirement already satisfied: s3transfer<0.11.0,>=0.10.0 in /home/ec2-user/.local/lib/python3.9/site-packages (from boto3==1.35.33) (0.10.4) 2025-03-14T05:48:07.7224723Z Requirement already satisfied: jmespath<2.0.0,>=0.7.1 in /usr/lib/python3.9/site-packages (from boto3==1.35.33) (0.10.0) 2025-03-14T05:48:07.7274084Z Requirement already satisfied: python-dateutil<3.0.0,>=2.1 in /usr/lib/python3.9/site-packages (from botocore<1.36.0,>=1.35.33->boto3==1.35.33) (2.8.1) 2025-03-14T05:48:07.7285891Z Requirement already satisfied: urllib3<1.27,>=1.25.4 in /usr/lib/python3.9/site-packages (from botocore<1.36.0,>=1.35.33->boto3==1.35.33) (1.25.10) 2025-03-14T05:48:07.7325087Z Requirement already satisfied: six>=1.5 in /usr/lib/python3.9/site-packages (from python-dateutil<3.0.0,>=2.1->botocore<1.36.0,>=1.35.33->boto3==1.35.33) (1.15.0) 2025-03-14T05:48:07.8718981Z ##[group]Run set -eux 2025-03-14T05:48:07.8719287Z set -eux 2025-03-14T05:48:07.8719557Z  2025-03-14T05:48:07.8719818Z if [[ -z "${GITHUB_TOKEN}" ]]; then 2025-03-14T05:48:07.8720195Z  echo "Missing github-token input" 2025-03-14T05:48:07.8720541Z  exit 1 2025-03-14T05:48:07.8720784Z fi 2025-03-14T05:48:07.8726810Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T05:48:07.8727218Z env: 2025-03-14T05:48:07.8727451Z GIT_DEFAULT_BRANCH: main 2025-03-14T05:48:07.8727949Z DOCKER_CONTAINER_ID: 7050659e24a93ef76815bc43b96964165e9001a9eee2b0060d56f8d483e87007 2025-03-14T05:48:07.8728822Z GITHUB_TOKEN: *** 2025-03-14T05:48:07.8729074Z ##[endgroup] 2025-03-14T05:48:07.8752670Z + [[ -z *** ]] 2025-03-14T05:48:07.8804560Z ##[group]Run pytorch/test-infra/.github/actions/get-workflow-job-id@main 2025-03-14T05:48:07.8805025Z with: 2025-03-14T05:48:07.8805405Z github-token: *** 2025-03-14T05:48:07.8805663Z env: 2025-03-14T05:48:07.8805906Z GIT_DEFAULT_BRANCH: main 2025-03-14T05:48:07.8806395Z DOCKER_CONTAINER_ID: 7050659e24a93ef76815bc43b96964165e9001a9eee2b0060d56f8d483e87007 2025-03-14T05:48:07.8807014Z ##[endgroup] 2025-03-14T05:48:07.8831087Z ##[group]Run set -eux 2025-03-14T05:48:07.8831378Z set -eux 2025-03-14T05:48:07.8831632Z  2025-03-14T05:48:07.8832141Z python3 "${GITHUB_ACTION_PATH}/../../scripts/get_workflow_job_id.py" "${GITHUB_RUN_ID}" "${RUNNER_NAME}" 2025-03-14T05:48:07.8837854Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T05:48:07.8838262Z env: 2025-03-14T05:48:07.8838491Z GIT_DEFAULT_BRANCH: main 2025-03-14T05:48:07.8838979Z DOCKER_CONTAINER_ID: 7050659e24a93ef76815bc43b96964165e9001a9eee2b0060d56f8d483e87007 2025-03-14T05:48:07.8839755Z GITHUB_TOKEN: *** 2025-03-14T05:48:07.8839999Z ##[endgroup] 2025-03-14T05:48:07.8862084Z + python3 /home/ec2-user/actions-runner/_work/_actions/pytorch/test-infra/main/.github/actions/get-workflow-job-id/../../scripts/get_workflow_job_id.py 13849515290 i-0ef9d91641f336945 2025-03-14T05:48:10.2621327Z setting job-id=38754600544 2025-03-14T05:48:10.2621916Z setting job-name=linux-focal-py3.13-clang10 / test (dynamo_wrapped, 1, 3, lf.linux.2xlarge) 2025-03-14T05:48:10.2735887Z ##[group]Run set -eux 2025-03-14T05:48:10.2736218Z set -eux 2025-03-14T05:48:10.2736462Z  2025-03-14T05:48:10.2736885Z python3 "${GITHUB_ACTION_PATH}/../../scripts/benchmarks/gather_metadata.py" \ 2025-03-14T05:48:10.2737458Z  --schema-version "${SCHEMA_VERSION}" \ 2025-03-14T05:48:10.2737836Z  --repo "${REPO}" \ 2025-03-14T05:48:10.2738168Z  --head-branch "${HEAD_BRANCH}" \ 2025-03-14T05:48:10.2738530Z  --head-sha "${HEAD_SHA}" \ 2025-03-14T05:48:10.2738892Z  --workflow-id "${WORKFLOW_RUN_ID}" \ 2025-03-14T05:48:10.2739274Z  --run-attempt "${RUN_ATTEMPT}" \ 2025-03-14T05:48:10.2739628Z  --job-id "${JOB_ID}" \ 2025-03-14T05:48:10.2739959Z  --job-name "${JOB_NAME}" 2025-03-14T05:48:10.2746620Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T05:48:10.2747042Z env: 2025-03-14T05:48:10.2747281Z GIT_DEFAULT_BRANCH: main 2025-03-14T05:48:10.2747765Z DOCKER_CONTAINER_ID: 7050659e24a93ef76815bc43b96964165e9001a9eee2b0060d56f8d483e87007 2025-03-14T05:48:10.2748285Z SCHEMA_VERSION: v3 2025-03-14T05:48:10.2748560Z REPO: pytorch/pytorch 2025-03-14T05:48:10.2748845Z HEAD_BRANCH: refs/heads/main 2025-03-14T05:48:10.2749212Z HEAD_SHA: aed0b7a742a2d7b7901790622829cbd2135049a4 2025-03-14T05:48:10.2749581Z WORKFLOW_RUN_ID: 13849515290 2025-03-14T05:48:10.2749876Z RUN_ATTEMPT: 1 2025-03-14T05:48:10.2750131Z JOB_ID: 38754600544 2025-03-14T05:48:10.2750570Z JOB_NAME: linux-focal-py3.13-clang10 / test (dynamo_wrapped, 1, 3, lf.linux.2xlarge) 2025-03-14T05:48:10.2751069Z ##[endgroup] 2025-03-14T05:48:10.2776616Z + python3 /home/ec2-user/actions-runner/_work/_actions/pytorch/test-infra/main/.github/actions/upload-benchmark-results/../../scripts/benchmarks/gather_metadata.py --schema-version v3 --repo pytorch/pytorch --head-branch refs/heads/main --head-sha aed0b7a742a2d7b7901790622829cbd2135049a4 --workflow-id 13849515290 --run-attempt 1 --job-id 38754600544 --job-name 'linux-focal-py3.13-clang10 / test (dynamo_wrapped, 1, 3, lf.linux.2xlarge)' 2025-03-14T05:48:10.3093150Z ##[group]Run set -eux 2025-03-14T05:48:10.3093450Z set -eux 2025-03-14T05:48:10.3093701Z  2025-03-14T05:48:10.3093974Z # TODO (huydhn): Implement this part 2025-03-14T05:48:10.3094384Z echo "runners=[]" >> "${GITHUB_OUTPUT}" 2025-03-14T05:48:10.3100233Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T05:48:10.3100639Z env: 2025-03-14T05:48:10.3100880Z GIT_DEFAULT_BRANCH: main 2025-03-14T05:48:10.3101365Z DOCKER_CONTAINER_ID: 7050659e24a93ef76815bc43b96964165e9001a9eee2b0060d56f8d483e87007 2025-03-14T05:48:10.3101883Z ##[endgroup] 2025-03-14T05:48:10.3123758Z + echo 'runners=[]' 2025-03-14T05:48:10.3152544Z ##[group]Run set -eux 2025-03-14T05:48:10.3152846Z set -eux 2025-03-14T05:48:10.3153164Z  2025-03-14T05:48:10.3153436Z # TODO (huydhn): Implement this part 2025-03-14T05:48:10.3153850Z echo "dependencies={}" >> "${GITHUB_OUTPUT}" 2025-03-14T05:48:10.3158956Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T05:48:10.3159361Z env: 2025-03-14T05:48:10.3159604Z GIT_DEFAULT_BRANCH: main 2025-03-14T05:48:10.3160225Z DOCKER_CONTAINER_ID: 7050659e24a93ef76815bc43b96964165e9001a9eee2b0060d56f8d483e87007 2025-03-14T05:48:10.3160746Z ##[endgroup] 2025-03-14T05:48:10.3182025Z + echo 'dependencies={}' 2025-03-14T05:48:10.3208985Z ##[group]Run set -eux 2025-03-14T05:48:10.3209288Z set -eux 2025-03-14T05:48:10.3209540Z  2025-03-14T05:48:10.3209827Z if [[ ! -d "${BENCHMARK_RESULTS_DIR}" ]]; then 2025-03-14T05:48:10.3210293Z  echo "${BENCHMARK_RESULTS_DIR} does not exist, skipping" 2025-03-14T05:48:10.3210810Z  # We don't want the job to fail if the directory doesn't exist 2025-03-14T05:48:10.3211326Z  exit 0 2025-03-14T05:48:10.3211574Z fi 2025-03-14T05:48:10.3211801Z  2025-03-14T05:48:10.3212059Z if [[ "${DRY_RUN}" == "true" ]]; then 2025-03-14T05:48:10.3212569Z  python3 "${GITHUB_ACTION_PATH}/../../scripts/upload_benchmark_results.py" \ 2025-03-14T05:48:10.3213153Z  --benchmark-results-dir "${BENCHMARK_RESULTS_DIR}" \ 2025-03-14T05:48:10.3213613Z  --metadata "${BENCHMARK_METADATA}" \ 2025-03-14T05:48:10.3214000Z  --runners "${RUNNER_INFO}" \ 2025-03-14T05:48:10.3214372Z  --dependencies "${DEPENDENCIES}" \ 2025-03-14T05:48:10.3214755Z  --dry-run 2025-03-14T05:48:10.3215027Z else 2025-03-14T05:48:10.3215417Z  python3 "${GITHUB_ACTION_PATH}/../../scripts/upload_benchmark_results.py" \ 2025-03-14T05:48:10.3216107Z  --benchmark-results-dir "${BENCHMARK_RESULTS_DIR}" \ 2025-03-14T05:48:10.3216562Z  --metadata "${BENCHMARK_METADATA}" \ 2025-03-14T05:48:10.3216940Z  --runners "${RUNNER_INFO}" \ 2025-03-14T05:48:10.3217306Z  --dependencies "${DEPENDENCIES}" 2025-03-14T05:48:10.3217648Z fi 2025-03-14T05:48:10.3222535Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T05:48:10.3222941Z env: 2025-03-14T05:48:10.3223178Z GIT_DEFAULT_BRANCH: main 2025-03-14T05:48:10.3223672Z DOCKER_CONTAINER_ID: 7050659e24a93ef76815bc43b96964165e9001a9eee2b0060d56f8d483e87007 2025-03-14T05:48:10.3224229Z BENCHMARK_RESULTS_DIR: test/test-reports 2025-03-14T05:48:10.3224569Z DRY_RUN: false 2025-03-14T05:48:10.3225907Z BENCHMARK_METADATA: {"timestamp": 1741931290, "schema_version": "v3", "name": "linux-focal-py3.13-clang10 / test (dynamo_wrapped, 1, 3, lf.linux.2xlarge)", "repo": "pytorch/pytorch", "head_branch": "refs/heads/main", "head_sha": "aed0b7a742a2d7b7901790622829cbd2135049a4", "workflow_id": 13849515290, "run_attempt": 1, "job_id": 38754600544} 2025-03-14T05:48:10.3227310Z RUNNER_INFO: [] 2025-03-14T05:48:10.3227564Z DEPENDENCIES: {} 2025-03-14T05:48:10.3227817Z ##[endgroup] 2025-03-14T05:48:10.3247753Z + [[ ! -d test/test-reports ]] 2025-03-14T05:48:10.3248073Z + [[ false == \t\r\u\e ]] 2025-03-14T05:48:10.3250469Z + python3 /home/ec2-user/actions-runner/_work/_actions/pytorch/test-infra/main/.github/actions/upload-benchmark-results/../../scripts/upload_benchmark_results.py --benchmark-results-dir test/test-reports --metadata '{"timestamp": 1741931290, "schema_version": "v3", "name": "linux-focal-py3.13-clang10 / test (dynamo_wrapped, 1, 3, lf.linux.2xlarge)", "repo": "pytorch/pytorch", "head_branch": "refs/heads/main", "head_sha": "aed0b7a742a2d7b7901790622829cbd2135049a4", "workflow_id": 13849515290, "run_attempt": 1, "job_id": 38754600544}' --runners '[]' --dependencies '{}' 2025-03-14T05:48:10.5243718Z ##[group]Run cat test/**/*_toprint.log || true 2025-03-14T05:48:10.5244140Z cat test/**/*_toprint.log || true 2025-03-14T05:48:10.5249929Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T05:48:10.5250336Z env: 2025-03-14T05:48:10.5250577Z GIT_DEFAULT_BRANCH: main 2025-03-14T05:48:10.5251058Z DOCKER_CONTAINER_ID: 7050659e24a93ef76815bc43b96964165e9001a9eee2b0060d56f8d483e87007 2025-03-14T05:48:10.5251564Z ##[endgroup] 2025-03-14T05:48:10.5322362Z cat: 'test/**/*_toprint.log': No such file or directory 2025-03-14T05:48:10.5355852Z ##[group]Run kill "$MONITOR_SCRIPT_PID" 2025-03-14T05:48:10.5356228Z kill "$MONITOR_SCRIPT_PID" 2025-03-14T05:48:10.5361518Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T05:48:10.5361921Z env: 2025-03-14T05:48:10.5362162Z GIT_DEFAULT_BRANCH: main 2025-03-14T05:48:10.5362630Z DOCKER_CONTAINER_ID: 7050659e24a93ef76815bc43b96964165e9001a9eee2b0060d56f8d483e87007 2025-03-14T05:48:10.5363162Z MONITOR_SCRIPT_PID: 130036 2025-03-14T05:48:10.5363457Z ##[endgroup] 2025-03-14T05:48:10.5522013Z Prepare all required actions 2025-03-14T05:48:10.5522565Z Getting action download info 2025-03-14T05:48:10.6790871Z Download action repository 'actions/upload-artifact@v4' (SHA:4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1) 2025-03-14T05:48:11.1388222Z ##[group]Run ./.github/actions/upload-test-artifacts 2025-03-14T05:48:11.1388617Z with: 2025-03-14T05:48:11.1388976Z file-suffix: test-dynamo_wrapped-1-3-lf.linux.2xlarge_38754600544 2025-03-14T05:48:11.1389427Z s3-bucket: gha-artifacts 2025-03-14T05:48:11.1389705Z env: 2025-03-14T05:48:11.1389937Z GIT_DEFAULT_BRANCH: main 2025-03-14T05:48:11.1390416Z DOCKER_CONTAINER_ID: 7050659e24a93ef76815bc43b96964165e9001a9eee2b0060d56f8d483e87007 2025-03-14T05:48:11.1390931Z ##[endgroup] 2025-03-14T05:48:11.1420342Z ##[group]Run # Remove any previous test jsons if they exist 2025-03-14T05:48:11.1420834Z # Remove any previous test jsons if they exist 2025-03-14T05:48:11.1421233Z rm -f test-jsons-*.zip 2025-03-14T05:48:11.1421740Z zip -r "test-jsons-${FILE_SUFFIX}.zip" test/test-reports -i '*.json' 2025-03-14T05:48:11.1427855Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T05:48:11.1428259Z env: 2025-03-14T05:48:11.1428502Z GIT_DEFAULT_BRANCH: main 2025-03-14T05:48:11.1428984Z DOCKER_CONTAINER_ID: 7050659e24a93ef76815bc43b96964165e9001a9eee2b0060d56f8d483e87007 2025-03-14T05:48:11.1429619Z FILE_SUFFIX: test-dynamo_wrapped-1-3-lf.linux.2xlarge_38754600544 2025-03-14T05:48:11.1430046Z ##[endgroup] 2025-03-14T05:48:11.1497435Z adding: test/test-reports/td_exclusions-69c6033230086834c373.json (deflated 81%) 2025-03-14T05:48:11.1498784Z adding: test/test-reports/td_exclusions-38459bdcb414fb406a41.json (deflated 73%) 2025-03-14T05:48:11.1524945Z ##[group]Run # Remove any previous test reports if they exist 2025-03-14T05:48:11.1525452Z # Remove any previous test reports if they exist 2025-03-14T05:48:11.1525867Z rm -f test-reports-*.zip 2025-03-14T05:48:11.1526390Z zip -r "test-reports-${FILE_SUFFIX}.zip" test/test-reports -i '*.xml' -i '*.csv' 2025-03-14T05:48:11.1531974Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T05:48:11.1532378Z env: 2025-03-14T05:48:11.1532623Z GIT_DEFAULT_BRANCH: main 2025-03-14T05:48:11.1533112Z DOCKER_CONTAINER_ID: 7050659e24a93ef76815bc43b96964165e9001a9eee2b0060d56f8d483e87007 2025-03-14T05:48:11.1533759Z FILE_SUFFIX: test-dynamo_wrapped-1-3-lf.linux.2xlarge_38754600544 2025-03-14T05:48:11.1534189Z ##[endgroup] 2025-03-14T05:48:11.1992917Z adding: test/test-reports/python-pytest/test_reductions/test_reductions-79533f27d9a332cb.xml (deflated 98%) 2025-03-14T05:48:11.2377108Z adding: test/test-reports/python-pytest/test_reductions/test_reductions-97b8102d39d018a8.xml (deflated 99%) 2025-03-14T05:48:11.2378582Z adding: test/test-reports/python-pytest/test_autocast/test_autocast-137f048c17ccf09c.xml (deflated 92%) 2025-03-14T05:48:11.2380034Z adding: test/test-reports/python-pytest/test_autograd_fallback/test_autograd_fallback-1a33b41aaf6ea66d.xml (deflated 88%) 2025-03-14T05:48:11.2386331Z adding: test/test-reports/python-pytest/test_python_dispatch/test_python_dispatch-b72215d4ecac41de.xml (deflated 94%) 2025-03-14T05:48:11.2387448Z adding: test/test-reports/python-pytest/test_jit_disabled/test_jit_disabled-a959d8c4100f6160.xml (deflated 56%) 2025-03-14T05:48:11.2394104Z adding: test/test-reports/python-pytest/test_fake_tensor/test_fake_tensor-374aa2863beb68b3.xml (deflated 93%) 2025-03-14T05:48:11.2528036Z adding: test/test-reports/python-pytest/test_fx/test_fx-809f1997149b3cc4.xml (deflated 95%) 2025-03-14T05:48:11.2529587Z adding: test/test-reports/python-pytest/test_cpp_extensions_mtia_backend/test_cpp_extensions_mtia_backend-941ecf3f0f6e27a1.xml (deflated 79%) 2025-03-14T05:48:11.2530837Z adding: test/test-reports/python-pytest/test_cpp_extensions_stream_and_event/test_cpp_extensions_stream_and_event-22c9b76dc5c34290.xml (deflated 59%) 2025-03-14T05:48:11.2535397Z adding: test/test-reports/python-pytest/test_cpp_extensions_jit/test_cpp_extensions_jit-0c9591abe99360b2.xml (deflated 95%) 2025-03-14T05:48:11.2536953Z adding: test/test-reports/python-pytest/test_native_mha/test_native_mha-5ab543a28f3e7889.xml (deflated 95%) 2025-03-14T05:48:11.2806158Z adding: test/test-reports/python-pytest/test_tensor_creation_ops/test_tensor_creation_ops-c780b103cad48eed.xml (deflated 97%) 2025-03-14T05:48:11.3050667Z adding: test/test-reports/python-pytest/test_sort_and_select/test_sort_and_select-4481d9f68d065e1b.xml (deflated 98%) 2025-03-14T05:48:11.3052039Z adding: test/test-reports/python-pytest/test_dispatch/test_dispatch-4ef15d5c812fd682.xml (deflated 75%) 2025-03-14T05:48:11.3053522Z adding: test/test-reports/python-pytest/test_multiprocessing_spawn/test_multiprocessing_spawn-1ccb1b7520120379.xml (deflated 94%) 2025-03-14T05:48:11.3202605Z adding: test/test-reports/python-pytest/nn.test_convolution/nn.test_convolution-7d0a9ae3c5beadf1.xml (deflated 97%) 2025-03-14T05:48:11.3231319Z adding: test/test-reports/python-pytest/nn.test_pooling/nn.test_pooling-a3ff8d50d11fc6c6.xml (deflated 98%) 2025-03-14T05:48:11.3232690Z adding: test/test-reports/python-pytest/test_mobile_optimizer/test_mobile_optimizer-4cb5c5cafd6bd655.xml (deflated 58%) 2025-03-14T05:48:11.5762365Z adding: test/test-reports/python-pytest/test_nn/test_nn-b138c6220171a106.xml (deflated 91%) 2025-03-14T05:48:11.6310942Z adding: test/test-reports/python-pytest/test_nn/test_nn-ed22cf50e42ab902.xml (deflated 95%) 2025-03-14T05:48:11.6362248Z adding: test/test-reports/python-pytest/test_spectral_ops/test_spectral_ops-69682cc32902e705.xml (deflated 95%) 2025-03-14T05:48:11.6402409Z adding: test/test-reports/python-pytest/distributions.test_distributions/distributions.test_distributions-f4524b720c9127cf.xml (deflated 96%) 2025-03-14T05:48:11.6445557Z adding: test/test-reports/python-pytest/distributions.test_distributions/distributions.test_distributions-cfcb8f7aeb204e1c.xml (deflated 96%) 2025-03-14T05:48:11.6449568Z adding: test/test-reports/python-pytest/test_cpp_extensions_aot_no_ninja/test_cpp_extensions_aot_no_ninja-a22fd69c1bf221c1.xml (deflated 95%) 2025-03-14T05:48:11.6451054Z adding: test/test-reports/python-pytest/test_accelerator/test_accelerator-10bda41b45cdb38b.xml (deflated 28%) 2025-03-14T05:48:11.6452015Z adding: test/test-reports/python-pytest/test_accelerator/test_accelerator-09ea48555f5ccd36.xml (deflated 28%) 2025-03-14T05:48:11.6452981Z adding: test/test-reports/python-pytest/test_quantization/test_quantization-ff86ed24db925ca1.xml (deflated 28%) 2025-03-14T05:48:11.6885439Z adding: test/test-reports/python-pytest/test_quantization/test_quantization-1bfe6df48ff8f6d0.xml (deflated 96%) 2025-03-14T05:48:11.6887234Z adding: test/test-reports/python-pytest/test.run_test/test.run_test-b9ebcce73815f368.xml (deflated 29%) 2025-03-14T05:48:11.6888891Z adding: test/test-reports/python-pytest/test.run_test/test.run_test-e46616864a28d23b.xml (deflated 29%) 2025-03-14T05:48:11.6890558Z adding: test/test-reports/python-pytest/test.run_test/test.run_test-229fed26db5e310a.xml (deflated 29%) 2025-03-14T05:48:11.6892367Z adding: test/test-reports/python-pytest/test.run_test/test.run_test-e3b91f1bb1ff628d.xml (deflated 29%) 2025-03-14T05:48:11.6893778Z adding: test/test-reports/python-pytest/test.run_test/test.run_test-79f99b2d26fe7a7a.xml (deflated 29%) 2025-03-14T05:48:11.6895428Z adding: test/test-reports/python-pytest/test.run_test/test.run_test-6205d331f02e14c2.xml (deflated 29%) 2025-03-14T05:48:11.6897166Z adding: test/test-reports/python-pytest/test.run_test/test.run_test-ef1d0df197c930b2.xml (deflated 29%) 2025-03-14T05:48:11.6898966Z adding: test/test-reports/python-pytest/test.run_test/test.run_test-d284570188a3cb1f.xml (deflated 29%) 2025-03-14T05:48:11.6900381Z adding: test/test-reports/python-pytest/test.run_test/test.run_test-7edb2131018c582a.xml (deflated 29%) 2025-03-14T05:48:11.6902112Z adding: test/test-reports/python-pytest/test.run_test/test.run_test-7dbb91d5fc544563.xml (deflated 29%) 2025-03-14T05:48:11.6902992Z adding: test/test-reports/python-pytest/test.run_test/test.run_test-d94bc5ce68668749.xml (deflated 29%) 2025-03-14T05:48:11.6903929Z adding: test/test-reports/python-pytest/test.run_test/test.run_test-f2fedf0f0a49a4ff.xml (deflated 29%) 2025-03-14T05:48:11.6904798Z adding: test/test-reports/python-pytest/test.run_test/test.run_test-9674806648fc594a.xml (deflated 29%) 2025-03-14T05:48:11.6905803Z adding: test/test-reports/python-pytest/test.run_test/test.run_test-773b9dc8430c4832.xml (deflated 29%) 2025-03-14T05:48:11.6906686Z adding: test/test-reports/python-pytest/test.run_test/test.run_test-69b940f63e36a85c.xml (deflated 29%) 2025-03-14T05:48:11.6907548Z adding: test/test-reports/python-pytest/test.run_test/test.run_test-3036252fae3c6cdb.xml (deflated 29%) 2025-03-14T05:48:11.6908409Z adding: test/test-reports/python-pytest/test.run_test/test.run_test-6fd596316382a119.xml (deflated 29%) 2025-03-14T05:48:11.6909279Z adding: test/test-reports/python-pytest/test.run_test/test.run_test-aed0a423c9c781f9.xml (deflated 29%) 2025-03-14T05:48:11.6910164Z adding: test/test-reports/python-pytest/test.run_test/test.run_test-32b22be37e6b0eed.xml (deflated 29%) 2025-03-14T05:48:11.6911034Z adding: test/test-reports/python-pytest/test.run_test/test.run_test-1b50f8bf481c6fd5.xml (deflated 57%) 2025-03-14T05:48:11.6911908Z adding: test/test-reports/python-pytest/test.run_test/test.run_test-c106ecfc5f73e5de.xml (deflated 72%) 2025-03-14T05:48:11.6912779Z adding: test/test-reports/python-pytest/test.run_test/test.run_test-efb1c54c8d9771f3.xml (deflated 83%) 2025-03-14T05:48:11.6913647Z adding: test/test-reports/python-pytest/test.run_test/test.run_test-ef3dfe592a4672ba.xml (deflated 66%) 2025-03-14T05:48:11.6914508Z adding: test/test-reports/python-pytest/test.run_test/test.run_test-45886d78747226bf.xml (deflated 78%) 2025-03-14T05:48:11.6915366Z adding: test/test-reports/python-pytest/test.run_test/test.run_test-bd3901c2c864e817.xml (deflated 61%) 2025-03-14T05:48:11.6916231Z adding: test/test-reports/python-pytest/test.run_test/test.run_test-02e0d0631a65566f.xml (deflated 37%) 2025-03-14T05:48:11.6917099Z adding: test/test-reports/python-pytest/test.run_test/test.run_test-045a095dd0b548a2.xml (deflated 80%) 2025-03-14T05:48:11.6917964Z adding: test/test-reports/python-pytest/test.run_test/test.run_test-5d25ea8be29c1c30.xml (deflated 50%) 2025-03-14T05:48:11.6918828Z adding: test/test-reports/python-pytest/test.run_test/test.run_test-bc2c8c1b27d45af9.xml (deflated 35%) 2025-03-14T05:48:11.6919697Z adding: test/test-reports/python-pytest/test.run_test/test.run_test-5cca619ba6352da9.xml (deflated 47%) 2025-03-14T05:48:11.6920567Z adding: test/test-reports/python-pytest/test.run_test/test.run_test-282fbbfcd638e671.xml (deflated 47%) 2025-03-14T05:48:11.6921446Z adding: test/test-reports/python-pytest/test.run_test/test.run_test-1211bdb7885ec75f.xml (deflated 83%) 2025-03-14T05:48:11.6922319Z adding: test/test-reports/python-pytest/test.run_test/test.run_test-16dea10d545efc80.xml (deflated 58%) 2025-03-14T05:48:11.6923181Z adding: test/test-reports/python-pytest/test.run_test/test.run_test-60260593e43095d6.xml (deflated 57%) 2025-03-14T05:48:11.6924478Z adding: test/test-reports/python-pytest/test.run_test/test.run_test-e1d713d6a72910bc.xml (deflated 59%) 2025-03-14T05:48:11.6925353Z adding: test/test-reports/python-pytest/test.run_test/test.run_test-35b44c4fb38e5384.xml (deflated 37%) 2025-03-14T05:48:11.6926219Z adding: test/test-reports/python-pytest/test.run_test/test.run_test-429b9e593dcd9d68.xml (deflated 36%) 2025-03-14T05:48:11.6927089Z adding: test/test-reports/python-pytest/test.run_test/test.run_test-aa377b6c3ef89255.xml (deflated 90%) 2025-03-14T05:48:11.6928070Z adding: test/test-reports/python-unittest/test_autoload/TEST-TestDeviceBackendAutoload-20250314052459.xml (deflated 42%) 2025-03-14T05:48:11.6929226Z adding: test/test-reports/python-unittest/test_autoload/TEST-TestDeviceBackendAutoload-20250314052524.xml (deflated 42%) 2025-03-14T05:48:11.6955608Z ##[group]Run # Remove any previous usage logs if they exist 2025-03-14T05:48:11.6956185Z # Remove any previous usage logs if they exist 2025-03-14T05:48:11.6956575Z rm -f logs-*.zip 2025-03-14T05:48:11.6957065Z # this workflow is also run in bazel build test, but we dont generate usage reports for it 2025-03-14T05:48:11.6957641Z # so check to see if the file exists first 2025-03-14T05:48:11.6958026Z if [ -f 'usage_log.txt' ]; then 2025-03-14T05:48:11.6958419Z  zip "logs-${FILE_SUFFIX}.zip" 'usage_log.txt' 2025-03-14T05:48:11.6958789Z fi 2025-03-14T05:48:11.6959180Z if find "test/test-reports" -name "*.log" 2>/dev/null | grep -q .; then 2025-03-14T05:48:11.6959758Z  zip -r "logs-${FILE_SUFFIX}.zip" test/test-reports -i '*.log' 2025-03-14T05:48:11.6960174Z fi 2025-03-14T05:48:11.6981680Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T05:48:11.6982103Z env: 2025-03-14T05:48:11.6982346Z GIT_DEFAULT_BRANCH: main 2025-03-14T05:48:11.6982833Z DOCKER_CONTAINER_ID: 7050659e24a93ef76815bc43b96964165e9001a9eee2b0060d56f8d483e87007 2025-03-14T05:48:11.6983466Z FILE_SUFFIX: test-dynamo_wrapped-1-3-lf.linux.2xlarge_38754600544 2025-03-14T05:48:11.6983895Z ##[endgroup] 2025-03-14T05:48:11.7070402Z adding: usage_log.txt (deflated 97%) 2025-03-14T05:48:11.7189134Z adding: test/test-reports/test_reductions_1.3_335c781e76f4ecda_.log (deflated 94%) 2025-03-14T05:48:11.7223641Z adding: test/test-reports/test_reductions_3.3_21ffcc559b8133e3_.log (deflated 94%) 2025-03-14T05:48:11.7224900Z adding: test/test-reports/test_autocast_1.1_98b93c6de1a23f53_.log (deflated 77%) 2025-03-14T05:48:11.7226037Z adding: test/test-reports/test_autograd_fallback_1.1_72beaec89ae7e514_.log (deflated 84%) 2025-03-14T05:48:11.7229612Z adding: test/test-reports/test_python_dispatch_1.1_83b211632df399e6_.log (deflated 85%) 2025-03-14T05:48:11.7230708Z adding: test/test-reports/test_jit_disabled_1.1_b657a5095d1a1281_.log (deflated 57%) 2025-03-14T05:48:11.7237426Z adding: test/test-reports/test_fake_tensor_1.1_668dfde1a0ad41c8_.log (deflated 91%) 2025-03-14T05:48:11.7268172Z adding: test/test-reports/test_fx_1.1_80b59f17ae7e5f0b_.log (deflated 92%) 2025-03-14T05:48:11.7269549Z adding: test/test-reports/test_cpp_extensions_mtia_backend_1.1_50dc271f9a704ddc_.log (deflated 68%) 2025-03-14T05:48:11.7270623Z adding: test/test-reports/test_cpp_extensions_stream_and_event_1.1_c8a8747cc54a8efe_.log (deflated 59%) 2025-03-14T05:48:11.7272631Z adding: test/test-reports/test_cpp_extensions_jit_1.1_1b6794369fceb684_.log (deflated 87%) 2025-03-14T05:48:11.7274205Z adding: test/test-reports/test_native_mha_1.1_a3a6f18e54f95a18_.log (deflated 90%) 2025-03-14T05:48:11.7296990Z adding: test/test-reports/test_tensor_creation_ops_1.1_3051d458e7ffba46_.log (deflated 93%) 2025-03-14T05:48:11.7304608Z adding: test/test-reports/test_sort_and_select_1.1_f5303dfbf618c265_.log (deflated 93%) 2025-03-14T05:48:11.7306561Z adding: test/test-reports/test_dispatch_1.1_724495563006484d_.log (deflated 83%) 2025-03-14T05:48:11.7307715Z adding: test/test-reports/test_cuda_primary_ctx_1.1_60e4720bfada1467_.log (deflated 11%) 2025-03-14T05:48:11.7308759Z adding: test/test-reports/test_multiprocessing_spawn_1.1_a9f5122385d4f669_.log (deflated 82%) 2025-03-14T05:48:11.7323610Z adding: test/test-reports/nn.test_convolution_1.1_3546463a49c82617_.log (deflated 95%) 2025-03-14T05:48:11.7328229Z adding: test/test-reports/nn.test_pooling_1.1_3a5b5ccd2a6e43cd_.log (deflated 87%) 2025-03-14T05:48:11.7329336Z adding: test/test-reports/test_mobile_optimizer_1.1_63ba20070f86bad4_.log (deflated 75%) 2025-03-14T05:48:11.7364925Z adding: test/test-reports/test_nn_1.2_ce62a71fc0bda020_.log (deflated 93%) 2025-03-14T05:48:11.7399115Z adding: test/test-reports/test_nn_2.2_8b01c7e4cae93d5a_.log (deflated 94%) 2025-03-14T05:48:11.7400356Z adding: test/test-reports/test_cuda_nvml_based_avail_1.1_21708d248e318eeb_.log (deflated 11%) 2025-03-14T05:48:11.7401074Z adding: test/test-reports/test_cuda_trace_1.1_7ae58f9ad4b7bc6c_.log (deflated 11%) 2025-03-14T05:48:11.7407338Z adding: test/test-reports/test_spectral_ops_1.1_2cb068aa5cfc25c5_.log (deflated 92%) 2025-03-14T05:48:11.7411054Z adding: test/test-reports/distributions.test_distributions_1.2_2ae01474f93c7b6b_.log (deflated 90%) 2025-03-14T05:48:11.7414389Z adding: test/test-reports/distributions.test_distributions_2.2_47d3f7668ef0564e_.log (deflated 89%) 2025-03-14T05:48:11.7415916Z adding: test/test-reports/test_cpp_extensions_aot_no_ninja_1.1_26319490ba4c5b66_.log (deflated 77%) 2025-03-14T05:48:11.7417392Z adding: test/test-reports/dynamo.test_graph_deduplication_1.1_a71e6752285f0139_.log (stored 0%) 2025-03-14T05:48:11.7418863Z adding: test/test-reports/dynamo.test_structured_trace_1.1_c3e068a494751c3e_.log (stored 0%) 2025-03-14T05:48:11.7420305Z adding: test/test-reports/dynamo.test_fx_passes_pre_grad_1.1_759878a0a9889b26_.log (stored 0%) 2025-03-14T05:48:11.7421689Z adding: test/test-reports/dynamo.test_base_output_1.1_4318624077813706_.log (stored 0%) 2025-03-14T05:48:11.7422398Z adding: test/test-reports/dynamo.test_utils_1.1_42ee86022c7ba612_.log (stored 0%) 2025-03-14T05:48:11.7423379Z adding: test/test-reports/dynamo.test_view_1.1_1b6b1a5fffd4a93f_.log (stored 0%) 2025-03-14T05:48:11.7424656Z adding: test/test-reports/dynamo.test_callback_1.1_0000f5b3a84e4cf8_.log (stored 0%) 2025-03-14T05:48:11.7425907Z adding: test/test-reports/dynamo.test_subgraphs_1.1_de8cafbd515eb151_.log (stored 0%) 2025-03-14T05:48:11.7427205Z adding: test/test-reports/dynamo.test_deviceguard_1.1_71f088ae7184c295_.log (stored 0%) 2025-03-14T05:48:11.7428457Z adding: test/test-reports/dynamo.test_dynamic_shapes_1.1_0cf16b61b2db8849_.log (stored 0%) 2025-03-14T05:48:11.7429802Z adding: test/test-reports/dynamo.test_compile_1.1_b84c89a1d1c3e149_.log (stored 0%) 2025-03-14T05:48:11.7431067Z adding: test/test-reports/dynamo.test_recompiles_1.1_32b71d758baf22d3_.log (stored 0%) 2025-03-14T05:48:11.7431985Z adding: test/test-reports/dynamo.test_decorators_1.1_08a2b21cc8c4e715_.log (stored 0%) 2025-03-14T05:48:11.7432687Z adding: test/test-reports/dynamo.test_base_hop_1.1_237b9cd499e8fa51_.log (stored 0%) 2025-03-14T05:48:11.7433364Z adding: test/test-reports/dynamo.test_global_1.1_4a16528dc953b2e5_.log (stored 0%) 2025-03-14T05:48:11.7434051Z adding: test/test-reports/dynamo.test_debug_utils_1.1_71b76ab124171ff9_.log (stored 0%) 2025-03-14T05:48:11.7434757Z adding: test/test-reports/dynamo.test_exceptions_1.1_f4039b6e1d6fc006_.log (stored 0%) 2025-03-14T05:48:11.7435435Z adding: test/test-reports/dynamo.test_dicts_1.1_45c633d870335266_.log (stored 0%) 2025-03-14T05:48:11.7436129Z adding: test/test-reports/dynamo.test_flat_apply_1.1_57fa86183ba4e761_.log (deflated 39%) 2025-03-14T05:48:11.7436824Z adding: test/test-reports/dynamo.test_resume_1.1_283e4f196b847649_.log (stored 0%) 2025-03-14T05:48:11.7437498Z adding: test/test-reports/dynamo.test_unspec_1.1_e57f8095c73fed48_.log (stored 0%) 2025-03-14T05:48:11.7438212Z adding: test/test-reports/dynamo.test_higher_order_ops_1.1_1a1db7931230823a_.log (stored 0%) 2025-03-14T05:48:11.7439066Z adding: test/test-reports/dynamo.test_torchrec_1.1_ff32137f36f3f07e_.log (stored 0%) 2025-03-14T05:48:11.7439751Z adding: test/test-reports/test_accelerator_1.1_8821c157a0a9549f_.log (deflated 49%) 2025-03-14T05:48:11.7440421Z adding: test/test-reports/dynamo.test_hooks_1.1_e97b0bc319153a26_.log (stored 0%) 2025-03-14T05:48:11.7441106Z adding: test/test-reports/dynamo.test_subclasses_1.1_f120baabc96faf80_.log (stored 0%) 2025-03-14T05:48:11.7441808Z adding: test/test-reports/dynamo.test_repros_1.1_1881e061b4ea21fe_.log (stored 0%) 2025-03-14T05:48:11.7442480Z adding: test/test-reports/dynamo.test_functions_1.1_9440e6123f5a6591_.log (stored 0%) 2025-03-14T05:48:11.7443158Z adding: test/test-reports/dynamo.test_misc_1.1_58c37b2610cb78ea_.log (stored 0%) 2025-03-14T05:48:11.7443917Z adding: test/test-reports/optim.test_swa_utils_1.1_3205c93f51d32d5d_.log (deflated 7%) 2025-03-14T05:48:11.7444684Z adding: test/test-reports/dynamo.test_python_autograd_1.1_edaa905b48ed34b2_.log (stored 0%) 2025-03-14T05:48:11.7445407Z adding: test/test-reports/test_quantization_4.6_a4944d504d07f8e5_.log (deflated 55%) 2025-03-14T05:48:11.7446090Z adding: test/test-reports/cpp.native_test_1.1_2b32d21e3a0a9ac6_.log (deflated 54%) 2025-03-14T05:48:11.7446947Z adding: test/test-reports/cpp.tensor_iterator_test_1.1_d1ed57c6a2767f3c_.log (deflated 88%) 2025-03-14T05:48:11.7447706Z adding: test/test-reports/dynamo.test_fx_passes_pre_grad_1.1_e6f255c700505f47_.log (stored 0%) 2025-03-14T05:48:11.7448466Z adding: test/test-reports/dynamo.test_graph_deduplication_1.1_fd34f748942bfa84_.log (stored 0%) 2025-03-14T05:48:11.7449238Z adding: test/test-reports/dynamo.test_structured_trace_1.1_faba7c883e6d558a_.log (stored 0%) 2025-03-14T05:48:11.7450555Z adding: test/test-reports/dynamo.test_utils_1.1_7c11a76ea56dd4f4_.log (stored 0%) 2025-03-14T05:48:11.7451849Z adding: test/test-reports/dynamo.test_base_output_1.1_01e95ccfe5906ace_.log (stored 0%) 2025-03-14T05:48:11.7453167Z adding: test/test-reports/dynamo.test_view_1.1_a017a73c6becc8fe_.log (stored 0%) 2025-03-14T05:48:11.7454514Z adding: test/test-reports/cpp.undefined_tensor_test_1.1_3696059c1bc69ac0_.log (deflated 50%) 2025-03-14T05:48:11.7455970Z adding: test/test-reports/dynamo.test_callback_1.1_063227832b6ef64f_.log (stored 0%) 2025-03-14T05:48:11.7457299Z adding: test/test-reports/dynamo.test_subgraphs_1.1_eed1a8572ecc36ef_.log (stored 0%) 2025-03-14T05:48:11.7458674Z adding: test/test-reports/dynamo.test_deviceguard_1.1_bc130f3754260089_.log (stored 0%) 2025-03-14T05:48:11.7459470Z adding: test/test-reports/cpp.scalar_tensor_test_1.1_e94655689779ad49_.log (deflated 60%) 2025-03-14T05:48:11.7460618Z adding: test/test-reports/dynamo.test_compile_1.1_984c32ea04e97f9f_.log (stored 0%) 2025-03-14T05:48:11.7461962Z adding: test/test-reports/dynamo.test_recompiles_1.1_b4cd90c752cf6582_.log (stored 0%) 2025-03-14T05:48:11.7463358Z adding: test/test-reports/dynamo.test_dynamic_shapes_1.1_f5fe151f88bc3a99_.log (stored 0%) 2025-03-14T05:48:11.7464726Z adding: test/test-reports/dynamo.test_decorators_1.1_03f024395c1e1f56_.log (stored 0%) 2025-03-14T05:48:11.7465666Z adding: test/test-reports/dynamo.test_global_1.1_7e5ed1b8e7039a7d_.log (stored 0%) 2025-03-14T05:48:11.7466347Z adding: test/test-reports/dynamo.test_base_hop_1.1_0d8b3aeaa416cdd5_.log (stored 0%) 2025-03-14T05:48:11.7467042Z adding: test/test-reports/dynamo.test_debug_utils_1.1_1083097c2422c024_.log (stored 0%) 2025-03-14T05:48:11.7467745Z adding: test/test-reports/dynamo.test_exceptions_1.1_43ca7fe4acc2da08_.log (stored 0%) 2025-03-14T05:48:11.7468432Z adding: test/test-reports/dynamo.test_dicts_1.1_049cdbf95641e589_.log (stored 0%) 2025-03-14T05:48:11.7469128Z adding: test/test-reports/dynamo.test_flat_apply_1.1_5f95ed0c921e5b68_.log (deflated 39%) 2025-03-14T05:48:11.7470186Z adding: test/test-reports/dynamo.test_resume_1.1_9cc2ccf769035ce3_.log (stored 0%) 2025-03-14T05:48:11.7471145Z adding: test/test-reports/dynamo.test_unspec_1.1_b7d2ff57e001fd9b_.log (stored 0%) 2025-03-14T05:48:11.7471841Z adding: test/test-reports/cpp.legacy_vmap_test_1.1_681ffbae38f4e942_.log (deflated 80%) 2025-03-14T05:48:11.7472543Z adding: test/test-reports/cpp.wrapdim_test_1.1_61c17f351752c1fb_.log (deflated 50%) 2025-03-14T05:48:11.7473230Z adding: test/test-reports/dynamo.test_torchrec_1.1_7cd051f9b8d0b77a_.log (stored 0%) 2025-03-14T05:48:11.7473912Z adding: test/test-reports/test_accelerator_1.1_a710193bd30df38e_.log (deflated 49%) 2025-03-14T05:48:11.7474634Z adding: test/test-reports/dynamo.test_higher_order_ops_1.1_b9bcd7f481b34b53_.log (stored 0%) 2025-03-14T05:48:11.7475370Z adding: test/test-reports/cpp.operators_test_1.1_d20619345e6614ac_.log (deflated 60%) 2025-03-14T05:48:11.7476055Z adding: test/test-reports/dynamo.test_hooks_1.1_e4987a98d3df933e_.log (stored 0%) 2025-03-14T05:48:11.7476803Z adding: test/test-reports/dynamo.test_repros_1.1_74d4bfa9bcb01f8b_.log (stored 0%) 2025-03-14T05:48:11.7477533Z adding: test/test-reports/dynamo.test_subclasses_1.1_d25270ada302a97a_.log (stored 0%) 2025-03-14T05:48:11.7478231Z adding: test/test-reports/dynamo.test_functions_1.1_d94442b314f63334_.log (stored 0%) 2025-03-14T05:48:11.7478905Z adding: test/test-reports/dynamo.test_misc_1.1_7617d30662007868_.log (stored 0%) 2025-03-14T05:48:11.7479581Z adding: test/test-reports/optim.test_swa_utils_1.1_a9590a7e7c414737_.log (deflated 7%) 2025-03-14T05:48:11.7480313Z adding: test/test-reports/dynamo.test_python_autograd_1.1_236290a7db6994d4_.log (stored 0%) 2025-03-14T05:48:11.7481050Z adding: test/test-reports/test_quantization_4.6_0540c054832b5067_.log (deflated 89%) 2025-03-14T05:48:11.7481725Z adding: test/test-reports/cpp.Dict_test_1.1_7d6dec31406673eb_.log (deflated 49%) 2025-03-14T05:48:11.7482401Z adding: test/test-reports/cpp.Dimname_test_1.1_c77ec69c77087562_.log (deflated 49%) 2025-03-14T05:48:11.7483108Z adding: test/test-reports/cpp.NamedTensor_test_1.1_a0e089e43752440f_.log (deflated 49%) 2025-03-14T05:48:11.7483832Z adding: test/test-reports/cpp.apply_utils_test_1.1_0281df0d5ad4195c_.log (deflated 49%) 2025-03-14T05:48:11.7484499Z adding: test/test-reports/cpp.atest_1.1_d2055f28b7ce353a_.log (deflated 49%) 2025-03-14T05:48:11.7485130Z adding: test/test-reports/cpp.basic_1.1_039dd1d7067197cc_.log (deflated 49%) 2025-03-14T05:48:11.7485792Z adding: test/test-reports/cpp.broadcast_test_1.1_11528acb8f74de43_.log (deflated 49%) 2025-03-14T05:48:11.7486509Z adding: test/test-reports/cpp.cpu_generator_test_1.1_ba67f471a4fb2457_.log (deflated 49%) 2025-03-14T05:48:11.7487258Z adding: test/test-reports/cpp.dlconvertor_test_1.1_05021fa200901cc0_.log (deflated 49%) 2025-03-14T05:48:11.7488013Z adding: test/test-reports/cpp.extension_backend_test_1.1_202aec0f55e4c19c_.log (deflated 49%) 2025-03-14T05:48:11.7488764Z adding: test/test-reports/cpp.lazy_tensor_test_1.1_d9db0d01e86a6083_.log (deflated 48%) 2025-03-14T05:48:11.7489459Z adding: test/test-reports/cpp.legacy_vmap_test_1.1_56e6a1305573028e_.log (deflated 49%) 2025-03-14T05:48:11.7490158Z adding: test/test-reports/cpp.native_test_1.1_da325231011d05c3_.log (deflated 48%) 2025-03-14T05:48:11.7490850Z adding: test/test-reports/cpp.operators_test_1.1_f6e0fa5b61909324_.log (deflated 49%) 2025-03-14T05:48:11.7491571Z adding: test/test-reports/cpp.scalar_tensor_test_1.1_84ff70b63b6252c9_.log (deflated 49%) 2025-03-14T05:48:11.7492275Z adding: test/test-reports/cpp.scalar_test_1.1_40b8b822635d6101_.log (deflated 49%) 2025-03-14T05:48:11.7492997Z adding: test/test-reports/cpp.tensor_iterator_test_1.1_419ccbb9f7af01b5_.log (deflated 49%) 2025-03-14T05:48:11.7493756Z adding: test/test-reports/cpp.undefined_tensor_test_1.1_740851c4c7ab514a_.log (deflated 49%) 2025-03-14T05:48:11.7494480Z adding: test/test-reports/cpp.wrapdim_test_1.1_139e1b0555c3fe2f_.log (deflated 49%) 2025-03-14T05:48:11.7495174Z adding: test/test-reports/cpp.Dimname_test_1.1_bb7acd86e11b90e2_.log (deflated 59%) 2025-03-14T05:48:11.7496032Z adding: test/test-reports/cpp.NamedTensor_test_1.1_b4d42aa4328fadb4_.log (deflated 71%) 2025-03-14T05:48:11.7496728Z adding: test/test-reports/cpp.Dict_test_1.1_5f8e0c81b63d9519_.log (deflated 84%) 2025-03-14T05:48:11.7497409Z adding: test/test-reports/cpp.apply_utils_test_1.1_641854133becb50f_.log (deflated 65%) 2025-03-14T05:48:11.7498254Z adding: test/test-reports/cpp.atest_1.1_077fe7263a8c3b57_.log (deflated 72%) 2025-03-14T05:48:11.7498888Z adding: test/test-reports/cpp.basic_1.1_15d5ffc9bc7b9f1d_.log (deflated 61%) 2025-03-14T05:48:11.7499558Z adding: test/test-reports/cpp.broadcast_test_1.1_1862fc1ebf21aed9_.log (deflated 50%) 2025-03-14T05:48:11.7500266Z adding: test/test-reports/cpp.lazy_tensor_test_1.1_679663ee8f166a06_.log (deflated 54%) 2025-03-14T05:48:11.7500981Z adding: test/test-reports/cpp.cpu_generator_test_1.1_8367c8d6b33ae4b2_.log (deflated 78%) 2025-03-14T05:48:11.7501856Z adding: test/test-reports/cpp.dlconvertor_test_1.1_064d483cb030297d_.log (deflated 56%) 2025-03-14T05:48:11.7502647Z adding: test/test-reports/cpp.extension_backend_test_1.1_6c308eca762b1857_.log (deflated 50%) 2025-03-14T05:48:11.7503376Z adding: test/test-reports/cpp.scalar_test_1.1_f5b5d45d8eaceff0_.log (deflated 59%) 2025-03-14T05:48:11.7528953Z ##[group]Run # Remove any previous debugging artifacts if they exist 2025-03-14T05:48:11.7529522Z # Remove any previous debugging artifacts if they exist 2025-03-14T05:48:11.7529955Z rm -f debug-*.zip 2025-03-14T05:48:11.7530268Z if [ -d 'test/debug' ]; then 2025-03-14T05:48:11.7530654Z  zip -r "debug-${FILE_SUFFIX}.zip" test/debug 2025-03-14T05:48:11.7531025Z fi 2025-03-14T05:48:11.7536727Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T05:48:11.7537134Z env: 2025-03-14T05:48:11.7537377Z GIT_DEFAULT_BRANCH: main 2025-03-14T05:48:11.7537879Z DOCKER_CONTAINER_ID: 7050659e24a93ef76815bc43b96964165e9001a9eee2b0060d56f8d483e87007 2025-03-14T05:48:11.7538526Z FILE_SUFFIX: test-dynamo_wrapped-1-3-lf.linux.2xlarge_38754600544 2025-03-14T05:48:11.7538954Z ##[endgroup] 2025-03-14T05:48:11.7618119Z ##[group]Run seemethere/upload-artifact-s3@v5 2025-03-14T05:48:11.7618484Z with: 2025-03-14T05:48:11.7618720Z s3-bucket: gha-artifacts 2025-03-14T05:48:11.7619070Z s3-prefix: pytorch/pytorch/13849515290/1/artifact 2025-03-14T05:48:11.7619448Z retention-days: 14 2025-03-14T05:48:11.7619730Z if-no-files-found: warn 2025-03-14T05:48:11.7620024Z path: test-jsons-*.zip 2025-03-14T05:48:11.7620309Z name: artifact 2025-03-14T05:48:11.7620557Z region: us-east-1 2025-03-14T05:48:11.7620804Z env: 2025-03-14T05:48:11.7621035Z GIT_DEFAULT_BRANCH: main 2025-03-14T05:48:11.7621512Z DOCKER_CONTAINER_ID: 7050659e24a93ef76815bc43b96964165e9001a9eee2b0060d56f8d483e87007 2025-03-14T05:48:11.7622025Z ##[endgroup] 2025-03-14T05:48:12.1210483Z NOTE: s3-prefix specified, ignoring name parameter 2025-03-14T05:48:12.1211221Z With the provided path, there will be 1 file uploaded 2025-03-14T05:48:12.1211900Z Uploading to s3 prefix: pytorch/pytorch/13849515290/1/artifact 2025-03-14T05:48:12.1309862Z Starting upload of test-jsons-test-dynamo_wrapped-1-3-lf.linux.2xlarge_38754600544.zip 2025-03-14T05:48:12.2463499Z Finished upload of test-jsons-test-dynamo_wrapped-1-3-lf.linux.2xlarge_38754600544.zip 2025-03-14T05:48:12.2654528Z ##[group]Run seemethere/upload-artifact-s3@v5 2025-03-14T05:48:12.2654896Z with: 2025-03-14T05:48:12.2655140Z s3-bucket: gha-artifacts 2025-03-14T05:48:12.2655490Z s3-prefix: pytorch/pytorch/13849515290/1/artifact 2025-03-14T05:48:12.2655986Z retention-days: 14 2025-03-14T05:48:12.2656269Z if-no-files-found: error 2025-03-14T05:48:12.2656570Z path: test-reports-*.zip 2025-03-14T05:48:12.2656860Z name: artifact 2025-03-14T05:48:12.2657102Z region: us-east-1 2025-03-14T05:48:12.2657364Z env: 2025-03-14T05:48:12.2657600Z GIT_DEFAULT_BRANCH: main 2025-03-14T05:48:12.2658094Z DOCKER_CONTAINER_ID: 7050659e24a93ef76815bc43b96964165e9001a9eee2b0060d56f8d483e87007 2025-03-14T05:48:12.2658718Z ##[endgroup] 2025-03-14T05:48:12.5903156Z NOTE: s3-prefix specified, ignoring name parameter 2025-03-14T05:48:12.5903666Z With the provided path, there will be 1 file uploaded 2025-03-14T05:48:12.5904154Z Uploading to s3 prefix: pytorch/pytorch/13849515290/1/artifact 2025-03-14T05:48:12.5943287Z Starting upload of test-reports-test-dynamo_wrapped-1-3-lf.linux.2xlarge_38754600544.zip 2025-03-14T05:48:12.8205372Z Finished upload of test-reports-test-dynamo_wrapped-1-3-lf.linux.2xlarge_38754600544.zip 2025-03-14T05:48:12.8391884Z ##[group]Run seemethere/upload-artifact-s3@v5 2025-03-14T05:48:12.8392259Z with: 2025-03-14T05:48:12.8392504Z s3-bucket: gha-artifacts 2025-03-14T05:48:12.8392855Z s3-prefix: pytorch/pytorch/13849515290/1/artifact 2025-03-14T05:48:12.8393235Z retention-days: 14 2025-03-14T05:48:12.8393516Z if-no-files-found: ignore 2025-03-14T05:48:12.8393960Z path: logs-*.zip 2025-03-14T05:48:12.8394216Z name: artifact 2025-03-14T05:48:12.8394535Z region: us-east-1 2025-03-14T05:48:12.8394784Z env: 2025-03-14T05:48:12.8395017Z GIT_DEFAULT_BRANCH: main 2025-03-14T05:48:12.8395497Z DOCKER_CONTAINER_ID: 7050659e24a93ef76815bc43b96964165e9001a9eee2b0060d56f8d483e87007 2025-03-14T05:48:12.8396010Z ##[endgroup] 2025-03-14T05:48:13.1646400Z NOTE: s3-prefix specified, ignoring name parameter 2025-03-14T05:48:13.1646910Z With the provided path, there will be 1 file uploaded 2025-03-14T05:48:13.1647388Z Uploading to s3 prefix: pytorch/pytorch/13849515290/1/artifact 2025-03-14T05:48:13.1685796Z Starting upload of logs-test-dynamo_wrapped-1-3-lf.linux.2xlarge_38754600544.zip 2025-03-14T05:48:13.3583483Z Finished upload of logs-test-dynamo_wrapped-1-3-lf.linux.2xlarge_38754600544.zip 2025-03-14T05:48:13.3766687Z ##[group]Run seemethere/upload-artifact-s3@v5 2025-03-14T05:48:13.3767052Z with: 2025-03-14T05:48:13.3767292Z s3-bucket: gha-artifacts 2025-03-14T05:48:13.3767657Z s3-prefix: pytorch/pytorch/13849515290/1/artifact 2025-03-14T05:48:13.3768042Z retention-days: 14 2025-03-14T05:48:13.3768314Z if-no-files-found: ignore 2025-03-14T05:48:13.3768603Z path: debug-*.zip 2025-03-14T05:48:13.3768852Z name: artifact 2025-03-14T05:48:13.3769084Z region: us-east-1 2025-03-14T05:48:13.3769325Z env: 2025-03-14T05:48:13.3769555Z GIT_DEFAULT_BRANCH: main 2025-03-14T05:48:13.3770033Z DOCKER_CONTAINER_ID: 7050659e24a93ef76815bc43b96964165e9001a9eee2b0060d56f8d483e87007 2025-03-14T05:48:13.3770542Z ##[endgroup] 2025-03-14T05:48:13.6954094Z No files were found with the provided path: debug-*.zip. No artifacts will be uploaded. 2025-03-14T05:48:13.7153171Z ##[group]Run # shellcheck disable=SC2156 2025-03-14T05:48:13.7153583Z # shellcheck disable=SC2156 2025-03-14T05:48:13.7154197Z find . -iname "core.[1-9]*" -exec docker exec "${DOCKER_CONTAINER_ID}" sh -c "gdb python {} -ex 'bt' -ex 'q'" \; 2025-03-14T05:48:13.7161097Z shell: /usr/bin/bash -e {0} 2025-03-14T05:48:13.7161399Z env: 2025-03-14T05:48:13.7161623Z GIT_DEFAULT_BRANCH: main 2025-03-14T05:48:13.7162124Z DOCKER_CONTAINER_ID: 7050659e24a93ef76815bc43b96964165e9001a9eee2b0060d56f8d483e87007 2025-03-14T05:48:13.7162636Z ##[endgroup] 2025-03-14T05:48:13.9540229Z Prepare all required actions 2025-03-14T05:48:13.9540670Z Getting action download info 2025-03-14T05:48:14.0509282Z ##[group]Run ./.github/actions/upload-utilization-stats 2025-03-14T05:48:14.0509694Z with: 2025-03-14T05:48:14.0509925Z job_id: 38754600544 2025-03-14T05:48:14.0510379Z job_name: linux-focal-py3.13-clang10 / test (dynamo_wrapped, 1, 3, lf.linux.2xlarge) 2025-03-14T05:48:14.0510897Z workflow_name: pull 2025-03-14T05:48:14.0511184Z workflow_run_id: 13849515290 2025-03-14T05:48:14.0511502Z workflow_attempt: 1 2025-03-14T05:48:14.0511769Z env: 2025-03-14T05:48:14.0512011Z GIT_DEFAULT_BRANCH: main 2025-03-14T05:48:14.0512499Z DOCKER_CONTAINER_ID: 7050659e24a93ef76815bc43b96964165e9001a9eee2b0060d56f8d483e87007 2025-03-14T05:48:14.0513019Z ##[endgroup] 2025-03-14T05:48:14.1098438Z ##[group]Run echo "workflow_id: 13849515290" 2025-03-14T05:48:14.1098934Z echo "workflow_id: 13849515290" 2025-03-14T05:48:14.1099328Z echo "workflow_attempt: 1" 2025-03-14T05:48:14.1099670Z echo "workflow_Name: pull" 2025-03-14T05:48:14.1099994Z echo "job_id: 38754600544" 2025-03-14T05:48:14.1100541Z echo "job_name: linux-focal-py3.13-clang10 / test (dynamo_wrapped, 1, 3, lf.linux.2xlarge)" 2025-03-14T05:48:14.1106432Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T05:48:14.1106836Z env: 2025-03-14T05:48:14.1107079Z GIT_DEFAULT_BRANCH: main 2025-03-14T05:48:14.1107564Z DOCKER_CONTAINER_ID: 7050659e24a93ef76815bc43b96964165e9001a9eee2b0060d56f8d483e87007 2025-03-14T05:48:14.1108085Z ##[endgroup] 2025-03-14T05:48:14.1131199Z workflow_id: 13849515290 2025-03-14T05:48:14.1131543Z workflow_attempt: 1 2025-03-14T05:48:14.1131807Z workflow_Name: pull 2025-03-14T05:48:14.1132147Z job_id: 38754600544 2025-03-14T05:48:14.1132624Z job_name: linux-focal-py3.13-clang10 / test (dynamo_wrapped, 1, 3, lf.linux.2xlarge) 2025-03-14T05:48:14.1176602Z ##[group]Run nick-fields/retry@v3.0.0 2025-03-14T05:48:14.1176950Z with: 2025-03-14T05:48:14.1177178Z shell: bash 2025-03-14T05:48:14.1177423Z timeout_minutes: 5 2025-03-14T05:48:14.1177685Z max_attempts: 5 2025-03-14T05:48:14.1177945Z retry_wait_seconds: 30 2025-03-14T05:48:14.1178430Z command: set -eu python3 -m pip install python-dateutil==2.8.2 boto3==1.35.42 pandas==2.1.3 2025-03-14T05:48:14.1178965Z polling_interval_seconds: 1 2025-03-14T05:48:14.1179268Z warning_on_retry: true 2025-03-14T05:48:14.1179551Z continue_on_error: false 2025-03-14T05:48:14.1179827Z env: 2025-03-14T05:48:14.1180056Z GIT_DEFAULT_BRANCH: main 2025-03-14T05:48:14.1180529Z DOCKER_CONTAINER_ID: 7050659e24a93ef76815bc43b96964165e9001a9eee2b0060d56f8d483e87007 2025-03-14T05:48:14.1181037Z ##[endgroup] 2025-03-14T05:48:14.4453302Z Defaulting to user installation because normal site-packages is not writeable 2025-03-14T05:48:14.5261176Z Collecting python-dateutil==2.8.2 2025-03-14T05:48:14.5493658Z Downloading python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB) 2025-03-14T05:48:15.5105633Z Collecting boto3==1.35.42 2025-03-14T05:48:15.5163914Z Using cached boto3-1.35.42-py3-none-any.whl (139 kB) 2025-03-14T05:48:16.0278471Z Collecting pandas==2.1.3 2025-03-14T05:48:16.0348580Z Downloading pandas-2.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.3 MB) 2025-03-14T05:48:16.1866616Z Requirement already satisfied: six>=1.5 in /usr/lib/python3.9/site-packages (from python-dateutil==2.8.2) (1.15.0) 2025-03-14T05:48:16.1914723Z Requirement already satisfied: botocore<1.36.0,>=1.35.42 in /home/ec2-user/.local/lib/python3.9/site-packages (from boto3==1.35.42) (1.35.99) 2025-03-14T05:48:16.1919644Z Requirement already satisfied: jmespath<2.0.0,>=0.7.1 in /usr/lib/python3.9/site-packages (from boto3==1.35.42) (0.10.0) 2025-03-14T05:48:16.1926252Z Requirement already satisfied: s3transfer<0.11.0,>=0.10.0 in /home/ec2-user/.local/lib/python3.9/site-packages (from boto3==1.35.42) (0.10.4) 2025-03-14T05:48:16.2555204Z Requirement already satisfied: pytz>=2020.1 in /usr/lib/python3.9/site-packages (from pandas==2.1.3) (2022.7.1) 2025-03-14T05:48:16.2878487Z Collecting tzdata>=2022.1 2025-03-14T05:48:16.2915339Z Downloading tzdata-2025.1-py2.py3-none-any.whl (346 kB) 2025-03-14T05:48:17.1053974Z Collecting numpy<2,>=1.22.4 2025-03-14T05:48:17.1095694Z Downloading numpy-1.26.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.2 MB) 2025-03-14T05:48:17.3167372Z Requirement already satisfied: urllib3<1.27,>=1.25.4 in /usr/lib/python3.9/site-packages (from botocore<1.36.0,>=1.35.42->boto3==1.35.42) (1.25.10) 2025-03-14T05:48:17.4855280Z Installing collected packages: python-dateutil, tzdata, numpy, pandas, boto3 2025-03-14T05:48:22.4260467Z Attempting uninstall: boto3 2025-03-14T05:48:22.4261119Z Found existing installation: boto3 1.35.33 2025-03-14T05:48:22.4368265Z Uninstalling boto3-1.35.33: 2025-03-14T05:48:22.4393524Z Successfully uninstalled boto3-1.35.33 2025-03-14T05:48:22.5140080Z Successfully installed boto3-1.35.42 numpy-1.26.4 pandas-2.1.3 python-dateutil-2.8.2 tzdata-2025.1 2025-03-14T05:48:23.2001626Z Command completed after 1 attempt(s). 2025-03-14T05:48:23.2054517Z ##[group]Run python3 -m tools.stats.upload_utilization_stats.upload_utilization_stats \ 2025-03-14T05:48:23.2055246Z python3 -m tools.stats.upload_utilization_stats.upload_utilization_stats \ 2025-03-14T05:48:23.2055892Z  --workflow-run-id "13849515290" \ 2025-03-14T05:48:23.2056258Z  --workflow-name "pull" \ 2025-03-14T05:48:23.2056609Z  --workflow-run-attempt "1" \ 2025-03-14T05:48:23.2056953Z  --job-id "38754600544" \ 2025-03-14T05:48:23.2057589Z  --job-name "linux-focal-py3.13-clang10 / test (dynamo_wrapped, 1, 3, lf.linux.2xlarge)" 2025-03-14T05:48:23.2063929Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T05:48:23.2064387Z env: 2025-03-14T05:48:23.2064758Z GIT_DEFAULT_BRANCH: main 2025-03-14T05:48:23.2065317Z DOCKER_CONTAINER_ID: 7050659e24a93ef76815bc43b96964165e9001a9eee2b0060d56f8d483e87007 2025-03-14T05:48:23.2065841Z ##[endgroup] 2025-03-14T05:48:24.8865190Z repo: pytorch/pytorch 2025-03-14T05:48:24.8865706Z Downloading logs-test-dynamo_wrapped-1-3-lf.linux.2xlarge_38754600544.zip 2025-03-14T05:48:24.8866222Z Converted Log Model: UtilizationMetadata: 2025-03-14T05:48:24.8867597Z UtilizationMetadata(level='metadata', workflow_id='13849515290', job_id='38754600544', workflow_name='pull', job_name='linux-focal-py3.13-clang10 / test (dynamo_wrapped, 1, 3, lf.linux.2xlarge)', usage_collect_interval=1.0, data_model_version=1.0, start_at=1741925226, gpu_count=0, cpu_count=8, gpu_type='', error=None) 2025-03-14T05:48:24.8869052Z [Db Segments] detected pytest cmd: 12, generated segments: 12 2025-03-14T05:48:24.8869475Z [db model] Peek db timeseries 2025-03-14T05:48:24.8869763Z :{ 2025-03-14T05:48:24.8869989Z "created_at": 1741931304, 2025-03-14T05:48:24.8870318Z "type": "utilization", 2025-03-14T05:48:24.8870594Z "tags": [ 2025-03-14T05:48:24.8870831Z "record" 2025-03-14T05:48:24.8871081Z ], 2025-03-14T05:48:24.8871312Z "time_stamp": 1741925226, 2025-03-14T05:48:24.8871614Z "repo": "pytorch/pytorch", 2025-03-14T05:48:24.8871913Z "workflow_id": 13849515290, 2025-03-14T05:48:24.8872203Z "run_attempt": 1, 2025-03-14T05:48:24.8872456Z "job_id": 38754600544, 2025-03-14T05:48:24.8872741Z "workflow_name": "pull", 2025-03-14T05:48:24.8873222Z "job_name": "linux-focal-py3.13-clang10 / test (dynamo_wrapped, 1, 3, lf.linux.2xlarge)", 2025-03-14T05:48:24.8873731Z "json_data": "{}" 2025-03-14T05:48:24.8873983Z } 2025-03-14T05:48:24.8874504Z Writing 1 documents to S3 ossci-utilization/util_metadata/v_1.0/pytorch/pytorch/13849515290/1/38754600544/metadata 2025-03-14T05:48:24.8875485Z Done! Finish writing document to S3 ossci-utilization/util_metadata/v_1.0/pytorch/pytorch/13849515290/1/38754600544/metadata 2025-03-14T05:48:24.8876491Z Writing 1206 documents to S3 ossci-utilization/util_timeseries/v_1.0/pytorch/pytorch/13849515290/1/38754600544/time_series 2025-03-14T05:48:24.8877845Z Done! Finish writing document to S3 ossci-utilization/util_timeseries/v_1.0/pytorch/pytorch/13849515290/1/38754600544/time_series 2025-03-14T05:48:24.9970155Z ##[group]Run pytorch/test-infra/.github/actions/teardown-linux@main 2025-03-14T05:48:24.9970615Z with: 2025-03-14T05:48:24.9970838Z env: 2025-03-14T05:48:24.9971073Z GIT_DEFAULT_BRANCH: main 2025-03-14T05:48:24.9971565Z DOCKER_CONTAINER_ID: 7050659e24a93ef76815bc43b96964165e9001a9eee2b0060d56f8d483e87007 2025-03-14T05:48:24.9972075Z ##[endgroup] 2025-03-14T05:48:24.9992175Z ##[group]Run set -eou pipefail 2025-03-14T05:48:24.9992519Z set -eou pipefail 2025-03-14T05:48:24.9992806Z  2025-03-14T05:48:24.9993194Z echo "Holding runner for 2 hours until all ssh sessions have logged out" 2025-03-14T05:48:24.9993683Z for _ in $(seq 1440); do 2025-03-14T05:48:24.9994137Z  # Break if no ssh session exists anymore 2025-03-14T05:48:24.9994517Z  if [ "$(who)" = "" ]; then 2025-03-14T05:48:24.9994838Z  break 2025-03-14T05:48:24.9995092Z  fi 2025-03-14T05:48:24.9995372Z  echo "." 2025-03-14T05:48:24.9995636Z  sleep 5 2025-03-14T05:48:24.9995898Z done 2025-03-14T05:48:25.0001852Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T05:48:25.0002256Z env: 2025-03-14T05:48:25.0002495Z GIT_DEFAULT_BRANCH: main 2025-03-14T05:48:25.0002974Z DOCKER_CONTAINER_ID: 7050659e24a93ef76815bc43b96964165e9001a9eee2b0060d56f8d483e87007 2025-03-14T05:48:25.0003482Z ##[endgroup] 2025-03-14T05:48:25.0026115Z Holding runner for 2 hours until all ssh sessions have logged out 2025-03-14T05:48:25.0091093Z ##[group]Run # ignore expansion of "docker ps -q" since it could be empty 2025-03-14T05:48:25.0091688Z # ignore expansion of "docker ps -q" since it could be empty 2025-03-14T05:48:25.0092230Z # shellcheck disable=SC2046 2025-03-14T05:48:25.0092594Z docker stop $(docker ps -q) || true 2025-03-14T05:48:25.0092969Z # Prune all of the docker images 2025-03-14T05:48:25.0093323Z docker system prune -af 2025-03-14T05:48:25.0099037Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T05:48:25.0099445Z env: 2025-03-14T05:48:25.0099688Z GIT_DEFAULT_BRANCH: main 2025-03-14T05:48:25.0100173Z DOCKER_CONTAINER_ID: 7050659e24a93ef76815bc43b96964165e9001a9eee2b0060d56f8d483e87007 2025-03-14T05:48:25.0100690Z ##[endgroup] 2025-03-14T05:48:25.8933199Z 7050659e24a9 2025-03-14T05:48:26.4510192Z Deleted Containers: 2025-03-14T05:48:26.4510656Z 7050659e24a93ef76815bc43b96964165e9001a9eee2b0060d56f8d483e87007 2025-03-14T05:48:26.4510996Z 2025-03-14T05:48:33.8766674Z Deleted Images: 2025-03-14T05:48:33.8767562Z untagged: 308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-focal-py3.13-clang10:aa89d6e739080d90fa18625d57297c6734465849 2025-03-14T05:48:33.8768984Z untagged: 308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-focal-py3.13-clang10@sha256:f3d6a3edfcad1af24cc8a256a5d3fd25be79458006d512d917d0ff8916c757ad 2025-03-14T05:48:33.8770076Z deleted: sha256:15123f02dc5fec3ea10360b1638dd75185500be8f3066081ab6efeae68fe77ab 2025-03-14T05:48:33.8770749Z deleted: sha256:23e3ecf730aa12747d5bb6c9d6314442755b32bde7f5bc2fab6e69780c78542b 2025-03-14T05:48:33.8771411Z deleted: sha256:4788888d016228d04dc2e7c8a9ca9aeeca346f78f6f10d522edb5a4cf3680d42 2025-03-14T05:48:33.8772087Z deleted: sha256:d0c90bfb579a89ed13fdd81db3df42f85a486765fcf8de2d2f9f48209896d64c 2025-03-14T05:48:33.8772770Z deleted: sha256:4f3ed7fbcaa3c2c49d7f06eb76e29098625a2240681dd689cb26baffd5b1f4d8 2025-03-14T05:48:33.8773449Z deleted: sha256:9013bdfe3ceec206960525213a042c43c21042a9a1cce3fcff11e35c01d66d83 2025-03-14T05:48:33.8774130Z deleted: sha256:eae278ece4946d7dff3bd5b3b6c6579d1357e9eadf8af6bf6aaaf1b616398df0 2025-03-14T05:48:33.8774815Z deleted: sha256:db0a696992546e9178d7d6e7033b7bdd55e2ca9617aefdb317c924ecccc4ab21 2025-03-14T05:48:33.8775474Z deleted: sha256:8470317766a40e8c622c35e5d36c6387912c9b108e8782f58360e7e7f2e52436 2025-03-14T05:48:33.8776522Z deleted: sha256:41ff320da2311ba7f8dc78ff874b7a530e4727c8248538d7a707d1d0e6d4e555 2025-03-14T05:48:33.8777204Z deleted: sha256:d71af8dc0b8f9f592238c59d11e4b2a777bb9731decaad68b7627ea4b73848e0 2025-03-14T05:48:33.8777882Z deleted: sha256:27fc4f3d063729b4a3f6554ab47b05e583bb89d835dafe622b0aed1819cffd00 2025-03-14T05:48:33.8778552Z deleted: sha256:fc35ffd1368e6e46e47706756bdddaf3233d210ae6481840392c7bbb209b2edd 2025-03-14T05:48:33.8779227Z deleted: sha256:4b3630b93ecf95f739d35a504d73ec6d1cc019b5eea0fab16ee62621cfedf472 2025-03-14T05:48:33.8779911Z deleted: sha256:5e589cc522f362bf1aedd535fefd5a5d18c8ed89e11bb21b57b1ba88cb6f5cb7 2025-03-14T05:48:33.8780598Z deleted: sha256:2fe53ec1d67f81bb7305bf66157fbc533ee7dedae0415d8cce5cc63039e3c576 2025-03-14T05:48:33.8781268Z deleted: sha256:fffa175a5d1964952aa8757d9324017642c81359f9b6874469694859f7f873c4 2025-03-14T05:48:33.8781986Z deleted: sha256:53654e09d3a8abaddfea4775912223e69845f2da39426c869007b09654bc4257 2025-03-14T05:48:33.8782646Z deleted: sha256:976350d5416eb55e42888be4abbc99b0b1c0945761384aab6725f31a9c0a199b 2025-03-14T05:48:33.8783317Z deleted: sha256:5d6617bf486b035aaa9a3edae018e974f14a26249a6cdf34558b17c2ae0b1196 2025-03-14T05:48:33.8783982Z deleted: sha256:1080bae514cb0957a18ffd1ea4092449c0c4210892125165ec555aac30f55397 2025-03-14T05:48:33.8784650Z deleted: sha256:eaba43ac0491f5529b54b316d6f77661592a1f76a1670ba03a8f6f1d6066fa44 2025-03-14T05:48:33.8785322Z deleted: sha256:3c0766a009d5410d2f8f1c040d7c60cdef9efc21cfe1e308124c5b1b28f10a03 2025-03-14T05:48:33.8785990Z deleted: sha256:18afc75efbf4174402698d388f84186c4c1377673b55bd2ab17cb0b3c7d072d3 2025-03-14T05:48:33.8786655Z deleted: sha256:47e6b8c778e4fba2995681c8335e352c0cbad812f5fbdfee382f6588de569dd4 2025-03-14T05:48:33.8787335Z deleted: sha256:f15badcbbf2d6e1169c057f6e54ce169dd1e8bfb4fcf935dd10b6d1b05c9cafc 2025-03-14T05:48:33.8788077Z deleted: sha256:7d0cfa0016048ac9f829b040f4ceed674b7ab9e63872b1aa8541e358d2dfc95e 2025-03-14T05:48:33.8788744Z deleted: sha256:3e0c4fabaebd496a63917bd33b86f7185fa27883882b3174d05bf6b53265d68a 2025-03-14T05:48:33.8789419Z deleted: sha256:df7d4e1e7f670611c0ae8b9ff2a65308842ecb70c30b34f6bc6be66f303f5413 2025-03-14T05:48:33.8790084Z deleted: sha256:254785e0e212f796c31ae07444b5fe023d13b12b9b3a3c1d46cc01ad3c6ecab0 2025-03-14T05:48:33.8790742Z deleted: sha256:0dde16118ff2e4225de23f82577e9230f6c0e71c9a4802481f120fdba4c08777 2025-03-14T05:48:33.8791409Z deleted: sha256:248dccea51af67edc7b3e2516a97f493f8cc01b27af0951a62287438f88d0582 2025-03-14T05:48:33.8792075Z deleted: sha256:526c3b5fd2fad125e12e94b27627a7a8117eca020a0e167a4c1666f02d9b86e3 2025-03-14T05:48:33.8792742Z deleted: sha256:9af29ed3d90b467d2ba9e4832c97cbcdf0438b510c89aeb81a9bc0e94c5a4484 2025-03-14T05:48:33.8793409Z deleted: sha256:71a9c463b99539a8044ebe503dc8e6d6e0657f70d18e517493b7c4c5c1a5e188 2025-03-14T05:48:33.8794078Z deleted: sha256:25ba94f448b80efa149b95c70b6423505fda3f853bd80cf6e9d7db50131b3681 2025-03-14T05:48:33.8794733Z deleted: sha256:a389992439b73ea65ed3e9d5dcbb693990e7dcd9aed5cb9608d127a181041c8c 2025-03-14T05:48:33.8795401Z deleted: sha256:6409708e06323ebdc1e31825a8bbd0375bf48e6d38f171908d28c4ab8e96c930 2025-03-14T05:48:33.8809027Z deleted: sha256:39abfa42caa142639c81407ddd2a3cb78f9d3868dcb260509c5c2e4c5d194804 2025-03-14T05:48:33.8809870Z deleted: sha256:a5f1d55b4e95ae4cbbbbc2ff8dcd3ce5fb5c994f8abb5afc2dc00b83c8f63a51 2025-03-14T05:48:33.8810564Z deleted: sha256:e9ab670d43e767f81cf637be3ba726d5f19bfccd71be1c517e49cd3002e41672 2025-03-14T05:48:33.8811251Z deleted: sha256:9d6f7a0a4f4be2d8b8e4eeac0dd367cb835375b6fa6d13865b8627d17f9cf92f 2025-03-14T05:48:33.8811940Z deleted: sha256:6ec48c14f7da5cc0600d6b5bf9e4b47dc1e5cd222b7ef718300e426a4be96a4f 2025-03-14T05:48:33.8812617Z deleted: sha256:bc29007aadd9527ea838c5bcd540a92754a429af57768992272b0c1db5dd8d3c 2025-03-14T05:48:33.8813316Z deleted: sha256:fe649de1941ebf58cc097666ad26156b99e6cd860ebaf837c5ab54a3a0dde985 2025-03-14T05:48:33.8813987Z deleted: sha256:761196086ebfc3581c73bd27e861c349a6a05f5e1c6ad5df44679331b519f8dd 2025-03-14T05:48:33.8814662Z deleted: sha256:fe760e8d8918ca4ac8a8eff81ff744b113fb22b990f29ec56ecb2deeded69e53 2025-03-14T05:48:33.8815625Z deleted: sha256:cfa8dd91841d4567ca8938037e044e3542150830eacfa552febef6f02742e11b 2025-03-14T05:48:33.8816301Z deleted: sha256:03b272786cbbc7e270417ff13837636194c31e634cf1cb3245a15bc9dac6ba7f 2025-03-14T05:48:33.8816961Z deleted: sha256:257d9e9436d0bc557e22995a4adff589395b3dc087a97e41acd3c09802da3adb 2025-03-14T05:48:33.8817624Z deleted: sha256:870d17db2305ed99836f39afd64d33006899d3977b806dd37a027ea2046fac48 2025-03-14T05:48:33.8818288Z deleted: sha256:cbcc0b8f8115b7750bbd0991dd16130366003c909dbdcd0fd823d0a9e31a59ee 2025-03-14T05:48:33.8818962Z deleted: sha256:72c03502a37eb8b913f6eb3ba2fe79a231b597a32f65b6533c63598bd0b0bf5a 2025-03-14T05:48:33.8819624Z deleted: sha256:02e062566687c2691b6c35bfc545cbb4c9e5b46a846d980824d78fb98dc429c9 2025-03-14T05:48:33.8820336Z deleted: sha256:74a54c677674c4e7531cba1c4e3258c65740d2c4b60343d1c6d6d51b32e2937a 2025-03-14T05:48:33.8820999Z deleted: sha256:e45b056c14390e68bfe5b8bb3050c753cf0f5d202b270a7352aac4fad8f29da8 2025-03-14T05:48:33.8821674Z deleted: sha256:8bb7ca4ff83d287f53c2d6933c83c522aa0f44569cf620a205c5f3e68eb0e751 2025-03-14T05:48:33.8822330Z deleted: sha256:8975921847caf06b61250ef4b7ad1e646fd68a1a2600c94fae4ed9f9497c82c5 2025-03-14T05:48:33.8822992Z deleted: sha256:1c94bd22d75f299e049d10fdfefb89e6b9eb522509336620ee83c849518ceede 2025-03-14T05:48:33.8823652Z deleted: sha256:403f9a14fe66cd14470103b0e9703e5080367cda5da8d88554ac15f31f38f97b 2025-03-14T05:48:33.8824304Z deleted: sha256:13e0285329a149098bad920ed264c1f94fa521a73a53d44db0442ba1e39a2bbe 2025-03-14T05:48:33.8824956Z deleted: sha256:213545e0de82595e31003a3cc70299e9b268ce8cfa72b75d468773cbf9a7fdbf 2025-03-14T05:48:33.8825606Z deleted: sha256:7500d280613df79552613e6bc48b37b67fb3a7372fa2674657186249ca1c533c 2025-03-14T05:48:33.8826310Z deleted: sha256:a145119f10cf07f29a612f7062294a1f5e559eaa4d5d3c25eedbd9f12667d973 2025-03-14T05:48:33.8826987Z deleted: sha256:ccd0e4a5ef3df050e21bde10b27f8e004fdf881ab6a13c1fd2aafd94a83d7cc3 2025-03-14T05:48:33.8827657Z deleted: sha256:d1112d85cd4fe2770d6eff2bc7746dd1bc0a763b758bcedf4a48e7f367f1544f 2025-03-14T05:48:33.8828347Z deleted: sha256:0deafb01a7c9dbc346012f853768c5e20aa7c02f54d485e528d1accabe8cd582 2025-03-14T05:48:33.8829013Z deleted: sha256:e75bc0939271662c6169af07a22772be7358601bb122551d30269eabf10bf602 2025-03-14T05:48:33.8829669Z deleted: sha256:dc9f9caa75557b25e32007dbf882008f7e199b176e4734d883f921a94c64a6cd 2025-03-14T05:48:33.8830336Z deleted: sha256:dd776dca2a7a7c735922e01cebd64c3ee10650125a0c22561dd6e57b742a1e90 2025-03-14T05:48:33.8831006Z deleted: sha256:1e0013dbf51df5654ddc32d54139cfed4f660bc53d228d98558eba7e97428b07 2025-03-14T05:48:33.8831677Z deleted: sha256:a9e0c52ba2c0452d8dbaf0161db31b8c34b7ba9883b952ba9014822d43fb98d8 2025-03-14T05:48:33.8832349Z deleted: sha256:dfe104cde9c84fd77a79c433608773f7f739542a5fa86d15131ea1a5725ffc09 2025-03-14T05:48:33.8833026Z deleted: sha256:be8e336a2de2c74db7bf3ef8fdbb96e9f299f198deb2f88d49df84e268b39663 2025-03-14T05:48:33.8833695Z deleted: sha256:2ced5a8d7963652d0c6b607c449892b99950136e4820f4466d1b1d5e79aad4a8 2025-03-14T05:48:33.8834349Z deleted: sha256:69ee680d2793c4532b2285893b9a732eb046a95488cdfa3d1d889ea92f9cd787 2025-03-14T05:48:33.8835010Z deleted: sha256:6fcd6d81094986dc14220fb64e7a0f3880cff96c8395acccfa9dac996b193087 2025-03-14T05:48:33.8835671Z deleted: sha256:22f18e2a805f3bd32f6c50909c186f144ed82658b993417994babf132b8fb4b0 2025-03-14T05:48:33.8836324Z deleted: sha256:49aa5a7ba0c2047f0245b23ee8b6ac4329b5620094cc792e8923cbf6b03c112d 2025-03-14T05:48:33.8836991Z deleted: sha256:530a55d9408bb3c6aa2e669a41d02e6a3ebb86a4bb4fcd9060405a2953ba285c 2025-03-14T05:48:33.8837648Z deleted: sha256:1547a1925ba8ae412f314485e2365a6198e4b59acd384884bcf1d814b12985cd 2025-03-14T05:48:33.8838295Z deleted: sha256:e4ef399bed936414410299e3a3673e3d8dc85531eb5274c28201868b35c1ddfd 2025-03-14T05:48:33.8838954Z deleted: sha256:1f9d149f9822b5245caab195606d7cd76d2eab5c05333b2727499890e49da985 2025-03-14T05:48:33.8839611Z deleted: sha256:a29251c87af61e6f2c3246f1bf1bd030c60b25c3a3875bf3e3443d3d42f75d12 2025-03-14T05:48:33.8840351Z deleted: sha256:ed18eac571aef8df322ec3ce80738955b4fad2f110a8b5befb16a31fd96eb11d 2025-03-14T05:48:33.8841031Z deleted: sha256:eefaa1cbf5d22fb97a980069d79ae353a605e1507852f3f8788b34f750d299af 2025-03-14T05:48:33.8841706Z deleted: sha256:ab9758a7e46e74b9dbe84f38bd0b153b37c9ce8224bddd56e45a1895040a2dae 2025-03-14T05:48:33.8842374Z deleted: sha256:2c55926b7c2c8e9f57d2b0219f2ba60322a3e0bee569f7befa1d357e514801cc 2025-03-14T05:48:33.8843039Z deleted: sha256:7b7f60a583f1c0dd1491210a114f23d6a993fed24a87db259160e6636f1de703 2025-03-14T05:48:33.8843698Z deleted: sha256:e13a731181ba96d8f9d812ef7c189a9bf26532c981899842bff4860a85a95bb9 2025-03-14T05:48:33.8844358Z deleted: sha256:fdbb1af919c7b7ed1076e0738626046a1aa4e8bd1d34908748111628f7c4ddc7 2025-03-14T05:48:33.8845061Z deleted: sha256:fffe76c64ef2dee2d80a8bb3ad13d65d596d04a45510b1956a976a69215dae92 2025-03-14T05:48:33.8845457Z 2025-03-14T05:48:33.8876102Z Total reclaimed space: 10.76GB 2025-03-14T05:48:33.8992534Z Post job cleanup. 2025-03-14T05:48:33.9048679Z Post job cleanup. 2025-03-14T05:48:34.0065019Z [command]/usr/bin/git version 2025-03-14T05:48:34.0101189Z git version 2.47.1 2025-03-14T05:48:34.0138803Z Copying '/home/ec2-user/.gitconfig' to '/home/ec2-user/actions-runner/_work/_temp/d648fe62-fc5d-4d1c-887b-2b8a5964abb9/.gitconfig' 2025-03-14T05:48:34.0154115Z Temporarily overriding HOME='/home/ec2-user/actions-runner/_work/_temp/d648fe62-fc5d-4d1c-887b-2b8a5964abb9' before making global git config changes 2025-03-14T05:48:34.0155925Z Adding repository directory to the temporary git global config as a safe directory 2025-03-14T05:48:34.0160861Z [command]/usr/bin/git config --global --add safe.directory /home/ec2-user/actions-runner/_work/pytorch/pytorch 2025-03-14T05:48:34.0198499Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand 2025-03-14T05:48:34.0235113Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :" 2025-03-14T05:48:34.0521493Z Entering 'android/libs/fbjni' 2025-03-14T05:48:34.0572425Z Entering 'third_party/FP16' 2025-03-14T05:48:34.0621248Z Entering 'third_party/FXdiv' 2025-03-14T05:48:34.0670843Z Entering 'third_party/NNPACK' 2025-03-14T05:48:34.0720753Z Entering 'third_party/NVTX' 2025-03-14T05:48:34.0770694Z Entering 'third_party/VulkanMemoryAllocator' 2025-03-14T05:48:34.0820484Z Entering 'third_party/XNNPACK' 2025-03-14T05:48:34.0885442Z Entering 'third_party/benchmark' 2025-03-14T05:48:34.0935346Z Entering 'third_party/composable_kernel' 2025-03-14T05:48:34.0992145Z Entering 'third_party/cpp-httplib' 2025-03-14T05:48:34.1041221Z Entering 'third_party/cpuinfo' 2025-03-14T05:48:34.1090468Z Entering 'third_party/cudnn_frontend' 2025-03-14T05:48:34.1139832Z Entering 'third_party/cutlass' 2025-03-14T05:48:34.1196985Z Entering 'third_party/eigen' 2025-03-14T05:48:34.1249086Z Entering 'third_party/fbgemm' 2025-03-14T05:48:34.1298107Z Entering 'third_party/fbgemm/third_party/asmjit' 2025-03-14T05:48:34.1346538Z Entering 'third_party/fbgemm/third_party/cpuinfo' 2025-03-14T05:48:34.1394868Z Entering 'third_party/fbgemm/third_party/cutlass' 2025-03-14T05:48:34.1450651Z Entering 'third_party/fbgemm/third_party/googletest' 2025-03-14T05:48:34.1500463Z Entering 'third_party/fbgemm/third_party/hipify_torch' 2025-03-14T05:48:34.1550065Z Entering 'third_party/flash-attention' 2025-03-14T05:48:34.1599749Z Entering 'third_party/flash-attention/csrc/composable_kernel' 2025-03-14T05:48:34.1655324Z Entering 'third_party/flash-attention/csrc/cutlass' 2025-03-14T05:48:34.1713208Z Entering 'third_party/flatbuffers' 2025-03-14T05:48:34.1764538Z Entering 'third_party/fmt' 2025-03-14T05:48:34.1816471Z Entering 'third_party/gemmlowp/gemmlowp' 2025-03-14T05:48:34.1867659Z Entering 'third_party/gloo' 2025-03-14T05:48:34.1917111Z Entering 'third_party/googletest' 2025-03-14T05:48:34.1966672Z Entering 'third_party/ideep' 2025-03-14T05:48:34.2015059Z Entering 'third_party/ideep/mkl-dnn' 2025-03-14T05:48:34.2071179Z Entering 'third_party/ittapi' 2025-03-14T05:48:34.2120105Z Entering 'third_party/kineto' 2025-03-14T05:48:34.2167936Z Entering 'third_party/kineto/libkineto/third_party/dynolog' 2025-03-14T05:48:34.2218077Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/DCGM' 2025-03-14T05:48:34.2267950Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/cpr' 2025-03-14T05:48:34.2316884Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/fmt' 2025-03-14T05:48:34.2366062Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/gflags' 2025-03-14T05:48:34.2413920Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/gflags/doc' 2025-03-14T05:48:34.2464898Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/glog' 2025-03-14T05:48:34.2513910Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/googletest' 2025-03-14T05:48:34.2563326Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/json' 2025-03-14T05:48:34.2613819Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/pfs' 2025-03-14T05:48:34.2664930Z Entering 'third_party/kineto/libkineto/third_party/fmt' 2025-03-14T05:48:34.2713017Z Entering 'third_party/kineto/libkineto/third_party/googletest' 2025-03-14T05:48:34.2763686Z Entering 'third_party/kleidiai' 2025-03-14T05:48:34.2813137Z Entering 'third_party/mimalloc' 2025-03-14T05:48:34.2863159Z Entering 'third_party/nlohmann' 2025-03-14T05:48:34.2913362Z Entering 'third_party/onnx' 2025-03-14T05:48:34.2980403Z Entering 'third_party/onnx/third_party/pybind11' 2025-03-14T05:48:34.3032610Z Entering 'third_party/opentelemetry-cpp' 2025-03-14T05:48:34.3084218Z Entering 'third_party/opentelemetry-cpp/third_party/benchmark' 2025-03-14T05:48:34.3134650Z Entering 'third_party/opentelemetry-cpp/third_party/googletest' 2025-03-14T05:48:34.3184025Z Entering 'third_party/opentelemetry-cpp/third_party/ms-gsl' 2025-03-14T05:48:34.3233253Z Entering 'third_party/opentelemetry-cpp/third_party/nlohmann-json' 2025-03-14T05:48:34.3282561Z Entering 'third_party/opentelemetry-cpp/third_party/opentelemetry-proto' 2025-03-14T05:48:34.3330777Z Entering 'third_party/opentelemetry-cpp/third_party/opentracing-cpp' 2025-03-14T05:48:34.3379085Z Entering 'third_party/opentelemetry-cpp/third_party/prometheus-cpp' 2025-03-14T05:48:34.3429030Z Entering 'third_party/opentelemetry-cpp/third_party/prometheus-cpp/3rdparty/civetweb' 2025-03-14T05:48:34.3480757Z Entering 'third_party/opentelemetry-cpp/third_party/prometheus-cpp/3rdparty/googletest' 2025-03-14T05:48:34.3532146Z Entering 'third_party/opentelemetry-cpp/tools/vcpkg' 2025-03-14T05:48:34.3603167Z Entering 'third_party/pocketfft' 2025-03-14T05:48:34.3654795Z Entering 'third_party/protobuf' 2025-03-14T05:48:34.3708174Z Entering 'third_party/protobuf/third_party/benchmark' 2025-03-14T05:48:34.3756707Z Entering 'third_party/protobuf/third_party/googletest' 2025-03-14T05:48:34.3808382Z Entering 'third_party/psimd' 2025-03-14T05:48:34.3858079Z Entering 'third_party/pthreadpool' 2025-03-14T05:48:34.3908210Z Entering 'third_party/pybind11' 2025-03-14T05:48:34.3957326Z Entering 'third_party/python-peachpy' 2025-03-14T05:48:34.4006147Z Entering 'third_party/sleef' 2025-03-14T05:48:34.4055121Z Entering 'third_party/tensorpipe' 2025-03-14T05:48:34.4103527Z Entering 'third_party/tensorpipe/third_party/googletest' 2025-03-14T05:48:34.4152511Z Entering 'third_party/tensorpipe/third_party/libnop' 2025-03-14T05:48:34.4200950Z Entering 'third_party/tensorpipe/third_party/libuv' 2025-03-14T05:48:34.4250110Z Entering 'third_party/tensorpipe/third_party/pybind11' 2025-03-14T05:48:34.4296801Z Entering 'third_party/tensorpipe/third_party/pybind11/tools/clang' 2025-03-14T05:48:34.4363310Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader 2025-03-14T05:48:34.4382007Z http.https://github.com/.extraheader 2025-03-14T05:48:34.4390718Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader 2025-03-14T05:48:34.4418380Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :" 2025-03-14T05:48:34.4682456Z Entering 'android/libs/fbjni' 2025-03-14T05:48:34.4718383Z http.https://github.com/.extraheader 2025-03-14T05:48:34.4749520Z Entering 'third_party/FP16' 2025-03-14T05:48:34.4783319Z http.https://github.com/.extraheader 2025-03-14T05:48:34.4814267Z Entering 'third_party/FXdiv' 2025-03-14T05:48:34.4848170Z http.https://github.com/.extraheader 2025-03-14T05:48:34.4878787Z Entering 'third_party/NNPACK' 2025-03-14T05:48:34.4914083Z http.https://github.com/.extraheader 2025-03-14T05:48:34.4944185Z Entering 'third_party/NVTX' 2025-03-14T05:48:34.4977174Z http.https://github.com/.extraheader 2025-03-14T05:48:34.5007295Z Entering 'third_party/VulkanMemoryAllocator' 2025-03-14T05:48:34.5040800Z http.https://github.com/.extraheader 2025-03-14T05:48:34.5070465Z Entering 'third_party/XNNPACK' 2025-03-14T05:48:34.5104126Z http.https://github.com/.extraheader 2025-03-14T05:48:34.5150113Z Entering 'third_party/benchmark' 2025-03-14T05:48:34.5183209Z http.https://github.com/.extraheader 2025-03-14T05:48:34.5213662Z Entering 'third_party/composable_kernel' 2025-03-14T05:48:34.5246555Z http.https://github.com/.extraheader 2025-03-14T05:48:34.5284555Z Entering 'third_party/cpp-httplib' 2025-03-14T05:48:34.5319934Z http.https://github.com/.extraheader 2025-03-14T05:48:34.5350881Z Entering 'third_party/cpuinfo' 2025-03-14T05:48:34.5383696Z http.https://github.com/.extraheader 2025-03-14T05:48:34.5415637Z Entering 'third_party/cudnn_frontend' 2025-03-14T05:48:34.5448963Z http.https://github.com/.extraheader 2025-03-14T05:48:34.5480088Z Entering 'third_party/cutlass' 2025-03-14T05:48:34.5514274Z http.https://github.com/.extraheader 2025-03-14T05:48:34.5554863Z Entering 'third_party/eigen' 2025-03-14T05:48:34.5589119Z http.https://github.com/.extraheader 2025-03-14T05:48:34.5623530Z Entering 'third_party/fbgemm' 2025-03-14T05:48:34.5657088Z http.https://github.com/.extraheader 2025-03-14T05:48:34.5688491Z Entering 'third_party/fbgemm/third_party/asmjit' 2025-03-14T05:48:34.5721856Z http.https://github.com/.extraheader 2025-03-14T05:48:34.5752104Z Entering 'third_party/fbgemm/third_party/cpuinfo' 2025-03-14T05:48:34.5784141Z http.https://github.com/.extraheader 2025-03-14T05:48:34.5816035Z Entering 'third_party/fbgemm/third_party/cutlass' 2025-03-14T05:48:34.5848019Z http.https://github.com/.extraheader 2025-03-14T05:48:34.5884860Z Entering 'third_party/fbgemm/third_party/googletest' 2025-03-14T05:48:34.5917507Z http.https://github.com/.extraheader 2025-03-14T05:48:34.5947529Z Entering 'third_party/fbgemm/third_party/hipify_torch' 2025-03-14T05:48:34.5979631Z http.https://github.com/.extraheader 2025-03-14T05:48:34.6011048Z Entering 'third_party/flash-attention' 2025-03-14T05:48:34.6044511Z http.https://github.com/.extraheader 2025-03-14T05:48:34.6075899Z Entering 'third_party/flash-attention/csrc/composable_kernel' 2025-03-14T05:48:34.6108500Z http.https://github.com/.extraheader 2025-03-14T05:48:34.6144944Z Entering 'third_party/flash-attention/csrc/cutlass' 2025-03-14T05:48:34.6177558Z http.https://github.com/.extraheader 2025-03-14T05:48:34.6218982Z Entering 'third_party/flatbuffers' 2025-03-14T05:48:34.6252162Z http.https://github.com/.extraheader 2025-03-14T05:48:34.6284641Z Entering 'third_party/fmt' 2025-03-14T05:48:34.6317228Z http.https://github.com/.extraheader 2025-03-14T05:48:34.6347152Z Entering 'third_party/gemmlowp/gemmlowp' 2025-03-14T05:48:34.6379524Z http.https://github.com/.extraheader 2025-03-14T05:48:34.6409697Z Entering 'third_party/gloo' 2025-03-14T05:48:34.6441927Z http.https://github.com/.extraheader 2025-03-14T05:48:34.6471800Z Entering 'third_party/googletest' 2025-03-14T05:48:34.6504301Z http.https://github.com/.extraheader 2025-03-14T05:48:34.6534307Z Entering 'third_party/ideep' 2025-03-14T05:48:34.6566687Z http.https://github.com/.extraheader 2025-03-14T05:48:34.6596426Z Entering 'third_party/ideep/mkl-dnn' 2025-03-14T05:48:34.6629121Z http.https://github.com/.extraheader 2025-03-14T05:48:34.6668707Z Entering 'third_party/ittapi' 2025-03-14T05:48:34.6702078Z http.https://github.com/.extraheader 2025-03-14T05:48:34.6733510Z Entering 'third_party/kineto' 2025-03-14T05:48:34.6766072Z http.https://github.com/.extraheader 2025-03-14T05:48:34.6796518Z Entering 'third_party/kineto/libkineto/third_party/dynolog' 2025-03-14T05:48:34.6829277Z http.https://github.com/.extraheader 2025-03-14T05:48:34.6861013Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/DCGM' 2025-03-14T05:48:34.6893610Z http.https://github.com/.extraheader 2025-03-14T05:48:34.6926652Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/cpr' 2025-03-14T05:48:34.6958845Z http.https://github.com/.extraheader 2025-03-14T05:48:34.6989477Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/fmt' 2025-03-14T05:48:34.7021454Z http.https://github.com/.extraheader 2025-03-14T05:48:34.7051736Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/gflags' 2025-03-14T05:48:34.7083853Z http.https://github.com/.extraheader 2025-03-14T05:48:34.7114266Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/gflags/doc' 2025-03-14T05:48:34.7146990Z http.https://github.com/.extraheader 2025-03-14T05:48:34.7179285Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/glog' 2025-03-14T05:48:34.7214092Z http.https://github.com/.extraheader 2025-03-14T05:48:34.7244332Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/googletest' 2025-03-14T05:48:34.7275959Z http.https://github.com/.extraheader 2025-03-14T05:48:34.7306677Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/json' 2025-03-14T05:48:34.7338759Z http.https://github.com/.extraheader 2025-03-14T05:48:34.7370285Z Entering 'third_party/kineto/libkineto/third_party/dynolog/third_party/pfs' 2025-03-14T05:48:34.7404316Z http.https://github.com/.extraheader 2025-03-14T05:48:34.7436683Z Entering 'third_party/kineto/libkineto/third_party/fmt' 2025-03-14T05:48:34.7469031Z http.https://github.com/.extraheader 2025-03-14T05:48:34.7499168Z Entering 'third_party/kineto/libkineto/third_party/googletest' 2025-03-14T05:48:34.7531091Z http.https://github.com/.extraheader 2025-03-14T05:48:34.7563288Z Entering 'third_party/kleidiai' 2025-03-14T05:48:34.7596498Z http.https://github.com/.extraheader 2025-03-14T05:48:34.7628051Z Entering 'third_party/mimalloc' 2025-03-14T05:48:34.7661549Z http.https://github.com/.extraheader 2025-03-14T05:48:34.7692065Z Entering 'third_party/nlohmann' 2025-03-14T05:48:34.7724596Z http.https://github.com/.extraheader 2025-03-14T05:48:34.7755904Z Entering 'third_party/onnx' 2025-03-14T05:48:34.7788679Z http.https://github.com/.extraheader 2025-03-14T05:48:34.7836260Z Entering 'third_party/onnx/third_party/pybind11' 2025-03-14T05:48:34.7868780Z http.https://github.com/.extraheader 2025-03-14T05:48:34.7901870Z Entering 'third_party/opentelemetry-cpp' 2025-03-14T05:48:34.7934661Z http.https://github.com/.extraheader 2025-03-14T05:48:34.7966992Z Entering 'third_party/opentelemetry-cpp/third_party/benchmark' 2025-03-14T05:48:34.7999382Z http.https://github.com/.extraheader 2025-03-14T05:48:34.8029868Z Entering 'third_party/opentelemetry-cpp/third_party/googletest' 2025-03-14T05:48:34.8062859Z http.https://github.com/.extraheader 2025-03-14T05:48:34.8093108Z Entering 'third_party/opentelemetry-cpp/third_party/ms-gsl' 2025-03-14T05:48:34.8125695Z http.https://github.com/.extraheader 2025-03-14T05:48:34.8155543Z Entering 'third_party/opentelemetry-cpp/third_party/nlohmann-json' 2025-03-14T05:48:34.8187332Z http.https://github.com/.extraheader 2025-03-14T05:48:34.8219878Z Entering 'third_party/opentelemetry-cpp/third_party/opentelemetry-proto' 2025-03-14T05:48:34.8252958Z http.https://github.com/.extraheader 2025-03-14T05:48:34.8282925Z Entering 'third_party/opentelemetry-cpp/third_party/opentracing-cpp' 2025-03-14T05:48:34.8317120Z http.https://github.com/.extraheader 2025-03-14T05:48:34.8347969Z Entering 'third_party/opentelemetry-cpp/third_party/prometheus-cpp' 2025-03-14T05:48:34.8380927Z http.https://github.com/.extraheader 2025-03-14T05:48:34.8412786Z Entering 'third_party/opentelemetry-cpp/third_party/prometheus-cpp/3rdparty/civetweb' 2025-03-14T05:48:34.8450994Z http.https://github.com/.extraheader 2025-03-14T05:48:34.8483983Z Entering 'third_party/opentelemetry-cpp/third_party/prometheus-cpp/3rdparty/googletest' 2025-03-14T05:48:34.8517516Z http.https://github.com/.extraheader 2025-03-14T05:48:34.8551048Z Entering 'third_party/opentelemetry-cpp/tools/vcpkg' 2025-03-14T05:48:34.8584758Z http.https://github.com/.extraheader 2025-03-14T05:48:34.8639775Z Entering 'third_party/pocketfft' 2025-03-14T05:48:34.8675249Z http.https://github.com/.extraheader 2025-03-14T05:48:34.8707486Z Entering 'third_party/protobuf' 2025-03-14T05:48:34.8741601Z http.https://github.com/.extraheader 2025-03-14T05:48:34.8777031Z Entering 'third_party/protobuf/third_party/benchmark' 2025-03-14T05:48:34.8810207Z http.https://github.com/.extraheader 2025-03-14T05:48:34.8840844Z Entering 'third_party/protobuf/third_party/googletest' 2025-03-14T05:48:34.8873677Z http.https://github.com/.extraheader 2025-03-14T05:48:34.8908918Z Entering 'third_party/psimd' 2025-03-14T05:48:34.8944072Z http.https://github.com/.extraheader 2025-03-14T05:48:34.8974918Z Entering 'third_party/pthreadpool' 2025-03-14T05:48:34.9009629Z http.https://github.com/.extraheader 2025-03-14T05:48:34.9040091Z Entering 'third_party/pybind11' 2025-03-14T05:48:34.9074108Z http.https://github.com/.extraheader 2025-03-14T05:48:34.9104797Z Entering 'third_party/python-peachpy' 2025-03-14T05:48:34.9137905Z http.https://github.com/.extraheader 2025-03-14T05:48:34.9167937Z Entering 'third_party/sleef' 2025-03-14T05:48:34.9202460Z http.https://github.com/.extraheader 2025-03-14T05:48:34.9232733Z Entering 'third_party/tensorpipe' 2025-03-14T05:48:34.9265446Z http.https://github.com/.extraheader 2025-03-14T05:48:34.9295969Z Entering 'third_party/tensorpipe/third_party/googletest' 2025-03-14T05:48:34.9328999Z http.https://github.com/.extraheader 2025-03-14T05:48:34.9358813Z Entering 'third_party/tensorpipe/third_party/libnop' 2025-03-14T05:48:34.9391439Z http.https://github.com/.extraheader 2025-03-14T05:48:34.9421604Z Entering 'third_party/tensorpipe/third_party/libuv' 2025-03-14T05:48:34.9454786Z http.https://github.com/.extraheader 2025-03-14T05:48:34.9485246Z Entering 'third_party/tensorpipe/third_party/pybind11' 2025-03-14T05:48:34.9517692Z http.https://github.com/.extraheader 2025-03-14T05:48:34.9547122Z Entering 'third_party/tensorpipe/third_party/pybind11/tools/clang' 2025-03-14T05:48:34.9579468Z http.https://github.com/.extraheader 2025-03-14T05:48:34.9697300Z A job completed hook has been configured by the self-hosted runner administrator 2025-03-14T05:48:34.9723651Z ##[group]Run '/home/ec2-user/runner-scripts/after_job.sh' 2025-03-14T05:48:34.9728719Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-03-14T05:48:34.9729136Z ##[endgroup] 2025-03-14T05:48:42.3496508Z Cleaning up orphan processes