@@ -21,17 +21,66 @@ FAIL=0
2121# pip uninstall -y nvdlfw-inspect
2222# pip install git+https://github.com/NVIDIA/nvidia-dlfw-inspect.git
2323
24- pip install pytest==8.2.1
25- pytest -v -s --junitxml=$XML_LOG_DIR /test_sanity.xml $TE_PATH /tests/pytorch/debug/test_sanity.py --feature_dirs=$NVTE_TEST_NVINSPECT_FEATURE_DIRS || FAIL=1
26- pytest -v -s --junitxml=$XML_LOG_DIR /test_config.xml $TE_PATH /tests/pytorch/debug/test_config.py --feature_dirs=$NVTE_TEST_NVINSPECT_FEATURE_DIRS || FAIL=1
27- # pytest -v -s --junitxml=$XML_LOG_DIR/test_numerics.xml $TE_PATH/tests/pytorch/debug/test_numerics.py --feature_dirs=$NVTE_TEST_NVINSPECT_FEATURE_DIRS || FAIL=1
28- pytest -v -s --junitxml=$XML_LOG_DIR /test_log.xml $TE_PATH /tests/pytorch/debug/test_log.py --feature_dirs=$NVTE_TEST_NVINSPECT_FEATURE_DIRS --configs_dir=$NVTE_TEST_NVINSPECT_CONFIGS_DIR || FAIL=1
29- # NVTE_TORCH_COMPILE=0 pytest -v -s --junitxml=$XML_LOG_DIR/test_api_features.xml $TE_PATH/tests/pytorch/debug/test_api_features.py -k "not (test_per_tensor_scaling or test_fake_quant or test_statistics_collection or test_statistics_multi_run)" --no-header --feature_dirs=$NVTE_TEST_NVINSPECT_FEATURE_DIRS --configs_dir=$NVTE_TEST_NVINSPECT_CONFIGS_DIR || FAIL=1
30- pytest -v -s --junitxml=$XML_LOG_DIR /test_perf.xml $TE_PATH /tests/pytorch/debug/test_perf.py --feature_dirs=$NVTE_TEST_NVINSPECT_FEATURE_DIRS --configs_dir=$NVTE_TEST_NVINSPECT_CONFIGS_DIR || FAIL=1
24+ run_test_step () {
25+ local xml_file=$1
26+ local test_path=$2
27+ local cmd=$3
3128
29+
30+ if [ " $PLATFORM " = " metax" ]; then
31+ case " $test_path " in
32+ * " test_numerics.py" | * " test_api_features.py" | * " test_sanity.py" )
33+ echo " -------------------------------------------------------"
34+ echo " [SKIP] Platform MetaX: Ignoring $test_path "
35+ echo " -------------------------------------------------------"
36+ return 0
37+ ;;
38+ esac
39+ fi
3240
33- # standard sanity and numerics tests with initialized debug
34- # NVTE_TEST_NVINSPECT_ENABLED=1 NVTE_TEST_NVINSPECT_CONFIG_FILE=$NVTE_TEST_NVINSPECT_DUMMY_CONFIG_FILE NVTE_TEST_NVINSPECT_FEATURE_DIRS=$NVTE_TEST_NVINSPECT_FEATURE_DIRS PYTORCH_JIT=0 NVTE_TORCH_COMPILE=0 NVTE_ALLOW_NONDETERMINISTIC_ALGO=0 pytest -v -s --junitxml=$XML_LOG_DIR/test_sanity_2.xml $TE_PATH/tests/pytorch/test_sanity.py -k "not (test_sanity_grouped_linear or test_inference_mode)" --no-header || FAIL=1
35- # NVTE_TEST_NVINSPECT_ENABLED=1 NVTE_TEST_NVINSPECT_CONFIG_FILE=$NVTE_TEST_NVINSPECT_DUMMY_CONFIG_FILE NVTE_TEST_NVINSPECT_FEATURE_DIRS=$NVTE_TEST_NVINSPECT_FEATURE_DIRS PYTORCH_JIT=0 NVTE_TORCH_COMPILE=0 NVTE_ALLOW_NONDETERMINISTIC_ALGO=0 NVTE_FUSED_ATTN=0 pytest -v -s --junitxml=$XML_LOG_DIR/test_numerics_2.xml $TE_PATH/tests/pytorch/test_numerics.py -k "not (test_linear_accuracy or test_layernorm_linear_accuracy or test_layernorm_mlp_accuracy or test_grouped_linear_accuracy or test_transformer_layer_hidden_states_format or test_grouped_gemm)" --no-header || FAIL=1
41+
42+ echo " -------------------------------------------------------"
43+ echo " [RUN] Executing: $test_path "
44+ eval " $cmd " || FAIL=1
45+ }
3646
37- exit $FAIL
47+
48+
49+ # Step 1: Sanity
50+ run_test_step " test_sanity.xml" " $TE_PATH /tests/pytorch/debug/test_sanity.py" \
51+ " pytest -v -s --junitxml=$XML_LOG_DIR /test_sanity.xml $TE_PATH /tests/pytorch/debug/test_sanity.py --feature_dirs=$NVTE_TEST_NVINSPECT_FEATURE_DIRS "
52+
53+ # Step 2: Config
54+ run_test_step " test_config.xml" " $TE_PATH /tests/pytorch/debug/test_config.py" \
55+ " pytest -v -s --junitxml=$XML_LOG_DIR /test_config.xml $TE_PATH /tests/pytorch/debug/test_config.py --feature_dirs=$NVTE_TEST_NVINSPECT_FEATURE_DIRS "
56+
57+ # Step 3: Numerics
58+ run_test_step " test_numerics.xml" " $TE_PATH /tests/pytorch/debug/test_numerics.py" \
59+ " pytest -v -s --junitxml=$XML_LOG_DIR /test_numerics.xml $TE_PATH /tests/pytorch/debug/test_numerics.py --feature_dirs=$NVTE_TEST_NVINSPECT_FEATURE_DIRS "
60+
61+ # Step 4: Log
62+ run_test_step " test_log.xml" " $TE_PATH /tests/pytorch/debug/test_log.py" \
63+ " pytest -v -s --junitxml=$XML_LOG_DIR /test_log.xml $TE_PATH /tests/pytorch/debug/test_log.py --feature_dirs=$NVTE_TEST_NVINSPECT_FEATURE_DIRS --configs_dir=$NVTE_TEST_NVINSPECT_CONFIGS_DIR "
64+
65+ # Step 5: API Features
66+ run_test_step " test_api_features.xml" " $TE_PATH /tests/pytorch/debug/test_api_features.py" \
67+ " NVTE_TORCH_COMPILE=0 pytest -v -s --junitxml=$XML_LOG_DIR /test_api_features.xml $TE_PATH /tests/pytorch/debug/test_api_features.py -k \" not (test_per_tensor_scaling or test_fake_quant or test_statistics_collection or test_statistics_multi_run)\" --no-header --feature_dirs=$NVTE_TEST_NVINSPECT_FEATURE_DIRS --configs_dir=$NVTE_TEST_NVINSPECT_CONFIGS_DIR "
68+
69+ # Step 6: Performance
70+ run_test_step " test_perf.xml" " $TE_PATH /tests/pytorch/debug/test_perf.py" \
71+ " pytest -v -s --junitxml=$XML_LOG_DIR /test_perf.xml $TE_PATH /tests/pytorch/debug/test_perf.py --feature_dirs=$NVTE_TEST_NVINSPECT_FEATURE_DIRS --configs_dir=$NVTE_TEST_NVINSPECT_CONFIGS_DIR "
72+
73+
74+
75+
76+ # Step 7: Sanity 2
77+ run_test_step " test_sanity_2.xml" " $TE_PATH /tests/pytorch/test_sanity.py" \
78+ " NVTE_TEST_NVINSPECT_ENABLED=1 NVTE_TEST_NVINSPECT_CONFIG_FILE=$NVTE_TEST_NVINSPECT_DUMMY_CONFIG_FILE NVTE_TEST_NVINSPECT_FEATURE_DIRS=$NVTE_TEST_NVINSPECT_FEATURE_DIRS PYTORCH_JIT=0 NVTE_TORCH_COMPILE=0 NVTE_ALLOW_NONDETERMINISTIC_ALGO=0 \
79+ pytest -v -s --junitxml=$XML_LOG_DIR /test_sanity_2.xml $TE_PATH /tests/pytorch/test_sanity.py -k \" not (test_sanity_grouped_linear or test_inference_mode)\" --no-header"
80+
81+ # Step 8: Numerics 2
82+ run_test_step " test_numerics_2.xml" " $TE_PATH /tests/pytorch/test_numerics.py" \
83+ " NVTE_TEST_NVINSPECT_ENABLED=1 NVTE_TEST_NVINSPECT_CONFIG_FILE=$NVTE_TEST_NVINSPECT_DUMMY_CONFIG_FILE NVTE_TEST_NVINSPECT_FEATURE_DIRS=$NVTE_TEST_NVINSPECT_FEATURE_DIRS PYTORCH_JIT=0 NVTE_TORCH_COMPILE=0 NVTE_ALLOW_NONDETERMINISTIC_ALGO=0 NVTE_FUSED_ATTN=0 \
84+ pytest -v -s --junitxml=$XML_LOG_DIR /test_numerics_2.xml $TE_PATH /tests/pytorch/test_numerics.py -k \" not (test_linear_accuracy or test_layernorm_linear_accuracy or test_layernorm_mlp_accuracy or test_grouped_linear_accuracy or test_transformer_layer_hidden_states_format or test_grouped_gemm)\" --no-header"
85+
86+ exit $FAIL
0 commit comments