-
Notifications
You must be signed in to change notification settings - Fork 521
[PyTorch][Training][EC2][SageMaker]PyTorch 2.9 Currency Release #5407
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
|
Do not forget to change toml file to trigger image build and test. |
|
Enable efa log display in console https://github.com/aws/deep-learning-containers/blob/master/test/dlc_tests/container_tests/bin/efa/testEFA#L92 to check the log. |
|
Also, check the packages installed in container frequently in case there are new versions released. |
| # Optionally set NVTE_FRAMEWORK to avoid bringing in additional frameworks during TE install | ||
| ENV NVTE_FRAMEWORK=pytorch | ||
|
|
||
| RUN curl -LO https://github.com/Dao-AILab/flash-attention/releases/download/v${FLASH_ATTN_VERSION}/flash_attn-${FLASH_ATTN_VERSION}+cu12torch2.8cxx11abiTRUE-cp312-cp312-linux_x86_64.whl \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like the flash attention wheel is incorrect cu12torch2.8cxx11abiTRUE-cp312-cp312-linux_x86_64.whl,, it's still 2.8
From here https://github.com/Dao-AILab/flash-attention/releases you can see all prebuilt wheels
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If the prebuilt wheel doesn't have torch 2.9 we need to refer this to build from source , refer https://github.com/aws/deep-learning-containers/blob/master/pytorch/training/docker/2.7/py3/cu128/Dockerfile.gpu#L92
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for catching that. Will update it.
| # |___/ |_| | ||
| ################################################################# | ||
|
|
||
| FROM 669063966089.dkr.ecr.us-west-2.amazonaws.com/pr-base:13.0.0-gpu-py312-cu130-ubuntu22.04-ec2-pr-5468-2025-11-12-00-24-28 AS common |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If the base image is released, you can replace here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
okay
| pytest -v -s $TE_PATH/tests/pytorch/test_fused_optimizer.py | ||
| pytest -v -s $TE_PATH/tests/pytorch/test_multi_tensor.py | ||
| pytest -v -s $TE_PATH/tests/pytorch/test_fusible_ops.py | ||
| elif [ $(version $TE_VERSION) -lt $(version "3.0") ]; then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will this condition check also include all other version fall into 2.0 and 3.0?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes, it will cover all the versions in between 2.0 to 3.0.
| RETURN_VAL=${PIPESTATUS[0]} | ||
| # In case, if you would like see logs, uncomment below line | ||
| # RESULT=$(cat ${TRAINING_LOG}) | ||
| RESULT=$(cat ${TRAINING_LOG}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you revert this change since we have solved this issue?
GitHub Issue #, if available:
Note:
If merging this PR should also close the associated Issue, please also add that Issue # to the Linked Issues section on the right.
All PR's are checked weekly for staleness. This PR will be closed if not updated in 30 days.
Description
Tests Run
EC2 tests: b8d42f9
SM tests: 36f8594
By default, docker image builds and tests are disabled. Two ways to run builds and tests:
How to use the helper utility for updating dlc_developer_config.toml
Assuming your remote is called
origin(you can find out more withgit remote -v)...python src/prepare_dlc_dev_environment.py -b </path/to/buildspec.yml> -cp originpython src/prepare_dlc_dev_environment.py -b </path/to/buildspec.yml> -t sanity_tests -cp originpython src/prepare_dlc_dev_environment.py -rcp originNOTE: If you are creating a PR for a new framework version, please ensure success of the local, standard, rc, and efa sagemaker tests by updating the dlc_developer_config.toml file:
sagemaker_remote_tests = truesagemaker_efa_tests = truesagemaker_rc_tests = truesagemaker_local_tests = trueHow to use PR description
Use the code block below to uncomment commands and run the PR CodeBuild jobs. There are two commands available:# /buildspec <buildspec_path># /buildspec pytorch/training/buildspec.yml# /tests <test_list># /tests sanity security ec2sanity, security, ec2, ecs, eks, sagemaker, sagemaker-local.Formatting
black -l 100on my code (formatting tool: https://black.readthedocs.io/en/stable/getting_started.html)PR Checklist
Expand
Pytest Marker Checklist
Expand
@pytest.mark.model("<model-type>")to the new tests which I have added, to specify the Deep Learning model that is used in the test (use"N/A"if the test doesn't use a model)@pytest.mark.integration("<feature-being-tested>")to the new tests which I have added, to specify the feature that will be tested@pytest.mark.multinode(<integer-num-nodes>)to the new tests which I have added, to specify the number of nodes used on a multi-node test@pytest.mark.processor(<"cpu"/"gpu"/"eia"/"neuron">)to the new tests which I have added, if a test is specifically applicable to only one processor typeBy submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.