Opt in trusted FA CI checkpoints to pickle loading#3247
Conversation
The FA-version job reloads checkpoints generated by test_attention.py, so the legacy delayed-scaling FP8 metadata is trusted inside this test. Mirror the L0 opt-in across every L3 attention execution path to preserve the secure runtime default while preventing false version-matrix failures. Signed-off-by: Sudhakar Singh <sudhakars@nvidia.com>
|
/te-ci pytorch L3 |
Greptile SummaryThis PR fixes L3 Flash Attention version tests that were failing because the
Confidence Score: 5/5Safe to merge — a minimal, targeted CI fix that adds a missing env var opt-in to three test launcher commands. The change touches only one CI shell script, adding NVTE_ALLOW_UNSAFE_PICKLE_EXTRA_STATE=1 inline to each test_attention.py invocation. All three execution branches are covered, the env var is correctly scoped per-command (no global export), and test_attention_with_cp.py is deliberately left unchanged. There is no production code, no logic change, and no missing case. No files require special attention. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[FA version loop] --> B{fa_version == CP_FA_VERSION?}
B -- yes --> C{NUM_GPUS >= 5?}
C -- yes --> D["CUDA_VISIBLE_DEVICES=0<br/>NVTE_TORCH_COMPILE=0<br/>NVTE_ALLOW_UNSAFE_PICKLE_EXTRA_STATE=1 ✅<br/>test_attention.py & (GPU 0)"]
C -- yes --> E["CUDA_VISIBLE_DEVICES=CP_GPUS<br/>NVTE_TORCH_COMPILE=0<br/>test_attention_with_cp.py &<br/>(no pickle opt-in, correct)"]
C -- no --> F["NVTE_TORCH_COMPILE=0<br/>NVTE_ALLOW_UNSAFE_PICKLE_EXTRA_STATE=1 ✅<br/>test_attention.py (sequential)"]
C -- no --> G["NVTE_TORCH_COMPILE=0<br/>test_attention_with_cp.py (sequential)<br/>(no pickle opt-in, correct)"]
B -- no --> H["NVTE_TORCH_COMPILE=0<br/>NVTE_ALLOW_UNSAFE_PICKLE_EXTRA_STATE=1 ✅<br/>test_attention.py"]
D --> I[wait / test_fail check]
E --> I
F --> J[test_fail check]
G --> J
H --> K[test_fail check]
Reviews (1): Last reviewed commit: "Opt in trusted FA CI checkpoints to pick..." | Re-trigger Greptile |
|
/te-ci pytorch L3 |
Description
The L3 FA-version tests create and reload trusted delayed-scaling FP8 checkpoints, but their launcher did not opt into legacy pickle extra-state loading. This caused the FP16 and BF16 checkpoint cases to fail across the FA version matrix.
Type of change
Changes
NVTE_ALLOW_UNSAFE_PICKLE_EXTRA_STATE=1for every L3test_attention.pyexecution path.Validation
bash -n qa/L3_pytorch_FA_versions_test/test.shpassedtest_attention.pylauncher has the trusted-checkpoint opt-inChecklist: