diff --git a/conf/common/system/example_runai_cluster.toml b/conf/common/system/example_runai_cluster.toml index b8a610523..5aa6e32f6 100644 --- a/conf/common/system/example_runai_cluster.toml +++ b/conf/common/system/example_runai_cluster.toml @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/conf/common/test/dse_nccl_all_gather.toml b/conf/common/test/dse_nccl_all_gather.toml index 94cb2579e..e9e32dc74 100644 --- a/conf/common/test/dse_nccl_all_gather.toml +++ b/conf/common/test/dse_nccl_all_gather.toml @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/conf/common/test/nccl_test.toml b/conf/common/test/nccl_test.toml index ecb1216e1..36412a6c5 100644 --- a/conf/common/test/nccl_test.toml +++ b/conf/common/test/nccl_test.toml @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/conf/common/test_scenario/dse_nccl_all_gather.toml b/conf/common/test_scenario/dse_nccl_all_gather.toml index 59604dd3a..67347f2bf 100644 --- a/conf/common/test_scenario/dse_nccl_all_gather.toml +++ b/conf/common/test_scenario/dse_nccl_all_gather.toml @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/conf/common/test_scenario/slurm_container.toml b/conf/common/test_scenario/slurm_container.toml index 73487a21b..349d78af3 100644 --- a/conf/common/test_scenario/slurm_container.toml +++ b/conf/common/test_scenario/slurm_container.toml @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/conf/common/test_scenario/ucc_generator_test.toml b/conf/common/test_scenario/ucc_generator_test.toml index 91ff0a04e..ec5911bc6 100644 --- a/conf/common/test_scenario/ucc_generator_test.toml +++ b/conf/common/test_scenario/ucc_generator_test.toml @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/conf/experimental/aiconfigurator/test/aiconfigurator_disagg.toml b/conf/experimental/aiconfigurator/test/aiconfigurator_disagg.toml index e7d93f648..5171d6206 100644 --- a/conf/experimental/aiconfigurator/test/aiconfigurator_disagg.toml +++ b/conf/experimental/aiconfigurator/test/aiconfigurator_disagg.toml @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/conf/experimental/aiconfigurator/test_scenario/aiconfigurator_disagg.toml b/conf/experimental/aiconfigurator/test_scenario/aiconfigurator_disagg.toml index aad039bfa..7597dccc0 100644 --- a/conf/experimental/aiconfigurator/test_scenario/aiconfigurator_disagg.toml +++ b/conf/experimental/aiconfigurator/test_scenario/aiconfigurator_disagg.toml @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/conf/experimental/aiconfigurator/test_scenario/dse_aiconfigurator_disagg.toml b/conf/experimental/aiconfigurator/test_scenario/dse_aiconfigurator_disagg.toml index 450afd673..be866f59d 100644 --- a/conf/experimental/aiconfigurator/test_scenario/dse_aiconfigurator_disagg.toml +++ b/conf/experimental/aiconfigurator/test_scenario/dse_aiconfigurator_disagg.toml @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/conf/experimental/megatron_bridge/test_scenario/megatron_bridge_qwen_30b.toml b/conf/experimental/megatron_bridge/test_scenario/megatron_bridge_qwen_30b.toml index 16d218f84..3e8798c83 100644 --- a/conf/experimental/megatron_bridge/test_scenario/megatron_bridge_qwen_30b.toml +++ b/conf/experimental/megatron_bridge/test_scenario/megatron_bridge_qwen_30b.toml @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/conf/experimental/test/ddlb_test.toml b/conf/experimental/test/ddlb_test.toml index 8f82066bd..069d92021 100644 --- a/conf/experimental/test/ddlb_test.toml +++ b/conf/experimental/test/ddlb_test.toml @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/conf/experimental/test/deepep_low_latency.toml b/conf/experimental/test/deepep_low_latency.toml index 30bc973ae..b76342b4e 100644 --- a/conf/experimental/test/deepep_low_latency.toml +++ b/conf/experimental/test/deepep_low_latency.toml @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/cloudai/_core/base_reporter.py b/src/cloudai/_core/base_reporter.py index cf28b5993..eddbf5151 100644 --- a/src/cloudai/_core/base_reporter.py +++ b/src/cloudai/_core/base_reporter.py @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/cloudai/configurator/__init__.py b/src/cloudai/configurator/__init__.py index b6fcc4ff3..36271f082 100644 --- a/src/cloudai/configurator/__init__.py +++ b/src/cloudai/configurator/__init__.py @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/cloudai/configurator/reward_functions.py b/src/cloudai/configurator/reward_functions.py index 1c7782c43..a0e7e1769 100644 --- a/src/cloudai/configurator/reward_functions.py +++ b/src/cloudai/configurator/reward_functions.py @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/cloudai/core.py b/src/cloudai/core.py index 27f9d6941..0bccdab84 100644 --- a/src/cloudai/core.py +++ b/src/cloudai/core.py @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/cloudai/models/scenario.py b/src/cloudai/models/scenario.py index c0c5abf63..092f5f462 100644 --- a/src/cloudai/models/scenario.py +++ b/src/cloudai/models/scenario.py @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/cloudai/registration.py b/src/cloudai/registration.py index 3b5bfc9af..fcd3881ae 100644 --- a/src/cloudai/registration.py +++ b/src/cloudai/registration.py @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/cloudai/systems/lsf/lsf_job.py b/src/cloudai/systems/lsf/lsf_job.py index d03466461..d17b364e9 100644 --- a/src/cloudai/systems/lsf/lsf_job.py +++ b/src/cloudai/systems/lsf/lsf_job.py @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/cloudai/systems/lsf/lsf_runner.py b/src/cloudai/systems/lsf/lsf_runner.py index 065208283..1c34c80e2 100644 --- a/src/cloudai/systems/lsf/lsf_runner.py +++ b/src/cloudai/systems/lsf/lsf_runner.py @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/cloudai/systems/runai/runai_job.py b/src/cloudai/systems/runai/runai_job.py index c31995631..7baff9fda 100644 --- a/src/cloudai/systems/runai/runai_job.py +++ b/src/cloudai/systems/runai/runai_job.py @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/cloudai/workloads/ai_dynamo/__init__.py b/src/cloudai/workloads/ai_dynamo/__init__.py index 70ed6453c..845da8483 100644 --- a/src/cloudai/workloads/ai_dynamo/__init__.py +++ b/src/cloudai/workloads/ai_dynamo/__init__.py @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/cloudai/workloads/ai_dynamo/kubernetes_json_gen_strategy.py b/src/cloudai/workloads/ai_dynamo/kubernetes_json_gen_strategy.py index 4b661d546..8882a8069 100644 --- a/src/cloudai/workloads/ai_dynamo/kubernetes_json_gen_strategy.py +++ b/src/cloudai/workloads/ai_dynamo/kubernetes_json_gen_strategy.py @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/cloudai/workloads/aiconfig/__init__.py b/src/cloudai/workloads/aiconfig/__init__.py index 36d914b8b..d77bbe081 100644 --- a/src/cloudai/workloads/aiconfig/__init__.py +++ b/src/cloudai/workloads/aiconfig/__init__.py @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/cloudai/workloads/bash_cmd/__init__.py b/src/cloudai/workloads/bash_cmd/__init__.py index 8bb5bfbc2..5f2b0a324 100644 --- a/src/cloudai/workloads/bash_cmd/__init__.py +++ b/src/cloudai/workloads/bash_cmd/__init__.py @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/cloudai/workloads/bash_cmd/bash_cmd.py b/src/cloudai/workloads/bash_cmd/bash_cmd.py index 8fe48908b..d09e4d96d 100644 --- a/src/cloudai/workloads/bash_cmd/bash_cmd.py +++ b/src/cloudai/workloads/bash_cmd/bash_cmd.py @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/cloudai/workloads/ddlb/__init__.py b/src/cloudai/workloads/ddlb/__init__.py index 12bdebbca..d4d63e7c7 100644 --- a/src/cloudai/workloads/ddlb/__init__.py +++ b/src/cloudai/workloads/ddlb/__init__.py @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/cloudai/workloads/ddlb/slurm_command_gen_strategy.py b/src/cloudai/workloads/ddlb/slurm_command_gen_strategy.py index 5c1847a11..de1347cb4 100644 --- a/src/cloudai/workloads/ddlb/slurm_command_gen_strategy.py +++ b/src/cloudai/workloads/ddlb/slurm_command_gen_strategy.py @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/cloudai/workloads/deepep/deepep.py b/src/cloudai/workloads/deepep/deepep.py index 5cea353a8..1b01c88b6 100644 --- a/src/cloudai/workloads/deepep/deepep.py +++ b/src/cloudai/workloads/deepep/deepep.py @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/cloudai/workloads/deepep/report_generation_strategy.py b/src/cloudai/workloads/deepep/report_generation_strategy.py index 6200253f1..fc33cd741 100644 --- a/src/cloudai/workloads/deepep/report_generation_strategy.py +++ b/src/cloudai/workloads/deepep/report_generation_strategy.py @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/cloudai/workloads/deepep/slurm_command_gen_strategy.py b/src/cloudai/workloads/deepep/slurm_command_gen_strategy.py index 0f20dd3bb..60bbf3000 100644 --- a/src/cloudai/workloads/deepep/slurm_command_gen_strategy.py +++ b/src/cloudai/workloads/deepep/slurm_command_gen_strategy.py @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/cloudai/workloads/megatron_bridge/__init__.py b/src/cloudai/workloads/megatron_bridge/__init__.py index 1ec40f530..c2fec6843 100644 --- a/src/cloudai/workloads/megatron_bridge/__init__.py +++ b/src/cloudai/workloads/megatron_bridge/__init__.py @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/cloudai/workloads/nccl_test/performance_report_generation_strategy.py b/src/cloudai/workloads/nccl_test/performance_report_generation_strategy.py index 0d84bbaab..4a45eb4d9 100644 --- a/src/cloudai/workloads/nccl_test/performance_report_generation_strategy.py +++ b/src/cloudai/workloads/nccl_test/performance_report_generation_strategy.py @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/cloudai/workloads/nccl_test/prediction_report_generation_strategy.py b/src/cloudai/workloads/nccl_test/prediction_report_generation_strategy.py index c8363bac9..8b529cc22 100644 --- a/src/cloudai/workloads/nccl_test/prediction_report_generation_strategy.py +++ b/src/cloudai/workloads/nccl_test/prediction_report_generation_strategy.py @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/cloudai/workloads/nccl_test/prediction_report_generator.py b/src/cloudai/workloads/nccl_test/prediction_report_generator.py index e0655a610..11f01291c 100644 --- a/src/cloudai/workloads/nccl_test/prediction_report_generator.py +++ b/src/cloudai/workloads/nccl_test/prediction_report_generator.py @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/cloudai/workloads/nccl_test/report_generation_strategy.py b/src/cloudai/workloads/nccl_test/report_generation_strategy.py index a5be684e8..f691c5956 100644 --- a/src/cloudai/workloads/nccl_test/report_generation_strategy.py +++ b/src/cloudai/workloads/nccl_test/report_generation_strategy.py @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/cloudai/workloads/nixl_bench/__init__.py b/src/cloudai/workloads/nixl_bench/__init__.py index 635c03115..200e432a5 100644 --- a/src/cloudai/workloads/nixl_bench/__init__.py +++ b/src/cloudai/workloads/nixl_bench/__init__.py @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/cloudai/workloads/nixl_bench/nixl_bench.py b/src/cloudai/workloads/nixl_bench/nixl_bench.py index 88db43ebb..02db27099 100644 --- a/src/cloudai/workloads/nixl_bench/nixl_bench.py +++ b/src/cloudai/workloads/nixl_bench/nixl_bench.py @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/cloudai/workloads/nixl_kvbench/__init__.py b/src/cloudai/workloads/nixl_kvbench/__init__.py index 37427d755..901eb63f9 100644 --- a/src/cloudai/workloads/nixl_kvbench/__init__.py +++ b/src/cloudai/workloads/nixl_kvbench/__init__.py @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/cloudai/workloads/nixl_perftest/report_generation_strategy.py b/src/cloudai/workloads/nixl_perftest/report_generation_strategy.py index 9ee3c4981..e00c08882 100644 --- a/src/cloudai/workloads/nixl_perftest/report_generation_strategy.py +++ b/src/cloudai/workloads/nixl_perftest/report_generation_strategy.py @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/cloudai/workloads/osu_bench/__init__.py b/src/cloudai/workloads/osu_bench/__init__.py index 28fc77ded..56faf00f5 100644 --- a/src/cloudai/workloads/osu_bench/__init__.py +++ b/src/cloudai/workloads/osu_bench/__init__.py @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/cloudai/workloads/osu_bench/osu_bench.py b/src/cloudai/workloads/osu_bench/osu_bench.py index 2b24c8c4b..a7865640d 100644 --- a/src/cloudai/workloads/osu_bench/osu_bench.py +++ b/src/cloudai/workloads/osu_bench/osu_bench.py @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/cloudai/workloads/osu_bench/slurm_command_gen_strategy.py b/src/cloudai/workloads/osu_bench/slurm_command_gen_strategy.py index 455dd2ce6..21b782c1d 100644 --- a/src/cloudai/workloads/osu_bench/slurm_command_gen_strategy.py +++ b/src/cloudai/workloads/osu_bench/slurm_command_gen_strategy.py @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/cloudai/workloads/triton_inference/__init__.py b/src/cloudai/workloads/triton_inference/__init__.py index b8af4a933..60d21fe34 100644 --- a/src/cloudai/workloads/triton_inference/__init__.py +++ b/src/cloudai/workloads/triton_inference/__init__.py @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/cloudai/workloads/triton_inference/report_generation_strategy.py b/src/cloudai/workloads/triton_inference/report_generation_strategy.py index 6929638f4..1039c0c8f 100644 --- a/src/cloudai/workloads/triton_inference/report_generation_strategy.py +++ b/src/cloudai/workloads/triton_inference/report_generation_strategy.py @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/tests/json_gen_strategy/test_nccl_kubernetes_json_gen_strategy.py b/tests/json_gen_strategy/test_nccl_kubernetes_json_gen_strategy.py index f5c46812c..f6d927925 100644 --- a/tests/json_gen_strategy/test_nccl_kubernetes_json_gen_strategy.py +++ b/tests/json_gen_strategy/test_nccl_kubernetes_json_gen_strategy.py @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/tests/report_generation_strategy/test_megatron_run_report_generation_strategy.py b/tests/report_generation_strategy/test_megatron_run_report_generation_strategy.py index d472b6648..897ad35c3 100644 --- a/tests/report_generation_strategy/test_megatron_run_report_generation_strategy.py +++ b/tests/report_generation_strategy/test_megatron_run_report_generation_strategy.py @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/tests/report_generation_strategy/test_nccl_prediction_report_generator.py b/tests/report_generation_strategy/test_nccl_prediction_report_generator.py index c47035215..7c2c6f9b2 100644 --- a/tests/report_generation_strategy/test_nccl_prediction_report_generator.py +++ b/tests/report_generation_strategy/test_nccl_prediction_report_generator.py @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/tests/test_base_runner.py b/tests/test_base_runner.py index 6598dc87c..2a671a851 100644 --- a/tests/test_base_runner.py +++ b/tests/test_base_runner.py @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/tests/test_check_copyright_headers.py b/tests/test_check_copyright_headers.py index 8e6585be9..966e5e272 100644 --- a/tests/test_check_copyright_headers.py +++ b/tests/test_check_copyright_headers.py @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -15,6 +15,7 @@ # limitations under the License. import subprocess +from datetime import datetime from pathlib import Path import pytest @@ -37,61 +38,125 @@ # See the License for the specific language governing permissions and # limitations under the License.""" -HEADER_LINES = HEADER.count("\n") + 1 +HEADER_LINES = HEADER.split("\n") +HEADER_TAIL = "\n".join(HEADER_LINES[2:]) -PY_FILES = [p for p in Path().glob("./src/**/*.py")] -PY_FILES += [p for p in Path().glob("./tests/**/*.py")] -TOML_FILES = [p for p in Path().glob("conf/**/*.toml")] + ["pyproject.toml", ".taplo.toml"] +PY_FILES = [*list(Path().glob("./src/**/*.py")), *list(Path().glob("./tests/**/*.py"))] +TOML_FILES = [*list(Path().glob("conf/**/*.toml")), Path("pyproject.toml"), Path(".taplo.toml")] +CURRENT_YEAR = datetime.now().year -def prepare_copyright_with_year(file: Path, line: str) -> str: + +def _format_years_to_ranges(years: list[int]) -> str: + """Turn sorted unique years into a string with ranges for consecutive years. + + E.g. [2024, 2026] -> "2024, 2026" + [2024, 2025, 2027] -> "2024-2025, 2027" + """ + if not years: + raise ValueError( + "Unexpected behavior. Expected at least one year in the list. If it's a new file - should be the " + "current year" + ) + + parts: list[str] = [] + range_start = years[0] + range_end = years[0] + for y in years[1:]: + if y == range_end + 1: + range_end = y + else: + parts.append(f"{range_start}-{range_end}" if range_start != range_end else str(range_start)) + range_start = y + range_end = y + parts.append(f"{range_start}-{range_end}" if range_start != range_end else str(range_start)) + return ", ".join(parts) + + +@pytest.mark.parametrize( + ("years_list", "expected"), + ( + ([2024, 2026], "2024, 2026"), + ([2024, 2025, 2027], "2024-2025, 2027"), + ([2024], "2024"), + ([2024, 2025, 2026], "2024-2026"), + ), +) +def test_format_years_to_ranges(years_list: list[int], expected: str): + assert _format_years_to_ranges(years_list) == expected + + +def test_empty_format_years_to_ranges(): + with pytest.raises(ValueError): + _format_years_to_ranges([]) + + +def get_commit_years_for_file(path: Path) -> list[int]: + """ + Return sorted list of years when the file was changed: from git log --follow + (so renames/moves are included), plus current year if the file is new or has + uncommitted changes (staged or unstaged). + """ + path_str = path.as_posix() res = subprocess.run( - ["git", "log", "--format=%ad", "--date=format:%Y", "--follow", "-1", file], + ["git", "log", "--format=%ad", "--date=format:%Y", "--follow", "--", path_str], capture_output=True, text=True, ) - if not res.stdout: - # in some cases when a file was renamed, --follow won't allow getting the last modified year + if res.returncode != 0 and res.returncode != 128: # 128 = no commits match + raise RuntimeError(f"git log failed for {path_str}: {res.stderr}") + + if not res.stdout.strip(): res = subprocess.run( - ["git", "log", "--format=%ad", "--date=format:%Y", "-1", file], + ["git", "log", "--format=%ad", "--date=format:%Y", "--", path_str], capture_output=True, text=True, ) - changed_years = res.stdout.splitlines() - last_modified_year_real = int(changed_years[0]) + if res.returncode != 0 and res.returncode != 128: # 128 = no commits match + raise RuntimeError(f"git log failed for {path_str}: {res.stderr}") - curr_year_spec = line.split(" ")[3] - spec_is_range = "-" in curr_year_spec + lines = [s.strip() for s in res.stdout.splitlines() if s.strip()] + years = sorted(set(int(y) for y in lines)) if lines else [CURRENT_YEAR] + # Include current year if file is new, modified (unstaged), or staged + status = subprocess.run( + ["git", "status", "--porcelain", "--", path_str], + capture_output=True, + text=True, + ) + if status.stdout.strip(): + years = sorted(set(years) | {CURRENT_YEAR}) + return years + + +def prepare_copyright_with_year(years: list[int]) -> str: + years_str = _format_years_to_ranges(years) after_year_str = "NVIDIA CORPORATION & AFFILIATES. All rights reserved." + return f"# Copyright (c) {years_str} {after_year_str}" + + +def _assert_copyright_in_file(file: Path): + with file.open() as f: + try: + actual_copyright_lines = [next(f).strip() for _ in range(len(HEADER_LINES))] + except StopIteration: + actual_copyright_lines = [] - if spec_is_range: - created_year = int(curr_year_spec.split("-")[0]) - return f"# Copyright (c) {created_year}-{last_modified_year_real} {after_year_str}" + assert len(actual_copyright_lines) >= len(HEADER_LINES), "Copyright is missing or incomplete" - if int(curr_year_spec) < last_modified_year_real: - return f"# Copyright (c) {curr_year_spec}-{last_modified_year_real} {after_year_str}" + expected_years = get_commit_years_for_file(file) + expected_years_line = prepare_copyright_with_year(expected_years) - return f"# Copyright (c) {last_modified_year_real} {after_year_str}" + assert actual_copyright_lines[0] == HEADER_LINES[0], "SPDX-FileCopyrightText is not valid" + assert actual_copyright_lines[1] == expected_years_line, "Copyright year is not valid" + assert "\n".join(actual_copyright_lines[2:]) == HEADER_TAIL, f"Header mismatch in {file}" @pytest.mark.parametrize("py_file", PY_FILES, ids=[str(f) for f in PY_FILES]) def test_src_copyright_header(py_file: Path): - with py_file.open() as file: - first_lines = [next(file).strip() for _ in range(HEADER_LINES)] - - assert first_lines[0] == "# SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES", ( - "SPDX-FileCopyrightText is not valid" - ) - assert first_lines[1] == prepare_copyright_with_year(py_file, first_lines[1]), "Copyright year is not valid" - assert "\n".join(first_lines[2:]) == "\n".join(HEADER.splitlines()[2:]), f"Header mismatch in {py_file}" + _assert_copyright_in_file(py_file) @pytest.mark.parametrize("toml_file", TOML_FILES, ids=[str(f) for f in TOML_FILES]) -def test_toml_copyright_header(toml_file): - with open(toml_file, "r") as file: - first_lines = [next(file).strip() for _ in range(HEADER_LINES)] - - assert first_lines[0] == "# SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES" - assert first_lines[1] == prepare_copyright_with_year(toml_file, first_lines[1]) - assert "\n".join(first_lines[2:]) == "\n".join(HEADER.splitlines()[2:]), f"Header mismatch in {toml_file}" +def test_toml_copyright_header(toml_file: Path): + _assert_copyright_in_file(toml_file) diff --git a/tests/test_cli.py b/tests/test_cli.py index 6c4ba731c..2a3f394ec 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/tests/test_git_repo_installer.py b/tests/test_git_repo_installer.py index 0ce706792..e41198439 100644 --- a/tests/test_git_repo_installer.py +++ b/tests/test_git_repo_installer.py @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES -# Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License");