diff --git a/.automation_scripts/parse_xml_results.py b/.automation_scripts/parse_xml_results.py
new file mode 100644
index 000000000000..7db2e1ce9233
--- /dev/null
+++ b/.automation_scripts/parse_xml_results.py
@@ -0,0 +1,178 @@
+""" The Python PyTorch testing script.
+##
+# Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+"""
+
+import xml.etree.ElementTree as ET
+from pathlib import Path
+from typing import Any, Dict, Tuple
+
+# Backends list
+BACKENDS_LIST = [
+ "dist-gloo",
+ "dist-nccl"
+]
+
+TARGET_WORKFLOW = "--rerun-disabled-tests"
+
+def get_job_id(report: Path) -> int:
+ # [Job id in artifacts]
+ # Retrieve the job id from the report path. In our GHA workflows, we append
+ # the job id to the end of the report name, so `report` looks like:
+ # unzipped-test-reports-foo_5596745227/test/test-reports/foo/TEST-foo.xml
+ # and we want to get `5596745227` out of it.
+ try:
+ return int(report.parts[0].rpartition("_")[2])
+ except ValueError:
+ return -1
+
+def is_rerun_disabled_tests(root: ET.ElementTree) -> bool:
+ """
+ Check if the test report is coming from rerun_disabled_tests workflow
+ """
+ skipped = root.find(".//*skipped")
+ # Need to check against None here, if not skipped doesn't work as expected
+ if skipped is None:
+ return False
+
+ message = skipped.attrib.get("message", "")
+ return TARGET_WORKFLOW in message or "num_red" in message
+
+def parse_xml_report(
+ tag: str,
+ report: Path,
+ workflow_id: int,
+ workflow_run_attempt: int,
+ work_flow_name: str
+) -> Dict[Tuple[str], Dict[str, Any]]:
+ """Convert a test report xml file into a JSON-serializable list of test cases."""
+ print(f"Parsing {tag}s for test report: {report}")
+
+ job_id = get_job_id(report)
+ print(f"Found job id: {job_id}")
+
+ test_cases: Dict[Tuple[str], Dict[str, Any]] = {}
+
+ root = ET.parse(report)
+ # TODO: unlike unittest, pytest-flakefinder used by rerun disabled tests for test_ops
+ # includes skipped messages multiple times (50 times by default). This slows down
+ # this script too much (O(n)) because it tries to gather all the stats. This should
+ # be fixed later in the way we use pytest-flakefinder. A zipped test report from rerun
+ # disabled test is only few MB, but will balloon up to a much bigger XML file after
+ # extracting from a dozen to few hundred MB
+ if is_rerun_disabled_tests(root):
+ return test_cases
+
+ for test_case in root.iter(tag):
+ case = process_xml_element(test_case)
+ if tag == 'testcase':
+ case["workflow_id"] = workflow_id
+ case["workflow_run_attempt"] = workflow_run_attempt
+ case["job_id"] = job_id
+ case["work_flow_name"] = work_flow_name
+
+ # [invoking file]
+ # The name of the file that the test is located in is not necessarily
+ # the same as the name of the file that invoked the test.
+ # For example, `test_jit.py` calls into multiple other test files (e.g.
+ # jit/test_dce.py). For sharding/test selection purposes, we want to
+ # record the file that invoked the test.
+ #
+ # To do this, we leverage an implementation detail of how we write out
+ # tests (https://bit.ly/3ajEV1M), which is that reports are created
+ # under a folder with the same name as the invoking file.
+ case_name = report.parent.name
+ for ind in range(len(BACKENDS_LIST)):
+ if BACKENDS_LIST[ind] in report.parts:
+ case_name = case_name + "_" + BACKENDS_LIST[ind]
+ break
+ case["invoking_file"] = case_name
+ test_cases[ ( case["invoking_file"], case["classname"], case["name"], case["work_flow_name"] ) ] = case
+ elif tag == 'testsuite':
+ case["work_flow_name"] = work_flow_name
+ case["invoking_xml"] = report.name
+ case["running_time_xml"] = case["time"]
+ case_name = report.parent.name
+ for ind in range(len(BACKENDS_LIST)):
+ if BACKENDS_LIST[ind] in report.parts:
+ case_name = case_name + "_" + BACKENDS_LIST[ind]
+ break
+ case["invoking_file"] = case_name
+
+ test_cases[ ( case["invoking_file"], case["invoking_xml"], case["work_flow_name"] ) ] = case
+
+ return test_cases
+
+def process_xml_element(element: ET.Element) -> Dict[str, Any]:
+ """Convert a test suite element into a JSON-serializable dict."""
+ ret: Dict[str, Any] = {}
+
+ # Convert attributes directly into dict elements.
+ # e.g.
+ #
+ # becomes:
+ # {"name": "test_foo", "classname": "test_bar"}
+ ret.update(element.attrib)
+
+ # The XML format encodes all values as strings. Convert to ints/floats if
+ # possible to make aggregation possible in Rockset.
+ for k, v in ret.items():
+ try:
+ ret[k] = int(v)
+ except ValueError:
+ pass
+ try:
+ ret[k] = float(v)
+ except ValueError:
+ pass
+
+ # Convert inner and outer text into special dict elements.
+ # e.g.
+ # my_inner_text my_tail
+ # becomes:
+ # {"text": "my_inner_text", "tail": " my_tail"}
+ if element.text and element.text.strip():
+ ret["text"] = element.text
+ if element.tail and element.tail.strip():
+ ret["tail"] = element.tail
+
+ # Convert child elements recursively, placing them at a key:
+ # e.g.
+ #
+ # hello
+ # world
+ # another
+ #
+ # becomes
+ # {
+ # "foo": [{"text": "hello"}, {"text": "world"}],
+ # "bar": {"text": "another"}
+ # }
+ for child in element:
+ if child.tag not in ret:
+ ret[child.tag] = process_xml_element(child)
+ else:
+ # If there are multiple tags with the same name, they should be
+ # coalesced into a list.
+ if not isinstance(ret[child.tag], list):
+ ret[child.tag] = [ret[child.tag]]
+ ret[child.tag].append(process_xml_element(child))
+ return ret
\ No newline at end of file
diff --git a/.automation_scripts/run_pytorch_unit_tests.py b/.automation_scripts/run_pytorch_unit_tests.py
new file mode 100644
index 000000000000..514afd19624c
--- /dev/null
+++ b/.automation_scripts/run_pytorch_unit_tests.py
@@ -0,0 +1,518 @@
+#!/usr/bin/env python3
+
+""" The Python PyTorch testing script.
+##
+# Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+"""
+
+import argparse
+import os
+import shutil
+import subprocess
+from subprocess import STDOUT, CalledProcessError
+
+from collections import namedtuple
+from datetime import datetime
+from pathlib import Path
+from parse_xml_results import (
+ parse_xml_report
+)
+from pprint import pprint
+from typing import Any, Dict, List
+
+# unit test status list
+UT_STATUS_LIST = [
+ "PASSED",
+ "MISSED",
+ "SKIPPED",
+ "FAILED",
+ "XFAILED",
+ "ERROR"
+]
+
+DEFAULT_CORE_TESTS = [
+ "test_nn",
+ "test_torch",
+ "test_cuda",
+ "test_ops",
+ "test_unary_ufuncs",
+ "test_autograd",
+ "inductor/test_torchinductor"
+]
+
+DISTRIBUTED_CORE_TESTS = [
+ "distributed/test_c10d_common",
+ "distributed/test_c10d_nccl",
+ "distributed/test_distributed_spawn"
+]
+
+CONSOLIDATED_LOG_FILE_NAME="pytorch_unit_tests.log"
+
+def parse_xml_reports_as_dict(workflow_run_id, workflow_run_attempt, tag, workflow_name, path="."):
+ test_cases = {}
+ items_list = os.listdir(path)
+ for dir in items_list:
+ new_dir = path + '/' + dir + '/'
+ if os.path.isdir(new_dir):
+ for xml_report in Path(new_dir).glob("**/*.xml"):
+ test_cases.update(
+ parse_xml_report(
+ tag,
+ xml_report,
+ workflow_run_id,
+ workflow_run_attempt,
+ workflow_name
+ )
+ )
+ return test_cases
+
+def get_test_status(test_case):
+ # In order of priority: S=skipped, F=failure, E=error, P=pass
+ if "skipped" in test_case and test_case["skipped"]:
+ type_message = test_case["skipped"]
+ if type_message.__contains__('type') and type_message['type'] == "pytest.xfail":
+ return "XFAILED"
+ else:
+ return "SKIPPED"
+ elif "failure" in test_case and test_case["failure"]:
+ return "FAILED"
+ elif "error" in test_case and test_case["error"]:
+ return "ERROR"
+ else:
+ return "PASSED"
+
+def get_test_message(test_case, status=None):
+ if status == "SKIPPED":
+ return test_case["skipped"] if "skipped" in test_case else ""
+ elif status == "FAILED":
+ return test_case["failure"] if "failure" in test_case else ""
+ elif status == "ERROR":
+ return test_case["error"] if "error" in test_case else ""
+ else:
+ if "skipped" in test_case:
+ return test_case["skipped"]
+ elif "failure" in test_case:
+ return test_case["failure"]
+ elif "error" in test_case:
+ return test_case["error"]
+ else:
+ return ""
+
+def get_test_file_running_time(test_suite):
+ if test_suite.__contains__('time'):
+ return test_suite["time"]
+ return 0
+
+def get_test_running_time(test_case):
+ if test_case.__contains__('time'):
+ return test_case["time"]
+ return ""
+
+def summarize_xml_files(path, workflow_name):
+ # statistics
+ TOTAL_TEST_NUM = 0
+ TOTAL_PASSED_NUM = 0
+ TOTAL_SKIPPED_NUM = 0
+ TOTAL_XFAIL_NUM = 0
+ TOTAL_FAILED_NUM = 0
+ TOTAL_ERROR_NUM = 0
+ TOTAL_EXECUTION_TIME = 0
+
+ #parse the xml files
+ test_cases = parse_xml_reports_as_dict(-1, -1, 'testcase', workflow_name, path)
+ test_suites = parse_xml_reports_as_dict(-1, -1, 'testsuite', workflow_name, path)
+ test_file_and_status = namedtuple("test_file_and_status", ["file_name", "status"])
+ # results dict
+ res = {}
+ res_item_list = [ "PASSED", "SKIPPED", "XFAILED", "FAILED", "ERROR" ]
+ test_file_items = set()
+ for (k,v) in list(test_suites.items()):
+ file_name = k[0]
+ if not file_name in test_file_items:
+ test_file_items.add(file_name)
+ # initialization
+ for item in res_item_list:
+ temp_item = test_file_and_status(file_name, item)
+ res[temp_item] = {}
+ temp_item_statistics = test_file_and_status(file_name, "STATISTICS")
+ res[temp_item_statistics] = {'TOTAL': 0, 'PASSED': 0, 'SKIPPED': 0, 'XFAILED': 0, 'FAILED': 0, 'ERROR': 0, 'EXECUTION_TIME': 0}
+ test_running_time = get_test_file_running_time(v)
+ res[temp_item_statistics]["EXECUTION_TIME"] += test_running_time
+ TOTAL_EXECUTION_TIME += test_running_time
+ else:
+ test_tuple_key_statistics = test_file_and_status(file_name, "STATISTICS")
+ test_running_time = get_test_file_running_time(v)
+ res[test_tuple_key_statistics]["EXECUTION_TIME"] += test_running_time
+ TOTAL_EXECUTION_TIME += test_running_time
+
+ for (k,v) in list(test_cases.items()):
+ file_name = k[0]
+ class_name = k[1]
+ test_name = k[2]
+ combined_name = file_name + "::" + class_name + "::" + test_name
+ test_status = get_test_status(v)
+ test_running_time = get_test_running_time(v)
+ test_message = get_test_message(v, test_status)
+ test_info_value = ""
+ test_tuple_key_status = test_file_and_status(file_name, test_status)
+ test_tuple_key_statistics = test_file_and_status(file_name, "STATISTICS")
+ TOTAL_TEST_NUM += 1
+ res[test_tuple_key_statistics]["TOTAL"] += 1
+ if test_status == "PASSED":
+ test_info_value = str(test_running_time)
+ res[test_tuple_key_status][combined_name] = test_info_value
+ res[test_tuple_key_statistics]["PASSED"] += 1
+ TOTAL_PASSED_NUM += 1
+ elif test_status == "SKIPPED":
+ test_info_value = str(test_running_time)
+ res[test_tuple_key_status][combined_name] = test_info_value
+ res[test_tuple_key_statistics]["SKIPPED"] += 1
+ TOTAL_SKIPPED_NUM += 1
+ elif test_status == "XFAILED":
+ test_info_value = str(test_running_time)
+ res[test_tuple_key_status][combined_name] = test_info_value
+ res[test_tuple_key_statistics]["XFAILED"] += 1
+ TOTAL_XFAIL_NUM += 1
+ elif test_status == "FAILED":
+ test_info_value = test_message
+ res[test_tuple_key_status][combined_name] = test_info_value
+ res[test_tuple_key_statistics]["FAILED"] += 1
+ TOTAL_FAILED_NUM += 1
+ elif test_status == "ERROR":
+ test_info_value = test_message
+ res[test_tuple_key_status][combined_name] = test_info_value
+ res[test_tuple_key_statistics]["ERROR"] += 1
+ TOTAL_ERROR_NUM += 1
+
+ # generate statistics_dict
+ statistics_dict = {}
+ statistics_dict["TOTAL"] = TOTAL_TEST_NUM
+ statistics_dict["PASSED"] = TOTAL_PASSED_NUM
+ statistics_dict["SKIPPED"] = TOTAL_SKIPPED_NUM
+ statistics_dict["XFAILED"] = TOTAL_XFAIL_NUM
+ statistics_dict["FAILED"] = TOTAL_FAILED_NUM
+ statistics_dict["ERROR"] = TOTAL_ERROR_NUM
+ statistics_dict["EXECUTION_TIME"] = TOTAL_EXECUTION_TIME
+ aggregate_item = workflow_name + "_aggregate"
+ total_item = test_file_and_status(aggregate_item, "STATISTICS")
+ res[total_item] = statistics_dict
+
+ return res
+
+def run_command_and_capture_output(cmd):
+ try:
+ print(f"Running command '{cmd}'")
+ with open(CONSOLIDATED_LOG_FILE_PATH, "a+") as output_file:
+ print(f"========================================", file=output_file, flush=True)
+ print(f"[RUN_PYTORCH_UNIT_TESTS] Running command '{cmd}'", file=output_file, flush=True) # send to consolidated file as well
+ print(f"========================================", file=output_file, flush=True)
+ p = subprocess.run(cmd, shell=True, stdout=output_file, stderr=STDOUT, text=True)
+ except CalledProcessError as e:
+ print(f"ERROR: Cmd {cmd} failed with return code: {e.returncode}!")
+
+def run_entire_tests(workflow_name, test_shell_path, overall_logs_path_current_run, test_reports_src):
+ if os.path.exists(test_reports_src):
+ shutil.rmtree(test_reports_src)
+
+ os.mkdir(test_reports_src)
+ copied_logs_path = ""
+ if workflow_name == "default":
+ os.environ['TEST_CONFIG'] = 'default'
+ copied_logs_path = overall_logs_path_current_run + "default_xml_results_entire_tests/"
+ elif workflow_name == "distributed":
+ os.environ['TEST_CONFIG'] = 'distributed'
+ copied_logs_path = overall_logs_path_current_run + "distributed_xml_results_entire_tests/"
+ elif workflow_name == "inductor":
+ os.environ['TEST_CONFIG'] = 'inductor'
+ copied_logs_path = overall_logs_path_current_run + "inductor_xml_results_entire_tests/"
+ # use test.sh for tests execution
+ run_command_and_capture_output(test_shell_path)
+ copied_logs_path_destination = shutil.copytree(test_reports_src, copied_logs_path)
+ entire_results_dict = summarize_xml_files(copied_logs_path_destination, workflow_name)
+ return entire_results_dict
+
+def run_priority_tests(workflow_name, test_run_test_path, overall_logs_path_current_run, test_reports_src):
+ if os.path.exists(test_reports_src):
+ shutil.rmtree(test_reports_src)
+
+ os.mkdir(test_reports_src)
+ copied_logs_path = ""
+ if workflow_name == "default":
+ os.environ['TEST_CONFIG'] = 'default'
+ os.environ['HIP_VISIBLE_DEVICES'] = '0'
+ copied_logs_path = overall_logs_path_current_run + "default_xml_results_priority_tests/"
+ # use run_test.py for tests execution
+ default_priority_test_suites = " ".join(DEFAULT_CORE_TESTS)
+ command = "python3 " + test_run_test_path + " --include " + default_priority_test_suites + " --exclude-jit-executor --exclude-distributed-tests --verbose"
+ run_command_and_capture_output(command)
+ del os.environ['HIP_VISIBLE_DEVICES']
+ elif workflow_name == "distributed":
+ os.environ['TEST_CONFIG'] = 'distributed'
+ os.environ['HIP_VISIBLE_DEVICES'] = '0,1'
+ copied_logs_path = overall_logs_path_current_run + "distributed_xml_results_priority_tests/"
+ # use run_test.py for tests execution
+ distributed_priority_test_suites = " ".join(DISTRIBUTED_CORE_TESTS)
+ command = "python3 " + test_run_test_path + " --include " + distributed_priority_test_suites + " --distributed-tests --verbose"
+ run_command_and_capture_output(command)
+ del os.environ['HIP_VISIBLE_DEVICES']
+ copied_logs_path_destination = shutil.copytree(test_reports_src, copied_logs_path)
+ priority_results_dict = summarize_xml_files(copied_logs_path_destination, workflow_name)
+
+ return priority_results_dict
+
+def run_selected_tests(workflow_name, test_run_test_path, overall_logs_path_current_run, test_reports_src, selected_list):
+ if os.path.exists(test_reports_src):
+ shutil.rmtree(test_reports_src)
+
+ os.mkdir(test_reports_src)
+ copied_logs_path = ""
+ if workflow_name == "default":
+ os.environ['TEST_CONFIG'] = 'default'
+ os.environ['HIP_VISIBLE_DEVICES'] = '0'
+ copied_logs_path = overall_logs_path_current_run + "default_xml_results_selected_tests/"
+ # use run_test.py for tests execution
+ default_selected_test_suites = " ".join(selected_list)
+ command = "python3 " + test_run_test_path + " --include " + default_selected_test_suites + " --exclude-jit-executor --exclude-distributed-tests --verbose"
+ run_command_and_capture_output(command)
+ del os.environ['HIP_VISIBLE_DEVICES']
+ elif workflow_name == "distributed":
+ os.environ['TEST_CONFIG'] = 'distributed'
+ os.environ['HIP_VISIBLE_DEVICES'] = '0,1'
+ copied_logs_path = overall_logs_path_current_run + "distributed_xml_results_selected_tests/"
+ # use run_test.py for tests execution
+ distributed_selected_test_suites = " ".join(selected_list)
+ command = "python3 " + test_run_test_path + " --include " + distributed_selected_test_suites + " --distributed-tests --verbose"
+ run_command_and_capture_output(command)
+ del os.environ['HIP_VISIBLE_DEVICES']
+ elif workflow_name == "inductor":
+ os.environ['TEST_CONFIG'] = 'inductor'
+ copied_logs_path = overall_logs_path_current_run + "inductor_xml_results_selected_tests/"
+ inductor_selected_test_suites = ""
+ non_inductor_selected_test_suites = ""
+ for item in selected_list:
+ if "inductor/" in item:
+ inductor_selected_test_suites += item
+ inductor_selected_test_suites += " "
+ else:
+ non_inductor_selected_test_suites += item
+ non_inductor_selected_test_suites += " "
+ if inductor_selected_test_suites != "":
+ inductor_selected_test_suites = inductor_selected_test_suites[:-1]
+ command = "python3 " + test_run_test_path + " --include " + inductor_selected_test_suites + " --verbose"
+ run_command_and_capture_output(command)
+ if non_inductor_selected_test_suites != "":
+ non_inductor_selected_test_suites = non_inductor_selected_test_suites[:-1]
+ command = "python3 " + test_run_test_path + " --inductor --include " + non_inductor_selected_test_suites + " --verbose"
+ run_command_and_capture_output(command)
+ copied_logs_path_destination = shutil.copytree(test_reports_src, copied_logs_path)
+ selected_results_dict = summarize_xml_files(copied_logs_path_destination, workflow_name)
+
+ return selected_results_dict
+
+def run_test_and_summarize_results(
+ pytorch_root_dir: str,
+ priority_tests: bool,
+ test_config: List[str],
+ default_list: List[str],
+ distributed_list: List[str],
+ inductor_list: List[str],
+ skip_rerun: bool) -> Dict[str, Any]:
+
+ # copy current environment variables
+ _environ = dict(os.environ)
+
+ # modify path
+ test_shell_path = pytorch_root_dir + "/.ci/pytorch/test.sh"
+ test_run_test_path = pytorch_root_dir + "/test/run_test.py"
+ repo_test_log_folder_path = pytorch_root_dir + "/.automation_logs/"
+ test_reports_src = pytorch_root_dir + "/test/test-reports/"
+ run_test_python_file = pytorch_root_dir + "/test/run_test.py"
+
+ # change directory to pytorch root
+ os.chdir(pytorch_root_dir)
+
+ # all test results dict
+ res_all_tests_dict = {}
+
+ # patterns
+ search_text = "--reruns=2"
+ replace_text = "--reruns=0"
+
+ # create logs folder
+ if not os.path.exists(repo_test_log_folder_path):
+ os.mkdir(repo_test_log_folder_path)
+
+ # Set common environment variables for all scenarios
+ os.environ['CI'] = '1'
+ os.environ['PYTORCH_TEST_WITH_ROCM'] = '1'
+ os.environ['HSA_FORCE_FINE_GRAIN_PCIE'] = '1'
+ os.environ['PYTORCH_TESTING_DEVICE_ONLY_FOR'] = 'cuda'
+ os.environ['CONTINUE_THROUGH_ERROR'] = 'True'
+ if skip_rerun:
+ # modify run_test.py in-place
+ with open(run_test_python_file, 'r') as file:
+ data = file.read()
+ data = data.replace(search_text, replace_text)
+ with open(run_test_python_file, 'w') as file:
+ file.write(data)
+
+ # Time stamp
+ current_datetime = datetime.now().strftime("%Y%m%d_%H-%M-%S")
+ print("Current date & time : ", current_datetime)
+ # performed as Job ID
+ str_current_datetime = str(current_datetime)
+ overall_logs_path_current_run = repo_test_log_folder_path + str_current_datetime + "/"
+ os.mkdir(overall_logs_path_current_run)
+
+ global CONSOLIDATED_LOG_FILE_PATH
+ CONSOLIDATED_LOG_FILE_PATH = overall_logs_path_current_run + CONSOLIDATED_LOG_FILE_NAME
+
+ # Check multi gpu availability if distributed tests are enabled
+ if ("distributed" in test_config) or len(distributed_list) != 0:
+ check_num_gpus_for_distributed()
+
+ # Install test requirements
+ command = "pip3 install -r requirements.txt && pip3 install -r .ci/docker/requirements-ci.txt"
+ run_command_and_capture_output(command)
+
+ # Run entire tests for each workflow
+ if not priority_tests and not default_list and not distributed_list and not inductor_list:
+ # run entire tests for default, distributed and inductor workflows → use test.sh
+ if not test_config:
+ check_num_gpus_for_distributed()
+ # default test process
+ res_default_all = run_entire_tests("default", test_shell_path, overall_logs_path_current_run, test_reports_src)
+ res_all_tests_dict["default"] = res_default_all
+ # distributed test process
+ res_distributed_all = run_entire_tests("distributed", test_shell_path, overall_logs_path_current_run, test_reports_src)
+ res_all_tests_dict["distributed"] = res_distributed_all
+ # inductor test process
+ res_inductor_all = run_entire_tests("inductor", test_shell_path, overall_logs_path_current_run, test_reports_src)
+ res_all_tests_dict["inductor"] = res_inductor_all
+ else:
+ workflow_list = []
+ for item in test_config:
+ workflow_list.append(item)
+ if "default" in workflow_list:
+ res_default_all = run_entire_tests("default", test_shell_path, overall_logs_path_current_run, test_reports_src)
+ res_all_tests_dict["default"] = res_default_all
+ if "distributed" in workflow_list:
+ res_distributed_all = run_entire_tests("distributed", test_shell_path, overall_logs_path_current_run, test_reports_src)
+ res_all_tests_dict["distributed"] = res_distributed_all
+ if "inductor" in workflow_list:
+ res_inductor_all = run_entire_tests("inductor", test_shell_path, overall_logs_path_current_run, test_reports_src)
+ res_all_tests_dict["inductor"] = res_inductor_all
+ # Run priority test for each workflow
+ elif priority_tests and not default_list and not distributed_list and not inductor_list:
+ if not test_config:
+ check_num_gpus_for_distributed()
+ # default test process
+ res_default_priority = run_priority_tests("default", test_run_test_path, overall_logs_path_current_run, test_reports_src)
+ res_all_tests_dict["default"] = res_default_priority
+ # distributed test process
+ res_distributed_priority = run_priority_tests("distributed", test_run_test_path, overall_logs_path_current_run, test_reports_src)
+ res_all_tests_dict["distributed"] = res_distributed_priority
+ # will not run inductor priority tests
+ print("Inductor priority tests cannot run since no core tests defined with inductor workflow.")
+ else:
+ workflow_list = []
+ for item in test_config:
+ workflow_list.append(item)
+ if "default" in workflow_list:
+ res_default_priority = run_priority_tests("default", test_run_test_path, overall_logs_path_current_run, test_reports_src)
+ res_all_tests_dict["default"] = res_default_priority
+ if "distributed" in workflow_list:
+ res_distributed_priority = run_priority_tests("distributed", test_run_test_path, overall_logs_path_current_run, test_reports_src)
+ res_all_tests_dict["distributed"] = res_distributed_priority
+ if "inductor" in workflow_list:
+ print("Inductor priority tests cannot run since no core tests defined with inductor workflow.")
+ # Run specified tests for each workflow
+ elif (default_list or distributed_list or inductor_list) and not test_config and not priority_tests:
+ if default_list:
+ default_workflow_list = []
+ for item in default_list:
+ default_workflow_list.append(item)
+ res_default_selected = run_selected_tests("default", test_run_test_path, overall_logs_path_current_run, test_reports_src, default_workflow_list)
+ res_all_tests_dict["default"] = res_default_selected
+ if distributed_list:
+ distributed_workflow_list = []
+ for item in distributed_list:
+ distributed_workflow_list.append(item)
+ res_distributed_selected = run_selected_tests("distributed", test_run_test_path, overall_logs_path_current_run, test_reports_src, distributed_workflow_list)
+ res_all_tests_dict["distributed"] = res_distributed_selected
+ if inductor_list:
+ inductor_workflow_list = []
+ for item in inductor_list:
+ inductor_workflow_list.append(item)
+ res_inductor_selected = run_selected_tests("inductor", test_run_test_path, overall_logs_path_current_run, test_reports_src, inductor_workflow_list)
+ res_all_tests_dict["inductor"] = res_inductor_selected
+ else:
+ raise Exception("Invalid test configurations!")
+
+ # restore environment variables
+ os.environ.clear()
+ os.environ.update(_environ)
+
+ # restore files
+ if skip_rerun:
+ # modify run_test.py in-place
+ with open(run_test_python_file, 'r') as file:
+ data = file.read()
+ data = data.replace(replace_text, search_text)
+ with open(run_test_python_file, 'w') as file:
+ file.write(data)
+
+ return res_all_tests_dict
+
+def parse_args():
+ parser = argparse.ArgumentParser(description='Run PyTorch unit tests and generate xml results summary', formatter_class=argparse.RawTextHelpFormatter)
+ parser.add_argument('--test_config', nargs='+', default=[], type=str, help="space-separated list of test workflows to be executed eg. 'default distributed'")
+ parser.add_argument('--priority_tests', action='store_true', help="run priority tests only")
+ parser.add_argument('--default_list', nargs='+', default=[], help="space-separated list of 'default' config test suites/files to be executed eg. 'test_weak test_dlpack'")
+ parser.add_argument('--distributed_list', nargs='+', default=[], help="space-separated list of 'distributed' config test suites/files to be executed eg. 'distributed/test_c10d_common distributed/test_c10d_nccl'")
+ parser.add_argument('--inductor_list', nargs='+', default=[], help="space-separated list of 'inductor' config test suites/files to be executed eg. 'inductor/test_torchinductor test_ops'")
+ parser.add_argument('--pytorch_root', default='.', type=str, help="PyTorch root directory")
+ parser.add_argument('--skip_rerun', action='store_true', help="skip rerun process")
+ parser.add_argument('--example_output', type=str, help="{'workflow_name': {\n"
+ " test_file_and_status(file_name='workflow_aggregate', status='STATISTICS'): {}, \n"
+ " test_file_and_status(file_name='test_file_name_1', status='ERROR'): {}, \n"
+ " test_file_and_status(file_name='test_file_name_1', status='FAILED'): {}, \n"
+ " test_file_and_status(file_name='test_file_name_1', status='PASSED'): {}, \n"
+ " test_file_and_status(file_name='test_file_name_1', status='SKIPPED'): {}, \n"
+ " test_file_and_status(file_name='test_file_name_1', status='STATISTICS'): {} \n"
+ "}}\n")
+ parser.add_argument('--example_usages', type=str, help="RUN ALL TESTS: python3 run_pytorch_unit_tests.py \n"
+ "RUN PRIORITY TESTS: python3 run_pytorch_unit_tests.py --test_config distributed --priority_test \n"
+ "RUN SELECTED TESTS: python3 run_pytorch_unit_tests.py --default_list test_weak test_dlpack --inductor_list inductor/test_torchinductor")
+ return parser.parse_args()
+
+def check_num_gpus_for_distributed():
+ p = subprocess.run("rocminfo | grep -cE 'Name:\s+gfx'", shell=True, capture_output=True, text=True)
+ num_gpus_visible = int(p.stdout)
+ assert num_gpus_visible > 1, "Number of visible GPUs should be >1 to run distributed unit tests"
+
+def main():
+ args = parse_args()
+ all_tests_results = run_test_and_summarize_results(args.pytorch_root, args.priority_tests, args.test_config, args.default_list, args.distributed_list, args.inductor_list, args.skip_rerun)
+ pprint(dict(all_tests_results))
+
+if __name__ == "__main__":
+ main()
diff --git a/.bazelrc b/.bazelrc
index fc2995dc838c..3656a86eb364 100644
--- a/.bazelrc
+++ b/.bazelrc
@@ -2,7 +2,11 @@ build --cxxopt=--std=c++17
build --copt=-I.
# Bazel does not support including its cc_library targets as system
# headers. We work around this for generated code
+<<<<<<< HEAD
# (e.g. torch/headeronly/macros/cmake_macros.h) by making the generated directory a
+=======
+# (e.g. c10/macros/cmake_macros.h) by making the generated directory a
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# system include path.
build --copt=-isystem --copt bazel-out/k8-fastbuild/bin
build --copt=-isystem --copt bazel-out/darwin-fastbuild/bin
diff --git a/.ci/aarch64_linux/aarch64_ci_build.sh b/.ci/aarch64_linux/aarch64_ci_build.sh
index 41cabc3bf511..771c10aecfde 100644
--- a/.ci/aarch64_linux/aarch64_ci_build.sh
+++ b/.ci/aarch64_linux/aarch64_ci_build.sh
@@ -3,6 +3,7 @@ set -eux -o pipefail
GPU_ARCH_VERSION=${GPU_ARCH_VERSION:-}
+<<<<<<< HEAD
# Set CUDA architecture lists to match x86 build_cuda.sh
if [[ "$GPU_ARCH_VERSION" == *"12.6"* ]]; then
export TORCH_CUDA_ARCH_LIST="8.0;9.0"
@@ -17,6 +18,10 @@ if [[ "$DESIRED_CUDA" == *"13"* ]]; then
export TORCH_NVCC_FLAGS="-compress-mode=size"
# Bundle ptxas into the cu13 wheel, see https://github.com/pytorch/pytorch/issues/163801
export BUILD_BUNDLE_PTXAS=1
+=======
+if [[ "$GPU_ARCH_VERSION" == *"12.9"* ]]; then
+ export TORCH_CUDA_ARCH_LIST="8.0;9.0;10.0;12.0"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
fi
SCRIPTPATH="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
@@ -30,7 +35,11 @@ cd /
# on the mounted pytorch repo
git config --global --add safe.directory /pytorch
pip install -r /pytorch/requirements.txt
+<<<<<<< HEAD
pip install auditwheel==6.2.0 wheel
+=======
+pip install auditwheel==6.2.0
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if [ "$DESIRED_CUDA" = "cpu" ]; then
echo "BASE_CUDA_VERSION is not set. Building cpu wheel."
#USE_PRIORITIZED_TEXT_FOR_LD for enable linker script optimization https://github.com/pytorch/pytorch/pull/121975/files
@@ -38,6 +47,7 @@ if [ "$DESIRED_CUDA" = "cpu" ]; then
else
echo "BASE_CUDA_VERSION is set to: $DESIRED_CUDA"
export USE_SYSTEM_NCCL=1
+<<<<<<< HEAD
# Check if we should use NVIDIA libs from PyPI (similar to x86 build_cuda.sh logic)
if [[ -z "$PYTORCH_EXTRA_INSTALL_REQUIREMENTS" ]]; then
@@ -48,6 +58,8 @@ else
export USE_NVIDIA_PYPI_LIBS=1
fi
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
#USE_PRIORITIZED_TEXT_FOR_LD for enable linker script optimization https://github.com/pytorch/pytorch/pull/121975/files
USE_PRIORITIZED_TEXT_FOR_LD=1 python /pytorch/.ci/aarch64_linux/aarch64_wheel_ci_build.py --enable-mkldnn --enable-cuda
fi
diff --git a/.ci/aarch64_linux/aarch64_wheel_ci_build.py b/.ci/aarch64_linux/aarch64_wheel_ci_build.py
index 1b6429fa8c06..cc3a41d4d922 100755
--- a/.ci/aarch64_linux/aarch64_wheel_ci_build.py
+++ b/.ci/aarch64_linux/aarch64_wheel_ci_build.py
@@ -69,6 +69,7 @@ def replace_tag(filename) -> None:
f.writelines(lines)
+<<<<<<< HEAD
def patch_library_rpath(
folder: str,
lib_name: str,
@@ -131,11 +132,14 @@ def copy_and_patch_library(
patch_library_rpath(folder, lib_name, use_nvidia_pypi_libs, desired_cuda)
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
def package_cuda_wheel(wheel_path, desired_cuda) -> None:
"""
Package the cuda wheel libraries
"""
folder = os.path.dirname(wheel_path)
+<<<<<<< HEAD
os.mkdir(f"{folder}/tmp")
os.system(f"unzip {wheel_path} -d {folder}/tmp")
# Delete original wheel since it will be repackaged
@@ -249,6 +253,57 @@ def package_cuda_wheel(wheel_path, desired_cuda) -> None:
# Copy libraries to unzipped_folder/torch/lib
for lib_path in libs_to_copy:
copy_and_patch_library(lib_path, folder, use_nvidia_pypi_libs, desired_cuda)
+=======
+ wheelname = os.path.basename(wheel_path)
+ os.mkdir(f"{folder}/tmp")
+ os.system(f"unzip {wheel_path} -d {folder}/tmp")
+ libs_to_copy = [
+ "/usr/local/cuda/extras/CUPTI/lib64/libcupti.so.12",
+ "/usr/local/cuda/lib64/libcudnn.so.9",
+ "/usr/local/cuda/lib64/libcublas.so.12",
+ "/usr/local/cuda/lib64/libcublasLt.so.12",
+ "/usr/local/cuda/lib64/libcudart.so.12",
+ "/usr/local/cuda/lib64/libcufft.so.11",
+ "/usr/local/cuda/lib64/libcusparse.so.12",
+ "/usr/local/cuda/lib64/libcusparseLt.so.0",
+ "/usr/local/cuda/lib64/libcusolver.so.11",
+ "/usr/local/cuda/lib64/libcurand.so.10",
+ "/usr/local/cuda/lib64/libnccl.so.2",
+ "/usr/local/cuda/lib64/libnvJitLink.so.12",
+ "/usr/local/cuda/lib64/libnvrtc.so.12",
+ "/usr/local/cuda/lib64/libcudnn_adv.so.9",
+ "/usr/local/cuda/lib64/libcudnn_cnn.so.9",
+ "/usr/local/cuda/lib64/libcudnn_graph.so.9",
+ "/usr/local/cuda/lib64/libcudnn_ops.so.9",
+ "/usr/local/cuda/lib64/libcudnn_engines_runtime_compiled.so.9",
+ "/usr/local/cuda/lib64/libcudnn_engines_precompiled.so.9",
+ "/usr/local/cuda/lib64/libcudnn_heuristic.so.9",
+ "/lib64/libgomp.so.1",
+ "/usr/lib64/libgfortran.so.5",
+ "/acl/build/libarm_compute.so",
+ "/acl/build/libarm_compute_graph.so",
+ "/usr/local/lib/libnvpl_lapack_lp64_gomp.so.0",
+ "/usr/local/lib/libnvpl_blas_lp64_gomp.so.0",
+ "/usr/local/lib/libnvpl_lapack_core.so.0",
+ "/usr/local/lib/libnvpl_blas_core.so.0",
+ ]
+
+ if "129" in desired_cuda:
+ libs_to_copy += [
+ "/usr/local/cuda/lib64/libnvrtc-builtins.so.12.9",
+ "/usr/local/cuda/lib64/libcufile.so.0",
+ "/usr/local/cuda/lib64/libcufile_rdma.so.1",
+ ]
+
+ # Copy libraries to unzipped_folder/a/lib
+ for lib_path in libs_to_copy:
+ lib_name = os.path.basename(lib_path)
+ shutil.copy2(lib_path, f"{folder}/tmp/torch/lib/{lib_name}")
+ os.system(
+ f"cd {folder}/tmp/torch/lib/; "
+ f"patchelf --set-rpath '$ORIGIN' --force-rpath {folder}/tmp/torch/lib/{lib_name}"
+ )
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# Make sure the wheel is tagged with manylinux_2_28
for f in os.scandir(f"{folder}/tmp/"):
@@ -256,8 +311,19 @@ def package_cuda_wheel(wheel_path, desired_cuda) -> None:
replace_tag(f"{f.path}/WHEEL")
break
+<<<<<<< HEAD
os.system(f"wheel pack {folder}/tmp/ -d {folder}")
os.system(f"rm -rf {folder}/tmp/")
+=======
+ os.mkdir(f"{folder}/cuda_wheel")
+ os.system(f"cd {folder}/tmp/; zip -r {folder}/cuda_wheel/{wheelname} *")
+ shutil.move(
+ f"{folder}/cuda_wheel/{wheelname}",
+ f"{folder}/{wheelname}",
+ copy_function=shutil.copy2,
+ )
+ os.system(f"rm -rf {folder}/tmp/ {folder}/cuda_wheel/")
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
def complete_wheel(folder: str) -> str:
@@ -280,7 +346,18 @@ def complete_wheel(folder: str) -> str:
f"/{folder}/dist/{repaired_wheel_name}",
)
else:
+<<<<<<< HEAD
repaired_wheel_name = list_dir(f"/{folder}/dist")[0]
+=======
+ repaired_wheel_name = wheel_name.replace(
+ "linux_aarch64", "manylinux_2_28_aarch64"
+ )
+ print(f"Renaming {wheel_name} wheel to {repaired_wheel_name}")
+ os.rename(
+ f"/{folder}/dist/{wheel_name}",
+ f"/{folder}/dist/{repaired_wheel_name}",
+ )
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
print(f"Copying {repaired_wheel_name} to artifacts")
shutil.copy2(
@@ -320,6 +397,7 @@ def parse_arguments():
build_vars = "CMAKE_SHARED_LINKER_FLAGS=-Wl,-z,max-page-size=0x10000 "
# MAX_JOB=5 is not required for CPU backend (see commit 465d98b)
if enable_cuda:
+<<<<<<< HEAD
build_vars += "MAX_JOBS=5 "
# Handle PyPI NVIDIA libraries vs bundled libraries
@@ -331,6 +409,9 @@ def parse_arguments():
else:
print("Configuring build for bundled NVIDIA libraries")
# Keep existing static linking approach - already configured above
+=======
+ build_vars = "MAX_JOBS=5 " + build_vars
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
override_package_version = os.getenv("OVERRIDE_PACKAGE_VERSION")
desired_cuda = os.getenv("DESIRED_CUDA")
diff --git a/.ci/aarch64_linux/build_aarch64_wheel.py b/.ci/aarch64_linux/build_aarch64_wheel.py
index 7a4715d33006..ea74c9152d2d 100755
--- a/.ci/aarch64_linux/build_aarch64_wheel.py
+++ b/.ci/aarch64_linux/build_aarch64_wheel.py
@@ -438,7 +438,13 @@ def build_torchvision(
)
build_vars += f"BUILD_VERSION={version}.dev{build_date}"
elif build_version is not None:
+<<<<<<< HEAD
build_vars += f"BUILD_VERSION={build_version} PYTORCH_VERSION={branch[1:].split('-', maxsplit=1)[0]}"
+=======
+ build_vars += (
+ f"BUILD_VERSION={build_version} PYTORCH_VERSION={branch[1:].split('-')[0]}"
+ )
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if host.using_docker():
build_vars += " CMAKE_SHARED_LINKER_FLAGS=-Wl,-z,max-page-size=0x10000"
@@ -493,7 +499,13 @@ def build_torchdata(
)
build_vars += f"BUILD_VERSION={version}.dev{build_date}"
elif build_version is not None:
+<<<<<<< HEAD
build_vars += f"BUILD_VERSION={build_version} PYTORCH_VERSION={branch[1:].split('-', maxsplit=1)[0]}"
+=======
+ build_vars += (
+ f"BUILD_VERSION={build_version} PYTORCH_VERSION={branch[1:].split('-')[0]}"
+ )
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if host.using_docker():
build_vars += " CMAKE_SHARED_LINKER_FLAGS=-Wl,-z,max-page-size=0x10000"
@@ -549,7 +561,13 @@ def build_torchtext(
)
build_vars += f"BUILD_VERSION={version}.dev{build_date}"
elif build_version is not None:
+<<<<<<< HEAD
build_vars += f"BUILD_VERSION={build_version} PYTORCH_VERSION={branch[1:].split('-', maxsplit=1)[0]}"
+=======
+ build_vars += (
+ f"BUILD_VERSION={build_version} PYTORCH_VERSION={branch[1:].split('-')[0]}"
+ )
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if host.using_docker():
build_vars += " CMAKE_SHARED_LINKER_FLAGS=-Wl,-z,max-page-size=0x10000"
@@ -607,7 +625,13 @@ def build_torchaudio(
)
build_vars += f"BUILD_VERSION={version}.dev{build_date}"
elif build_version is not None:
+<<<<<<< HEAD
build_vars += f"BUILD_VERSION={build_version} PYTORCH_VERSION={branch[1:].split('-', maxsplit=1)[0]}"
+=======
+ build_vars += (
+ f"BUILD_VERSION={build_version} PYTORCH_VERSION={branch[1:].split('-')[0]}"
+ )
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if host.using_docker():
build_vars += " CMAKE_SHARED_LINKER_FLAGS=-Wl,-z,max-page-size=0x10000"
diff --git a/.ci/docker/README.md b/.ci/docker/README.md
index 5a97a0a3c2d4..a795edf2c0b9 100644
--- a/.ci/docker/README.md
+++ b/.ci/docker/README.md
@@ -36,6 +36,7 @@ See `build.sh` for valid build environments (it's the giant switch).
# Set flags (see build.sh) and build image
sudo bash -c 'TRITON=1 ./build.sh pytorch-linux-bionic-py3.8-gcc9 -t myimage:latest
```
+<<<<<<< HEAD
## [Guidance] Adding a New Base Docker Image
@@ -137,3 +138,5 @@ If your new Docker image needs a library installed from a specific pinned commit
The `docker-builds.yml` workflow pre-builds the Docker images whenever changes occur in the `.ci/docker/` directory. This includes the
pinned commit updates.
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/.ci/docker/almalinux/Dockerfile b/.ci/docker/almalinux/Dockerfile
index 481d21b96cfe..2843fe9e1bd9 100644
--- a/.ci/docker/almalinux/Dockerfile
+++ b/.ci/docker/almalinux/Dockerfile
@@ -64,10 +64,13 @@ FROM cuda as cuda12.9
RUN bash ./install_cuda.sh 12.9
ENV DESIRED_CUDA=12.9
+<<<<<<< HEAD
FROM cuda as cuda13.0
RUN bash ./install_cuda.sh 13.0
ENV DESIRED_CUDA=13.0
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
FROM ${ROCM_IMAGE} as rocm
ENV PYTORCH_ROCM_ARCH="gfx900;gfx906;gfx908;gfx90a;gfx942;gfx1030;gfx1100;gfx1101;gfx1102;gfx1200;gfx1201"
ADD ./common/install_mkl.sh install_mkl.sh
@@ -80,10 +83,17 @@ ADD ./common/install_mnist.sh install_mnist.sh
RUN bash ./install_mnist.sh
FROM base as all_cuda
+<<<<<<< HEAD
COPY --from=cuda12.6 /usr/local/cuda-12.6 /usr/local/cuda-12.6
COPY --from=cuda12.8 /usr/local/cuda-12.8 /usr/local/cuda-12.8
COPY --from=cuda12.9 /usr/local/cuda-12.9 /usr/local/cuda-12.9
COPY --from=cuda13.0 /usr/local/cuda-13.0 /usr/local/cuda-13.0
+=======
+COPY --from=cuda11.8 /usr/local/cuda-11.8 /usr/local/cuda-11.8
+COPY --from=cuda12.6 /usr/local/cuda-12.6 /usr/local/cuda-12.6
+COPY --from=cuda12.8 /usr/local/cuda-12.8 /usr/local/cuda-12.8
+COPY --from=cuda12.9 /usr/local/cuda-12.9 /usr/local/cuda-12.9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# Final step
FROM ${BASE_TARGET} as final
diff --git a/.ci/docker/build.sh b/.ci/docker/build.sh
index 8672fae2bbdd..1deb6a395ac4 100755
--- a/.ci/docker/build.sh
+++ b/.ci/docker/build.sh
@@ -76,6 +76,7 @@ elif [[ "$image" == *cuda*linter* ]]; then
elif [[ "$image" == *linter* ]]; then
# Use a separate Dockerfile for linter to keep a small image size
DOCKERFILE="linter/Dockerfile"
+<<<<<<< HEAD
elif [[ "$image" == *riscv* ]]; then
# Use RISC-V specific Dockerfile
DOCKERFILE="ubuntu-cross-riscv/Dockerfile"
@@ -83,6 +84,12 @@ fi
_UCX_COMMIT=7836b165abdbe468a2f607e7254011c07d788152
_UCC_COMMIT=430e241bf5d38cbc73fc7a6b89155397232e3f96
+=======
+fi
+
+_UCX_COMMIT=7bb2722ff2187a0cad557ae4a6afa090569f83fb
+_UCC_COMMIT=20eae37090a4ce1b32bcce6144ccad0b49943e0b
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if [[ "$image" == *rocm* ]]; then
_UCX_COMMIT=cc312eaa4655c0cc5c2bcd796db938f90563bcf6
_UCC_COMMIT=0c0fc21559835044ab107199e334f7157d6a0d3d
@@ -94,6 +101,7 @@ tag=$(echo $image | awk -F':' '{print $2}')
# configuration, so we hardcode everything here rather than do it
# from scratch
case "$tag" in
+<<<<<<< HEAD
pytorch-linux-jammy-cuda12.4-cudnn9-py3-gcc11)
CUDA_VERSION=12.4
ANACONDA_PYTHON_VERSION=3.10
@@ -116,6 +124,11 @@ case "$tag" in
;;
pytorch-linux-jammy-cuda13.0-cudnn9-py3-gcc11)
CUDA_VERSION=13.0.0
+=======
+ pytorch-linux-jammy-cuda12.8-cudnn9-py3-gcc11)
+ CUDA_VERSION=12.8.1
+ CUDNN_VERSION=9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
ANACONDA_PYTHON_VERSION=3.10
GCC_VERSION=11
VISION=yes
@@ -126,6 +139,10 @@ case "$tag" in
;;
pytorch-linux-jammy-cuda12.8-cudnn9-py3-gcc9-inductor-benchmarks)
CUDA_VERSION=12.8.1
+<<<<<<< HEAD
+=======
+ CUDNN_VERSION=9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
ANACONDA_PYTHON_VERSION=3.10
GCC_VERSION=9
VISION=yes
@@ -135,18 +152,92 @@ case "$tag" in
TRITON=yes
INDUCTOR_BENCHMARKS=yes
;;
+<<<<<<< HEAD
pytorch-linux-jammy-cuda12.8-cudnn9-py3.12-gcc11-vllm)
CUDA_VERSION=12.8.1
ANACONDA_PYTHON_VERSION=3.12
GCC_VERSION=11
+=======
+ pytorch-linux-jammy-cuda12.8-cudnn9-py3.12-gcc9-inductor-benchmarks)
+ CUDA_VERSION=12.8.1
+ CUDNN_VERSION=9
+ ANACONDA_PYTHON_VERSION=3.12
+ GCC_VERSION=9
+ VISION=yes
+ KATEX=yes
+ UCX_COMMIT=${_UCX_COMMIT}
+ UCC_COMMIT=${_UCC_COMMIT}
+ TRITON=yes
+ INDUCTOR_BENCHMARKS=yes
+ ;;
+ pytorch-linux-jammy-cuda12.8-cudnn9-py3.13-gcc9-inductor-benchmarks)
+ CUDA_VERSION=12.8.1
+ CUDNN_VERSION=9
+ ANACONDA_PYTHON_VERSION=3.13
+ GCC_VERSION=9
+ VISION=yes
+ KATEX=yes
+ UCX_COMMIT=${_UCX_COMMIT}
+ UCC_COMMIT=${_UCC_COMMIT}
+ TRITON=yes
+ INDUCTOR_BENCHMARKS=yes
+ ;;
+ pytorch-linux-jammy-cuda12.6-cudnn9-py3-gcc9)
+ CUDA_VERSION=12.6.3
+ CUDNN_VERSION=9
+ ANACONDA_PYTHON_VERSION=3.10
+ GCC_VERSION=9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
VISION=yes
KATEX=yes
UCX_COMMIT=${_UCX_COMMIT}
UCC_COMMIT=${_UCC_COMMIT}
TRITON=yes
;;
+<<<<<<< HEAD
pytorch-linux-jammy-cuda12.8-cudnn9-py3-gcc9)
CUDA_VERSION=12.8.1
+=======
+ pytorch-linux-jammy-cuda12.6-cudnn9-py3-gcc9-inductor-benchmarks)
+ CUDA_VERSION=12.6
+ CUDNN_VERSION=9
+ ANACONDA_PYTHON_VERSION=3.10
+ GCC_VERSION=9
+ VISION=yes
+ KATEX=yes
+ UCX_COMMIT=${_UCX_COMMIT}
+ UCC_COMMIT=${_UCC_COMMIT}
+ TRITON=yes
+ INDUCTOR_BENCHMARKS=yes
+ ;;
+ pytorch-linux-jammy-cuda12.6-cudnn9-py3.12-gcc9-inductor-benchmarks)
+ CUDA_VERSION=12.6
+ CUDNN_VERSION=9
+ ANACONDA_PYTHON_VERSION=3.12
+ GCC_VERSION=9
+ VISION=yes
+ KATEX=yes
+ UCX_COMMIT=${_UCX_COMMIT}
+ UCC_COMMIT=${_UCC_COMMIT}
+ TRITON=yes
+ INDUCTOR_BENCHMARKS=yes
+ ;;
+ pytorch-linux-jammy-cuda12.6-cudnn9-py3.13-gcc9-inductor-benchmarks)
+ CUDA_VERSION=12.6
+ CUDNN_VERSION=9
+ ANACONDA_PYTHON_VERSION=3.13
+ GCC_VERSION=9
+ VISION=yes
+ KATEX=yes
+ UCX_COMMIT=${_UCX_COMMIT}
+ UCC_COMMIT=${_UCC_COMMIT}
+ TRITON=yes
+ INDUCTOR_BENCHMARKS=yes
+ ;;
+ pytorch-linux-jammy-cuda12.8-cudnn9-py3-gcc9)
+ CUDA_VERSION=12.8.1
+ CUDNN_VERSION=9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
ANACONDA_PYTHON_VERSION=3.10
GCC_VERSION=9
VISION=yes
@@ -156,23 +247,61 @@ case "$tag" in
TRITON=yes
;;
pytorch-linux-jammy-py3-clang12-onnx)
+<<<<<<< HEAD
ANACONDA_PYTHON_VERSION=3.10
+=======
+ ANACONDA_PYTHON_VERSION=3.9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
CLANG_VERSION=12
VISION=yes
ONNX=yes
;;
+<<<<<<< HEAD
pytorch-linux-jammy-py3.10-clang12)
ANACONDA_PYTHON_VERSION=3.10
+=======
+ pytorch-linux-jammy-py3.9-clang12)
+ ANACONDA_PYTHON_VERSION=3.9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
CLANG_VERSION=12
VISION=yes
TRITON=yes
;;
+<<<<<<< HEAD
pytorch-linux-jammy-rocm-n-py3 | pytorch-linux-jammy-rocm-n-py3-benchmarks | pytorch-linux-noble-rocm-n-py3)
if [[ $tag =~ "jammy" ]]; then
ANACONDA_PYTHON_VERSION=3.10
else
ANACONDA_PYTHON_VERSION=3.12
fi
+=======
+ pytorch-linux-jammy-py3.11-clang12)
+ ANACONDA_PYTHON_VERSION=3.11
+ CLANG_VERSION=12
+ VISION=yes
+ TRITON=yes
+ ;;
+ pytorch-linux-jammy-py3.9-gcc9)
+ ANACONDA_PYTHON_VERSION=3.9
+ GCC_VERSION=9
+ VISION=yes
+ TRITON=yes
+ ;;
+ pytorch-linux-jammy-rocm-n-1-py3)
+ ANACONDA_PYTHON_VERSION=3.10
+ GCC_VERSION=11
+ VISION=yes
+ ROCM_VERSION=6.3
+ NINJA_VERSION=1.9.0
+ TRITON=yes
+ KATEX=yes
+ UCX_COMMIT=${_UCX_COMMIT}
+ UCC_COMMIT=${_UCC_COMMIT}
+ INDUCTOR_BENCHMARKS=yes
+ ;;
+ pytorch-linux-jammy-rocm-n-py3)
+ ANACONDA_PYTHON_VERSION=3.10
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GCC_VERSION=11
VISION=yes
ROCM_VERSION=6.4
@@ -181,6 +310,7 @@ case "$tag" in
KATEX=yes
UCX_COMMIT=${_UCX_COMMIT}
UCC_COMMIT=${_UCC_COMMIT}
+<<<<<<< HEAD
if [[ $tag =~ "benchmarks" ]]; then
INDUCTOR_BENCHMARKS=yes
fi
@@ -199,12 +329,27 @@ case "$tag" in
;;
pytorch-linux-jammy-xpu-n-1-py3)
ANACONDA_PYTHON_VERSION=3.10
+=======
+ INDUCTOR_BENCHMARKS=yes
+ ;;
+ pytorch-linux-jammy-xpu-2025.0-py3)
+ ANACONDA_PYTHON_VERSION=3.9
+ GCC_VERSION=11
+ VISION=yes
+ XPU_VERSION=2025.0
+ NINJA_VERSION=1.9.0
+ TRITON=yes
+ ;;
+ pytorch-linux-jammy-xpu-2025.1-py3)
+ ANACONDA_PYTHON_VERSION=3.9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GCC_VERSION=11
VISION=yes
XPU_VERSION=2025.1
NINJA_VERSION=1.9.0
TRITON=yes
;;
+<<<<<<< HEAD
pytorch-linux-jammy-xpu-n-py3)
ANACONDA_PYTHON_VERSION=3.10
GCC_VERSION=11
@@ -215,6 +360,10 @@ case "$tag" in
;;
pytorch-linux-jammy-py3-gcc11-inductor-benchmarks)
ANACONDA_PYTHON_VERSION=3.10
+=======
+ pytorch-linux-jammy-py3.9-gcc11-inductor-benchmarks)
+ ANACONDA_PYTHON_VERSION=3.9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GCC_VERSION=11
VISION=yes
KATEX=yes
@@ -222,20 +371,46 @@ case "$tag" in
DOCS=yes
INDUCTOR_BENCHMARKS=yes
;;
+<<<<<<< HEAD
pytorch-linux-jammy-cuda12.8-cudnn9-py3.10-clang12)
ANACONDA_PYTHON_VERSION=3.10
CUDA_VERSION=12.8.1
+=======
+ pytorch-linux-jammy-cuda12.8-cudnn9-py3.9-clang12)
+ ANACONDA_PYTHON_VERSION=3.9
+ CUDA_VERSION=12.8.1
+ CUDNN_VERSION=9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
CLANG_VERSION=12
VISION=yes
TRITON=yes
;;
+<<<<<<< HEAD
+=======
+ pytorch-linux-jammy-py3-clang12-asan)
+ ANACONDA_PYTHON_VERSION=3.9
+ CLANG_VERSION=12
+ VISION=yes
+ TRITON=yes
+ ;;
+ pytorch-linux-jammy-py3-clang15-asan)
+ ANACONDA_PYTHON_VERSION=3.10
+ CLANG_VERSION=15
+ VISION=yes
+ ;;
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
pytorch-linux-jammy-py3-clang18-asan)
ANACONDA_PYTHON_VERSION=3.10
CLANG_VERSION=18
VISION=yes
;;
+<<<<<<< HEAD
pytorch-linux-jammy-py3.10-gcc11)
ANACONDA_PYTHON_VERSION=3.10
+=======
+ pytorch-linux-jammy-py3.9-gcc11)
+ ANACONDA_PYTHON_VERSION=3.9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GCC_VERSION=11
VISION=yes
KATEX=yes
@@ -262,10 +437,20 @@ case "$tag" in
TRITON_CPU=yes
;;
pytorch-linux-jammy-linter)
+<<<<<<< HEAD
PYTHON_VERSION=3.10
;;
pytorch-linux-jammy-cuda12.8-cudnn9-py3.10-linter)
PYTHON_VERSION=3.10
+=======
+ # TODO: Use 3.9 here because of this issue https://github.com/python/mypy/issues/13627.
+ # We will need to update mypy version eventually, but that's for another day. The task
+ # would be to upgrade mypy to 1.0.0 with Python 3.11
+ PYTHON_VERSION=3.9
+ ;;
+ pytorch-linux-jammy-cuda12.8-cudnn9-py3.9-linter)
+ PYTHON_VERSION=3.9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
CUDA_VERSION=12.8.1
;;
pytorch-linux-jammy-aarch64-py3.10-gcc11)
@@ -273,6 +458,10 @@ case "$tag" in
GCC_VERSION=11
ACL=yes
VISION=yes
+<<<<<<< HEAD
+=======
+ CONDA_CMAKE=yes
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
OPENBLAS=yes
# snadampal: skipping llvm src build install because the current version
# from pytorch/llvm:9.0.1 is x86 specific
@@ -283,15 +472,22 @@ case "$tag" in
GCC_VERSION=11
ACL=yes
VISION=yes
+<<<<<<< HEAD
+=======
+ CONDA_CMAKE=yes
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
OPENBLAS=yes
# snadampal: skipping llvm src build install because the current version
# from pytorch/llvm:9.0.1 is x86 specific
SKIP_LLVM_SRC_BUILD_INSTALL=yes
INDUCTOR_BENCHMARKS=yes
;;
+<<<<<<< HEAD
pytorch-linux-noble-riscv64-py3.12-gcc14)
GCC_VERSION=14
;;
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
*)
# Catch-all for builds that are not hardcoded.
VISION=yes
@@ -301,6 +497,10 @@ case "$tag" in
fi
if [[ "$image" == *cuda* ]]; then
extract_version_from_image_name cuda CUDA_VERSION
+<<<<<<< HEAD
+=======
+ extract_version_from_image_name cudnn CUDNN_VERSION
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
fi
if [[ "$image" == *rocm* ]]; then
extract_version_from_image_name rocm ROCM_VERSION
@@ -352,6 +552,12 @@ docker build \
--build-arg "PYTHON_VERSION=${PYTHON_VERSION}" \
--build-arg "GCC_VERSION=${GCC_VERSION}" \
--build-arg "CUDA_VERSION=${CUDA_VERSION}" \
+<<<<<<< HEAD
+=======
+ --build-arg "CUDNN_VERSION=${CUDNN_VERSION}" \
+ --build-arg "TENSORRT_VERSION=${TENSORRT_VERSION}" \
+ --build-arg "GRADLE_VERSION=${GRADLE_VERSION}" \
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
--build-arg "NINJA_VERSION=${NINJA_VERSION:-}" \
--build-arg "KATEX=${KATEX:-}" \
--build-arg "ROCM_VERSION=${ROCM_VERSION:-}" \
@@ -412,6 +618,7 @@ if [ -n "$ANACONDA_PYTHON_VERSION" ]; then
fi
if [ -n "$GCC_VERSION" ]; then
+<<<<<<< HEAD
if [[ "$image" == *riscv* ]]; then
# Check RISC-V cross-compilation toolchain version
if !(drun riscv64-linux-gnu-gcc-${GCC_VERSION} --version 2>&1 | grep -q " $GCC_VERSION\\W"); then
@@ -420,6 +627,9 @@ if [ -n "$GCC_VERSION" ]; then
exit 1
fi
elif !(drun gcc --version 2>&1 | grep -q " $GCC_VERSION\\W"); then
+=======
+ if !(drun gcc --version 2>&1 | grep -q " $GCC_VERSION\\W"); then
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
echo "GCC_VERSION=$GCC_VERSION, but:"
drun gcc --version
exit 1
diff --git a/.ci/docker/ci_commit_pins/huggingface.txt b/.ci/docker/ci_commit_pins/huggingface.txt
new file mode 100644
index 000000000000..f00d6ca4f9ca
--- /dev/null
+++ b/.ci/docker/ci_commit_pins/huggingface.txt
@@ -0,0 +1 @@
+243e186efbf7fb93328dd6b34927a4e8c8f24395
diff --git a/.ci/docker/ci_commit_pins/nccl-cu12.txt b/.ci/docker/ci_commit_pins/nccl-cu12.txt
index d099a6b91b76..57a4f51b2dd1 100644
--- a/.ci/docker/ci_commit_pins/nccl-cu12.txt
+++ b/.ci/docker/ci_commit_pins/nccl-cu12.txt
@@ -1 +1,5 @@
+<<<<<<< HEAD
v2.27.5-1
+=======
+v2.27.3-1
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/.ci/docker/ci_commit_pins/triton-xpu.txt b/.ci/docker/ci_commit_pins/triton-xpu.txt
index b03606f6defc..6abd4a388f1c 100644
--- a/.ci/docker/ci_commit_pins/triton-xpu.txt
+++ b/.ci/docker/ci_commit_pins/triton-xpu.txt
@@ -1 +1,5 @@
+<<<<<<< HEAD
1b0418a9a454b2b93ab8d71f40e59d2297157fae
+=======
+ae324eeac8e102a2b40370e341460f3791353398
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/.ci/docker/ci_commit_pins/triton.txt b/.ci/docker/ci_commit_pins/triton.txt
index 71d3ef714fbe..8c295fa29754 100644
--- a/.ci/docker/ci_commit_pins/triton.txt
+++ b/.ci/docker/ci_commit_pins/triton.txt
@@ -1 +1,5 @@
-bbb06c0334a6772b92d24bde54956e675c8c6604
+<<<<<<< HEAD
+d704bc6e69c1a588c8edd3cbb67505d554ed65f6
+=======
+21876a4bbaf371bcb83df8e6ee4f43a92f524dfe
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/.ci/docker/common/install_conda.sh b/.ci/docker/common/install_conda.sh
index 481de54a50f2..ceebbc9d8bb6 100755
--- a/.ci/docker/common/install_conda.sh
+++ b/.ci/docker/common/install_conda.sh
@@ -65,10 +65,17 @@ if [ -n "$ANACONDA_PYTHON_VERSION" ]; then
fi
# Install PyTorch conda deps, as per https://github.com/pytorch/pytorch README
+<<<<<<< HEAD
if [[ $(uname -m) != "aarch64" ]]; then
pip_install mkl==2024.2.0
pip_install mkl-static==2024.2.0
pip_install mkl-include==2024.2.0
+=======
+ if [[ $(uname -m) == "aarch64" ]]; then
+ conda_install "openblas==0.3.29=*openmp*"
+ else
+ conda_install "mkl=2021.4.0 mkl-include=2021.4.0"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
fi
# Install llvm-8 as it is required to compile llvmlite-0.30.0 from source
diff --git a/.ci/docker/common/install_cpython.sh b/.ci/docker/common/install_cpython.sh
index 692edd0b898f..92441b50102e 100755
--- a/.ci/docker/common/install_cpython.sh
+++ b/.ci/docker/common/install_cpython.sh
@@ -3,10 +3,18 @@
set -uex -o pipefail
PYTHON_DOWNLOAD_URL=https://www.python.org/ftp/python
+<<<<<<< HEAD
GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py
# Python versions to be installed in /opt/$VERSION_NO
CPYTHON_VERSIONS=${CPYTHON_VERSIONS:-"3.9.0 3.10.1 3.11.0 3.12.0 3.13.0 3.13.0t 3.14.0 3.14.0t"}
+=======
+PYTHON_DOWNLOAD_GITHUB_BRANCH=https://github.com/python/cpython/archive/refs/heads # @lint-ignore
+GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py
+
+# Python versions to be installed in /opt/$VERSION_NO
+CPYTHON_VERSIONS=${CPYTHON_VERSIONS:-"3.9.0 3.10.1 3.11.0 3.12.0 3.13.0 3.13.0t"}
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
function check_var {
if [ -z "$1" ]; then
@@ -23,8 +31,14 @@ function do_cpython_build {
tar -xzf Python-$py_ver.tgz
local additional_flags=""
+<<<<<<< HEAD
if [[ "$py_ver" == *"t" ]]; then
additional_flags=" --disable-gil"
+=======
+ if [ "$py_ver" == "3.13.0t" ]; then
+ additional_flags=" --disable-gil"
+ mv cpython-3.13/ cpython-3.13t/
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
fi
pushd $py_folder
@@ -66,15 +80,21 @@ function do_cpython_build {
ln -s pip3 ${prefix}/bin/pip
fi
# install setuptools since python 3.12 is required to use distutils
+<<<<<<< HEAD
# packaging is needed to create symlink since wheel no longer provides needed information
${prefix}/bin/pip install packaging==25.0 wheel==0.45.1 setuptools==80.9.0
local abi_tag=$(${prefix}/bin/python -c "from packaging.tags import interpreter_name, interpreter_version; import sysconfig ; from sysconfig import get_config_var; print('{0}{1}-{0}{1}{2}'.format(interpreter_name(), interpreter_version(), 't' if sysconfig.get_config_var('Py_GIL_DISABLED') else ''))")
+=======
+ ${prefix}/bin/pip install wheel==0.34.2 setuptools==68.2.2
+ local abi_tag=$(${prefix}/bin/python -c "from wheel.pep425tags import get_abbr_impl, get_impl_ver, get_abi_tag; print('{0}{1}-{2}'.format(get_abbr_impl(), get_impl_ver(), get_abi_tag()))")
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
ln -sf ${prefix} /opt/python/${abi_tag}
}
function build_cpython {
local py_ver=$1
check_var $py_ver
+<<<<<<< HEAD
local py_suffix=$py_ver
local py_folder=$py_ver
@@ -89,6 +109,26 @@ function build_cpython {
fi
wget -q $PYTHON_DOWNLOAD_URL/$py_folder/Python-$py_suffix.tgz -O Python-$py_ver.tgz
do_cpython_build $py_ver Python-$py_suffix
+=======
+ check_var $PYTHON_DOWNLOAD_URL
+ local py_ver_folder=$py_ver
+
+ if [ "$py_ver" = "3.13.0t" ]; then
+ PY_VER_SHORT="3.13"
+ PYT_VER_SHORT="3.13t"
+ check_var $PYTHON_DOWNLOAD_GITHUB_BRANCH
+ wget $PYTHON_DOWNLOAD_GITHUB_BRANCH/$PY_VER_SHORT.tar.gz -O Python-$py_ver.tgz
+ do_cpython_build $py_ver cpython-$PYT_VER_SHORT
+ elif [ "$py_ver" = "3.13.0" ]; then
+ PY_VER_SHORT="3.13"
+ check_var $PYTHON_DOWNLOAD_GITHUB_BRANCH
+ wget $PYTHON_DOWNLOAD_GITHUB_BRANCH/$PY_VER_SHORT.tar.gz -O Python-$py_ver.tgz
+ do_cpython_build $py_ver cpython-$PY_VER_SHORT
+ else
+ wget -q $PYTHON_DOWNLOAD_URL/$py_ver_folder/Python-$py_ver.tgz
+ do_cpython_build $py_ver Python-$py_ver
+ fi
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
rm -f Python-$py_ver.tgz
}
diff --git a/.ci/docker/common/install_cuda.sh b/.ci/docker/common/install_cuda.sh
index c6808ea4a7a2..9aaa7459116a 100644
--- a/.ci/docker/common/install_cuda.sh
+++ b/.ci/docker/common/install_cuda.sh
@@ -10,8 +10,11 @@ else
arch_path='sbsa'
fi
+<<<<<<< HEAD
NVSHMEM_VERSION=3.3.24
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
function install_cuda {
version=$1
runfile=$2
@@ -42,6 +45,7 @@ function install_cudnn {
rm -rf tmp_cudnn
}
+<<<<<<< HEAD
function install_nvshmem {
cuda_major_version=$1 # e.g. "12"
nvshmem_version=$2 # e.g. "3.3.9"
@@ -97,12 +101,20 @@ function install_124 {
function install_126 {
CUDNN_VERSION=9.10.2.21
echo "Installing CUDA 12.6.3 and cuDNN ${CUDNN_VERSION} and NVSHMEM and NCCL and cuSparseLt-0.7.1"
+=======
+function install_126 {
+ CUDNN_VERSION=9.10.2.21
+ echo "Installing CUDA 12.6.3 and cuDNN ${CUDNN_VERSION} and NCCL and cuSparseLt-0.7.1"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
install_cuda 12.6.3 cuda_12.6.3_560.35.05_linux
install_cudnn 12 $CUDNN_VERSION
+<<<<<<< HEAD
install_nvshmem 12 $NVSHMEM_VERSION
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
CUDA_VERSION=12.6 bash install_nccl.sh
CUDA_VERSION=12.6 bash install_cusparselt.sh
@@ -112,15 +124,22 @@ function install_126 {
function install_129 {
CUDNN_VERSION=9.10.2.21
+<<<<<<< HEAD
echo "Installing CUDA 12.9.1 and cuDNN ${CUDNN_VERSION} and NVSHMEM and NCCL and cuSparseLt-0.7.1"
+=======
+ echo "Installing CUDA 12.9.1 and cuDNN ${CUDNN_VERSION} and NCCL and cuSparseLt-0.7.1"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# install CUDA 12.9.1 in the same container
install_cuda 12.9.1 cuda_12.9.1_575.57.08_linux
# cuDNN license: https://developer.nvidia.com/cudnn/license_agreement
install_cudnn 12 $CUDNN_VERSION
+<<<<<<< HEAD
install_nvshmem 12 $NVSHMEM_VERSION
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
CUDA_VERSION=12.9 bash install_nccl.sh
CUDA_VERSION=12.9 bash install_cusparselt.sh
@@ -128,17 +147,60 @@ function install_129 {
ldconfig
}
+<<<<<<< HEAD
function install_128 {
CUDNN_VERSION=9.8.0.87
echo "Installing CUDA 12.8.1 and cuDNN ${CUDNN_VERSION} and NVSHMEM and NCCL and cuSparseLt-0.7.1"
+=======
+function prune_126 {
+ echo "Pruning CUDA 12.6"
+ #####################################################################################
+ # CUDA 12.6 prune static libs
+ #####################################################################################
+ export NVPRUNE="/usr/local/cuda-12.6/bin/nvprune"
+ export CUDA_LIB_DIR="/usr/local/cuda-12.6/lib64"
+
+ export GENCODE="-gencode arch=compute_50,code=sm_50 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_75,code=sm_75 -gencode arch=compute_80,code=sm_80 -gencode arch=compute_86,code=sm_86 -gencode arch=compute_90,code=sm_90"
+ export GENCODE_CUDNN="-gencode arch=compute_50,code=sm_50 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_75,code=sm_75 -gencode arch=compute_80,code=sm_80 -gencode arch=compute_86,code=sm_86 -gencode arch=compute_90,code=sm_90"
+
+ if [[ -n "$OVERRIDE_GENCODE" ]]; then
+ export GENCODE=$OVERRIDE_GENCODE
+ fi
+ if [[ -n "$OVERRIDE_GENCODE_CUDNN" ]]; then
+ export GENCODE_CUDNN=$OVERRIDE_GENCODE_CUDNN
+ fi
+
+ # all CUDA libs except CuDNN and CuBLAS
+ ls $CUDA_LIB_DIR/ | grep "\.a" | grep -v "culibos" | grep -v "cudart" | grep -v "cudnn" | grep -v "cublas" | grep -v "metis" \
+ | xargs -I {} bash -c \
+ "echo {} && $NVPRUNE $GENCODE $CUDA_LIB_DIR/{} -o $CUDA_LIB_DIR/{}"
+
+ # prune CuDNN and CuBLAS
+ $NVPRUNE $GENCODE_CUDNN $CUDA_LIB_DIR/libcublas_static.a -o $CUDA_LIB_DIR/libcublas_static.a
+ $NVPRUNE $GENCODE_CUDNN $CUDA_LIB_DIR/libcublasLt_static.a -o $CUDA_LIB_DIR/libcublasLt_static.a
+
+ #####################################################################################
+ # CUDA 12.6 prune visual tools
+ #####################################################################################
+ export CUDA_BASE="/usr/local/cuda-12.6/"
+ rm -rf $CUDA_BASE/libnvvp $CUDA_BASE/nsightee_plugins $CUDA_BASE/nsight-compute-2024.3.2 $CUDA_BASE/nsight-systems-2024.5.1/
+}
+
+function install_128 {
+ CUDNN_VERSION=9.8.0.87
+ echo "Installing CUDA 12.8.1 and cuDNN ${CUDNN_VERSION} and NCCL and cuSparseLt-0.7.1"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# install CUDA 12.8.1 in the same container
install_cuda 12.8.1 cuda_12.8.1_570.124.06_linux
# cuDNN license: https://developer.nvidia.com/cudnn/license_agreement
install_cudnn 12 $CUDNN_VERSION
+<<<<<<< HEAD
install_nvshmem 12 $NVSHMEM_VERSION
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
CUDA_VERSION=12.8 bash install_nccl.sh
CUDA_VERSION=12.8 bash install_cusparselt.sh
@@ -146,6 +208,7 @@ function install_128 {
ldconfig
}
+<<<<<<< HEAD
function install_130 {
CUDNN_VERSION=9.13.0.50
echo "Installing CUDA 13.0 and cuDNN ${CUDNN_VERSION} and NVSHMEM and NCCL and cuSparseLt-0.7.1"
@@ -164,20 +227,29 @@ function install_130 {
ldconfig
}
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# idiomatic parameter and option handling in sh
while test $# -gt 0
do
case "$1" in
+<<<<<<< HEAD
12.4) install_124;
;;
12.6|12.6.*) install_126;
+=======
+ 12.6|12.6.*) install_126; prune_126
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
;;
12.8|12.8.*) install_128;
;;
12.9|12.9.*) install_129;
;;
+<<<<<<< HEAD
13.0|13.0.*) install_130;
;;
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
*) echo "bad argument $1"; exit 1
;;
esac
diff --git a/.ci/docker/common/install_cudnn.sh b/.ci/docker/common/install_cudnn.sh
new file mode 100644
index 000000000000..7ee5e73226cb
--- /dev/null
+++ b/.ci/docker/common/install_cudnn.sh
@@ -0,0 +1,24 @@
+#!/bin/bash
+
+if [[ -n "${CUDNN_VERSION}" ]]; then
+ # cuDNN license: https://developer.nvidia.com/cudnn/license_agreement
+ mkdir tmp_cudnn
+ pushd tmp_cudnn
+ if [[ ${CUDA_VERSION:0:4} == "12.9" || ${CUDA_VERSION:0:4} == "12.8" ]]; then
+ CUDNN_NAME="cudnn-linux-x86_64-9.10.2.21_cuda12-archive"
+ elif [[ ${CUDA_VERSION:0:4} == "12.6" ]]; then
+ CUDNN_NAME="cudnn-linux-x86_64-9.10.2.21_cuda12-archive"
+ elif [[ ${CUDA_VERSION:0:2} == "11" ]]; then
+ CUDNN_NAME="cudnn-linux-x86_64-9.1.0.70_cuda11-archive"
+ else
+ print "Unsupported CUDA version ${CUDA_VERSION}"
+ exit 1
+ fi
+ curl --retry 3 -OLs https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/${CUDNN_NAME}.tar.xz
+ tar xf ${CUDNN_NAME}.tar.xz
+ cp -a ${CUDNN_NAME}/include/* /usr/local/cuda/include/
+ cp -a ${CUDNN_NAME}/lib/* /usr/local/cuda/lib64/
+ popd
+ rm -rf tmp_cudnn
+ ldconfig
+fi
diff --git a/.ci/docker/common/install_cusparselt.sh b/.ci/docker/common/install_cusparselt.sh
index b532c086371f..3443da6482a1 100644
--- a/.ci/docker/common/install_cusparselt.sh
+++ b/.ci/docker/common/install_cusparselt.sh
@@ -5,6 +5,7 @@ set -ex
# cuSPARSELt license: https://docs.nvidia.com/cuda/cusparselt/license.html
mkdir tmp_cusparselt && cd tmp_cusparselt
+<<<<<<< HEAD
if [[ ${CUDA_VERSION:0:4} =~ "13" ]]; then
arch_path='sbsa'
export TARGETARCH=${TARGETARCH:-$(uname -m)}
@@ -14,6 +15,9 @@ if [[ ${CUDA_VERSION:0:4} =~ "13" ]]; then
CUSPARSELT_NAME="libcusparse_lt-linux-${arch_path}-0.8.0.4_cuda13-archive"
curl --retry 3 -OLs https://developer.download.nvidia.com/compute/cusparselt/redist/libcusparse_lt/linux-${arch_path}/${CUSPARSELT_NAME}.tar.xz
elif [[ ${CUDA_VERSION:0:4} =~ ^12\.[5-9]$ ]]; then
+=======
+if [[ ${CUDA_VERSION:0:4} =~ ^12\.[5-9]$ ]]; then
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
arch_path='sbsa'
export TARGETARCH=${TARGETARCH:-$(uname -m)}
if [ ${TARGETARCH} = 'amd64' ] || [ "${TARGETARCH}" = 'x86_64' ]; then
@@ -21,6 +25,7 @@ elif [[ ${CUDA_VERSION:0:4} =~ ^12\.[5-9]$ ]]; then
fi
CUSPARSELT_NAME="libcusparse_lt-linux-${arch_path}-0.7.1.0-archive"
curl --retry 3 -OLs https://developer.download.nvidia.com/compute/cusparselt/redist/libcusparse_lt/linux-${arch_path}/${CUSPARSELT_NAME}.tar.xz
+<<<<<<< HEAD
elif [[ ${CUDA_VERSION:0:4} == "12.4" ]]; then
arch_path='sbsa'
export TARGETARCH=${TARGETARCH:-$(uname -m)}
@@ -29,6 +34,8 @@ elif [[ ${CUDA_VERSION:0:4} == "12.4" ]]; then
fi
CUSPARSELT_NAME="libcusparse_lt-linux-${arch_path}-0.6.2.3-archive"
curl --retry 3 -OLs https://developer.download.nvidia.com/compute/cusparselt/redist/libcusparse_lt/linux-${arch_path}/${CUSPARSELT_NAME}.tar.xz
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
else
echo "Not sure which libcusparselt version to install for this ${CUDA_VERSION}"
fi
diff --git a/.ci/docker/common/install_inductor_benchmark_deps.sh b/.ci/docker/common/install_inductor_benchmark_deps.sh
index 81467d87f514..c8ac925d402a 100644
--- a/.ci/docker/common/install_inductor_benchmark_deps.sh
+++ b/.ci/docker/common/install_inductor_benchmark_deps.sh
@@ -5,7 +5,13 @@ set -ex
source "$(dirname "${BASH_SOURCE[0]}")/common_utils.sh"
function install_huggingface() {
+<<<<<<< HEAD
pip_install -r huggingface-requirements.txt
+=======
+ local version
+ commit=$(get_pinned_commit huggingface)
+ pip_install "git+https://github.com/huggingface/transformers@${commit}"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
}
function install_timm() {
@@ -13,6 +19,7 @@ function install_timm() {
commit=$(get_pinned_commit timm)
pip_install "git+https://github.com/huggingface/pytorch-image-models@${commit}"
+<<<<<<< HEAD
}
function install_torchbench() {
@@ -30,10 +37,15 @@ function install_torchbench() {
chown -R jenkins torchbench
chown -R jenkins /opt/conda
+=======
+ # Clean up
+ conda_run pip uninstall -y torch torchvision triton
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
}
# Pango is needed for weasyprint which is needed for doctr
conda_install pango
+<<<<<<< HEAD
# Stable packages are ok here, just to satisfy TorchBench check
pip_install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128
@@ -44,3 +56,7 @@ install_timm
# Clean up
conda_run pip uninstall -y torch torchvision torchaudio triton torchao
+=======
+install_huggingface
+install_timm
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/.ci/docker/common/install_nccl.sh b/.ci/docker/common/install_nccl.sh
index 58a8e0b4e49c..ea0cdfc2bf70 100644
--- a/.ci/docker/common/install_nccl.sh
+++ b/.ci/docker/common/install_nccl.sh
@@ -7,8 +7,11 @@ if [[ ${CUDA_VERSION:0:2} == "11" ]]; then
NCCL_VERSION=$(cat ci_commit_pins/nccl-cu11.txt)
elif [[ ${CUDA_VERSION:0:2} == "12" ]]; then
NCCL_VERSION=$(cat ci_commit_pins/nccl-cu12.txt)
+<<<<<<< HEAD
elif [[ ${CUDA_VERSION:0:2} == "13" ]]; then
NCCL_VERSION=$(cat ci_commit_pins/nccl-cu13.txt)
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
else
echo "Unexpected CUDA_VERSION ${CUDA_VERSION}"
exit 1
diff --git a/.ci/docker/common/install_onnx.sh b/.ci/docker/common/install_onnx.sh
index 9f23feb5adfa..d82012d0db1f 100755
--- a/.ci/docker/common/install_onnx.sh
+++ b/.ci/docker/common/install_onnx.sh
@@ -19,8 +19,13 @@ pip_install \
transformers==4.36.2
pip_install coloredlogs packaging
+<<<<<<< HEAD
pip_install onnxruntime==1.22.1
pip_install onnxscript==0.4.0
+=======
+pip_install onnxruntime==1.18.1
+pip_install onnxscript==0.3.1
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# Cache the transformers model to be used later by ONNX tests. We need to run the transformers
# package to download the model. By default, the model is cached at ~/.cache/huggingface/hub/
diff --git a/.ci/docker/common/install_rocm.sh b/.ci/docker/common/install_rocm.sh
index 5d355276def7..6162418bb10d 100644
--- a/.ci/docker/common/install_rocm.sh
+++ b/.ci/docker/common/install_rocm.sh
@@ -30,6 +30,7 @@ EOF
# we want the patch version of 6.4 instead
if [[ $(ver $ROCM_VERSION) -eq $(ver 6.4) ]]; then
+<<<<<<< HEAD
ROCM_VERSION="${ROCM_VERSION}.2"
fi
@@ -41,14 +42,25 @@ EOF
if [[ $(ver "$ROCM_VERSION") -eq $(ver 7.0) ]]; then
rocm_baseurl="https://repo.radeon.com/rocm/apt/7.0_alpha2"
amdgpu_baseurl="https://repo.radeon.com/amdgpu/30.10_alpha2/ubuntu"
+=======
+ ROCM_VERSION="${ROCM_VERSION}.1"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
fi
# Add amdgpu repository
UBUNTU_VERSION_NAME=`cat /etc/os-release | grep UBUNTU_CODENAME | awk -F= '{print $2}'`
+<<<<<<< HEAD
echo "deb [arch=amd64] ${amdgpu_baseurl} ${UBUNTU_VERSION_NAME} main" > /etc/apt/sources.list.d/amdgpu.list
# Add rocm repository
wget -qO - http://repo.radeon.com/rocm/rocm.gpg.key | apt-key add -
+=======
+ echo "deb [arch=amd64] https://repo.radeon.com/amdgpu/${ROCM_VERSION}/ubuntu ${UBUNTU_VERSION_NAME} main" > /etc/apt/sources.list.d/amdgpu.list
+
+ # Add rocm repository
+ wget -qO - http://repo.radeon.com/rocm/rocm.gpg.key | apt-key add -
+ local rocm_baseurl="http://repo.radeon.com/rocm/apt/${ROCM_VERSION}"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
echo "deb [arch=amd64] ${rocm_baseurl} ${UBUNTU_VERSION_NAME} main" > /etc/apt/sources.list.d/rocm.list
apt-get update --allow-insecure-repositories
@@ -82,6 +94,7 @@ EOF
done
# ROCm 6.3 had a regression where initializing static code objects had significant overhead
+<<<<<<< HEAD
# CI no longer builds for ROCm 6.3, but
# ROCm 6.4 did not yet fix the regression, also HIP branch names are different
if [[ $(ver $ROCM_VERSION) -ge $(ver 6.4) ]] && [[ $(ver $ROCM_VERSION) -lt $(ver 7.0) ]]; then
@@ -109,6 +122,31 @@ EOF
cmake .. -DPython3_EXECUTABLE=/opt/conda/envs/py_${ANACONDA_PYTHON_VERSION}/bin/python3 -DCLR_BUILD_HIP=ON -DHIP_COMMON_DIR=$HIP_COMMON_DIR
make -j
cp hipamd/lib/libamdhip64.so.6.4.* /opt/rocm/lib/libamdhip64.so.6.4.*
+=======
+ # ROCm 6.4 did not yet fix the regression, also HIP branch names are different
+ if [[ $(ver $ROCM_VERSION) -ge $(ver 6.3) ]] && [[ $(ver $ROCM_VERSION) -lt $(ver 7.0) ]]; then
+ if [[ $(ver $ROCM_VERSION) -eq $(ver 6.4.1) ]]; then
+ HIP_BRANCH=release/rocm-rel-6.4
+ VER_STR=6.4
+ VER_PATCH=.1
+ elif [[ $(ver $ROCM_VERSION) -eq $(ver 6.4) ]]; then
+ HIP_BRANCH=release/rocm-rel-6.4
+ VER_STR=6.4
+ elif [[ $(ver $ROCM_VERSION) -eq $(ver 6.3) ]]; then
+ HIP_BRANCH=rocm-6.3.x
+ VER_STR=6.3
+ fi
+ # clr build needs CppHeaderParser but can only find it using conda's python
+ /opt/conda/bin/python -m pip install CppHeaderParser
+ git clone https://github.com/ROCm/HIP -b $HIP_BRANCH
+ HIP_COMMON_DIR=$(readlink -f HIP)
+ git clone https://github.com/jeffdaily/clr -b release/rocm-rel-${VER_STR}${VER_PATCH}-statco-hotfix
+ mkdir -p clr/build
+ pushd clr/build
+ cmake .. -DCLR_BUILD_HIP=ON -DHIP_COMMON_DIR=$HIP_COMMON_DIR
+ make -j
+ cp hipamd/lib/libamdhip64.so.${VER_STR}.* /opt/rocm/lib/libamdhip64.so.${VER_STR}.*
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
popd
rm -rf HIP clr
fi
diff --git a/.ci/docker/common/install_triton.sh b/.ci/docker/common/install_triton.sh
index f48140952c3a..0368047cbb41 100755
--- a/.ci/docker/common/install_triton.sh
+++ b/.ci/docker/common/install_triton.sh
@@ -21,7 +21,7 @@ elif [ -n "${TRITON_CPU}" ]; then
TRITON_REPO="https://github.com/triton-lang/triton-cpu"
TRITON_TEXT_FILE="triton-cpu"
else
- TRITON_REPO="https://github.com/triton-lang/triton"
+ TRITON_REPO="https://github.com/ROCm/triton"
TRITON_TEXT_FILE="triton"
fi
@@ -57,7 +57,11 @@ if [ ! -f setup.py ]; then
cd python
fi
+<<<<<<< HEAD
pip_install pybind11==3.0.1
+=======
+pip_install pybind11==2.13.6
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# TODO: remove patch setup.py once we have a proper fix for https://github.com/triton-lang/triton/issues/4527
as_jenkins sed -i -e 's/https:\/\/tritonlang.blob.core.windows.net\/llvm-builds/https:\/\/oaitriton.blob.core.windows.net\/public\/llvm-builds/g' setup.py
@@ -98,10 +102,15 @@ fi
if [ -n "${NUMPY_VERSION}" ]; then
pip_install "numpy==${NUMPY_VERSION}"
fi
+<<<<<<< HEAD
# IMPORTANT: helion needs to be installed without dependencies.
# It depends on torch and triton. We don't want to install
# triton and torch from production on Docker CI images
if [[ "$ANACONDA_PYTHON_VERSION" != 3.9* ]]; then
pip_install helion --no-deps
+=======
+if [[ "$ANACONDA_PYTHON_VERSION" != 3.9* ]]; then
+ pip_install helion
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
fi
diff --git a/.ci/docker/common/install_ucc.sh b/.ci/docker/common/install_ucc.sh
index 04f15a52e88e..10048ebc19ef 100755
--- a/.ci/docker/common/install_ucc.sh
+++ b/.ci/docker/common/install_ucc.sh
@@ -44,12 +44,17 @@ function install_ucc() {
./autogen.sh
+<<<<<<< HEAD
if [[ -n "$CUDA_VERSION" && $CUDA_VERSION == 13* ]]; then
NVCC_GENCODE="-gencode=arch=compute_86,code=compute_86"
else
# We only run distributed tests on Tesla M60 and A10G
NVCC_GENCODE="-gencode=arch=compute_52,code=sm_52 -gencode=arch=compute_86,code=compute_86"
fi
+=======
+ # We only run distributed tests on Tesla M60 and A10G
+ NVCC_GENCODE="-gencode=arch=compute_52,code=sm_52 -gencode=arch=compute_86,code=compute_86"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if [[ -n "$ROCM_VERSION" ]]; then
if [[ -n "$PYTORCH_ROCM_ARCH" ]]; then
diff --git a/.ci/docker/common/install_xpu.sh b/.ci/docker/common/install_xpu.sh
index 0b150872f93c..f77c9bb6d2f9 100644
--- a/.ci/docker/common/install_xpu.sh
+++ b/.ci/docker/common/install_xpu.sh
@@ -34,6 +34,7 @@ function install_ubuntu() {
# The xpu-smi packages
apt-get install -y flex bison xpu-smi
+<<<<<<< HEAD
if [[ "${XPU_DRIVER_TYPE,,}" == "lts" ]]; then
# Compute and Media Runtimes
@@ -55,6 +56,20 @@ function install_ubuntu() {
apt-get install -y libigc-dev intel-igc-cm libigdfcl-dev libigfxcmrt-dev libze-dev
fi
+=======
+ # Compute and Media Runtimes
+ apt-get install -y \
+ intel-opencl-icd intel-level-zero-gpu level-zero \
+ intel-media-va-driver-non-free libmfx1 libmfxgen1 libvpl2 \
+ libegl-mesa0 libegl1-mesa libegl1-mesa-dev libgbm1 libgl1-mesa-dev libgl1-mesa-dri \
+ libglapi-mesa libgles2-mesa-dev libglx-mesa0 libigdgmm12 libxatracker2 mesa-va-drivers \
+ mesa-vdpau-drivers mesa-vulkan-drivers va-driver-all vainfo hwinfo clinfo
+ if [[ "${XPU_DRIVER_TYPE,,}" == "rolling" ]]; then
+ apt-get install -y intel-ocloc
+ fi
+ # Development Packages
+ apt-get install -y libigc-dev intel-igc-cm libigdfcl-dev libigfxcmrt-dev level-zero-dev
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# Install Intel Support Packages
apt-get install -y ${XPU_PACKAGES}
@@ -143,6 +158,7 @@ function install_sles() {
}
+<<<<<<< HEAD
# Default use GPU driver rolling releases
XPU_DRIVER_VERSION=""
if [[ "${XPU_DRIVER_TYPE,,}" == "lts" ]]; then
@@ -155,6 +171,20 @@ if [[ "$XPU_VERSION" == "2025.2" ]]; then
XPU_PACKAGES="intel-deep-learning-essentials-2025.2"
else
XPU_PACKAGES="intel-deep-learning-essentials-2025.1"
+=======
+# Default use GPU driver LTS releases
+XPU_DRIVER_VERSION="/lts/2350"
+if [[ "${XPU_DRIVER_TYPE,,}" == "rolling" ]]; then
+ # Use GPU driver rolling releases
+ XPU_DRIVER_VERSION=""
+fi
+
+# Default use Intel® oneAPI Deep Learning Essentials 2025.0
+if [[ "$XPU_VERSION" == "2025.1" ]]; then
+ XPU_PACKAGES="intel-deep-learning-essentials-2025.1"
+else
+ XPU_PACKAGES="intel-deep-learning-essentials-2025.0"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
fi
# The installation depends on the base OS
diff --git a/.ci/docker/libtorch/Dockerfile b/.ci/docker/libtorch/Dockerfile
index d19431ad8b54..d465977831f8 100644
--- a/.ci/docker/libtorch/Dockerfile
+++ b/.ci/docker/libtorch/Dockerfile
@@ -69,6 +69,7 @@ RUN bash ./install_cuda.sh 12.9
RUN bash ./install_magma.sh 12.9
RUN ln -sf /usr/local/cuda-12.9 /usr/local/cuda
+<<<<<<< HEAD
FROM cuda as cuda13.0
RUN bash ./install_cuda.sh 13.0
RUN bash ./install_magma.sh 13.0
@@ -82,6 +83,8 @@ RUN apt-get update -y && \
cp /usr/lib/x86_64-linux-gnu/libibverbs.so* /usr/local/cuda/lib64/ && \
cp /usr/lib/x86_64-linux-gnu/libnl* /usr/local/cuda/lib64/
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
FROM cpu as rocm
ARG ROCM_VERSION
ARG PYTORCH_ROCM_ARCH
diff --git a/.ci/docker/libtorch/build.sh b/.ci/docker/libtorch/build.sh
index 7caedf1f44d4..5e21b952097c 100755
--- a/.ci/docker/libtorch/build.sh
+++ b/.ci/docker/libtorch/build.sh
@@ -39,10 +39,13 @@ case ${DOCKER_TAG_PREFIX} in
DOCKER_GPU_BUILD_ARG=""
;;
rocm*)
+<<<<<<< HEAD
# we want the patch version of 6.4 instead
if [[ $(ver $GPU_ARCH_VERSION) -eq $(ver 6.4) ]]; then
GPU_ARCH_VERSION="${GPU_ARCH_VERSION}.2"
fi
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
BASE_TARGET=rocm
GPU_IMAGE=rocm/dev-ubuntu-22.04:${GPU_ARCH_VERSION}-complete
PYTORCH_ROCM_ARCH="gfx900;gfx906;gfx908;gfx90a;gfx942;gfx1030;gfx1100;gfx1101;gfx1102;gfx1200;gfx1201"
diff --git a/.ci/docker/linter/Dockerfile b/.ci/docker/linter/Dockerfile
index 95d08ffea051..658ad4a91709 100644
--- a/.ci/docker/linter/Dockerfile
+++ b/.ci/docker/linter/Dockerfile
@@ -27,7 +27,10 @@ COPY ./common/install_linter.sh install_linter.sh
RUN bash ./install_linter.sh
RUN rm install_linter.sh
+<<<<<<< HEAD
RUN chown -R jenkins:jenkins /var/lib/jenkins/ci_env
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
USER jenkins
CMD ["bash"]
diff --git a/.ci/docker/manywheel/Dockerfile_2_28 b/.ci/docker/manywheel/Dockerfile_2_28
index 4803cb778c90..ebbce2f360f9 100644
--- a/.ci/docker/manywheel/Dockerfile_2_28
+++ b/.ci/docker/manywheel/Dockerfile_2_28
@@ -130,8 +130,12 @@ ENV LD_LIBRARY_PATH=/opt/rh/gcc-toolset-${DEVTOOLSET_VERSION}/root/usr/lib64:/op
RUN for cpython_version in "cp312-cp312" "cp313-cp313" "cp313-cp313t"; do \
/opt/python/${cpython_version}/bin/python -m pip install setuptools wheel; \
done;
+<<<<<<< HEAD
ADD ./common/patch_libstdc.sh patch_libstdc.sh
RUN bash ./patch_libstdc.sh && rm patch_libstdc.sh
+=======
+
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# cmake-3.18.4 from pip; force in case cmake3 already exists
RUN yum install -y python3-pip && \
@@ -176,6 +180,10 @@ ENV XPU_DRIVER_TYPE ROLLING
RUN python3 -m pip install --upgrade pip && \
python3 -mpip install cmake==3.28.4
ADD ./common/install_xpu.sh install_xpu.sh
+<<<<<<< HEAD
ENV XPU_VERSION 2025.2
+=======
+ENV XPU_VERSION 2025.1
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
RUN bash ./install_xpu.sh && rm install_xpu.sh
RUN pushd /opt/_internal && tar -xJf static-libs-for-embedding-only.tar.xz && popd
diff --git a/.ci/docker/manywheel/Dockerfile_2_28_aarch64 b/.ci/docker/manywheel/Dockerfile_2_28_aarch64
index 6cfab77941fc..083b5ba3d66a 100644
--- a/.ci/docker/manywheel/Dockerfile_2_28_aarch64
+++ b/.ci/docker/manywheel/Dockerfile_2_28_aarch64
@@ -71,5 +71,8 @@ RUN rm -rf /opt/python/cp33-cp33m /opt/_internal/cpython-3.3.6
RUN rm -rf /opt/python/cp34-cp34m /opt/_internal/cpython-3.4.6
COPY --from=openblas /opt/OpenBLAS/ /opt/OpenBLAS/
ENV LD_LIBRARY_PATH=/opt/OpenBLAS/lib:$LD_LIBRARY_PATH
+<<<<<<< HEAD
ADD ./common/patch_libstdc.sh patch_libstdc.sh
RUN bash ./patch_libstdc.sh && rm patch_libstdc.sh
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/.ci/docker/manywheel/Dockerfile_cuda_aarch64 b/.ci/docker/manywheel/Dockerfile_cuda_aarch64
index 4d2596fea821..6604681c8cc0 100644
--- a/.ci/docker/manywheel/Dockerfile_cuda_aarch64
+++ b/.ci/docker/manywheel/Dockerfile_cuda_aarch64
@@ -95,5 +95,8 @@ COPY --from=nvpl /opt/nvpl/lib/ /usr/local/lib/
COPY --from=nvpl /opt/nvpl/include/ /usr/local/include/
RUN ln -sf /usr/local/cuda-${BASE_CUDA_VERSION} /usr/local/cuda
ENV PATH=/usr/local/cuda/bin:$PATH
+<<<<<<< HEAD
ADD ./common/patch_libstdc.sh patch_libstdc.sh
RUN bash ./patch_libstdc.sh && rm patch_libstdc.sh
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/.ci/docker/manywheel/Dockerfile_s390x b/.ci/docker/manywheel/Dockerfile_s390x
index 46ec7f77ae8b..f4aad02f3458 100644
--- a/.ci/docker/manywheel/Dockerfile_s390x
+++ b/.ci/docker/manywheel/Dockerfile_s390x
@@ -131,8 +131,11 @@ RUN pip3 install flatbuffers && \
git clone https://github.com/microsoft/onnxruntime && \
cd onnxruntime && git checkout v1.21.0 && \
git submodule update --init --recursive && \
+<<<<<<< HEAD
wget https://github.com/microsoft/onnxruntime/commit/f57db79743c4d1a3553aa05cf95bcd10966030e6.patch && \
patch -p1 < f57db79743c4d1a3553aa05cf95bcd10966030e6.patch && \
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
./build.sh --config Release --parallel 0 --enable_pybind \
--build_wheel --enable_training --enable_training_apis \
--enable_training_ops --skip_tests --allow_running_as_root \
diff --git a/.ci/docker/manywheel/build.sh b/.ci/docker/manywheel/build.sh
index 5dee4325857f..3c33e540e8f7 100755
--- a/.ci/docker/manywheel/build.sh
+++ b/.ci/docker/manywheel/build.sh
@@ -67,12 +67,15 @@ case ${image} in
DOCKER_GPU_BUILD_ARG="--build-arg BASE_CUDA_VERSION=${GPU_ARCH_VERSION} --build-arg DEVTOOLSET_VERSION=13"
MANY_LINUX_VERSION="2_28"
;;
+<<<<<<< HEAD
manylinux2_28-builder:cuda13*)
TARGET=cuda_final
GPU_IMAGE=amd64/almalinux:8
DOCKER_GPU_BUILD_ARG="--build-arg BASE_CUDA_VERSION=${GPU_ARCH_VERSION} --build-arg DEVTOOLSET_VERSION=13"
MANY_LINUX_VERSION="2_28"
;;
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
manylinuxaarch64-builder:cuda*)
TARGET=cuda_final
GPU_IMAGE=amd64/almalinux:8
@@ -81,10 +84,13 @@ case ${image} in
DOCKERFILE_SUFFIX="_cuda_aarch64"
;;
manylinux2_28-builder:rocm*)
+<<<<<<< HEAD
# we want the patch version of 6.4 instead
if [[ $(ver $GPU_ARCH_VERSION) -eq $(ver 6.4) ]]; then
GPU_ARCH_VERSION="${GPU_ARCH_VERSION}.2"
fi
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
TARGET=rocm_final
MANY_LINUX_VERSION="2_28"
DEVTOOLSET_VERSION="11"
diff --git a/.ci/docker/requirements-ci.txt b/.ci/docker/requirements-ci.txt
index 583136d7df2f..dae3230360a8 100644
--- a/.ci/docker/requirements-ci.txt
+++ b/.ci/docker/requirements-ci.txt
@@ -10,7 +10,11 @@ boto3==1.35.42
#Pinned versions: 1.19.12, 1.16.34
#test that import:
+<<<<<<< HEAD
+click==8.3.0
+=======
click
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
#Description: Command Line Interface Creation Kit
#Pinned versions:
#test that import:
@@ -50,7 +54,11 @@ flatbuffers==24.12.23
hypothesis==5.35.1
# Pin hypothesis to avoid flakiness: https://github.com/pytorch/pytorch/issues/31136
#Description: advanced library for generating parametrized tests
+<<<<<<< HEAD
#Pinned versions: 5.35.1
+=======
+#Pinned versions: 3.44.6, 4.53.2
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
#test that import: test_xnnpack_integration.py, test_pruning_op.py, test_nn.py
junitparser==2.1.1
@@ -63,12 +71,20 @@ lark==0.12.0
#Pinned versions: 0.12.0
#test that import:
-librosa>=0.6.2 ; python_version < "3.11" and platform_machine != "s390x"
+<<<<<<< HEAD
+librosa==0.11.0 ; python_version < "3.11" and platform_machine != "s390x"
librosa==0.10.2 ; python_version == "3.12" and platform_machine != "s390x"
#Description: A python package for music and audio analysis
#Pinned versions: >=0.6.2
#test that import: test_spectral_ops.py
#librosa depends on numba; disable it for s390x while numba is disabled too
+=======
+librosa>=0.6.2 ; python_version < "3.11"
+librosa==0.10.2 ; python_version == "3.12"
+#Description: A python package for music and audio analysis
+#Pinned versions: >=0.6.2
+#test that import: test_spectral_ops.py
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
#mkl #this breaks linux-bionic-rocm4.5-py3.7
#Description: Intel oneAPI Math Kernel Library
@@ -93,9 +109,14 @@ librosa==0.10.2 ; python_version == "3.12" and platform_machine != "s390x"
#Pinned versions:
#test that import:
+<<<<<<< HEAD
mypy==1.16.0 ; platform_system != "Windows"
# Pin MyPy version because new errors are likely to appear with each release
# Skip on Windows as lots of type annotations are POSIX specific
+=======
+mypy==1.16.0
+# Pin MyPy version because new errors are likely to appear with each release
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
#Description: linter
#Pinned versions: 1.16.0
#test that import: test_typing.py, test_type_hints.py
@@ -112,15 +133,22 @@ ninja==1.11.1.3
#Pinned versions: 1.11.1.3
#test that import: run_test.py, test_cpp_extensions_aot.py,test_determination.py
+<<<<<<< HEAD
numba==0.49.0 ; python_version < "3.9" and platform_machine != "s390x"
-numba==0.55.2 ; python_version == "3.9" and platform_machine != "s390x"
-numba==0.55.2 ; python_version == "3.10" and platform_machine != "s390x"
-numba==0.60.0 ; python_version == "3.12" and platform_machine != "s390x"
+numba==0.60.0 ; python_version == "3.9" and platform_machine != "s390x"
+numba==0.61.2 ; python_version > "3.9" and platform_machine != "s390x"
+=======
+numba==0.60.0 ; python_version == "3.9"
+numba==0.61.2 ; python_version > "3.9"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
#Description: Just-In-Time Compiler for Numerical Functions
#Pinned versions: 0.54.1, 0.49.0, <=0.49.1
#test that import: test_numba_integration.py
#For numba issue see https://github.com/pytorch/pytorch/issues/51511
+<<<<<<< HEAD
#Need release > 0.61.2 for s390x due to https://github.com/numba/numba/pull/10073
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
#numpy
#Description: Provides N-dimensional arrays and linear algebra
@@ -134,12 +162,10 @@ numba==0.60.0 ; python_version == "3.12" and platform_machine != "s390x"
#test_nn.py, test_namedtensor.py, test_linalg.py, test_jit_cuda_fuser.py,
#test_jit.py, test_indexing.py, test_datapipe.py, test_dataloader.py,
#test_binary_ufuncs.py
-numpy==1.22.4; python_version == "3.9" or python_version == "3.10"
-numpy==1.26.2; python_version == "3.11" or python_version == "3.12"
-numpy==2.1.2; python_version >= "3.13"
+numpy==2.0.2 ; python_version == "3.9"
+numpy==2.1.2 ; python_version > "3.9"
-pandas==2.0.3; python_version < "3.13"
-pandas==2.2.3; python_version >= "3.13"
+pandas==2.2.3
#onnxruntime
#Description: scoring engine for Open Neural Network Exchange (ONNX) models
@@ -169,10 +195,11 @@ pillow==11.0.0
#Pinned versions: 10.3.0
#test that import:
-protobuf==5.29.4
-#Description: Google's data interchange format
-#Pinned versions: 5.29.4
-#test that import: test_tensorboard.py, test/onnx/*
+protobuf==3.20.2 ; python_version <= "3.12"
+protobuf==4.25.1 ; python_version == "3.13"
+#Description: Google’s data interchange format
+#Pinned versions: 3.20.1
+#test that import: test_tensorboard.py
psutil
#Description: information on running processes and system utilization
@@ -194,7 +221,11 @@ pytest-flakefinder==1.1.0
#Pinned versions: 1.1.0
#test that import:
+<<<<<<< HEAD
+pytest-rerunfailures==14.0
+=======
pytest-rerunfailures>=10.3
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
#Description: plugin for rerunning failure tests in pytest
#Pinned versions:
#test that import:
@@ -224,9 +255,15 @@ pygments==2.15.0
#Pinned versions: 2.12.0
#test that import: the doctests
+<<<<<<< HEAD
#pyyaml
#Description: data serialization format
#Pinned versions: 6.0.2
+=======
+#PyYAML
+#Description: data serialization format
+#Pinned versions:
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
#test that import:
#requests
@@ -236,7 +273,11 @@ pygments==2.15.0
#rich
#Description: rich text and beautiful formatting in the terminal
+<<<<<<< HEAD
#Pinned versions: 14.1.0
+=======
+#Pinned versions: 10.9.0
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
#test that import:
scikit-image==0.19.3 ; python_version < "3.10"
@@ -250,8 +291,8 @@ scikit-image==0.22.0 ; python_version >= "3.10"
#Pinned versions: 0.20.3
#test that import:
-scipy==1.10.1 ; python_version <= "3.11"
-scipy==1.14.1 ; python_version >= "3.12"
+scipy==1.13.1 ; python_version == "3.9"
+scipy==1.14.1 ; python_version > "3.9"
# Pin SciPy because of failing distribution tests (see #60347)
#Description: scientific python
#Pinned versions: 1.10.1
@@ -265,7 +306,11 @@ scipy==1.14.1 ; python_version >= "3.12"
#test that import:
# needed by torchgen utils
+<<<<<<< HEAD
+typing_extensions==4.15.0
+=======
typing-extensions>=4.10.0
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
#Description: type hints for python
#Pinned versions:
#test that import:
@@ -275,7 +320,11 @@ typing-extensions>=4.10.0
#Pinned versions:
#test that import:
+<<<<<<< HEAD
+unittest-xml-reporting==3.2.0
+=======
unittest-xml-reporting<=3.2.0,>=2.0.0
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
#Description: saves unit test results to xml
#Pinned versions:
#test that import:
@@ -286,7 +335,11 @@ lintrunner==0.12.7
#Pinned versions: 0.12.7
#test that import:
+<<<<<<< HEAD
+redis==6.4.0
+=======
redis>=4.0.0
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
#Description: redis database
#test that import: anything that tests OSS caching/mocking (inductor/test_codecache.py, inductor/test_max_autotune.py)
@@ -305,13 +358,16 @@ pytest-cpp==2.3.0
#Pinned versions: 2.3.0
#test that import:
+<<<<<<< HEAD
z3-solver==4.15.1.0 ; platform_machine != "s390x"
+=======
+z3-solver==4.12.6.0
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
#Description: The Z3 Theorem Prover Project
#Pinned versions:
#test that import:
-tensorboard==2.13.0 ; python_version < "3.13"
-tensorboard==2.18.0 ; python_version >= "3.13"
+tensorboard==2.18.0
#Description: Also included in .ci/docker/requirements-docs.txt
#Pinned versions:
#test that import: test_tensorboard
@@ -323,7 +379,8 @@ pywavelets==1.7.0 ; python_version >= "3.12"
#Pinned versions: 1.4.1
#test that import:
-lxml==5.3.0
+lxml==5.3.0 ; python_version <= "3.12"
+lxml==6.0.0 ; python_version == "3.13"
#Description: This is a requirement of unittest-xml-reporting
# Python-3.9 binaries
@@ -335,12 +392,17 @@ sympy==1.13.3
#Pinned versions:
#test that import:
-onnx==1.18.0
-#Description: Required by onnx tests, and mypy and test_public_bindings.py when checking torch.onnx._internal
+onnx==1.16.1 ; python_version <= "3.12"
+onnx==1.18.0 ; python_version == "3.13"
+#Description: Required by mypy and test_public_bindings.py when checking torch.onnx._internal
#Pinned versions:
#test that import:
+<<<<<<< HEAD
onnxscript==0.4.0
+=======
+onnxscript==0.3.1
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
#Description: Required by mypy and test_public_bindings.py when checking torch.onnx._internal
#Pinned versions:
#test that import:
@@ -359,11 +421,20 @@ pwlf==2.2.1
#Pinned versions: 2.2.1
#test that import: test_sac_estimator.py
+<<<<<<< HEAD
# To build PyTorch itself
-pyyaml
+PyYAML==6.0.3
+pyzstd==0.18.0
+setuptools==79.0.1
+six==1.17.0
+=======
+
+# To build PyTorch itself
+astunparse
+PyYAML
pyzstd
-setuptools>=70.1.0
-six
+setuptools
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
scons==4.5.2 ; platform_machine == "aarch64"
@@ -380,6 +451,7 @@ dataclasses_json==0.6.7
cmake==4.0.0
#Description: required for building
+<<<<<<< HEAD
tlparse==0.4.0
#Description: required for log parsing
@@ -392,3 +464,11 @@ scikit-build==0.18.1
pyre-extensions==0.0.32
tabulate==0.9.0
#Description: These package are needed to build FBGEMM and torchrec on PyTorch CI
+=======
+tlparse==0.3.30
+#Description: required for log parsing
+
+cuda-bindings>=12.0,<13.0
+#Description: required for testing CUDAGraph::raw_cuda_graph(). See https://nvidia.github.io/cuda-python/cuda-bindings/latest/support.html for how this version was chosen. Note "Any fix in the latest bindings would be backported to the prior major version" means that only the newest version of cuda-bindings will get fixes. Depending on the latest version of 12.x is okay because all 12.y versions will be supported via "CUDA minor version compatibility". Pytorch builds against 13.z versions of cuda toolkit work with 12.x versions of cuda-bindings as well because newer drivers work with old toolkits.
+#test that import: test_cuda.py
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/.ci/docker/requirements-docs.txt b/.ci/docker/requirements-docs.txt
index c5ad8e969fb9..6de9047c0957 100644
--- a/.ci/docker/requirements-docs.txt
+++ b/.ci/docker/requirements-docs.txt
@@ -1,7 +1,11 @@
sphinx==5.3.0
#Description: This is used to generate PyTorch docs
#Pinned versions: 5.3.0
+<<<<<<< HEAD
-e git+https://github.com/pytorch/pytorch_sphinx_theme.git@71e55749be14ceb56e7f8211a9fb649866b87ad4#egg=pytorch_sphinx_theme2
+=======
+-e git+https://github.com/pytorch/pytorch_sphinx_theme.git@pytorch_sphinx_theme2#egg=pytorch_sphinx_theme2
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# TODO: sphinxcontrib.katex 0.9.0 adds a local KaTeX server to speed up pre-rendering
# but it doesn't seem to work and hangs around idly. The initial thought that it is probably
@@ -19,10 +23,16 @@ sphinx_sitemap==2.6.0
#Description: This is used to generate sitemap for PyTorch docs
#Pinned versions: 2.6.0
+<<<<<<< HEAD
matplotlib==3.5.3 ; python_version < "3.13"
matplotlib==3.6.3 ; python_version >= "3.13"
#Description: This is used to generate PyTorch docs
#Pinned versions: 3.6.3 if python > 3.12. Otherwise 3.5.3.
+=======
+matplotlib==3.5.3
+#Description: This is used to generate PyTorch docs
+#Pinned versions: 3.5.3
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
tensorboard==2.13.0 ; python_version < "3.13"
tensorboard==2.18.0 ; python_version >= "3.13"
@@ -50,8 +60,13 @@ IPython==8.12.0
#Pinned versions: 8.12.0
myst-nb==0.17.2
+<<<<<<< HEAD
#Description: This is used to generate PyTorch functorch and torch.compile docs.
#Pinned versions: 0.17.2
+=======
+#Description: This is used to generate PyTorch functorch docs
+#Pinned versions: 0.13.2
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# The following are required to build torch.distributed.elastic.rendezvous.etcd* docs
python-etcd==0.4.5
diff --git a/.ci/docker/triton_version.txt b/.ci/docker/triton_version.txt
index 1545d966571d..561eb4a3cc51 100644
--- a/.ci/docker/triton_version.txt
+++ b/.ci/docker/triton_version.txt
@@ -1 +1,5 @@
+<<<<<<< HEAD
3.5.0
+=======
+3.4.0
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/.ci/docker/triton_xpu_version.txt b/.ci/docker/triton_xpu_version.txt
index 1545d966571d..561eb4a3cc51 100644
--- a/.ci/docker/triton_xpu_version.txt
+++ b/.ci/docker/triton_xpu_version.txt
@@ -1 +1,5 @@
+<<<<<<< HEAD
3.5.0
+=======
+3.4.0
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/.ci/docker/ubuntu-rocm/Dockerfile b/.ci/docker/ubuntu-rocm/Dockerfile
index 681f6fe75051..01456bc58ec9 100644
--- a/.ci/docker/ubuntu-rocm/Dockerfile
+++ b/.ci/docker/ubuntu-rocm/Dockerfile
@@ -96,11 +96,18 @@ ARG ANACONDA_PYTHON_VERSION
ENV ANACONDA_PYTHON_VERSION=$ANACONDA_PYTHON_VERSION
COPY ./common/install_inductor_benchmark_deps.sh install_inductor_benchmark_deps.sh
COPY ./common/common_utils.sh common_utils.sh
+<<<<<<< HEAD
COPY ci_commit_pins/huggingface-requirements.txt huggingface-requirements.txt
COPY ci_commit_pins/timm.txt timm.txt
COPY ci_commit_pins/torchbench.txt torchbench.txt
RUN if [ -n "${INDUCTOR_BENCHMARKS}" ]; then bash ./install_inductor_benchmark_deps.sh; fi
RUN rm install_inductor_benchmark_deps.sh common_utils.sh timm.txt huggingface-requirements.txt torchbench.txt
+=======
+COPY ci_commit_pins/huggingface.txt huggingface.txt
+COPY ci_commit_pins/timm.txt timm.txt
+RUN if [ -n "${INDUCTOR_BENCHMARKS}" ]; then bash ./install_inductor_benchmark_deps.sh; fi
+RUN rm install_inductor_benchmark_deps.sh common_utils.sh timm.txt huggingface.txt
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# (optional) Install non-default Ninja version
ARG NINJA_VERSION
diff --git a/.ci/docker/ubuntu-xpu/Dockerfile b/.ci/docker/ubuntu-xpu/Dockerfile
index 8765249688ce..8ab05c37b9ec 100644
--- a/.ci/docker/ubuntu-xpu/Dockerfile
+++ b/.ci/docker/ubuntu-xpu/Dockerfile
@@ -56,10 +56,17 @@ RUN rm install_openssl.sh
ARG INDUCTOR_BENCHMARKS
COPY ./common/install_inductor_benchmark_deps.sh install_inductor_benchmark_deps.sh
COPY ./common/common_utils.sh common_utils.sh
+<<<<<<< HEAD
COPY ci_commit_pins/huggingface-requirements.txt huggingface-requirements.txt
COPY ci_commit_pins/timm.txt timm.txt
RUN if [ -n "${INDUCTOR_BENCHMARKS}" ]; then bash ./install_inductor_benchmark_deps.sh; fi
RUN rm install_inductor_benchmark_deps.sh common_utils.sh timm.txt huggingface-requirements.txt
+=======
+COPY ci_commit_pins/huggingface.txt huggingface.txt
+COPY ci_commit_pins/timm.txt timm.txt
+RUN if [ -n "${INDUCTOR_BENCHMARKS}" ]; then bash ./install_inductor_benchmark_deps.sh; fi
+RUN rm install_inductor_benchmark_deps.sh common_utils.sh timm.txt huggingface.txt
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# Install XPU Dependencies
ARG XPU_VERSION
diff --git a/.ci/docker/ubuntu/Dockerfile b/.ci/docker/ubuntu/Dockerfile
index 1edc8c60c2f0..ecd8600c476f 100644
--- a/.ci/docker/ubuntu/Dockerfile
+++ b/.ci/docker/ubuntu/Dockerfile
@@ -66,7 +66,10 @@ ENV NCCL_LIB_DIR="/usr/local/cuda/lib64/"
# (optional) Install UCC
ARG UCX_COMMIT
ARG UCC_COMMIT
+<<<<<<< HEAD
ARG CUDA_VERSION
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
ENV UCX_COMMIT $UCX_COMMIT
ENV UCC_COMMIT $UCC_COMMIT
ENV UCX_HOME /usr
@@ -97,11 +100,18 @@ RUN rm install_openssl.sh
ARG INDUCTOR_BENCHMARKS
COPY ./common/install_inductor_benchmark_deps.sh install_inductor_benchmark_deps.sh
COPY ./common/common_utils.sh common_utils.sh
+<<<<<<< HEAD
COPY ci_commit_pins/huggingface-requirements.txt huggingface-requirements.txt
COPY ci_commit_pins/timm.txt timm.txt
COPY ci_commit_pins/torchbench.txt torchbench.txt
RUN if [ -n "${INDUCTOR_BENCHMARKS}" ]; then bash ./install_inductor_benchmark_deps.sh; fi
RUN rm install_inductor_benchmark_deps.sh common_utils.sh timm.txt huggingface-requirements.txt torchbench.txt
+=======
+COPY ci_commit_pins/huggingface.txt huggingface.txt
+COPY ci_commit_pins/timm.txt timm.txt
+RUN if [ -n "${INDUCTOR_BENCHMARKS}" ]; then bash ./install_inductor_benchmark_deps.sh; fi
+RUN rm install_inductor_benchmark_deps.sh common_utils.sh timm.txt huggingface.txt
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
ARG TRITON
ARG TRITON_CPU
@@ -182,6 +192,10 @@ COPY --from=pytorch/llvm:9.0.1 /opt/llvm /opt/llvm
RUN if [ -n "${SKIP_LLVM_SRC_BUILD_INSTALL}" ]; then set -eu; rm -rf /opt/llvm; fi
# AWS specific CUDA build guidance
+<<<<<<< HEAD
+=======
+ENV TORCH_CUDA_ARCH_LIST Maxwell
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
ENV TORCH_NVCC_FLAGS "-Xfatbin -compress-all"
ENV CUDA_PATH /usr/local/cuda
diff --git a/.ci/libtorch/build.sh b/.ci/libtorch/build.sh
index c2d67f8b1bb2..7c668ca81e71 100644
--- a/.ci/libtorch/build.sh
+++ b/.ci/libtorch/build.sh
@@ -7,4 +7,8 @@ set -ex
SCRIPTPATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
+<<<<<<< HEAD
USE_NVSHMEM=0 USE_CUSPARSELT=0 BUILD_PYTHONLESS=1 DESIRED_PYTHON="3.10" ${SCRIPTPATH}/../manywheel/build.sh
+=======
+USE_CUSPARSELT=0 BUILD_PYTHONLESS=1 DESIRED_PYTHON="3.9" ${SCRIPTPATH}/../manywheel/build.sh
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/.ci/magma/Makefile b/.ci/magma/Makefile
index 4169aedd03fa..233925d95eb6 100644
--- a/.ci/magma/Makefile
+++ b/.ci/magma/Makefile
@@ -16,7 +16,10 @@ DOCKER_RUN = set -eou pipefail; ${DOCKER_CMD} run --rm -i \
magma/build_magma.sh
.PHONY: all
+<<<<<<< HEAD
all: magma-cuda130
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
all: magma-cuda129
all: magma-cuda128
all: magma-cuda126
@@ -26,12 +29,15 @@ clean:
$(RM) -r magma-*
$(RM) -r output
+<<<<<<< HEAD
.PHONY: magma-cuda130
magma-cuda130: DESIRED_CUDA := 13.0
magma-cuda130: CUDA_ARCH_LIST := -gencode arch=compute_80,code=sm_80 -gencode arch=compute_86,code=sm_86 -gencode arch=compute_90,code=sm_90 -gencode arch=compute_100,code=sm_100 -gencode arch=compute_120,code=sm_120
magma-cuda130:
$(DOCKER_RUN)
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
.PHONY: magma-cuda129
magma-cuda129: DESIRED_CUDA := 12.9
magma-cuda129: CUDA_ARCH_LIST += -gencode arch=compute_100,code=sm_100 -gencode arch=compute_120,code=sm_120
diff --git a/.ci/magma/build_magma.sh b/.ci/magma/build_magma.sh
index 6f1924fa4596..c88109ab0176 100755
--- a/.ci/magma/build_magma.sh
+++ b/.ci/magma/build_magma.sh
@@ -28,7 +28,10 @@ pushd ${PACKAGE_DIR}/magma-${MAGMA_VERSION}
patch < ${PACKAGE_FILES}/CMake.patch
patch < ${PACKAGE_FILES}/cmakelists.patch
patch -p0 < ${PACKAGE_FILES}/thread_queue.patch
+<<<<<<< HEAD
patch -p1 < ${PACKAGE_FILES}/cuda13.patch
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
patch -p1 < ${PACKAGE_FILES}/getrf_shfl.patch
patch -p1 < ${PACKAGE_FILES}/getrf_nbparam.patch
# The build.sh script expects to be executed from the sources root folder
@@ -38,7 +41,10 @@ popd
# Package recipe, license and tarball
# Folder and package name are backward compatible for the build workflow
cp ${PACKAGE_FILES}/build.sh ${PACKAGE_RECIPE}/build.sh
+<<<<<<< HEAD
cp ${PACKAGE_FILES}/cuda13.patch ${PACKAGE_RECIPE}/cuda13.patch
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
cp ${PACKAGE_FILES}/thread_queue.patch ${PACKAGE_RECIPE}/thread_queue.patch
cp ${PACKAGE_FILES}/cmakelists.patch ${PACKAGE_RECIPE}/cmakelists.patch
cp ${PACKAGE_FILES}/getrf_shfl.patch ${PACKAGE_RECIPE}/getrf_shfl.patch
diff --git a/.ci/manywheel/build.sh b/.ci/manywheel/build.sh
index 6b2a60bc5ca2..82339921b69d 100755
--- a/.ci/manywheel/build.sh
+++ b/.ci/manywheel/build.sh
@@ -5,6 +5,13 @@ set -ex
SCRIPTPATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
case "${GPU_ARCH_TYPE:-BLANK}" in
+<<<<<<< HEAD
+=======
+ BLANK)
+ # Legacy behavior for CircleCI
+ bash "${SCRIPTPATH}/build_cuda.sh"
+ ;;
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
cuda)
bash "${SCRIPTPATH}/build_cuda.sh"
;;
diff --git a/.ci/manywheel/build_common.sh b/.ci/manywheel/build_common.sh
index 4c268befb30e..080bb20a3b0b 100644
--- a/.ci/manywheel/build_common.sh
+++ b/.ci/manywheel/build_common.sh
@@ -97,7 +97,11 @@ if [[ -z "$PYTORCH_ROOT" ]]; then
exit 1
fi
pushd "$PYTORCH_ROOT"
+<<<<<<< HEAD
retry pip install -qUr requirements-build.txt
+=======
+retry pip install -q cmake
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
python setup.py clean
retry pip install -qr requirements.txt
case ${DESIRED_PYTHON} in
@@ -138,11 +142,36 @@ fi
echo "Calling setup.py bdist at $(date)"
+<<<<<<< HEAD
time CMAKE_ARGS=${CMAKE_ARGS[@]} \
EXTRA_CAFFE2_CMAKE_FLAGS=${EXTRA_CAFFE2_CMAKE_FLAGS[@]} \
BUILD_LIBTORCH_CPU_WITH_DEBUG=$BUILD_DEBUG_INFO \
USE_NCCL=${USE_NCCL} USE_RCCL=${USE_RCCL} USE_KINETO=${USE_KINETO} \
python setup.py bdist_wheel -d /tmp/$WHEELHOUSE_DIR
+=======
+if [[ "$USE_SPLIT_BUILD" == "true" ]]; then
+ echo "Calling setup.py bdist_wheel for split build (BUILD_LIBTORCH_WHL)"
+ time EXTRA_CAFFE2_CMAKE_FLAGS=${EXTRA_CAFFE2_CMAKE_FLAGS[@]} \
+ BUILD_LIBTORCH_WHL=1 BUILD_PYTHON_ONLY=0 \
+ BUILD_LIBTORCH_CPU_WITH_DEBUG=$BUILD_DEBUG_INFO \
+ USE_NCCL=${USE_NCCL} USE_RCCL=${USE_RCCL} USE_KINETO=${USE_KINETO} \
+ python setup.py bdist_wheel -d /tmp/$WHEELHOUSE_DIR
+ echo "Finished setup.py bdist_wheel for split build (BUILD_LIBTORCH_WHL)"
+ echo "Calling setup.py bdist_wheel for split build (BUILD_PYTHON_ONLY)"
+ time EXTRA_CAFFE2_CMAKE_FLAGS=${EXTRA_CAFFE2_CMAKE_FLAGS[@]} \
+ BUILD_LIBTORCH_WHL=0 BUILD_PYTHON_ONLY=1 \
+ BUILD_LIBTORCH_CPU_WITH_DEBUG=$BUILD_DEBUG_INFO \
+ USE_NCCL=${USE_NCCL} USE_RCCL=${USE_RCCL} USE_KINETO=${USE_KINETO} \
+ CMAKE_FRESH=1 python setup.py bdist_wheel -d /tmp/$WHEELHOUSE_DIR
+ echo "Finished setup.py bdist_wheel for split build (BUILD_PYTHON_ONLY)"
+else
+ time CMAKE_ARGS=${CMAKE_ARGS[@]} \
+ EXTRA_CAFFE2_CMAKE_FLAGS=${EXTRA_CAFFE2_CMAKE_FLAGS[@]} \
+ BUILD_LIBTORCH_CPU_WITH_DEBUG=$BUILD_DEBUG_INFO \
+ USE_NCCL=${USE_NCCL} USE_RCCL=${USE_RCCL} USE_KINETO=${USE_KINETO} \
+ python setup.py bdist_wheel -d /tmp/$WHEELHOUSE_DIR
+fi
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
echo "Finished setup.py bdist at $(date)"
# Build libtorch packages
@@ -255,6 +284,13 @@ ls /tmp/$WHEELHOUSE_DIR
mkdir -p "/$WHEELHOUSE_DIR"
mv /tmp/$WHEELHOUSE_DIR/torch*linux*.whl /$WHEELHOUSE_DIR/
+<<<<<<< HEAD
+=======
+if [[ "$USE_SPLIT_BUILD" == "true" ]]; then
+ mv /tmp/$WHEELHOUSE_DIR/torch_no_python*.whl /$WHEELHOUSE_DIR/ || true
+fi
+
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if [[ -n "$BUILD_PYTHONLESS" ]]; then
mkdir -p /$LIBTORCH_HOUSE_DIR
mv /tmp/$LIBTORCH_HOUSE_DIR/*.zip /$LIBTORCH_HOUSE_DIR
@@ -431,8 +467,21 @@ if [[ -z "$BUILD_PYTHONLESS" ]]; then
pushd $PYTORCH_ROOT/test
# Install the wheel for this Python version
+<<<<<<< HEAD
pip uninstall -y "$TORCH_PACKAGE_NAME"
+=======
+ if [[ "$USE_SPLIT_BUILD" == "true" ]]; then
+ pip uninstall -y "$TORCH_NO_PYTHON_PACKAGE_NAME" || true
+ fi
+
+ pip uninstall -y "$TORCH_PACKAGE_NAME"
+
+ if [[ "$USE_SPLIT_BUILD" == "true" ]]; then
+ pip install "$TORCH_NO_PYTHON_PACKAGE_NAME" --no-index -f /$WHEELHOUSE_DIR --no-dependencies -v
+ fi
+
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
pip install "$TORCH_PACKAGE_NAME" --no-index -f /$WHEELHOUSE_DIR --no-dependencies -v
# Print info on the libraries installed in this wheel
diff --git a/.ci/manywheel/build_cuda.sh b/.ci/manywheel/build_cuda.sh
index 6ed38f8b25c6..76464615ce30 100644
--- a/.ci/manywheel/build_cuda.sh
+++ b/.ci/manywheel/build_cuda.sh
@@ -66,9 +66,12 @@ case ${CUDA_VERSION} in
TORCH_CUDA_ARCH_LIST="7.5;8.0;9.0;10.0;12.0+PTX"
fi
;;
+<<<<<<< HEAD
13.0)
TORCH_CUDA_ARCH_LIST="7.5;8.0;8.6;9.0;10.0;12.0+PTX"
;;
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
12.6)
TORCH_CUDA_ARCH_LIST="5.0;6.0;7.0;7.5;8.0;8.6;9.0"
;;
@@ -113,6 +116,7 @@ DEPS_SONAME=(
)
+<<<<<<< HEAD
# CUDA_VERSION 12.*, 13.*
if [[ $CUDA_VERSION == 12* || $CUDA_VERSION == 13* ]]; then
export USE_STATIC_CUDNN=0
@@ -125,6 +129,15 @@ if [[ $CUDA_VERSION == 12* || $CUDA_VERSION == 13* ]]; then
if [[ -z "$PYTORCH_EXTRA_INSTALL_REQUIREMENTS" ]]; then
echo "Bundling with cudnn and cublas."
+=======
+# CUDA_VERSION 12.6, 12.8, 12.9
+if [[ $CUDA_VERSION == 12* ]]; then
+ export USE_STATIC_CUDNN=0
+ # Try parallelizing nvcc as well
+ export TORCH_NVCC_FLAGS="-Xfatbin -compress-all --threads 2"
+ if [[ -z "$PYTORCH_EXTRA_INSTALL_REQUIREMENTS" ]]; then
+ echo "Bundling with cudnn and cublas."
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DEPS_LIST+=(
"/usr/local/cuda/lib64/libcudnn_adv.so.9"
"/usr/local/cuda/lib64/libcudnn_cnn.so.9"
@@ -134,12 +147,23 @@ if [[ $CUDA_VERSION == 12* || $CUDA_VERSION == 13* ]]; then
"/usr/local/cuda/lib64/libcudnn_engines_precompiled.so.9"
"/usr/local/cuda/lib64/libcudnn_heuristic.so.9"
"/usr/local/cuda/lib64/libcudnn.so.9"
+<<<<<<< HEAD
"/usr/local/cuda/lib64/libcusparseLt.so.0"
"/usr/local/cuda/lib64/libnvrtc-builtins.so"
"/usr/local/cuda/lib64/libcufile.so.0"
"/usr/local/cuda/lib64/libcufile_rdma.so.1"
"/usr/local/cuda/lib64/libnvshmem_host.so.3"
"/usr/local/cuda/extras/CUPTI/lib64/libnvperf_host.so"
+=======
+ "/usr/local/cuda/lib64/libcublas.so.12"
+ "/usr/local/cuda/lib64/libcublasLt.so.12"
+ "/usr/local/cuda/lib64/libcusparseLt.so.0"
+ "/usr/local/cuda/lib64/libcudart.so.12"
+ "/usr/local/cuda/lib64/libnvrtc.so.12"
+ "/usr/local/cuda/lib64/libnvrtc-builtins.so"
+ "/usr/local/cuda/lib64/libcufile.so.0"
+ "/usr/local/cuda/lib64/libcufile_rdma.so.1"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
)
DEPS_SONAME+=(
"libcudnn_adv.so.9"
@@ -150,6 +174,7 @@ if [[ $CUDA_VERSION == 12* || $CUDA_VERSION == 13* ]]; then
"libcudnn_engines_precompiled.so.9"
"libcudnn_heuristic.so.9"
"libcudnn.so.9"
+<<<<<<< HEAD
"libcusparseLt.so.0"
"libnvrtc-builtins.so"
"libnvshmem_host.so.3"
@@ -227,6 +252,35 @@ if [[ $CUDA_VERSION == 12* || $CUDA_VERSION == 13* ]]; then
)
fi
+=======
+ "libcublas.so.12"
+ "libcublasLt.so.12"
+ "libcusparseLt.so.0"
+ "libcudart.so.12"
+ "libnvrtc.so.12"
+ "libnvrtc-builtins.so"
+ "libcufile.so.0"
+ "libcufile_rdma.so.1"
+ )
+ else
+ echo "Using nvidia libs from pypi."
+ CUDA_RPATHS=(
+ '$ORIGIN/../../nvidia/cublas/lib'
+ '$ORIGIN/../../nvidia/cuda_cupti/lib'
+ '$ORIGIN/../../nvidia/cuda_nvrtc/lib'
+ '$ORIGIN/../../nvidia/cuda_runtime/lib'
+ '$ORIGIN/../../nvidia/cudnn/lib'
+ '$ORIGIN/../../nvidia/cufft/lib'
+ '$ORIGIN/../../nvidia/curand/lib'
+ '$ORIGIN/../../nvidia/cusolver/lib'
+ '$ORIGIN/../../nvidia/cusparse/lib'
+ '$ORIGIN/../../nvidia/cusparselt/lib'
+ '$ORIGIN/../../cusparselt/lib'
+ '$ORIGIN/../../nvidia/nccl/lib'
+ '$ORIGIN/../../nvidia/nvtx/lib'
+ '$ORIGIN/../../nvidia/cufile/lib'
+ )
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
CUDA_RPATHS=$(IFS=: ; echo "${CUDA_RPATHS[*]}")
export C_SO_RPATH=$CUDA_RPATHS':$ORIGIN:$ORIGIN/lib'
export LIB_SO_RPATH=$CUDA_RPATHS':$ORIGIN'
diff --git a/.ci/manywheel/build_libtorch.sh b/.ci/manywheel/build_libtorch.sh
index 4de775b1823c..16286cbad4c9 100644
--- a/.ci/manywheel/build_libtorch.sh
+++ b/.ci/manywheel/build_libtorch.sh
@@ -92,7 +92,11 @@ if [[ -z "$PYTORCH_ROOT" ]]; then
exit 1
fi
pushd "$PYTORCH_ROOT"
+<<<<<<< HEAD
retry pip install -qUr requirements-build.txt
+=======
+retry pip install -q cmake
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
python setup.py clean
retry pip install -qr requirements.txt
retry pip install -q numpy==2.0.1
@@ -104,7 +108,11 @@ if [[ "$DESIRED_CUDA" == *"rocm"* ]]; then
export ROCclr_DIR=/opt/rocm/rocclr/lib/cmake/rocclr
fi
+<<<<<<< HEAD
echo "Calling 'python -m pip install .' at $(date)"
+=======
+echo "Calling setup.py install at $(date)"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if [[ $LIBTORCH_VARIANT = *"static"* ]]; then
STATIC_CMAKE_FLAG="-DTORCH_STATIC=1"
@@ -120,7 +128,11 @@ fi
# TODO: Remove this flag once https://github.com/pytorch/pytorch/issues/55952 is closed
CFLAGS='-Wno-deprecated-declarations' \
BUILD_LIBTORCH_CPU_WITH_DEBUG=1 \
+<<<<<<< HEAD
python -m pip install --no-build-isolation -v .
+=======
+ python setup.py install
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
mkdir -p libtorch/{lib,bin,include,share}
diff --git a/.ci/manywheel/build_rocm.sh b/.ci/manywheel/build_rocm.sh
index ffc15bcdc5fa..1291c7d4b898 100755
--- a/.ci/manywheel/build_rocm.sh
+++ b/.ci/manywheel/build_rocm.sh
@@ -194,7 +194,11 @@ ROCBLAS_LIB_SRC=$ROCM_HOME/lib/rocblas/library
ROCBLAS_LIB_DST=lib/rocblas/library
ROCBLAS_ARCH_SPECIFIC_FILES=$(ls $ROCBLAS_LIB_SRC | grep -E $ARCH)
ROCBLAS_OTHER_FILES=$(ls $ROCBLAS_LIB_SRC | grep -v gfx)
+<<<<<<< HEAD
ROCBLAS_LIB_FILES=($ROCBLAS_ARCH_SPECIFIC_FILES $ROCBLAS_OTHER_FILES)
+=======
+ROCBLAS_LIB_FILES=($ROCBLAS_ARCH_SPECIFIC_FILES $OTHER_FILES)
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# hipblaslt library files
HIPBLASLT_LIB_SRC=$ROCM_HOME/lib/hipblaslt/library
diff --git a/.ci/manywheel/build_xpu.sh b/.ci/manywheel/build_xpu.sh
index bd7b168be336..034ef7cf08fc 100755
--- a/.ci/manywheel/build_xpu.sh
+++ b/.ci/manywheel/build_xpu.sh
@@ -25,7 +25,10 @@ source /opt/intel/oneapi/mpi/latest/env/vars.sh
export USE_STATIC_MKL=1
export USE_ONEMKL=1
export USE_XCCL=1
+<<<<<<< HEAD
export USE_MPI=0
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
WHEELHOUSE_DIR="wheelhousexpu"
LIBTORCH_HOUSE_DIR="libtorch_housexpu"
diff --git a/.ci/pytorch/build-mobile.sh b/.ci/pytorch/build-mobile.sh
new file mode 100755
index 000000000000..1f253ff58c03
--- /dev/null
+++ b/.ci/pytorch/build-mobile.sh
@@ -0,0 +1,34 @@
+#!/usr/bin/env bash
+# DO NOT ADD 'set -x' not to reveal CircleCI secret context environment variables
+set -eu -o pipefail
+
+# This script uses linux host toolchain + mobile build options in order to
+# build & test mobile libtorch without having to setup Android/iOS
+# toolchain/simulator.
+
+# shellcheck source=./common.sh
+source "$(dirname "${BASH_SOURCE[0]}")/common.sh"
+# shellcheck source=./common-build.sh
+source "$(dirname "${BASH_SOURCE[0]}")/common-build.sh"
+
+# Install torch & torchvision - used to download & trace test model.
+# Ideally we should use the libtorch built on the PR so that backward
+# incompatible changes won't break this script - but it will significantly slow
+# down mobile CI jobs.
+# Here we install nightly instead of stable so that we have an option to
+# temporarily skip mobile CI jobs on BC-breaking PRs until they are in nightly.
+retry pip install --pre torch torchvision \
+ -f https://download.pytorch.org/whl/nightly/cpu/torch_nightly.html \
+ --progress-bar off
+
+# Run end-to-end process of building mobile library, linking into the predictor
+# binary, and running forward pass with a real model.
+if [[ "$BUILD_ENVIRONMENT" == *-mobile-custom-build-static* ]]; then
+ TEST_CUSTOM_BUILD_STATIC=1 test/mobile/custom_build/build.sh
+elif [[ "$BUILD_ENVIRONMENT" == *-mobile-lightweight-dispatch* ]]; then
+ test/mobile/lightweight_dispatch/build.sh
+else
+ TEST_DEFAULT_BUILD=1 test/mobile/custom_build/build.sh
+fi
+
+print_sccache_stats
diff --git a/.ci/pytorch/build.sh b/.ci/pytorch/build.sh
index 1c88554c2af9..c239e3c7817b 100755
--- a/.ci/pytorch/build.sh
+++ b/.ci/pytorch/build.sh
@@ -11,6 +11,13 @@ source "$(dirname "${BASH_SOURCE[0]}")/common.sh"
# shellcheck source=./common-build.sh
source "$(dirname "${BASH_SOURCE[0]}")/common-build.sh"
+<<<<<<< HEAD
+=======
+if [[ "$BUILD_ENVIRONMENT" == *-mobile-*build* ]]; then
+ exec "$(dirname "${BASH_SOURCE[0]}")/build-mobile.sh" "$@"
+fi
+
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
echo "Python version:"
python --version
@@ -50,6 +57,12 @@ if [[ ${BUILD_ENVIRONMENT} == *"parallelnative"* ]]; then
export ATEN_THREADING=NATIVE
fi
+<<<<<<< HEAD
+=======
+# Enable LLVM dependency for TensorExpr testing
+export USE_LLVM=/opt/llvm
+export LLVM_DIR=/opt/llvm/lib/cmake/llvm
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if ! which conda; then
# In ROCm CIs, we are doing cross compilation on build machines with
@@ -92,6 +105,7 @@ if [[ "$BUILD_ENVIRONMENT" == *aarch64* ]]; then
export ACL_ROOT_DIR=/ComputeLibrary
fi
+<<<<<<< HEAD
if [[ "$BUILD_ENVIRONMENT" == *riscv64* ]]; then
if [[ -f /opt/riscv-cross-env/bin/activate ]]; then
# shellcheck disable=SC1091
@@ -113,6 +127,8 @@ if [[ "$BUILD_ENVIRONMENT" == *riscv64* ]]; then
fi
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if [[ "$BUILD_ENVIRONMENT" == *libtorch* ]]; then
POSSIBLE_JAVA_HOMES=()
POSSIBLE_JAVA_HOMES+=(/usr/local)
@@ -138,8 +154,31 @@ if [[ "$BUILD_ENVIRONMENT" == *libtorch* ]]; then
fi
# Use special scripts for Android builds
+<<<<<<< HEAD
if [[ "$BUILD_ENVIRONMENT" == *vulkan* ]]; then
+=======
+if [[ "${BUILD_ENVIRONMENT}" == *-android* ]]; then
+ export ANDROID_NDK=/opt/ndk
+ build_args=()
+ if [[ "${BUILD_ENVIRONMENT}" == *-arm-v7a* ]]; then
+ build_args+=("-DANDROID_ABI=armeabi-v7a")
+ elif [[ "${BUILD_ENVIRONMENT}" == *-arm-v8a* ]]; then
+ build_args+=("-DANDROID_ABI=arm64-v8a")
+ elif [[ "${BUILD_ENVIRONMENT}" == *-x86_32* ]]; then
+ build_args+=("-DANDROID_ABI=x86")
+ elif [[ "${BUILD_ENVIRONMENT}" == *-x86_64* ]]; then
+ build_args+=("-DANDROID_ABI=x86_64")
+ fi
+ if [[ "${BUILD_ENVIRONMENT}" == *vulkan* ]]; then
+ build_args+=("-DUSE_VULKAN=ON")
+ fi
+ build_args+=("-DUSE_LITE_INTERPRETER_PROFILER=OFF")
+ exec ./scripts/build_android.sh "${build_args[@]}" "$@"
+fi
+
+if [[ "$BUILD_ENVIRONMENT" != *android* && "$BUILD_ENVIRONMENT" == *vulkan* ]]; then
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
export USE_VULKAN=1
# shellcheck disable=SC1091
source /var/lib/jenkins/vulkansdk/setup-env.sh
@@ -173,7 +212,10 @@ if [[ "$BUILD_ENVIRONMENT" == *xpu* ]]; then
source /opt/intel/oneapi/mpi/latest/env/vars.sh
# Enable XCCL build
export USE_XCCL=1
+<<<<<<< HEAD
export USE_MPI=0
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# XPU kineto feature dependencies are not fully ready, disable kineto build as temp WA
export USE_KINETO=0
export TORCH_XPU_ARCH_LIST=pvc
@@ -195,6 +237,7 @@ fi
# We only build FlashAttention files for CUDA 8.0+, and they require large amounts of
# memory to build and will OOM
+<<<<<<< HEAD
if [[ "$BUILD_ENVIRONMENT" == *cuda* ]] && echo "${TORCH_CUDA_ARCH_LIST}" | tr ' ' '\n' | sed 's/$/>= 8.0/' | bc | grep -q 1; then
J=2 # default to 2 jobs
@@ -205,6 +248,12 @@ if [[ "$BUILD_ENVIRONMENT" == *cuda* ]] && echo "${TORCH_CUDA_ARCH_LIST}" | tr '
esac
echo "Building FlashAttention with job limit $J"
export BUILD_CUSTOM_STEP="ninja -C build flash_attention -j ${J}"
+=======
+if [[ "$BUILD_ENVIRONMENT" == *cuda* ]] && [[ 1 -eq $(echo "${TORCH_CUDA_ARCH_LIST} >= 8.0" | bc) ]] && [ -z "$MAX_JOBS_OVERRIDE" ]; then
+ echo "WARNING: FlashAttention files require large amounts of memory to build and will OOM"
+ echo "Setting MAX_JOBS=(nproc-2)/3 to reduce memory usage"
+ export MAX_JOBS="$(( $(nproc --ignore=2) / 3 ))"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
fi
if [[ "${BUILD_ENVIRONMENT}" == *clang* ]]; then
@@ -219,6 +268,10 @@ if [[ "$BUILD_ENVIRONMENT" == *-clang*-asan* ]]; then
export USE_ASAN=1
export REL_WITH_DEB_INFO=1
export UBSAN_FLAGS="-fno-sanitize-recover=all"
+<<<<<<< HEAD
+=======
+ unset USE_LLVM
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
fi
if [[ "${BUILD_ENVIRONMENT}" == *no-ops* ]]; then
@@ -229,7 +282,11 @@ if [[ "${BUILD_ENVIRONMENT}" == *-pch* ]]; then
export USE_PRECOMPILED_HEADERS=1
fi
+<<<<<<< HEAD
if [[ "${BUILD_ENVIRONMENT}" != *cuda* ]]; then
+=======
+if [[ "${BUILD_ENVIRONMENT}" != *android* && "${BUILD_ENVIRONMENT}" != *cuda* ]]; then
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
export BUILD_STATIC_RUNTIME_BENCHMARK=ON
fi
@@ -239,7 +296,11 @@ fi
# Do not change workspace permissions for ROCm and s390x CI jobs
# as it can leave workspace with bad permissions for cancelled jobs
+<<<<<<< HEAD
if [[ "$BUILD_ENVIRONMENT" != *rocm* && "$BUILD_ENVIRONMENT" != *s390x* && "$BUILD_ENVIRONMENT" != *riscv64* && -d /var/lib/jenkins/workspace ]]; then
+=======
+if [[ "$BUILD_ENVIRONMENT" != *rocm* && "$BUILD_ENVIRONMENT" != *s390x* && -d /var/lib/jenkins/workspace ]]; then
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# Workaround for dind-rootless userid mapping (https://github.com/pytorch/ci-infra/issues/96)
WORKSPACE_ORIGINAL_OWNER_ID=$(stat -c '%u' "/var/lib/jenkins/workspace")
cleanup_workspace() {
@@ -284,18 +345,32 @@ else
# XLA test build fails when WERROR=1
# set only when building other architectures
# or building non-XLA tests.
+<<<<<<< HEAD
if [[ "$BUILD_ENVIRONMENT" != *rocm* && "$BUILD_ENVIRONMENT" != *xla* && "$BUILD_ENVIRONMENT" != *riscv64* ]]; then
+=======
+ if [[ "$BUILD_ENVIRONMENT" != *rocm* &&
+ "$BUILD_ENVIRONMENT" != *xla* ]]; then
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# Install numpy-2.0.2 for builds which are backward compatible with 1.X
python -mpip install numpy==2.0.2
WERROR=1 python setup.py clean
+<<<<<<< HEAD
WERROR=1 python setup.py bdist_wheel
+=======
+ if [[ "$USE_SPLIT_BUILD" == "true" ]]; then
+ python3 tools/packaging/split_wheel.py bdist_wheel
+ else
+ WERROR=1 python setup.py bdist_wheel
+ fi
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
else
python setup.py clean
if [[ "$BUILD_ENVIRONMENT" == *xla* ]]; then
source .ci/pytorch/install_cache_xla.sh
fi
+<<<<<<< HEAD
python setup.py bdist_wheel
fi
pip_install_whl "$(echo dist/*.whl)"
@@ -316,6 +391,17 @@ else
install_torchao
fi
+=======
+ if [[ "$USE_SPLIT_BUILD" == "true" ]]; then
+ echo "USE_SPLIT_BUILD cannot be used with xla or rocm"
+ exit 1
+ else
+ python setup.py bdist_wheel
+ fi
+ fi
+ pip_install_whl "$(echo dist/*.whl)"
+
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if [[ "$BUILD_ENVIRONMENT" == *xpu* ]]; then
echo "Checking that xpu is compiled"
pushd dist/
@@ -403,8 +489,15 @@ else
# This is an attempt to mitigate flaky libtorch build OOM error. By default, the build parallelization
# is set to be the number of CPU minus 2. So, let's try a more conservative value here. A 4xlarge has
# 16 CPUs
+<<<<<<< HEAD
MAX_JOBS=$(nproc --ignore=4)
export MAX_JOBS
+=======
+ if [ -z "$MAX_JOBS_OVERRIDE" ]; then
+ MAX_JOBS=$(nproc --ignore=4)
+ export MAX_JOBS
+ fi
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# NB: Install outside of source directory (at the same level as the root
# pytorch folder) so that it doesn't get cleaned away prior to docker push.
@@ -421,7 +514,12 @@ if [[ "$BUILD_ENVIRONMENT" != *libtorch* && "$BUILD_ENVIRONMENT" != *bazel* ]];
# don't do this for libtorch as libtorch is C++ only and thus won't have python tests run on its build
python tools/stats/export_test_times.py
fi
+<<<<<<< HEAD
# don't do this for bazel or s390x or riscv64 as they don't use sccache
if [[ "$BUILD_ENVIRONMENT" != *s390x* && "$BUILD_ENVIRONMENT" != *riscv64* && "$BUILD_ENVIRONMENT" != *-bazel-* ]]; then
+=======
+# don't do this for bazel or s390x as they don't use sccache
+if [[ "$BUILD_ENVIRONMENT" != *s390x* && "$BUILD_ENVIRONMENT" != *-bazel-* ]]; then
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
print_sccache_stats
fi
diff --git a/.ci/pytorch/check_binary.sh b/.ci/pytorch/check_binary.sh
index cca289ac146b..94ee47c9539d 100755
--- a/.ci/pytorch/check_binary.sh
+++ b/.ci/pytorch/check_binary.sh
@@ -67,7 +67,11 @@ fi
# wheels with cxx11-abi
echo "Checking that the gcc ABI is what we expect"
+<<<<<<< HEAD
if [[ "$(uname)" != 'Darwin' && "$(uname -m)" != "s390x" ]]; then
+=======
+if [[ "$(uname)" != 'Darwin' ]]; then
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# We also check that there are cxx11 symbols in libtorch
#
echo "Checking that symbols in libtorch.so have the right gcc abi"
@@ -300,3 +304,27 @@ except RuntimeError as e:
exit 1
fi
fi
+<<<<<<< HEAD
+=======
+
+###############################################################################
+# Check for C++ ABI compatibility to GCC-11 - GCC 13
+###############################################################################
+if [[ "$(uname)" == 'Linux' && "$PACKAGE_TYPE" == 'manywheel' ]]; then
+ pushd /tmp
+ # Per https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Dialect-Options.html
+ # gcc-11 is ABI16, gcc-13 is ABI18, gcc-14 is ABI19
+ # gcc 11 - CUDA 11.8, xpu, rocm
+ # gcc 13 - CUDA 12.6, 12.8 and cpu
+ # Please see issue for reference: https://github.com/pytorch/pytorch/issues/152426
+ if [[ "$(uname -m)" == "s390x" ]]; then
+ cxx_abi="19"
+ elif [[ "$DESIRED_CUDA" != 'xpu' && "$DESIRED_CUDA" != 'rocm'* ]]; then
+ cxx_abi="18"
+ else
+ cxx_abi="16"
+ fi
+ python -c "import torch; exit(0 if torch._C._PYBIND11_BUILD_ABI == '_cxxabi10${cxx_abi}' else 1)"
+ popd
+fi
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/.ci/pytorch/common-build.sh b/.ci/pytorch/common-build.sh
index 8ca9fdb34c77..23dca9287491 100644
--- a/.ci/pytorch/common-build.sh
+++ b/.ci/pytorch/common-build.sh
@@ -13,6 +13,7 @@ if [[ "$BUILD_ENVIRONMENT" != *win-* ]]; then
fi
if which sccache > /dev/null; then
+<<<<<<< HEAD
# Clear SCCACHE_BUCKET and SCCACHE_REGION if they are empty, otherwise
# sccache will complain about invalid bucket configuration
if [[ -z "${SCCACHE_BUCKET:-}" ]]; then
@@ -20,6 +21,8 @@ if [[ "$BUILD_ENVIRONMENT" != *win-* ]]; then
unset SCCACHE_REGION
fi
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# Save sccache logs to file
sccache --stop-server > /dev/null 2>&1 || true
rm -f ~/sccache_error.log || true
diff --git a/.ci/pytorch/common_utils.sh b/.ci/pytorch/common_utils.sh
index bf03e132d30b..583bb774f1a8 100644
--- a/.ci/pytorch/common_utils.sh
+++ b/.ci/pytorch/common_utils.sh
@@ -78,6 +78,7 @@ function pip_install_whl() {
fi
}
+<<<<<<< HEAD
function pip_build_and_install() {
local build_target=$1
local wheel_dir=$2
@@ -106,6 +107,8 @@ function pip_build_and_install() {
pip_install_whl "${file}"
done
}
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
function pip_install() {
# retry 3 times
@@ -149,6 +152,7 @@ function get_pinned_commit() {
cat .github/ci_commit_pins/"${1}".txt
}
+<<<<<<< HEAD
function detect_cuda_arch() {
if [[ "${BUILD_ENVIRONMENT}" == *cuda* ]]; then
if command -v nvidia-smi; then
@@ -166,6 +170,19 @@ function install_torchaudio() {
local commit
commit=$(get_pinned_commit audio)
pip_build_and_install "git+https://github.com/pytorch/audio.git@${commit}" dist/audio
+=======
+function install_torchaudio() {
+ local commit
+ commit=$(get_pinned_commit audio)
+ if [[ "$1" == "cuda" ]]; then
+ # TODO: This is better to be passed as a parameter from _linux-test workflow
+ # so that it can be consistent with what is set in build
+ TORCH_CUDA_ARCH_LIST="8.0;8.6" pip_install --no-use-pep517 "git+https://github.com/pytorch/audio.git@${commit}"
+ else
+ pip_install --no-use-pep517 "git+https://github.com/pytorch/audio.git@${commit}"
+ fi
+
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
}
function install_torchtext() {
@@ -173,8 +190,13 @@ function install_torchtext() {
local text_commit
data_commit=$(get_pinned_commit data)
text_commit=$(get_pinned_commit text)
+<<<<<<< HEAD
pip_build_and_install "git+https://github.com/pytorch/data.git@${data_commit}" dist/data
pip_build_and_install "git+https://github.com/pytorch/text.git@${text_commit}" dist/text
+=======
+ pip_install --no-use-pep517 "git+https://github.com/pytorch/data.git@${data_commit}"
+ pip_install --no-use-pep517 "git+https://github.com/pytorch/text.git@${text_commit}"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
}
function install_torchvision() {
@@ -187,6 +209,7 @@ function install_torchvision() {
echo 'char* dlerror(void) { return "";}'|gcc -fpic -shared -o "${HOME}/dlerror.so" -x c -
LD_PRELOAD=${orig_preload}:${HOME}/dlerror.so
fi
+<<<<<<< HEAD
if [[ "${BUILD_ENVIRONMENT}" == *cuda* ]]; then
# Not sure if both are needed, but why not
@@ -195,6 +218,9 @@ function install_torchvision() {
fi
pip_build_and_install "git+https://github.com/pytorch/vision.git@${commit}" dist/vision
+=======
+ pip_install --no-use-pep517 "git+https://github.com/pytorch/vision.git@${commit}"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if [ -n "${LD_PRELOAD}" ]; then
LD_PRELOAD=${orig_preload}
fi
@@ -214,6 +240,7 @@ function install_torchrec_and_fbgemm() {
if [[ "$BUILD_ENVIRONMENT" == *rocm* ]] ; then
# install torchrec first because it installs fbgemm nightly on top of rocm fbgemm
+<<<<<<< HEAD
pip_build_and_install "git+https://github.com/pytorch/torchrec.git@${torchrec_commit}" dist/torchrec
pip_uninstall fbgemm-gpu-nightly
@@ -279,12 +306,37 @@ function install_torchrec_and_fbgemm() {
else
pip_build_and_install "git+https://github.com/pytorch/torchrec.git@${torchrec_commit}" dist/torchrec
pip_build_and_install "git+https://github.com/pytorch/FBGEMM.git@${fbgemm_commit}#subdirectory=fbgemm_gpu" dist/fbgemm_gpu
+=======
+ pip_install --no-use-pep517 "git+https://github.com/pytorch/torchrec.git@${torchrec_commit}"
+ pip_uninstall fbgemm-gpu-nightly
+
+ pip_install tabulate # needed for newer fbgemm
+ pip_install patchelf # needed for rocm fbgemm
+ git clone --recursive https://github.com/pytorch/fbgemm
+ pushd fbgemm/fbgemm_gpu
+ git checkout "${fbgemm_commit}"
+ python setup.py install \
+ --package_variant=rocm \
+ -DHIP_ROOT_DIR="${ROCM_PATH}" \
+ -DCMAKE_C_FLAGS="-DTORCH_USE_HIP_DSA" \
+ -DCMAKE_CXX_FLAGS="-DTORCH_USE_HIP_DSA"
+ popd
+ rm -rf fbgemm
+ else
+ # See https://github.com/pytorch/pytorch/issues/106971
+ CUDA_PATH=/usr/local/cuda-12.1 pip_install --no-use-pep517 "git+https://github.com/pytorch/FBGEMM.git@${fbgemm_commit}#egg=fbgemm-gpu&subdirectory=fbgemm_gpu"
+ pip_install --no-use-pep517 "git+https://github.com/pytorch/torchrec.git@${torchrec_commit}"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
fi
}
function clone_pytorch_xla() {
if [[ ! -d ./xla ]]; then
+<<<<<<< HEAD
git clone --recursive -b r2.9 https://github.com/pytorch/xla.git
+=======
+ git clone --recursive -b r2.8 https://github.com/pytorch/xla.git
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
pushd xla
# pin the xla hash so that we don't get broken by changes to xla
git checkout "$(cat ../.github/ci_commit_pins/xla.txt)"
@@ -294,10 +346,41 @@ function clone_pytorch_xla() {
fi
}
+<<<<<<< HEAD
function install_torchao() {
local commit
commit=$(get_pinned_commit torchao)
pip_build_and_install "git+https://github.com/pytorch/ao.git@${commit}" dist/ao
+=======
+function checkout_install_torchbench() {
+ local commit
+ commit=$(get_pinned_commit torchbench)
+ git clone https://github.com/pytorch/benchmark torchbench
+ pushd torchbench
+ git checkout "$commit"
+
+ if [ "$1" ]; then
+ python install.py --continue_on_fail models "$@"
+ else
+ # Occasionally the installation may fail on one model but it is ok to continue
+ # to install and test other models
+ python install.py --continue_on_fail
+ fi
+
+ # TODO (huydhn): transformers-4.44.2 added by https://github.com/pytorch/benchmark/pull/2488
+ # is regressing speedup metric. This needs to be investigated further
+ pip install transformers==4.38.1
+
+ echo "Print all dependencies after TorchBench is installed"
+ python -mpip freeze
+ popd
+}
+
+function install_torchao() {
+ local commit
+ commit=$(get_pinned_commit torchao)
+ pip_install --no-use-pep517 "git+https://github.com/pytorch/ao.git@${commit}"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
}
function print_sccache_stats() {
diff --git a/.ci/pytorch/cpp_doc_push_script.sh b/.ci/pytorch/cpp_doc_push_script.sh
index f085fa78bebe..536966a99250 100755
--- a/.ci/pytorch/cpp_doc_push_script.sh
+++ b/.ci/pytorch/cpp_doc_push_script.sh
@@ -58,7 +58,11 @@ time python tools/setup_helpers/generate_code.py \
# Build the docs
pushd docs/cpp
+<<<<<<< HEAD
time make VERBOSE=1 html
+=======
+time make VERBOSE=1 html -j
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
popd
popd
diff --git a/.ci/pytorch/create_test_cert.py b/.ci/pytorch/create_test_cert.py
new file mode 100644
index 000000000000..f2be0c13227d
--- /dev/null
+++ b/.ci/pytorch/create_test_cert.py
@@ -0,0 +1,123 @@
+from datetime import datetime, timedelta, timezone
+from tempfile import mkdtemp
+
+from cryptography import x509
+from cryptography.hazmat.primitives import hashes, serialization
+from cryptography.hazmat.primitives.asymmetric import rsa
+from cryptography.x509.oid import NameOID
+
+
+temp_dir = mkdtemp()
+print(temp_dir)
+
+
+def genrsa(path):
+ key = rsa.generate_private_key(
+ public_exponent=65537,
+ key_size=2048,
+ )
+ with open(path, "wb") as f:
+ f.write(
+ key.private_bytes(
+ encoding=serialization.Encoding.PEM,
+ format=serialization.PrivateFormat.TraditionalOpenSSL,
+ encryption_algorithm=serialization.NoEncryption(),
+ )
+ )
+ return key
+
+
+def create_cert(path, C, ST, L, O, key):
+ subject = issuer = x509.Name(
+ [
+ x509.NameAttribute(NameOID.COUNTRY_NAME, C),
+ x509.NameAttribute(NameOID.STATE_OR_PROVINCE_NAME, ST),
+ x509.NameAttribute(NameOID.LOCALITY_NAME, L),
+ x509.NameAttribute(NameOID.ORGANIZATION_NAME, O),
+ ]
+ )
+ cert = (
+ x509.CertificateBuilder()
+ .subject_name(subject)
+ .issuer_name(issuer)
+ .public_key(key.public_key())
+ .serial_number(x509.random_serial_number())
+ .not_valid_before(datetime.now(timezone.utc))
+ .not_valid_after(
+ # Our certificate will be valid for 10 days
+ datetime.now(timezone.utc) + timedelta(days=10)
+ )
+ .add_extension(
+ x509.BasicConstraints(ca=True, path_length=None),
+ critical=True,
+ )
+ .sign(key, hashes.SHA256())
+ )
+ # Write our certificate out to disk.
+ with open(path, "wb") as f:
+ f.write(cert.public_bytes(serialization.Encoding.PEM))
+ return cert
+
+
+def create_req(path, C, ST, L, O, key):
+ csr = (
+ x509.CertificateSigningRequestBuilder()
+ .subject_name(
+ x509.Name(
+ [
+ # Provide various details about who we are.
+ x509.NameAttribute(NameOID.COUNTRY_NAME, C),
+ x509.NameAttribute(NameOID.STATE_OR_PROVINCE_NAME, ST),
+ x509.NameAttribute(NameOID.LOCALITY_NAME, L),
+ x509.NameAttribute(NameOID.ORGANIZATION_NAME, O),
+ ]
+ )
+ )
+ .sign(key, hashes.SHA256())
+ )
+ with open(path, "wb") as f:
+ f.write(csr.public_bytes(serialization.Encoding.PEM))
+ return csr
+
+
+def sign_certificate_request(path, csr_cert, ca_cert, private_ca_key):
+ cert = (
+ x509.CertificateBuilder()
+ .subject_name(csr_cert.subject)
+ .issuer_name(ca_cert.subject)
+ .public_key(csr_cert.public_key())
+ .serial_number(x509.random_serial_number())
+ .not_valid_before(datetime.now(timezone.utc))
+ .not_valid_after(
+ # Our certificate will be valid for 10 days
+ datetime.now(timezone.utc) + timedelta(days=10)
+ # Sign our certificate with our private key
+ )
+ .sign(private_ca_key, hashes.SHA256())
+ )
+ with open(path, "wb") as f:
+ f.write(cert.public_bytes(serialization.Encoding.PEM))
+ return cert
+
+
+ca_key = genrsa(temp_dir + "/ca.key")
+ca_cert = create_cert(
+ temp_dir + "/ca.pem",
+ "US",
+ "New York",
+ "New York",
+ "Gloo Certificate Authority",
+ ca_key,
+)
+
+pkey = genrsa(temp_dir + "/pkey.key")
+csr = create_req(
+ temp_dir + "/csr.csr",
+ "US",
+ "California",
+ "San Francisco",
+ "Gloo Testing Company",
+ pkey,
+)
+
+cert = sign_certificate_request(temp_dir + "/cert.pem", csr, ca_cert, ca_key)
diff --git a/.ci/pytorch/macos-test.sh b/.ci/pytorch/macos-test.sh
index a859901191e0..ef1926cf8aaf 100755
--- a/.ci/pytorch/macos-test.sh
+++ b/.ci/pytorch/macos-test.sh
@@ -157,6 +157,7 @@ test_jit_hooks() {
assert_git_not_dirty
}
+<<<<<<< HEAD
# Shellcheck doesn't like it when you pass no arguments to a function
# that can take args. See https://www.shellcheck.net/wiki/SC2120
# shellcheck disable=SC2120
@@ -185,6 +186,8 @@ checkout_install_torchbench() {
python -mpip freeze
}
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
torchbench_setup_macos() {
git clone --recursive https://github.com/pytorch/vision torchvision
git clone --recursive https://github.com/pytorch/audio torchaudio
@@ -195,7 +198,11 @@ torchbench_setup_macos() {
git checkout "$(cat ../.github/ci_commit_pins/vision.txt)"
git submodule update --init --recursive
python setup.py clean
+<<<<<<< HEAD
python -m pip install -e . -v --no-build-isolation
+=======
+ python setup.py develop
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
popd
pushd torchaudio
@@ -204,14 +211,26 @@ torchbench_setup_macos() {
git submodule update --init --recursive
python setup.py clean
#TODO: Remove me, when figure out how to make TorchAudio find brew installed openmp
+<<<<<<< HEAD
USE_OPENMP=0 python -m pip install -e . -v --no-build-isolation
popd
+=======
+ USE_OPENMP=0 python setup.py develop
+ popd
+
+ # Shellcheck doesn't like it when you pass no arguments to a function that can take args. See https://www.shellcheck.net/wiki/SC2120
+ # shellcheck disable=SC2119,SC2120
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
checkout_install_torchbench
}
pip_benchmark_deps() {
+<<<<<<< HEAD
python -mpip install --no-input requests cython scikit-learn six
+=======
+ python -mpip install --no-input astunparse requests cython scikit-learn
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
}
@@ -302,6 +321,7 @@ test_torchbench_smoketest() {
fi
done
+<<<<<<< HEAD
echo "Pytorch benchmark on mps device completed"
}
@@ -343,6 +363,8 @@ test_aoti_torchbench_smoketest() {
PYTHONPATH="$(pwd)"/torchbench python benchmarks/dynamo/huggingface.py \
--accuracy --export-aot-inductor --inference --devices "$device" "$dtype_arg" \
--output "$TEST_REPORTS_DIR/aot_inductor_huggingface_${dtype}_inference_${device}_accuracy.csv" || true
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
echo "Pytorch benchmark on mps device completed"
}
@@ -391,8 +413,11 @@ elif [[ $TEST_CONFIG == *"perf_timm"* ]]; then
test_timm_perf
elif [[ $TEST_CONFIG == *"perf_smoketest"* ]]; then
test_torchbench_smoketest "${SHARD_NUMBER}"
+<<<<<<< HEAD
elif [[ $TEST_CONFIG == *"aot_inductor_perf_smoketest"* ]]; then
test_aoti_torchbench_smoketest "${SHARD_NUMBER}"
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
elif [[ $TEST_CONFIG == *"mps"* ]]; then
test_python_mps
elif [[ $NUM_TEST_SHARDS -gt 1 ]]; then
diff --git a/.ci/pytorch/multigpu-test.sh b/.ci/pytorch/multigpu-test.sh
index 219463f318db..0d14202644ab 100755
--- a/.ci/pytorch/multigpu-test.sh
+++ b/.ci/pytorch/multigpu-test.sh
@@ -45,7 +45,10 @@ if [[ "${SHARD_NUMBER:-2}" == "2" ]]; then
# DTensor tests
time python test/run_test.py --verbose -i distributed/tensor/test_random_ops
time python test/run_test.py --verbose -i distributed/tensor/test_dtensor_compile
+<<<<<<< HEAD
time python test/run_test.py --verbose -i distributed/tensor/test_utils.py
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# DeviceMesh test
time python test/run_test.py --verbose -i distributed/test_device_mesh
diff --git a/.ci/pytorch/run_glootls_test.sh b/.ci/pytorch/run_glootls_test.sh
new file mode 100755
index 000000000000..cd17b269fe6a
--- /dev/null
+++ b/.ci/pytorch/run_glootls_test.sh
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+CREATE_TEST_CERT="$(dirname "${BASH_SOURCE[0]}")/create_test_cert.py"
+TMP_CERT_DIR=$(python "$CREATE_TEST_CERT")
+
+openssl verify -CAfile "${TMP_CERT_DIR}/ca.pem" "${TMP_CERT_DIR}/cert.pem"
+
+export GLOO_DEVICE_TRANSPORT=TCP_TLS
+export GLOO_DEVICE_TRANSPORT_TCP_TLS_PKEY=${TMP_CERT_DIR}/pkey.key
+export GLOO_DEVICE_TRANSPORT_TCP_TLS_CERT=${TMP_CERT_DIR}/cert.pem
+export GLOO_DEVICE_TRANSPORT_TCP_TLS_CA_FILE=${TMP_CERT_DIR}/ca.pem
+
+time python test/run_test.py --include distributed/test_c10d_gloo --verbose -- ProcessGroupGlooTest
+
+unset GLOO_DEVICE_TRANSPORT
+unset GLOO_DEVICE_TRANSPORT_TCP_TLS_PKEY
+unset GLOO_DEVICE_TRANSPORT_TCP_TLS_CERT
+unset GLOO_DEVICE_TRANSPORT_TCP_TLS_CA_FILE
diff --git a/.ci/pytorch/run_tests.sh b/.ci/pytorch/run_tests.sh
index f5ed90deef24..97ae8d22c791 100755
--- a/.ci/pytorch/run_tests.sh
+++ b/.ci/pytorch/run_tests.sh
@@ -74,6 +74,7 @@ else
fi
# Environment initialization
+<<<<<<< HEAD
retry pip install -qUr requirements-build.txt
if [[ "$(uname)" == Darwin ]]; then
# Install the testing dependencies
@@ -81,6 +82,14 @@ if [[ "$(uname)" == Darwin ]]; then
else
retry pip install -qr requirements.txt || true
retry pip install -q hypothesis protobuf pytest || true
+=======
+if [[ "$(uname)" == Darwin ]]; then
+ # Install the testing dependencies
+ retry pip install -q future hypothesis ${NUMPY_PACKAGE} ${PROTOBUF_PACKAGE} pytest setuptools six typing_extensions pyyaml
+else
+ retry pip install -qr requirements.txt || true
+ retry pip install -q hypothesis protobuf pytest setuptools || true
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
numpy_ver=1.15
case "$(python --version 2>&1)" in
*2* | *3.5* | *3.6*)
diff --git a/.ci/pytorch/smoke_test/check_binary_symbols.py b/.ci/pytorch/smoke_test/check_binary_symbols.py
index b0c607659c72..1dd56236e261 100755
--- a/.ci/pytorch/smoke_test/check_binary_symbols.py
+++ b/.ci/pytorch/smoke_test/check_binary_symbols.py
@@ -32,9 +32,12 @@
"torch::",
)
+<<<<<<< HEAD
# Patterns for detecting statically linked libstdc++ symbols
STATICALLY_LINKED_CXX11_ABI = [re.compile(r".*recursive_directory_iterator.*")]
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
def _apply_libtorch_symbols(symbols):
return [
@@ -56,17 +59,24 @@ def get_symbols(lib: str) -> list[tuple[str, str, str]]:
return [x.split(" ", 2) for x in lines.decode("latin1").split("\n")[:-1]]
+<<<<<<< HEAD
def grep_symbols(
lib: str, patterns: list[Any], symbol_type: str | None = None
) -> list[str]:
+=======
+def grep_symbols(lib: str, patterns: list[Any]) -> list[str]:
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
def _grep_symbols(
symbols: list[tuple[str, str, str]], patterns: list[Any]
) -> list[str]:
rc = []
for _s_addr, _s_type, s_name in symbols:
+<<<<<<< HEAD
# Filter by symbol type if specified
if symbol_type and _s_type != symbol_type:
continue
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
for pattern in patterns:
if pattern.match(s_name):
rc.append(s_name)
@@ -88,6 +98,7 @@ def _get_symbols_chunk(i):
return functools.reduce(list.__add__, (x.result() for x in tasks), [])
+<<<<<<< HEAD
def check_lib_statically_linked_libstdc_cxx_abi_symbols(lib: str) -> None:
cxx11_statically_linked_symbols = grep_symbols(
lib, STATICALLY_LINKED_CXX11_ABI, symbol_type="T"
@@ -100,6 +111,8 @@ def check_lib_statically_linked_libstdc_cxx_abi_symbols(lib: str) -> None:
)
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
def check_lib_symbols_for_abi_correctness(lib: str) -> None:
print(f"lib: {lib}")
cxx11_symbols = grep_symbols(lib, LIBTORCH_CXX11_PATTERNS)
@@ -127,7 +140,10 @@ def main() -> None:
libtorch_cpu_path = str(install_root / "lib" / "libtorch_cpu.so")
check_lib_symbols_for_abi_correctness(libtorch_cpu_path)
+<<<<<<< HEAD
check_lib_statically_linked_libstdc_cxx_abi_symbols(libtorch_cpu_path)
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if __name__ == "__main__":
diff --git a/.ci/pytorch/smoke_test/smoke_test.py b/.ci/pytorch/smoke_test/smoke_test.py
index 305ad15d98e7..8539d262389a 100644
--- a/.ci/pytorch/smoke_test/smoke_test.py
+++ b/.ci/pytorch/smoke_test/smoke_test.py
@@ -385,6 +385,7 @@ def foo(x: torch.Tensor) -> torch.Tensor:
x_pt2 = torch.compile(model, mode="max-autotune")(x)
+<<<<<<< HEAD
def smoke_test_nvshmem() -> None:
if not torch.cuda.is_available():
print("CUDA is not available, skipping NVSHMEM test")
@@ -408,6 +409,8 @@ def smoke_test_nvshmem() -> None:
print(f"NVSHMEM available at run time: {_is_nvshmem_available()}")
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
def smoke_test_modules():
cwd = os.getcwd()
for module in MODULES:
@@ -502,8 +505,11 @@ def main() -> None:
options.pypi_pkg_check,
)
+<<<<<<< HEAD
smoke_test_nvshmem()
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if __name__ == "__main__":
main()
diff --git a/.ci/pytorch/test.sh b/.ci/pytorch/test.sh
index e8c5b3fc56af..33182e0fe02b 100755
--- a/.ci/pytorch/test.sh
+++ b/.ci/pytorch/test.sh
@@ -11,8 +11,11 @@ export TERM=vt100
# shellcheck source=./common.sh
source "$(dirname "${BASH_SOURCE[0]}")/common.sh"
+<<<<<<< HEAD
# shellcheck source=./common-build.sh
source "$(dirname "${BASH_SOURCE[0]}")/common-build.sh"
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# Do not change workspace permissions for ROCm and s390x CI jobs
# as it can leave workspace with bad permissions for cancelled jobs
@@ -32,6 +35,7 @@ if [[ "$BUILD_ENVIRONMENT" != *rocm* && "$BUILD_ENVIRONMENT" != *s390x* && -d /v
git config --global --add safe.directory /var/lib/jenkins/workspace
fi
+<<<<<<< HEAD
# Patch numba to avoid CUDA-13 crash, see https://github.com/pytorch/pytorch/issues/162878
NUMBA_CUDA_DIR=$(python -c "import os;import numba.cuda; print(os.path.dirname(numba.cuda.__file__))" 2>/dev/null || true)
@@ -42,6 +46,8 @@ if [ -n "$NUMBA_CUDA_DIR" ]; then
popd
fi
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
echo "Environment variables:"
env
@@ -101,7 +107,10 @@ if [[ "$BUILD_ENVIRONMENT" == *clang9* || "$BUILD_ENVIRONMENT" == *xpu* ]]; then
export VALGRIND=OFF
fi
+<<<<<<< HEAD
detect_cuda_arch
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if [[ "$BUILD_ENVIRONMENT" == *s390x* ]]; then
# There are additional warnings on s390x, maybe due to newer gcc.
@@ -176,6 +185,11 @@ elif [[ "$BUILD_ENVIRONMENT" == *xpu* ]]; then
export PYTORCH_TESTING_DEVICE_ONLY_FOR="xpu"
# setting PYTHON_TEST_EXTRA_OPTION
export PYTHON_TEST_EXTRA_OPTION="--xpu"
+<<<<<<< HEAD
+=======
+ # Disable sccache for xpu test due to flaky issue https://github.com/pytorch/pytorch/issues/143585
+ sudo rm -rf /opt/cache
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
fi
if [[ "$TEST_CONFIG" == *crossref* ]]; then
@@ -300,12 +314,15 @@ elif [[ $TEST_CONFIG == 'nogpu_AVX512' ]]; then
export ATEN_CPU_CAPABILITY=avx2
fi
+<<<<<<< HEAD
if [[ "${TEST_CONFIG}" == "legacy_nvidia_driver" ]]; then
# Make sure that CUDA can be initialized
(cd test && python -c "import torch; torch.rand(2, 2, device='cuda')")
export USE_LEGACY_DRIVER=1
fi
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
test_python_legacy_jit() {
time python test/run_test.py --include test_jit_legacy test_jit_fuser_legacy --verbose
assert_git_not_dirty
@@ -344,6 +361,7 @@ test_h100_distributed() {
time python test/run_test.py --include distributed/_composable/test_composability/test_pp_composability.py $PYTHON_TEST_EXTRA_OPTION --upload-artifacts-while-running
# This test requires multicast support
time python test/run_test.py --include distributed/_composable/fsdp/test_fully_shard_comm.py -k TestFullyShardAllocFromPG $PYTHON_TEST_EXTRA_OPTION --upload-artifacts-while-running
+<<<<<<< HEAD
assert_git_not_dirty
}
@@ -362,6 +380,14 @@ test_h100_cutlass_backend() {
TORCHINDUCTOR_CUTLASS_DIR=$(realpath "./third_party/cutlass") python test/run_test.py --include inductor/test_cutlass_evt $PYTHON_TEST_EXTRA_OPTION --upload-artifacts-while-running
}
+=======
+ # symmetric memory test
+ time python test/run_test.py --include distributed/test_symmetric_memory.py $PYTHON_TEST_EXTRA_OPTION --upload-artifacts-while-running
+ time python test/run_test.py --include distributed/test_nvshmem.py $PYTHON_TEST_EXTRA_OPTION --upload-artifacts-while-running
+ assert_git_not_dirty
+}
+
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
test_lazy_tensor_meta_reference_disabled() {
export TORCH_DISABLE_FUNCTIONALIZATION_META_REFERENCE=1
echo "Testing lazy tensor operations without meta reference"
@@ -404,10 +430,16 @@ test_einops() {
test_inductor_distributed() {
# Smuggle a few multi-gpu tests here so that we don't have to request another large node
echo "Testing multi_gpu tests in test_torchinductor"
+<<<<<<< HEAD
python test/run_test.py -i inductor/test_aot_inductor.py -k test_replicate_on_devices --verbose
python test/run_test.py -i inductor/test_aot_inductor.py -k test_on_gpu_device1 --verbose
python test/run_test.py -i inductor/test_aot_inductor.py -k test_non_default_gpu_device --verbose
python test/run_test.py -i inductor/test_aot_inductor.py -k test_load_package_multiple_gpus --verbose
+=======
+ python test/run_test.py -i inductor/test_torchinductor.py -k test_multi_gpu --verbose
+ python test/run_test.py -i inductor/test_aot_inductor.py -k test_non_default_cuda_device --verbose
+ python test/run_test.py -i inductor/test_aot_inductor.py -k test_replicate_on_devices --verbose
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
python test/run_test.py -i distributed/test_c10d_functional_native.py --verbose
python test/run_test.py -i distributed/tensor/test_dtensor_compile.py --verbose
python test/run_test.py -i distributed/tensor/parallel/test_micro_pipeline_tp.py --verbose
@@ -459,6 +491,7 @@ test_inductor_aoti() {
python3 tools/amd_build/build_amd.py
fi
if [[ "$BUILD_ENVIRONMENT" == *sm86* ]]; then
+<<<<<<< HEAD
BUILD_COMMAND=(TORCH_CUDA_ARCH_LIST=8.6 USE_FLASH_ATTENTION=OFF python -m pip install --no-build-isolation -v -e .)
# TODO: Replace me completely, as one should not use conda libstdc++, nor need special path to TORCH_LIB
TEST_ENVS=(CPP_TESTS_DIR="${BUILD_BIN_DIR}" LD_LIBRARY_PATH="/opt/conda/envs/py_3.10/lib:${TORCH_LIB_DIR}:${LD_LIBRARY_PATH}")
@@ -474,6 +507,16 @@ test_inductor_aoti() {
/usr/bin/env CMAKE_FRESH=1 BUILD_AOT_INDUCTOR_TEST=1 "${BUILD_COMMAND[@]}"
/usr/bin/env "${TEST_ENVS[@]}" python test/run_test.py --cpp --verbose -i cpp/test_aoti_abi_check cpp/test_aoti_inference cpp/test_vec_half_AVX2 -dist=loadfile
+=======
+ BUILD_AOT_INDUCTOR_TEST=1 TORCH_CUDA_ARCH_LIST=8.6 USE_FLASH_ATTENTION=OFF python setup.py develop
+ # TODO: Replace me completely, as one should not use conda libstdc++, nor need special path to TORCH_LIB
+ LD_LIBRARY_PATH=/opt/conda/envs/py_3.10/lib/:${TORCH_LIB_DIR}:$LD_LIBRARY_PATH
+ CPP_TESTS_DIR="${BUILD_BIN_DIR}" python test/run_test.py --cpp --verbose -i cpp/test_aoti_abi_check cpp/test_aoti_inference -dist=loadfile
+ else
+ BUILD_AOT_INDUCTOR_TEST=1 python setup.py develop
+ CPP_TESTS_DIR="${BUILD_BIN_DIR}" LD_LIBRARY_PATH="${TORCH_LIB_DIR}" python test/run_test.py --cpp --verbose -i cpp/test_aoti_abi_check cpp/test_aoti_inference -dist=loadfile
+ fi
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
}
test_inductor_cpp_wrapper_shard() {
@@ -486,6 +529,7 @@ test_inductor_cpp_wrapper_shard() {
TEST_REPORTS_DIR=$(pwd)/test/test-reports
mkdir -p "$TEST_REPORTS_DIR"
+<<<<<<< HEAD
# Run certain inductor unit tests with cpp wrapper. In the end state, we
# should be able to run all the inductor unit tests with cpp_wrapper.
#
@@ -513,6 +557,48 @@ test_inductor_cpp_wrapper_shard() {
-k 'xpu' \
--shard "$1" "$NUM_TEST_SHARDS" \
--verbose
+=======
+ if [[ "$1" -eq "2" ]]; then
+ # For now, manually put the opinfo tests in shard 2, and all other tests in
+ # shard 1. Run all CPU tests, as well as specific GPU tests triggering past
+ # bugs, for now.
+ python test/run_test.py \
+ --include inductor/test_torchinductor_opinfo \
+ -k 'linalg or to_sparse or TestInductorOpInfoCPU' \
+ --verbose
+ exit
+ fi
+
+ # Run certain inductor unit tests with cpp wrapper. In the end state, we
+ # should be able to run all the inductor unit tests with cpp_wrapper.
+ python test/run_test.py \
+ --include inductor/test_torchinductor inductor/test_max_autotune inductor/test_cpu_repro \
+ --verbose
+ python test/run_test.py --inductor --include test_torch -k 'take' --verbose
+
+ # Run inductor benchmark tests with cpp wrapper.
+ # Skip benchmark tests if it's in rerun-disabled-mode.
+ if [[ "${PYTORCH_TEST_RERUN_DISABLED_TESTS}" == "1" ]]; then
+ echo "skip dynamo benchmark tests for rerun-disabled-test"
+ else
+ echo "run dynamo benchmark tests with cpp wrapper"
+ python benchmarks/dynamo/timm_models.py --device cuda --accuracy --amp \
+ --training --inductor --disable-cudagraphs --only vit_base_patch16_224 \
+ --output "$TEST_REPORTS_DIR/inductor_cpp_wrapper_training.csv"
+ python benchmarks/dynamo/check_accuracy.py \
+ --actual "$TEST_REPORTS_DIR/inductor_cpp_wrapper_training.csv" \
+ --expected "benchmarks/dynamo/ci_expected_accuracy/${MAYBE_ROCM}inductor_timm_training.csv"
+
+ python benchmarks/dynamo/torchbench.py --device cuda --accuracy \
+ --bfloat16 --inference --inductor --only hf_T5 --output "$TEST_REPORTS_DIR/inductor_cpp_wrapper_inference.csv"
+ python benchmarks/dynamo/torchbench.py --device cuda --accuracy \
+ --bfloat16 --inference --inductor --only llama --output "$TEST_REPORTS_DIR/inductor_cpp_wrapper_inference.csv"
+ python benchmarks/dynamo/torchbench.py --device cuda --accuracy \
+ --bfloat16 --inference --inductor --only moco --output "$TEST_REPORTS_DIR/inductor_cpp_wrapper_inference.csv"
+ python benchmarks/dynamo/check_accuracy.py \
+ --actual "$TEST_REPORTS_DIR/inductor_cpp_wrapper_inference.csv" \
+ --expected "benchmarks/dynamo/ci_expected_accuracy/${MAYBE_ROCM}inductor_torchbench_inference.csv"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
fi
}
@@ -634,8 +720,13 @@ test_perf_for_dashboard() {
local device=cuda
if [[ "${TEST_CONFIG}" == *cpu* ]]; then
+<<<<<<< HEAD
if [[ "${TEST_CONFIG}" == *cpu_x86_zen* ]]; then
device=cpu_x86_zen
+=======
+ if [[ "${TEST_CONFIG}" == *zen_cpu_x86* ]]; then
+ device=zen_cpu_x86
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
elif [[ "${TEST_CONFIG}" == *cpu_x86* ]]; then
device=cpu_x86
elif [[ "${TEST_CONFIG}" == *cpu_aarch64* ]]; then
@@ -646,19 +737,26 @@ test_perf_for_dashboard() {
device=cuda_a10g
elif [[ "${TEST_CONFIG}" == *h100* ]]; then
device=cuda_h100
+<<<<<<< HEAD
elif [[ "${TEST_CONFIG}" == *b200* ]]; then
device=cuda_b200
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
elif [[ "${TEST_CONFIG}" == *rocm* ]]; then
device=rocm
fi
for mode in "${modes[@]}"; do
if [[ "$mode" == "inference" ]]; then
+<<<<<<< HEAD
if [[ "$device" == "cpu_x86" ]]; then
dtype=amp
else
dtype=bfloat16
fi
+=======
+ dtype=bfloat16
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
elif [[ "$mode" == "training" ]]; then
dtype=amp
fi
@@ -670,10 +768,13 @@ test_perf_for_dashboard() {
target_flag+=( --no-translation-validation)
fi
+<<<<<<< HEAD
if [[ "$DASHBOARD_TAG" == *freezing-true* ]]; then
target_flag+=( --freezing)
fi
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if [[ "$DASHBOARD_TAG" == *default-true* ]]; then
$TASKSET python "benchmarks/dynamo/$suite.py" \
"${target_flag[@]}" --"$mode" --"$dtype" --backend "$backend" --disable-cudagraphs "$@" \
@@ -822,6 +923,7 @@ test_dynamo_benchmark() {
if [[ "${TEST_CONFIG}" == *perf_compare* ]]; then
test_single_dynamo_benchmark "training" "$suite" "$shard_id" --training --amp "$@"
elif [[ "${TEST_CONFIG}" == *perf* ]]; then
+<<<<<<< HEAD
# TODO (huydhn): Just smoke test some sample models
if [[ "${TEST_CONFIG}" == *b200* ]]; then
if [[ "${suite}" == "huggingface" ]]; then
@@ -832,6 +934,8 @@ test_dynamo_benchmark() {
export TORCHBENCH_ONLY_MODELS="hf_Bert"
fi
fi
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
test_single_dynamo_benchmark "dashboard" "$suite" "$shard_id" "$@"
else
if [[ "${TEST_CONFIG}" == *cpu* ]]; then
@@ -959,6 +1063,15 @@ test_torchbench_gcp_smoketest(){
popd
}
+<<<<<<< HEAD
+=======
+test_python_gloo_with_tls() {
+ source "$(dirname "${BASH_SOURCE[0]}")/run_glootls_test.sh"
+ assert_git_not_dirty
+}
+
+
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
test_aten() {
# Test ATen
# The following test(s) of ATen have already been skipped by caffe2 in rocm environment:
@@ -1005,8 +1118,11 @@ test_without_numpy() {
if [[ "${TEST_CONFIG}" == *dynamo_wrapped* ]]; then
python -c "import sys;sys.path.insert(0, 'fake_numpy');import torch;torch.compile(lambda x:print(x))('Hello World')"
fi
+<<<<<<< HEAD
# Regression test for https://github.com/pytorch/pytorch/pull/157734 (torch.onnx should be importable without numpy)
python -c "import sys;sys.path.insert(0, 'fake_numpy');import torch; import torch.onnx"
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
popd
}
@@ -1070,10 +1186,26 @@ test_libtorch_api() {
mkdir -p $TEST_REPORTS_DIR
OMP_NUM_THREADS=2 TORCH_CPP_TEST_MNIST_PATH="${MNIST_DIR}" "$TORCH_BIN_DIR"/test_api --gtest_filter='-IMethodTest.*' --gtest_output=xml:$TEST_REPORTS_DIR/test_api.xml
+<<<<<<< HEAD
+=======
+ "$TORCH_BIN_DIR"/test_tensorexpr --gtest_output=xml:$TEST_REPORTS_DIR/test_tensorexpr.xml
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
else
# Exclude IMethodTest that relies on torch::deploy, which will instead be ran in test_deploy
OMP_NUM_THREADS=2 TORCH_CPP_TEST_MNIST_PATH="${MNIST_DIR}" python test/run_test.py --cpp --verbose -i cpp/test_api -k "not IMethodTest"
+<<<<<<< HEAD
+=======
+ # On s390x, pytorch is built without llvm.
+ # Even if it would be built with llvm, llvm currently doesn't support used features on s390x and
+ # test fails with errors like:
+ # JIT session error: Unsupported target machine architecture in ELF object pytorch-jitted-objectbuffer
+ # unknown file: Failure
+ # C++ exception with description "valOrErr INTERNAL ASSERT FAILED at "/var/lib/jenkins/workspace/torch/csrc/jit/tensorexpr/llvm_jit.h":34, please report a bug to PyTorch. Unexpected failure in LLVM JIT: Failed to materialize symbols: { (main, { func }) }
+ if [[ "${BUILD_ENVIRONMENT}" != *s390x* ]]; then
+ python test/run_test.py --cpp --verbose -i cpp/test_tensorexpr
+ fi
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
fi
# quantization is not fully supported on s390x yet
@@ -1341,6 +1473,7 @@ EOF
# Step 2. Make sure that the public API test "test_correct_module_names" fails when an existing
# file is modified to introduce an invalid public API function.
+<<<<<<< HEAD
# The filepath here must not have __all__ defined in it, otherwise the test will pass.
# If your PR introduces __all__ to torch/cuda/streams.py please point this to another file
# that does not have __all__ defined.
@@ -1348,6 +1481,12 @@ EOF
cp -v "${EXISTING_FILEPATH}" "${EXISTING_FILEPATH}.orig"
echo "${BAD_PUBLIC_FUNC}" >> "${EXISTING_FILEPATH}"
invalid_api="torch.cuda.streams.new_public_func"
+=======
+ EXISTING_FILEPATH="${TORCH_INSTALL_DIR}/nn/parameter.py"
+ cp -v "${EXISTING_FILEPATH}" "${EXISTING_FILEPATH}.orig"
+ echo "${BAD_PUBLIC_FUNC}" >> "${EXISTING_FILEPATH}"
+ invalid_api="torch.nn.parameter.new_public_func"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
echo "Appended an invalid public API function to existing file ${EXISTING_FILEPATH}..."
check_public_api_test_fails \
@@ -1581,7 +1720,11 @@ test_executorch() {
test_linux_aarch64() {
python test/run_test.py --include test_modules test_mkldnn test_mkldnn_fusion test_openmp test_torch test_dynamic_shapes \
test_transformers test_multiprocessing test_numpy_interop test_autograd test_binary_ufuncs test_complex test_spectral_ops \
+<<<<<<< HEAD
test_foreach test_reductions test_unary_ufuncs test_tensor_creation_ops test_ops \
+=======
+ test_foreach test_reductions test_unary_ufuncs test_tensor_creation_ops test_ops test_cpp_extensions_open_device_registration \
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
--shard "$SHARD_NUMBER" "$NUM_TEST_SHARDS" --verbose
# Dynamo tests
@@ -1611,7 +1754,11 @@ test_operator_benchmark() {
test_inductor_set_cpu_affinity
cd benchmarks/operator_benchmark/pt_extension
+<<<<<<< HEAD
python -m pip install .
+=======
+ python setup.py install
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
cd "${TEST_DIR}"/benchmarks/operator_benchmark
$TASKSET python -m benchmark_all_test --device "$1" --tag-filter "$2" \
@@ -1624,6 +1771,7 @@ test_operator_benchmark() {
--expected "expected_ci_operator_benchmark_eager_float32_cpu.csv"
}
+<<<<<<< HEAD
test_operator_microbenchmark() {
TEST_REPORTS_DIR=$(pwd)/test/test-reports
mkdir -p "$TEST_REPORTS_DIR"
@@ -1643,6 +1791,8 @@ test_operator_microbenchmark() {
--benchmark-name "PyTorch operator microbenchmark"
done
}
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if ! [[ "${BUILD_ENVIRONMENT}" == *libtorch* || "${BUILD_ENVIRONMENT}" == *-bazel-* ]]; then
(cd test && python -c "import torch; print(torch.__config__.show())")
@@ -1650,6 +1800,7 @@ if ! [[ "${BUILD_ENVIRONMENT}" == *libtorch* || "${BUILD_ENVIRONMENT}" == *-baze
fi
if [[ "${TEST_CONFIG}" == *numpy_2* ]]; then
# Install numpy-2.0.2 and compatible scipy & numba versions
+<<<<<<< HEAD
# Force re-install of pandas to avoid error where pandas checks numpy version from initial install and fails upon import
TMP_PANDAS_VERSION=$(python -c "import pandas; print(pandas.__version__)" 2>/dev/null)
if [ -n "$TMP_PANDAS_VERSION" ]; then
@@ -1657,6 +1808,9 @@ if [[ "${TEST_CONFIG}" == *numpy_2* ]]; then
else
python -m pip install --pre numpy==2.0.2 scipy==1.13.1 numba==0.60.0
fi
+=======
+ python -mpip install --pre numpy==2.0.2 scipy==1.13.1 numba==0.60.0
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
python test/run_test.py --include dynamo/test_functions.py dynamo/test_unspec.py test_binary_ufuncs.py test_fake_tensor.py test_linalg.py test_numpy_interop.py test_tensor_creation_ops.py test_torch.py torch_np/test_basic.py
elif [[ "${BUILD_ENVIRONMENT}" == *aarch64* && "${TEST_CONFIG}" != *perf_cpu_aarch64* ]]; then
test_linux_aarch64
@@ -1667,10 +1821,13 @@ elif [[ "${TEST_CONFIG}" == *xla* ]]; then
install_torchvision
build_xla
test_xla
+<<<<<<< HEAD
elif [[ "$TEST_CONFIG" == *vllm* ]]; then
echo "vLLM CI uses TORCH_CUDA_ARCH_LIST: $TORCH_CUDA_ARCH_LIST"
(cd .ci/lumen_cli && python -m pip install -e .)
python -m cli.run test external vllm --test-plan "$TEST_CONFIG" --shard-id "$SHARD_NUMBER" --num-shards "$NUM_TEST_SHARDS"
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
elif [[ "${TEST_CONFIG}" == *executorch* ]]; then
test_executorch
elif [[ "$TEST_CONFIG" == 'jit_legacy' ]]; then
@@ -1697,8 +1854,11 @@ elif [[ "${TEST_CONFIG}" == *operator_benchmark* ]]; then
test_operator_benchmark cpu ${TEST_MODE}
fi
+<<<<<<< HEAD
elif [[ "${TEST_CONFIG}" == *operator_microbenchmark* ]]; then
test_operator_microbenchmark
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
elif [[ "${TEST_CONFIG}" == *inductor_distributed* ]]; then
test_inductor_distributed
elif [[ "${TEST_CONFIG}" == *inductor-halide* ]]; then
@@ -1716,6 +1876,7 @@ elif [[ "${TEST_CONFIG}" == *timm* ]]; then
id=$((SHARD_NUMBER-1))
test_dynamo_benchmark timm_models "$id"
elif [[ "${TEST_CONFIG}" == cachebench ]]; then
+<<<<<<< HEAD
install_torchaudio
install_torchvision
PYTHONPATH=/torchbench test_cachebench
@@ -1726,21 +1887,56 @@ elif [[ "${TEST_CONFIG}" == verify_cachebench ]]; then
elif [[ "${TEST_CONFIG}" == *torchbench* ]]; then
install_torchaudio
install_torchvision
+=======
+ install_torchaudio cuda
+ install_torchvision
+ checkout_install_torchbench nanogpt BERT_pytorch resnet50 hf_T5 llama moco
+ PYTHONPATH=$(pwd)/torchbench test_cachebench
+elif [[ "${TEST_CONFIG}" == verify_cachebench ]]; then
+ install_torchaudio cpu
+ install_torchvision
+ checkout_install_torchbench nanogpt
+ PYTHONPATH=$(pwd)/torchbench test_verify_cachebench
+elif [[ "${TEST_CONFIG}" == *torchbench* ]]; then
+ if [[ "${TEST_CONFIG}" == *cpu* ]]; then
+ install_torchaudio cpu
+ else
+ install_torchaudio cuda
+ fi
+ install_torchvision
+ TORCH_CUDA_ARCH_LIST="8.0;8.6" install_torchao
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
id=$((SHARD_NUMBER-1))
# https://github.com/opencv/opencv-python/issues/885
pip_install opencv-python==4.8.0.74
if [[ "${TEST_CONFIG}" == *inductor_torchbench_smoketest_perf* ]]; then
+<<<<<<< HEAD
PYTHONPATH=/torchbench test_inductor_torchbench_smoketest_perf
elif [[ "${TEST_CONFIG}" == *inductor_torchbench_cpu_smoketest_perf* ]]; then
PYTHONPATH=/torchbench test_inductor_torchbench_cpu_smoketest_perf
elif [[ "${TEST_CONFIG}" == *torchbench_gcp_smoketest* ]]; then
TORCHBENCHPATH=/torchbench test_torchbench_gcp_smoketest
else
+=======
+ checkout_install_torchbench hf_Bert hf_Albert timm_vision_transformer
+ PYTHONPATH=$(pwd)/torchbench test_inductor_torchbench_smoketest_perf
+ elif [[ "${TEST_CONFIG}" == *inductor_torchbench_cpu_smoketest_perf* ]]; then
+ checkout_install_torchbench timm_vision_transformer phlippe_densenet basic_gnn_edgecnn \
+ llama_v2_7b_16h resnet50 timm_efficientnet mobilenet_v3_large timm_resnest \
+ functorch_maml_omniglot yolov3 mobilenet_v2 resnext50_32x4d densenet121 mnasnet1_0
+ PYTHONPATH=$(pwd)/torchbench test_inductor_torchbench_cpu_smoketest_perf
+ elif [[ "${TEST_CONFIG}" == *torchbench_gcp_smoketest* ]]; then
+ checkout_install_torchbench
+ TORCHBENCHPATH=$(pwd)/torchbench test_torchbench_gcp_smoketest
+ else
+ checkout_install_torchbench
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# Do this after checkout_install_torchbench to ensure we clobber any
# nightlies that torchbench may pull in
if [[ "${TEST_CONFIG}" != *cpu* ]]; then
install_torchrec_and_fbgemm
fi
+<<<<<<< HEAD
PYTHONPATH=/torchbench test_dynamo_benchmark torchbench "$id"
fi
elif [[ "${TEST_CONFIG}" == *inductor_cpp_wrapper* ]]; then
@@ -1752,6 +1948,24 @@ elif [[ "${TEST_CONFIG}" == *inductor_cpp_wrapper* ]]; then
elif [[ "${TEST_CONFIG}" == *inductor* ]]; then
install_torchvision
test_inductor_shard "${SHARD_NUMBER}"
+=======
+ PYTHONPATH=$(pwd)/torchbench test_dynamo_benchmark torchbench "$id"
+ fi
+elif [[ "${TEST_CONFIG}" == *inductor_cpp_wrapper* ]]; then
+ install_torchaudio cuda
+ install_torchvision
+ checkout_install_torchbench hf_T5 llama moco
+ PYTHONPATH=$(pwd)/torchbench test_inductor_cpp_wrapper_shard "$SHARD_NUMBER"
+ test_inductor_aoti
+elif [[ "${TEST_CONFIG}" == *inductor* ]]; then
+ install_torchvision
+ test_inductor_shard "${SHARD_NUMBER}"
+ if [[ "${SHARD_NUMBER}" == 1 ]]; then
+ if [[ "${BUILD_ENVIRONMENT}" != linux-jammy-py3.9-gcc11-build ]]; then
+ test_inductor_distributed
+ fi
+ fi
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
elif [[ "${TEST_CONFIG}" == *einops* ]]; then
test_einops
elif [[ "${TEST_CONFIG}" == *dynamo_wrapped* ]]; then
@@ -1803,10 +2017,13 @@ elif [[ "${TEST_CONFIG}" == smoke ]]; then
test_python_smoke
elif [[ "${TEST_CONFIG}" == h100_distributed ]]; then
test_h100_distributed
+<<<<<<< HEAD
elif [[ "${TEST_CONFIG}" == "h100-symm-mem" ]]; then
test_h100_symm_mem
elif [[ "${TEST_CONFIG}" == h100_cutlass_backend ]]; then
test_h100_cutlass_backend
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
else
install_torchvision
install_monkeytype
diff --git a/.ci/pytorch/test_example_code/CMakeLists.txt b/.ci/pytorch/test_example_code/CMakeLists.txt
index e87f37ae61fb..688395d1615d 100644
--- a/.ci/pytorch/test_example_code/CMakeLists.txt
+++ b/.ci/pytorch/test_example_code/CMakeLists.txt
@@ -16,7 +16,11 @@ target_link_libraries(simple-torch-test CUDA::cudart CUDA::cufft CUDA::cusparse
find_library(CUDNN_LIBRARY NAMES cudnn)
target_link_libraries(simple-torch-test ${CUDNN_LIBRARY} )
if(MSVC)
+<<<<<<< HEAD
file(GLOB TORCH_DLLS "$ENV{CUDA_PATH}/bin/cudnn64_8.dll" "$ENV{NVTOOLSEXT_PATH}/bin/x64/*.dll")
+=======
+ file(GLOB TORCH_DLLS "$ENV{CUDA_PATH}/bin/cudnn64_8.dll")
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
message("dlls to copy " ${TORCH_DLLS})
add_custom_command(TARGET simple-torch-test
POST_BUILD
diff --git a/.ci/pytorch/win-test-helpers/build_pytorch.bat b/.ci/pytorch/win-test-helpers/build_pytorch.bat
index 67d156922192..00f5f898e96f 100644
--- a/.ci/pytorch/win-test-helpers/build_pytorch.bat
+++ b/.ci/pytorch/win-test-helpers/build_pytorch.bat
@@ -42,7 +42,11 @@ call choco upgrade -y cmake --no-progress --installargs 'ADD_CMAKE_TO_PATH=Syste
if errorlevel 1 goto fail
if not errorlevel 0 goto fail
+<<<<<<< HEAD
call pip install mkl==2024.2.0 mkl-static==2024.2.0 mkl-include==2024.2.0
+=======
+call pip install mkl-include==2021.4.0 mkl-devel==2021.4.0
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if errorlevel 1 goto fail
if not errorlevel 0 goto fail
@@ -61,10 +65,16 @@ if "%USE_XPU%"=="1" (
call "C:\Program Files (x86)\Intel\oneAPI\compiler\latest\env\vars.bat"
call "C:\Program Files (x86)\Intel\oneAPI\ocloc\latest\env\vars.bat"
if errorlevel 1 exit /b 1
+<<<<<<< HEAD
:: Reduce build time
SET TORCH_XPU_ARCH_LIST=bmg
:: Re-setup python env for build
call pip install -r requirements.txt
+=======
+ :: Reduce build time. Only have MTL self-hosted runner now
+ SET TORCH_XPU_ARCH_LIST=xe-lpg
+ SET USE_KINETO=0
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
)
@echo on
@@ -137,7 +147,11 @@ sccache --show-stats
python -c "import os, glob; os.system('python -mpip install --no-index --no-deps ' + glob.glob('dist/*.whl')[0])"
(
if "%BUILD_ENVIRONMENT%"=="" (
+<<<<<<< HEAD
echo NOTE: To run `import torch`, please make sure to activate the conda environment by running `call %CONDA_ROOT_DIR%\Scripts\activate.bat %CONDA_ROOT_DIR%\envs\py_tmp` in Command Prompt before running Git Bash.
+=======
+ echo NOTE: To run `import torch`, please make sure to activate the conda environment by running `call %CONDA_PARENT_DIR%\Miniconda3\Scripts\activate.bat %CONDA_PARENT_DIR%\Miniconda3` in Command Prompt before running Git Bash.
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
) else (
copy /Y "dist\*.whl" "%PYTORCH_FINAL_PACKAGE_DIR%"
diff --git a/.ci/pytorch/win-test-helpers/installation-helpers/activate_miniconda3.bat b/.ci/pytorch/win-test-helpers/installation-helpers/activate_miniconda3.bat
index abd2c8722b11..09c66282f04d 100644
--- a/.ci/pytorch/win-test-helpers/installation-helpers/activate_miniconda3.bat
+++ b/.ci/pytorch/win-test-helpers/installation-helpers/activate_miniconda3.bat
@@ -3,12 +3,20 @@ if "%BUILD_ENVIRONMENT%"=="" (
) else (
set CONDA_PARENT_DIR=C:\Jenkins
)
+<<<<<<< HEAD
set CONDA_ROOT_DIR=%CONDA_PARENT_DIR%\Miniconda3
+=======
+
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
:: Be conservative here when rolling out the new AMI with conda. This will try
:: to install conda as before if it couldn't find the conda installation. This
:: can be removed eventually after we gain enough confidence in the AMI
+<<<<<<< HEAD
if not exist %CONDA_ROOT_DIR% (
+=======
+if not exist %CONDA_PARENT_DIR%\Miniconda3 (
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
set INSTALL_FRESH_CONDA=1
)
@@ -17,14 +25,22 @@ if "%INSTALL_FRESH_CONDA%"=="1" (
if errorlevel 1 exit /b
if not errorlevel 0 exit /b
+<<<<<<< HEAD
%TMP_DIR_WIN%\Miniconda3-latest-Windows-x86_64.exe /InstallationType=JustMe /RegisterPython=0 /S /AddToPath=0 /D=%CONDA_ROOT_DIR%
+=======
+ %TMP_DIR_WIN%\Miniconda3-latest-Windows-x86_64.exe /InstallationType=JustMe /RegisterPython=0 /S /AddToPath=0 /D=%CONDA_PARENT_DIR%\Miniconda3
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if errorlevel 1 exit /b
if not errorlevel 0 exit /b
)
:: Activate conda so that we can use its commands, i.e. conda, python, pip
+<<<<<<< HEAD
call %CONDA_ROOT_DIR%\Scripts\activate.bat %CONDA_ROOT_DIR%
:: Activate conda so that we can use its commands, i.e. conda, python, pip
call conda activate py_tmp
call pip install -r .ci/docker/requirements-ci.txt
+=======
+call %CONDA_PARENT_DIR%\Miniconda3\Scripts\activate.bat %CONDA_PARENT_DIR%\Miniconda3
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/.ci/pytorch/win-test-helpers/setup_pytorch_env.bat b/.ci/pytorch/win-test-helpers/setup_pytorch_env.bat
index 3173582b06f4..928fc58113ca 100644
--- a/.ci/pytorch/win-test-helpers/setup_pytorch_env.bat
+++ b/.ci/pytorch/win-test-helpers/setup_pytorch_env.bat
@@ -14,7 +14,11 @@ if not errorlevel 0 exit /b
:: build\torch. Rather than changing all these references, making a copy of torch folder
:: from conda to the current workspace is easier. The workspace will be cleaned up after
:: the job anyway
+<<<<<<< HEAD
xcopy /s %CONDA_ROOT_DIR%\envs\py_tmp\Lib\site-packages\torch %TMP_DIR_WIN%\build\torch\
+=======
+xcopy /s %CONDA_PARENT_DIR%\Miniconda3\Lib\site-packages\torch %TMP_DIR_WIN%\build\torch\
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
pushd .
if "%VC_VERSION%" == "" (
diff --git a/.ci/pytorch/win-test.sh b/.ci/pytorch/win-test.sh
index c96d5c331c9f..e5d84b549e4f 100755
--- a/.ci/pytorch/win-test.sh
+++ b/.ci/pytorch/win-test.sh
@@ -38,6 +38,7 @@ if [[ "$BUILD_ENVIRONMENT" == *cuda* ]]; then
fi
# TODO: Move both of them to Windows AMI
+<<<<<<< HEAD
python -m pip install tensorboard==2.13.0 protobuf==5.29.4 pytest-subtests==0.13.1
# Copied from https://github.com/pytorch/test-infra/blob/be01a40157c36cd5a48391fdf44a7bc3ebd4c7e3/aws/ami/windows/scripts/Installers/Install-Pip-Dependencies.ps1#L16 with some adjustments
@@ -52,6 +53,15 @@ python -m pip install z3-solver==4.15.1.0
# Install tlparse for test\dynamo\test_structured_trace.py UTs.
python -m pip install tlparse==0.4.0
+=======
+python -m pip install pytest-rerunfailures==10.3 pytest-cpp==2.3.0 tensorboard==2.13.0 protobuf==5.29.4 pytest-subtests==0.13.1
+
+# Install Z3 optional dependency for Windows builds.
+python -m pip install z3-solver==4.12.2.0
+
+# Install tlparse for test\dynamo\test_structured_trace.py UTs.
+python -m pip install tlparse==0.3.30
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# Install parameterized
python -m pip install parameterized==0.8.1
diff --git a/.ci/pytorch/windows/cuda126.bat b/.ci/pytorch/windows/cuda126.bat
index efb8cfec63e7..2db616810ecb 100644
--- a/.ci/pytorch/windows/cuda126.bat
+++ b/.ci/pytorch/windows/cuda126.bat
@@ -18,6 +18,7 @@ REM Check for optional components
set USE_CUDA=
set CMAKE_GENERATOR=Visual Studio 15 2017 Win64
+<<<<<<< HEAD
IF "%NVTOOLSEXT_PATH%"=="" (
IF EXIST "C:\Program Files\NVIDIA Corporation\NvToolsExt\lib\x64\nvToolsExt64_1.lib" (
set NVTOOLSEXT_PATH=C:\Program Files\NVIDIA Corporation\NvToolsExt
@@ -27,6 +28,8 @@ IF "%NVTOOLSEXT_PATH%"=="" (
)
)
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
IF "%CUDA_PATH_V126%"=="" (
IF EXIST "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6\bin\nvcc.exe" (
set "CUDA_PATH_V126=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6"
@@ -37,7 +40,11 @@ IF "%CUDA_PATH_V126%"=="" (
)
IF "%BUILD_VISION%" == "" (
+<<<<<<< HEAD
set TORCH_CUDA_ARCH_LIST=5.0;6.0;6.1;7.0;7.5;8.0;8.6;9.0
+=======
+ set TORCH_CUDA_ARCH_LIST=6.1;7.0;7.5;8.0;8.6;9.0
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
set TORCH_NVCC_FLAGS=-Xfatbin -compress-all
) ELSE (
set NVCC_FLAGS=-D__CUDA_NO_HALF_OPERATORS__ --expt-relaxed-constexpr -gencode=arch=compute_50,code=sm_50 -gencode=arch=compute_60,code=sm_60 -gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_75,code=sm_75 -gencode=arch=compute_80,code=compute_80 -gencode=arch=compute_86,code=compute_86 -gencode=arch=compute_90,code=compute_90
diff --git a/.ci/pytorch/windows/cuda128.bat b/.ci/pytorch/windows/cuda128.bat
index bbd349e2efb4..0234ec324c03 100644
--- a/.ci/pytorch/windows/cuda128.bat
+++ b/.ci/pytorch/windows/cuda128.bat
@@ -18,6 +18,7 @@ REM Check for optional components
set USE_CUDA=
set CMAKE_GENERATOR=Visual Studio 15 2017 Win64
+<<<<<<< HEAD
IF "%NVTOOLSEXT_PATH%"=="" (
IF EXIST "C:\Program Files\NVIDIA Corporation\NvToolsExt\lib\x64\nvToolsExt64_1.lib" (
set NVTOOLSEXT_PATH=C:\Program Files\NVIDIA Corporation\NvToolsExt
@@ -27,6 +28,8 @@ IF "%NVTOOLSEXT_PATH%"=="" (
)
)
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
IF "%CUDA_PATH_V128%"=="" (
IF EXIST "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.8\bin\nvcc.exe" (
set "CUDA_PATH_V128=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.8"
@@ -37,10 +40,17 @@ IF "%CUDA_PATH_V128%"=="" (
)
IF "%BUILD_VISION%" == "" (
+<<<<<<< HEAD
set TORCH_CUDA_ARCH_LIST=7.0;7.5;8.0;8.6;9.0;10.0;12.0
set TORCH_NVCC_FLAGS=-Xfatbin -compress-all
) ELSE (
set NVCC_FLAGS=-D__CUDA_NO_HALF_OPERATORS__ --expt-relaxed-constexpr -gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_75,code=sm_75 -gencode=arch=compute_80,code=compute_80 -gencode=arch=compute_86,code=compute_86 -gencode=arch=compute_90,code=compute_90 -gencode=arch=compute_100,code=compute_100 -gencode=arch=compute_120,code=compute_120
+=======
+ set TORCH_CUDA_ARCH_LIST=6.1;7.0;7.5;8.0;8.6;9.0;10.0;12.0
+ set TORCH_NVCC_FLAGS=-Xfatbin -compress-all
+) ELSE (
+ set NVCC_FLAGS=-D__CUDA_NO_HALF_OPERATORS__ --expt-relaxed-constexpr -gencode=arch=compute_50,code=sm_50 -gencode=arch=compute_60,code=sm_60 -gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_75,code=sm_75 -gencode=arch=compute_80,code=compute_80 -gencode=arch=compute_86,code=compute_86 -gencode=arch=compute_90,code=compute_90 -gencode=arch=compute_100,code=compute_100 -gencode=arch=compute_120,code=compute_120
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
)
set "CUDA_PATH=%CUDA_PATH_V128%"
diff --git a/.ci/pytorch/windows/cuda129.bat b/.ci/pytorch/windows/cuda129.bat
index b17e6113c63e..ad19af5363c3 100644
--- a/.ci/pytorch/windows/cuda129.bat
+++ b/.ci/pytorch/windows/cuda129.bat
@@ -18,6 +18,7 @@ REM Check for optional components
set USE_CUDA=
set CMAKE_GENERATOR=Visual Studio 15 2017 Win64
+<<<<<<< HEAD
IF "%NVTOOLSEXT_PATH%"=="" (
IF EXIST "C:\Program Files\NVIDIA Corporation\NvToolsExt\lib\x64\nvToolsExt64_1.lib" (
set NVTOOLSEXT_PATH=C:\Program Files\NVIDIA Corporation\NvToolsExt
@@ -27,6 +28,8 @@ IF "%NVTOOLSEXT_PATH%"=="" (
)
)
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
IF "%CUDA_PATH_V129%"=="" (
IF EXIST "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.9\bin\nvcc.exe" (
set "CUDA_PATH_V129=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.9"
diff --git a/.ci/pytorch/windows/internal/copy.bat b/.ci/pytorch/windows/internal/copy.bat
index e0281c0d78a4..993f11e1e014 100644
--- a/.ci/pytorch/windows/internal/copy.bat
+++ b/.ci/pytorch/windows/internal/copy.bat
@@ -1,3 +1,4 @@
+<<<<<<< HEAD
if %CUDA_VERSION% geq 130 (
set "dll_path=bin\x64"
@@ -19,6 +20,19 @@ copy "%CUDA_PATH%\extras\CUPTI\lib64\cupti64_*.dll*" pytorch\torch\lib
copy "%CUDA_PATH%\extras\CUPTI\lib64\nvperf_host*.dll*" pytorch\torch\lib
copy "C:\Program Files\NVIDIA Corporation\NvToolsExt\bin\x64\nvToolsExt64_1.dll*" pytorch\torch\lib
+=======
+copy "%CUDA_PATH%\bin\cusparse*64_*.dll*" pytorch\torch\lib
+copy "%CUDA_PATH%\bin\cublas*64_*.dll*" pytorch\torch\lib
+copy "%CUDA_PATH%\bin\cudart*64_*.dll*" pytorch\torch\lib
+copy "%CUDA_PATH%\bin\curand*64_*.dll*" pytorch\torch\lib
+copy "%CUDA_PATH%\bin\cufft*64_*.dll*" pytorch\torch\lib
+copy "%CUDA_PATH%\bin\cusolver*64_*.dll*" pytorch\torch\lib
+
+copy "%CUDA_PATH%\bin\cudnn*64_*.dll*" pytorch\torch\lib
+copy "%CUDA_PATH%\bin\nvrtc*64_*.dll*" pytorch\torch\lib
+copy "%CUDA_PATH%\extras\CUPTI\lib64\cupti64_*.dll*" pytorch\torch\lib
+
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
copy "%PYTHON_LIB_PATH%\libiomp*5md.dll" pytorch\torch\lib
:: Should be set in build_pytorch.bat
@@ -28,3 +42,11 @@ copy "%libuv_ROOT%\bin\uv.dll" pytorch\torch\lib
if exist "C:\Windows\System32\zlibwapi.dll" (
copy "C:\Windows\System32\zlibwapi.dll" pytorch\torch\lib
)
+<<<<<<< HEAD
+=======
+
+::copy nvJitLink dll is requires for cuda 12+
+if exist "%CUDA_PATH%\bin\nvJitLink_*.dll*" (
+ copy "%CUDA_PATH%\bin\nvJitLink_*.dll*" pytorch\torch\lib
+)
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/.ci/pytorch/windows/internal/cuda_install.bat b/.ci/pytorch/windows/internal/cuda_install.bat
index 1349d3e661f5..b17eda7de781 100644
--- a/.ci/pytorch/windows/internal/cuda_install.bat
+++ b/.ci/pytorch/windows/internal/cuda_install.bat
@@ -26,7 +26,10 @@ if exist "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v%CUDA_VERSION_STR%
if %CUDA_VER% EQU 126 goto cuda126
if %CUDA_VER% EQU 128 goto cuda128
if %CUDA_VER% EQU 129 goto cuda129
+<<<<<<< HEAD
if %CUDA_VER% EQU 130 goto cuda130
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
echo CUDA %CUDA_VERSION_STR% is not supported
exit /b 1
@@ -114,6 +117,7 @@ xcopy /Y "%SRC_DIR%\temp_build\zlib\dll_x64\*.dll" "C:\Windows\System32"
goto cuda_common
+<<<<<<< HEAD
:cuda130
set CUDA_INSTALL_EXE=cuda_13.0.0_windows.exe
@@ -141,17 +145,22 @@ xcopy /Y "%SRC_DIR%\temp_build\zlib\dll_x64\*.dll" "C:\Windows\System32"
goto cuda_common
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
:cuda_common
:: NOTE: We only install CUDA if we don't have it installed already.
:: With GHA runners these should be pre-installed as part of our AMI process
:: If you cannot find the CUDA version you want to build for here then please
:: add it @ https://github.com/pytorch/test-infra/tree/main/aws/ami/windows
if not exist "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v%CUDA_VERSION_STR%\bin\nvcc.exe" (
+<<<<<<< HEAD
if not exist "%SRC_DIR%\temp_build\NvToolsExt.7z" (
curl -k -L https://ossci-windows.s3.us-east-1.amazonaws.com/builder/NvToolsExt.7z --output "%SRC_DIR%\temp_build\NvToolsExt.7z"
if errorlevel 1 exit /b 1
)
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if not exist "%SRC_DIR%\temp_build\gpu_driver_dlls.zip" (
curl -k -L "https://ossci-windows.s3.us-east-1.amazonaws.com/builder/additional_dlls.zip" --output "%SRC_DIR%\temp_build\gpu_driver_dlls.zip"
if errorlevel 1 exit /b 1
@@ -178,6 +187,7 @@ if not exist "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v%CUDA_VERSION_
xcopy /Y "%SRC_DIR%\temp_build\cuda\CUDAVisualStudioIntegration\extras\visual_studio_integration\MSBuildExtensions\*.*" "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Microsoft\VC\v170\BuildCustomizations"
)
+<<<<<<< HEAD
echo Installing NvToolsExt...
7z x %SRC_DIR%\temp_build\NvToolsExt.7z -o"%SRC_DIR%\temp_build\NvToolsExt"
mkdir "%ProgramFiles%\NVIDIA Corporation\NvToolsExt\bin\x64"
@@ -187,6 +197,8 @@ if not exist "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v%CUDA_VERSION_
xcopy /Y "%SRC_DIR%\temp_build\NvToolsExt\include\*.*" "%ProgramFiles%\NVIDIA Corporation\NvToolsExt\include"
xcopy /Y "%SRC_DIR%\temp_build\NvToolsExt\lib\x64\*.*" "%ProgramFiles%\NVIDIA Corporation\NvToolsExt\lib\x64"
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
echo Installing cuDNN...
7z x %CUDNN_SETUP_FILE% -o"%SRC_DIR%\temp_build\cudnn"
xcopy /Y "%SRC_DIR%\temp_build\cudnn\%CUDNN_FOLDER%\bin\*.*" "%ProgramFiles%\NVIDIA GPU Computing Toolkit\CUDA\v%CUDA_VERSION_STR%\bin"
@@ -217,4 +229,7 @@ echo Setting up environment...
set "PATH=%ProgramFiles%\NVIDIA GPU Computing Toolkit\CUDA\v%CUDA_VERSION_STR%\bin;%ProgramFiles%\NVIDIA GPU Computing Toolkit\CUDA\v%CUDA_VERSION_STR%\libnvvp;%PATH%"
set "CUDA_PATH=%ProgramFiles%\NVIDIA GPU Computing Toolkit\CUDA\v%CUDA_VERSION_STR%"
set "CUDA_PATH_V%CUDA_VER_MAJOR%_%CUDA_VER_MINOR%=%ProgramFiles%\NVIDIA GPU Computing Toolkit\CUDA\v%CUDA_VERSION_STR%"
+<<<<<<< HEAD
set "NVTOOLSEXT_PATH=%ProgramFiles%\NVIDIA Corporation\NvToolsExt"
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/.ci/pytorch/windows/internal/driver_update.bat b/.ci/pytorch/windows/internal/driver_update.bat
index 2c173aed818b..f9ffb6de2fd2 100644
--- a/.ci/pytorch/windows/internal/driver_update.bat
+++ b/.ci/pytorch/windows/internal/driver_update.bat
@@ -1,3 +1,4 @@
+<<<<<<< HEAD
set WIN_DRIVER_VN=580.88
set "DRIVER_DOWNLOAD_LINK=https://ossci-windows.s3.amazonaws.com/%WIN_DRIVER_VN%-data-center-tesla-desktop-win10-win11-64bit-dch-international.exe" & REM @lint-ignore
curl --retry 3 -kL %DRIVER_DOWNLOAD_LINK% --output %WIN_DRIVER_VN%-data-center-tesla-desktop-win10-win11-64bit-dch-international.exe
@@ -7,3 +8,14 @@ start /wait %WIN_DRIVER_VN%-data-center-tesla-desktop-win10-win11-64bit-dch-inte
if errorlevel 1 exit /b 1
del %WIN_DRIVER_VN%-data-center-tesla-desktop-win10-win11-64bit-dch-international.exe || ver > NUL
+=======
+set WIN_DRIVER_VN=528.89
+set "DRIVER_DOWNLOAD_LINK=https://ossci-windows.s3.amazonaws.com/%WIN_DRIVER_VN%-data-center-tesla-desktop-winserver-2016-2019-2022-dch-international.exe" & REM @lint-ignore
+curl --retry 3 -kL %DRIVER_DOWNLOAD_LINK% --output %WIN_DRIVER_VN%-data-center-tesla-desktop-winserver-2016-2019-2022-dch-international.exe
+if errorlevel 1 exit /b 1
+
+start /wait %WIN_DRIVER_VN%-data-center-tesla-desktop-winserver-2016-2019-2022-dch-international.exe -s -noreboot
+if errorlevel 1 exit /b 1
+
+del %WIN_DRIVER_VN%-data-center-tesla-desktop-winserver-2016-2019-2022-dch-international.exe || ver > NUL
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/.ci/pytorch/windows/internal/install_python.bat b/.ci/pytorch/windows/internal/install_python.bat
index 84d0f9caccef..6cd069f4098d 100644
--- a/.ci/pytorch/windows/internal/install_python.bat
+++ b/.ci/pytorch/windows/internal/install_python.bat
@@ -1,12 +1,16 @@
set ADDITIONAL_OPTIONS=""
set PYTHON_EXEC="python"
+<<<<<<< HEAD
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if "%DESIRED_PYTHON%" == "3.13t" (
echo Python version is set to 3.13t
set "PYTHON_INSTALLER_URL=https://www.python.org/ftp/python/3.13.0/python-3.13.0-amd64.exe"
set ADDITIONAL_OPTIONS="Include_freethreaded=1"
set PYTHON_EXEC="python3.13t"
+<<<<<<< HEAD
) else if "%DESIRED_PYTHON%"=="3.14" (
echo Python version is set to 3.14 or 3.14t
set "PYTHON_INSTALLER_URL=https://www.python.org/ftp/python/3.14.0/python-3.14.0rc1-amd64.exe"
@@ -17,6 +21,10 @@ if "%DESIRED_PYTHON%" == "3.13t" (
set PYTHON_EXEC="python3.14t"
) else (
echo Python version is set to %DESIRED_PYTHON%
+=======
+) else (
+ echo DESIRED_PYTHON not defined, Python version is set to %DESIRED_PYTHON%
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
set "PYTHON_INSTALLER_URL=https://www.python.org/ftp/python/%DESIRED_PYTHON%.0/python-%DESIRED_PYTHON%.0-amd64.exe" %= @lint-ignore =%
)
@@ -28,5 +36,8 @@ start /wait "" python-amd64.exe /quiet InstallAllUsers=1 PrependPath=0 Include_t
if errorlevel 1 exit /b 1
set "PATH=%CD%\Python\Scripts;%CD%\Python;%PATH%"
+<<<<<<< HEAD
%PYTHON_EXEC% -m pip install --upgrade pip setuptools packaging wheel
if errorlevel 1 exit /b 1
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/.ci/pytorch/windows/internal/smoke_test.bat b/.ci/pytorch/windows/internal/smoke_test.bat
index f671a9d0e0ab..eb803a058cae 100644
--- a/.ci/pytorch/windows/internal/smoke_test.bat
+++ b/.ci/pytorch/windows/internal/smoke_test.bat
@@ -148,7 +148,18 @@ if "%NVIDIA_GPU_EXISTS%" == "0" (
goto end
)
+<<<<<<< HEAD
cl %PYTORCH_ROOT%\.ci\pytorch\test_example_code\check-torch-cuda.cpp torch_cpu.lib c10.lib torch_cuda.lib /EHsc /std:c++17 /link /INCLUDE:?warp_size@cuda@at@@YAHXZ
+=======
+set BUILD_SPLIT_CUDA=
+if exist "%install_root%\lib\torch_cuda_cu.lib" if exist "%install_root%\lib\torch_cuda_cpp.lib" set BUILD_SPLIT_CUDA=ON
+
+if "%BUILD_SPLIT_CUDA%" == "ON" (
+ cl %PYTORCH_ROOT%\.ci\pytorch\test_example_code\check-torch-cuda.cpp torch_cpu.lib c10.lib torch_cuda_cu.lib torch_cuda_cpp.lib /EHsc /std:c++17 /link /INCLUDE:?warp_size@cuda@at@@YAHXZ /INCLUDE:?_torch_cuda_cu_linker_symbol_op_cuda@native@at@@YA?AVTensor@2@AEBV32@@Z
+) else (
+ cl %PYTORCH_ROOT%\.ci\pytorch\test_example_code\check-torch-cuda.cpp torch_cpu.lib c10.lib torch_cuda.lib /EHsc /std:c++17 /link /INCLUDE:?warp_size@cuda@at@@YAHXZ
+)
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
.\check-torch-cuda.exe
if ERRORLEVEL 1 exit /b 1
diff --git a/.ci/pytorch/windows/internal/xpu_install.bat b/.ci/pytorch/windows/internal/xpu_install.bat
index f143571a5692..85b72caccaba 100644
--- a/.ci/pytorch/windows/internal/xpu_install.bat
+++ b/.ci/pytorch/windows/internal/xpu_install.bat
@@ -13,9 +13,15 @@ if not exist "%SRC_DIR%\temp_build" mkdir "%SRC_DIR%\temp_build"
:xpu_bundle_install_start
set XPU_BUNDLE_PARENT_DIR=C:\Program Files (x86)\Intel\oneAPI
+<<<<<<< HEAD
set XPU_BUNDLE_URL=https://registrationcenter-download.intel.com/akdlm/IRC_NAS/75d4eb97-914a-4a95-852c-7b9733d80f74/intel-deep-learning-essentials-2025.1.3.8_offline.exe
set XPU_BUNDLE_PRODUCT_NAME=intel.oneapi.win.deep-learning-essentials.product
set XPU_BUNDLE_VERSION=2025.1.3+5
+=======
+set XPU_BUNDLE_URL=https://registrationcenter-download.intel.com/akdlm/IRC_NAS/9d6d6c17-ca2d-4735-9331-99447e4a1280/intel-deep-learning-essentials-2025.0.1.28_offline.exe
+set XPU_BUNDLE_PRODUCT_NAME=intel.oneapi.win.deep-learning-essentials.product
+set XPU_BUNDLE_VERSION=2025.0.1+20
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
set XPU_BUNDLE_INSTALLED=0
set XPU_BUNDLE_UNINSTALL=0
set XPU_EXTRA_URL=NULL
@@ -24,9 +30,15 @@ set XPU_EXTRA_VERSION=2025.0.1+1226
set XPU_EXTRA_INSTALLED=0
set XPU_EXTRA_UNINSTALL=0
+<<<<<<< HEAD
if not [%XPU_VERSION%]==[] if [%XPU_VERSION%]==[2025.2] (
set XPU_BUNDLE_URL=https://registrationcenter-download.intel.com/akdlm/IRC_NAS/24751ead-ddc5-4479-b9e6-f9fe2ff8b9f2/intel-deep-learning-essentials-2025.2.1.25_offline.exe
set XPU_BUNDLE_VERSION=2025.2.1+20
+=======
+if not [%XPU_VERSION%]==[] if [%XPU_VERSION%]==[2025.1] (
+ set XPU_BUNDLE_URL=https://registrationcenter-download.intel.com/akdlm/IRC_NAS/75d4eb97-914a-4a95-852c-7b9733d80f74/intel-deep-learning-essentials-2025.1.3.8_offline.exe
+ set XPU_BUNDLE_VERSION=2025.1.3+5
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
)
:: Check if XPU bundle is target version or already installed
@@ -90,3 +102,17 @@ if errorlevel 1 exit /b 1
del xpu_extra.exe
:xpu_install_end
+<<<<<<< HEAD
+=======
+
+if not "%XPU_ENABLE_KINETO%"=="1" goto install_end
+:: Install Level Zero SDK
+set XPU_EXTRA_LZ_URL=https://github.com/oneapi-src/level-zero/releases/download/v1.14.0/level-zero-sdk_1.14.0.zip
+curl -k -L %XPU_EXTRA_LZ_URL% --output "%SRC_DIR%\temp_build\level_zero_sdk.zip"
+echo "Installing level zero SDK..."
+7z x "%SRC_DIR%\temp_build\level_zero_sdk.zip" -o"%SRC_DIR%\temp_build\level_zero"
+set "INCLUDE=%SRC_DIR%\temp_build\level_zero\include;%INCLUDE%"
+del "%SRC_DIR%\temp_build\level_zero_sdk.zip"
+
+:install_end
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/.ci/pytorch/windows/setup_build.bat b/.ci/pytorch/windows/setup_build.bat
index dbdc9891324c..d05abf6dc1c3 100644
--- a/.ci/pytorch/windows/setup_build.bat
+++ b/.ci/pytorch/windows/setup_build.bat
@@ -7,8 +7,11 @@ call "internal\install_python.bat"
%PYTHON_EXEC% --version
set "PATH=%CD%\Python\Lib\site-packages\cmake\data\bin;%CD%\Python\Scripts;%CD%\Python;%PATH%"
+<<<<<<< HEAD
if "%DESIRED_PYTHON%" == "3.14t" %PYTHON_EXEC% -m pip install numpy==2.3.2 cmake
if "%DESIRED_PYTHON%" == "3.14" %PYTHON_EXEC% -m pip install numpy==2.3.2 cmake
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if "%DESIRED_PYTHON%" == "3.13t" %PYTHON_EXEC% -m pip install numpy==2.2.1 cmake
if "%DESIRED_PYTHON%" == "3.13" %PYTHON_EXEC% -m pip install numpy==2.1.2 cmake
if "%DESIRED_PYTHON%" == "3.12" %PYTHON_EXEC% -m pip install numpy==2.0.2 cmake
diff --git a/.ci/wheel/build_wheel.sh b/.ci/wheel/build_wheel.sh
index e63a68e4f193..94fb3234813d 100755
--- a/.ci/wheel/build_wheel.sh
+++ b/.ci/wheel/build_wheel.sh
@@ -124,13 +124,22 @@ popd
export TH_BINARY_BUILD=1
export INSTALL_TEST=0 # dont install test binaries into site-packages
+<<<<<<< HEAD
export MACOSX_DEPLOYMENT_TARGET=11.0
export CMAKE_PREFIX_PATH=${CONDA_PREFIX:-"$(dirname $(which conda))/../"}
+=======
+export MACOSX_DEPLOYMENT_TARGET=10.15
+export CMAKE_PREFIX_PATH=${CONDA_PREFIX:-"$(dirname $(which conda))/../"}
+
+SETUPTOOLS_PINNED_VERSION="=46.0.0"
+PYYAML_PINNED_VERSION="=5.3"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
EXTRA_CONDA_INSTALL_FLAGS=""
CONDA_ENV_CREATE_FLAGS=""
RENAME_WHEEL=true
case $desired_python in
+<<<<<<< HEAD
3.14t)
echo "Using 3.14 deps"
NUMPY_PINNED_VERSION="==2.1.0"
@@ -149,6 +158,13 @@ case $desired_python in
3.13t)
echo "Using 3.13 deps"
NUMPY_PINNED_VERSION="==2.1.0"
+=======
+ 3.13t)
+ echo "Using 3.13 deps"
+ SETUPTOOLS_PINNED_VERSION=">=68.0.0"
+ PYYAML_PINNED_VERSION=">=6.0.1"
+ NUMPY_PINNED_VERSION="=2.1.0"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
CONDA_ENV_CREATE_FLAGS="python-freethreading"
EXTRA_CONDA_INSTALL_FLAGS="-c conda-forge"
desired_python="3.13"
@@ -156,6 +172,7 @@ case $desired_python in
;;
3.13)
echo "Using 3.13 deps"
+<<<<<<< HEAD
NUMPY_PINNED_VERSION="==2.1.0"
;;
3.12)
@@ -173,6 +190,39 @@ case $desired_python in
*)
echo "Unsupported version $desired_python"
exit 1
+=======
+ SETUPTOOLS_PINNED_VERSION=">=68.0.0"
+ PYYAML_PINNED_VERSION=">=6.0.1"
+ NUMPY_PINNED_VERSION="=2.1.0"
+ ;;
+ 3.12)
+ echo "Using 3.12 deps"
+ SETUPTOOLS_PINNED_VERSION=">=68.0.0"
+ PYYAML_PINNED_VERSION=">=6.0.1"
+ NUMPY_PINNED_VERSION="=2.0.2"
+ ;;
+ 3.11)
+ echo "Using 3.11 deps"
+ SETUPTOOLS_PINNED_VERSION=">=46.0.0"
+ PYYAML_PINNED_VERSION=">=5.3"
+ NUMPY_PINNED_VERSION="=2.0.2"
+ ;;
+ 3.10)
+ echo "Using 3.10 deps"
+ SETUPTOOLS_PINNED_VERSION=">=46.0.0"
+ PYYAML_PINNED_VERSION=">=5.3"
+ NUMPY_PINNED_VERSION="=2.0.2"
+ ;;
+ 3.9)
+ echo "Using 3.9 deps"
+ SETUPTOOLS_PINNED_VERSION=">=46.0.0"
+ PYYAML_PINNED_VERSION=">=5.3"
+ NUMPY_PINNED_VERSION="=2.0.2"
+ ;;
+ *)
+ echo "Using default deps"
+ NUMPY_PINNED_VERSION="=1.11.3"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
;;
esac
@@ -181,17 +231,27 @@ tmp_env_name="wheel_py$python_nodot"
conda create ${EXTRA_CONDA_INSTALL_FLAGS} -yn "$tmp_env_name" python="$desired_python" ${CONDA_ENV_CREATE_FLAGS}
source activate "$tmp_env_name"
+<<<<<<< HEAD
PINNED_PACKAGES=(
"numpy${NUMPY_PINNED_VERSION}"
)
retry pip install "${PINNED_PACKAGES[@]}" -r "${pytorch_rootdir}/requirements-build.txt"
pip install requests ninja typing-extensions
+=======
+pip install "numpy=${NUMPY_PINNED_VERSION}" "pyyaml${PYYAML_PINNED_VERSION}" requests ninja "setuptools${SETUPTOOLS_PINNED_VERSION}" typing_extensions
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
retry pip install -r "${pytorch_rootdir}/requirements.txt" || true
retry brew install libomp
# For USE_DISTRIBUTED=1 on macOS, need libuv, which is build as part of tensorpipe submodule
export USE_DISTRIBUTED=1
+<<<<<<< HEAD
+=======
+if [[ -n "$CROSS_COMPILE_ARM64" ]]; then
+ export CMAKE_OSX_ARCHITECTURES=arm64
+fi
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
export USE_MKLDNN=OFF
export USE_QNNPACK=OFF
export BUILD_TEST=OFF
@@ -199,7 +259,20 @@ export BUILD_TEST=OFF
pushd "$pytorch_rootdir"
echo "Calling setup.py bdist_wheel at $(date)"
+<<<<<<< HEAD
python setup.py bdist_wheel -d "$whl_tmp_dir" --plat-name ${mac_version}
+=======
+if [[ "$USE_SPLIT_BUILD" == "true" ]]; then
+ echo "Calling setup.py bdist_wheel for split build (BUILD_LIBTORCH_WHL)"
+ BUILD_LIBTORCH_WHL=1 BUILD_PYTHON_ONLY=0 python setup.py bdist_wheel -d "$whl_tmp_dir"
+ echo "Finished setup.py bdist_wheel for split build (BUILD_LIBTORCH_WHL)"
+ echo "Calling setup.py bdist_wheel for split build (BUILD_PYTHON_ONLY)"
+ BUILD_LIBTORCH_WHL=0 BUILD_PYTHON_ONLY=1 CMAKE_FRESH=1 python setup.py bdist_wheel -d "$whl_tmp_dir"
+ echo "Finished setup.py bdist_wheel for split build (BUILD_PYTHON_ONLY)"
+else
+ python setup.py bdist_wheel -d "$whl_tmp_dir"
+fi
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
echo "Finished setup.py bdist_wheel at $(date)"
diff --git a/.circleci/scripts/binary_linux_test.sh b/.circleci/scripts/binary_linux_test.sh
index c24a50b8b17e..0af272b341ab 100755
--- a/.circleci/scripts/binary_linux_test.sh
+++ b/.circleci/scripts/binary_linux_test.sh
@@ -65,8 +65,21 @@ fi
if [[ "$PACKAGE_TYPE" != libtorch ]]; then
if [[ "\$BUILD_ENVIRONMENT" != *s390x* ]]; then
+<<<<<<< HEAD
pip install "\$pkg" --index-url "https://download.pytorch.org/whl/\${CHANNEL}/${DESIRED_CUDA}"
retry pip install -q numpy protobuf typing-extensions
+=======
+ if [[ "$USE_SPLIT_BUILD" == "true" ]]; then
+ pkg_no_python="$(ls -1 /final_pkgs/torch_no_python* | sort |tail -1)"
+ pkg_torch="$(ls -1 /final_pkgs/torch-* | sort |tail -1)"
+ # todo: after folder is populated use the pypi_pkg channel instead
+ pip install "\$pkg_no_python" "\$pkg_torch" --index-url "https://download.pytorch.org/whl/\${CHANNEL}/${DESIRED_CUDA}_pypi_pkg"
+ retry pip install -q numpy protobuf typing-extensions
+ else
+ pip install "\$pkg" --index-url "https://download.pytorch.org/whl/\${CHANNEL}/${DESIRED_CUDA}"
+ retry pip install -q numpy protobuf typing-extensions
+ fi
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
else
pip install "\$pkg"
retry pip install -q numpy protobuf typing-extensions
diff --git a/.circleci/scripts/binary_populate_env.sh b/.circleci/scripts/binary_populate_env.sh
index f12a3ac07517..11cb76268476 100755
--- a/.circleci/scripts/binary_populate_env.sh
+++ b/.circleci/scripts/binary_populate_env.sh
@@ -5,7 +5,9 @@ export TZ=UTC
tagged_version() {
GIT_DIR="${workdir}/pytorch/.git"
GIT_DESCRIBE="git --git-dir ${GIT_DIR} describe --tags --match v[0-9]*.[0-9]*.[0-9]*"
- if [[ ! -d "${GIT_DIR}" ]]; then
+ if [[ -n "${CIRCLE_TAG:-}" ]]; then
+ echo "${CIRCLE_TAG}"
+ elif [[ ! -d "${GIT_DIR}" ]]; then
echo "Abort, abort! Git dir ${GIT_DIR} does not exists!"
kill $$
elif ${GIT_DESCRIBE} --exact >/dev/null; then
@@ -69,9 +71,22 @@ fi
export PYTORCH_BUILD_NUMBER=1
+# This part is done in the builder scripts so commenting the duplicate code
+: <<'BLOCK_COMMENT'
# Set triton version as part of PYTORCH_EXTRA_INSTALL_REQUIREMENTS
TRITON_VERSION=$(cat $PYTORCH_ROOT/.ci/docker/triton_version.txt)
+<<<<<<< HEAD
TRITON_CONSTRAINT="platform_system == 'Linux'"
+=======
+
+# Here PYTORCH_EXTRA_INSTALL_REQUIREMENTS is already set for the all the wheel builds hence append TRITON_CONSTRAINT
+TRITON_CONSTRAINT="platform_system == 'Linux' and platform_machine == 'x86_64'"
+
+# CUDA 12.9 builds have triton for Linux and Linux aarch64 binaries.
+if [[ "$DESIRED_CUDA" == "cu129" ]]; then
+ TRITON_CONSTRAINT="platform_system == 'Linux'"
+fi
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if [[ "$PACKAGE_TYPE" =~ .*wheel.* && -n "${PYTORCH_EXTRA_INSTALL_REQUIREMENTS:-}" && ! "$PYTORCH_BUILD_VERSION" =~ .*xpu.* ]]; then
TRITON_REQUIREMENT="triton==${TRITON_VERSION}; ${TRITON_CONSTRAINT}"
@@ -110,6 +125,7 @@ if [[ "$PACKAGE_TYPE" =~ .*wheel.* && -n "$PYTORCH_BUILD_VERSION" && "$PYTORCH_B
export PYTORCH_EXTRA_INSTALL_REQUIREMENTS="${PYTORCH_EXTRA_INSTALL_REQUIREMENTS} | ${TRITON_REQUIREMENT}"
fi
fi
+BLOCK_COMMENT
USE_GLOO_WITH_OPENSSL="ON"
if [[ "$GPU_ARCH_TYPE" =~ .*aarch64.* ]]; then
@@ -127,6 +143,10 @@ export DESIRED_PYTHON="${DESIRED_PYTHON:-}"
export DESIRED_CUDA="$DESIRED_CUDA"
export LIBTORCH_VARIANT="${LIBTORCH_VARIANT:-}"
export BUILD_PYTHONLESS="${BUILD_PYTHONLESS:-}"
+<<<<<<< HEAD
+=======
+export USE_SPLIT_BUILD="${USE_SPLIT_BUILD:-}"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if [[ "${OSTYPE}" == "msys" ]]; then
export LIBTORCH_CONFIG="${LIBTORCH_CONFIG:-}"
if [[ "${LIBTORCH_CONFIG:-}" == 'debug' ]]; then
diff --git a/.circleci/scripts/binary_upload.sh b/.circleci/scripts/binary_upload.sh
index d48077e11245..81b8a06778c4 100755
--- a/.circleci/scripts/binary_upload.sh
+++ b/.circleci/scripts/binary_upload.sh
@@ -23,6 +23,13 @@ if [[ "${DRY_RUN}" = "disabled" ]]; then
AWS_S3_CP="aws s3 cp"
fi
+<<<<<<< HEAD
+=======
+if [[ "${USE_SPLIT_BUILD:-false}" == "true" ]]; then
+ UPLOAD_SUBFOLDER="${UPLOAD_SUBFOLDER}_pypi_pkg"
+fi
+
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# this is special build with all dependencies packaged
if [[ ${BUILD_NAME} == *-full* ]]; then
UPLOAD_SUBFOLDER="${UPLOAD_SUBFOLDER}_full"
@@ -51,12 +58,23 @@ s3_upload() {
s3_upload_dir="${s3_root_dir}/${UPLOAD_SUBFOLDER}/"
fi
(
+<<<<<<< HEAD
+=======
+ cache_control_flag=""
+ if [[ "${UPLOAD_CHANNEL}" = "test" ]]; then
+ cache_control_flag="--cache-control='no-cache,no-store,must-revalidate'"
+ fi
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
for pkg in ${PKG_DIR}/*.${extension}; do
(
set -x
shm_id=$(sha256sum "${pkg}" | awk '{print $1}')
${AWS_S3_CP} --no-progress --acl public-read "${pkg}" "${s3_upload_dir}" \
+<<<<<<< HEAD
--metadata "checksum-sha256=${shm_id}"
+=======
+ --metadata "checksum-sha256=${shm_id}" ${cache_control_flag}
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
)
done
)
diff --git a/.circleci/scripts/binary_windows_build.sh b/.circleci/scripts/binary_windows_build.sh
index 18dcde50e2b6..60ffb1e15a81 100644
--- a/.circleci/scripts/binary_windows_build.sh
+++ b/.circleci/scripts/binary_windows_build.sh
@@ -15,7 +15,12 @@ fi
if [[ "$DESIRED_CUDA" == 'xpu' ]]; then
export VC_YEAR=2022
export USE_SCCACHE=0
+<<<<<<< HEAD
export XPU_VERSION=2025.2
+=======
+ export XPU_VERSION=2025.1
+ export XPU_ENABLE_KINETO=1
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
fi
echo "Free space on filesystem before build:"
diff --git a/.circleci/scripts/binary_windows_test.sh b/.circleci/scripts/binary_windows_test.sh
index 9326d9037e8b..eb5b15b762cd 100644
--- a/.circleci/scripts/binary_windows_test.sh
+++ b/.circleci/scripts/binary_windows_test.sh
@@ -8,7 +8,11 @@ export VC_YEAR=2022
if [[ "$DESIRED_CUDA" == 'xpu' ]]; then
export VC_YEAR=2022
+<<<<<<< HEAD
export XPU_VERSION=2025.2
+=======
+ export XPU_VERSION=2025.1
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
fi
pushd "$PYTORCH_ROOT/.ci/pytorch/"
diff --git a/.clang-format b/.clang-format
index 67b722d967c7..448aa5d0f343 100644
--- a/.clang-format
+++ b/.clang-format
@@ -120,7 +120,10 @@ UseTab: Never
Language: ObjC
ColumnLimit: 120
AlignAfterOpenBracket: Align
+<<<<<<< HEAD
IndentWidth: 2
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
ObjCBlockIndentWidth: 2
ObjCSpaceAfterProperty: false
ObjCSpaceBeforeProtocolList: false
diff --git a/.devcontainer/README.md b/.devcontainer/README.md
index 7ef8da027ad9..c7e65eeecedd 100644
--- a/.devcontainer/README.md
+++ b/.devcontainer/README.md
@@ -61,8 +61,13 @@ You are now all set to start developing with PyTorch in a DevContainer environme
## Step 8: Build PyTorch
To build pytorch from source, simply run:
+<<<<<<< HEAD
```bash
python -m pip install --no-build-isolation -v -e .
+=======
+ ```
+ python setup.py develop
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
```
The process involves compiling thousands of files, and would take a long time. Fortunately, the compiled objects can be useful for your next build. When you modify some files, you only need to compile the changed files the next time.
diff --git a/.editorconfig b/.editorconfig
index e9581612a050..0456b5cd51a0 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -1,11 +1,15 @@
root = true
[*]
+<<<<<<< HEAD
charset = utf-8
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
end_of_line = lf
insert_final_newline = true
# Python
+<<<<<<< HEAD
[*.{py,pyi,py.in,pyi.in}]
indent_style = space
indent_size = 4
@@ -34,3 +38,12 @@ indent_style = tab
indent_style = space
indent_size = 2
end_of_line = crlf
+=======
+[*.py]
+indent_style = space
+indent_size = 4
+
+# Make
+[Makefile]
+indent_style = tab
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/.flake8 b/.flake8
index fc9ab167fbee..ae1fc9c9fe24 100644
--- a/.flake8
+++ b/.flake8
@@ -7,12 +7,20 @@ max-line-length = 120
# C408 ignored because we like the dict keyword argument syntax
# E501 is not flexible enough, we're using B950 instead
ignore =
+<<<<<<< HEAD
E203,E305,E402,E501,E704,E721,E741,F405,F841,F999,W503,W504,C408,E302,W291,E303,F824,
+=======
+ E203,E305,E402,E501,E704,E721,E741,F405,F841,F999,W503,W504,C408,E302,W291,E303,
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# shebang has extra meaning in fbcode lints, so I think it's not worth trying
# to line this up with executable bit
EXE001,
# these ignores are from flake8-bugbear; please fix!
+<<<<<<< HEAD
B007,B008,B017,B019,B023,B028,B903,B904,B905,B906,B907,B908,B910
+=======
+ B007,B008,B017,B019,B023,B028,B903,B904,B905,B906,B907
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# these ignores are from flake8-comprehensions; please fix!
C407,
# these ignores are from flake8-logging-format; please fix!
@@ -48,7 +56,10 @@ per-file-ignores =
torch/__init__.py: F401,TOR901
torch/_custom_op/impl.py: TOR901
torch/_export/serde/upgrade.py: TOR901
+<<<<<<< HEAD
torch/_functorch/predispatch.py: TOR901
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
torch/_functorch/vmap.py: TOR901
torch/_inductor/test_operators.py: TOR901
torch/_library/abstract_impl.py: TOR901
diff --git a/.github/actionlint.yaml b/.github/actionlint.yaml
index 798dee312306..c6976b9c5f14 100644
--- a/.github/actionlint.yaml
+++ b/.github/actionlint.yaml
@@ -12,9 +12,13 @@ self-hosted-runner:
- linux.9xlarge.ephemeral
- am2.linux.9xlarge.ephemeral
- linux.12xlarge
+<<<<<<< HEAD
- linux.12xlarge.memory
- linux.24xlarge
- linux.24xlarge.memory
+=======
+ - linux.24xlarge
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- linux.24xlarge.ephemeral
- linux.24xlarge.amd
- linux.arm64.2xlarge
@@ -55,6 +59,7 @@ self-hosted-runner:
- linux.rocm.gpu.mi250
- linux.rocm.gpu.2
- linux.rocm.gpu.4
+<<<<<<< HEAD
# gfx942 runners
- linux.rocm.gpu.gfx942.1
- linux.rocm.gpu.gfx942.2
@@ -62,6 +67,18 @@ self-hosted-runner:
- rocm-docker
# Org wise AWS `mac2.metal` runners (2020 Mac mini hardware powered by Apple silicon M1 processors)
- macos-m1-stable
+=======
+ # MI300 runners
+ - linux.rocm.gpu.mi300.2
+ - linux.rocm.gpu.mi300.4
+ - rocm-docker
+ # Repo-specific Apple hosted runners
+ - macos-m1-ultra
+ - macos-m2-14
+ # Org wise AWS `mac2.metal` runners (2020 Mac mini hardware powered by Apple silicon M1 processors)
+ - macos-m1-stable
+ - macos-m1-13
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- macos-m1-14
# GitHub-hosted MacOS runners
- macos-latest-xlarge
diff --git a/.github/actions/build-android/action.yml b/.github/actions/build-android/action.yml
new file mode 100644
index 000000000000..bccd42aa42f2
--- /dev/null
+++ b/.github/actions/build-android/action.yml
@@ -0,0 +1,78 @@
+name: build android
+
+description: build android for a specific arch
+
+inputs:
+ arch:
+ description: arch to build
+ required: true
+ arch-for-build-env:
+ description: |
+ arch to pass to build environment.
+ This is currently different than the arch name we use elsewhere, which
+ should be fixed.
+ required: true
+ github-secret:
+ description: github token
+ required: true
+ build-environment:
+ required: true
+ description: Top-level label for what's being built/tested.
+ docker-image:
+ required: true
+ description: Name of the base docker image to build with.
+ branch:
+ required: true
+ description: What branch we are building on.
+outputs:
+ container_id:
+ description: Docker container identifier used to build the artifacts
+ value: ${{ steps.build.outputs.container_id }}
+
+runs:
+ using: composite
+ steps:
+ - name: Build-${{ inputs.arch }}
+ id: build
+ shell: bash
+ env:
+ BRANCH: ${{ inputs.branch }}
+ BUILD_ENVIRONMENT: pytorch-linux-xenial-py3-clang5-android-ndk-r19c-${{ inputs.arch-for-build-env }}-build"
+ AWS_DEFAULT_REGION: us-east-1
+ PR_NUMBER: ${{ github.event.pull_request.number }}
+ SHA1: ${{ github.event.pull_request.head.sha || github.sha }}
+ SCCACHE_BUCKET: ossci-compiler-cache-circleci-v2
+ SCCACHE_REGION: us-east-1
+ DOCKER_IMAGE: ${{ inputs.docker-image }}
+ MATRIX_ARCH: ${{ inputs.arch }}
+ run: |
+ # detached container should get cleaned up by teardown_ec2_linux
+ set -exo pipefail
+ export container_name
+ container_name=$(docker run \
+ -e BUILD_ENVIRONMENT \
+ -e MAX_JOBS="$(nproc --ignore=2)" \
+ -e AWS_DEFAULT_REGION \
+ -e PR_NUMBER \
+ -e SHA1 \
+ -e BRANCH \
+ -e SCCACHE_BUCKET \
+ -e SCCACHE_REGION \
+ -e SKIP_SCCACHE_INITIALIZATION=1 \
+ --env-file="/tmp/github_env_${GITHUB_RUN_ID}" \
+ --security-opt seccomp=unconfined \
+ --cap-add=SYS_PTRACE \
+ --tty \
+ --detach \
+ --user jenkins \
+ -w /var/lib/jenkins/workspace \
+ "${DOCKER_IMAGE}"
+ )
+ git submodule sync && git submodule update -q --init --recursive --depth 1
+ docker cp "${GITHUB_WORKSPACE}/." "${container_name}:/var/lib/jenkins/workspace"
+ (echo "sudo chown -R jenkins . && .ci/pytorch/build.sh && find ${BUILD_ROOT} -type f -name "*.a" -or -name "*.o" -delete" | docker exec -u jenkins -i "${container_name}" bash) 2>&1
+
+ # Copy install binaries back
+ mkdir -p "${GITHUB_WORKSPACE}/build_android_install_${MATRIX_ARCH}"
+ docker cp "${container_name}:/var/lib/jenkins/workspace/build_android/install" "${GITHUB_WORKSPACE}/build_android_install_${MATRIX_ARCH}"
+ echo "container_id=${container_name}" >> "${GITHUB_OUTPUT}"
diff --git a/.github/actions/checkout-pytorch/action.yml b/.github/actions/checkout-pytorch/action.yml
index 15f193ef3a5d..b64267fdf45c 100644
--- a/.github/actions/checkout-pytorch/action.yml
+++ b/.github/actions/checkout-pytorch/action.yml
@@ -57,6 +57,7 @@ runs:
submodules: ${{ inputs.submodules }}
show-progress: false
+<<<<<<< HEAD
- name: Clean submodules post checkout
id: clean-submodules
if: ${{ steps.check_container_runner.outputs.IN_CONTAINER_RUNNER == 'false' }}
@@ -72,6 +73,8 @@ runs:
git submodule foreach --recursive git clean -ffdx
fi
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: Clean workspace (try again)
if: ${{ steps.check_container_runner.outputs.IN_CONTAINER_RUNNER == 'false' &&
(steps.first-clean.outcome != 'success' || steps.first-checkout-attempt.outcome != 'success') }}
diff --git a/.github/actions/filter-test-configs/action.yml b/.github/actions/filter-test-configs/action.yml
index 338fc0c2a844..0fc3a4ac5304 100644
--- a/.github/actions/filter-test-configs/action.yml
+++ b/.github/actions/filter-test-configs/action.yml
@@ -70,7 +70,11 @@ runs:
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
+<<<<<<< HEAD
python3 -m pip install requests==2.27.1 pyyaml==6.0.2
+=======
+ python3 -m pip install requests==2.27.1 pyyaml==6.0.1
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: Parse ref
id: parse-ref
@@ -125,7 +129,11 @@ runs:
TAG: ${{ steps.parse-ref.outputs.tag }}
EVENT_NAME: ${{ github.event_name }}
SCHEDULE: ${{ github.event.schedule }}
+<<<<<<< HEAD
HEAD_BRANCH: ${{ steps.parse-ref.outputs.branch }}
+=======
+ HEAD_BRANCH: ${{ github.event.workflow_run.head_branch }}
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
id: filter
run: |
echo "Workflow: ${GITHUB_WORKFLOW}"
diff --git a/.github/actions/linux-test/action.yml b/.github/actions/linux-test/action.yml
index 32fe1d7385b1..df7e97849174 100644
--- a/.github/actions/linux-test/action.yml
+++ b/.github/actions/linux-test/action.yml
@@ -126,7 +126,11 @@ runs:
shell: bash
continue-on-error: true
run: |
+<<<<<<< HEAD
python3 -m pip install psutil==5.9.8 nvidia-ml-py==11.525.84
+=======
+ python3 -m pip install psutil==5.9.1 nvidia-ml-py==11.525.84
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
python3 -m tools.stats.monitor > usage_log.txt 2>&1 &
echo "monitor-script-pid=${!}" >> "${GITHUB_OUTPUT}"
diff --git a/.github/actions/reuse-old-whl/reuse_old_whl.py b/.github/actions/reuse-old-whl/reuse_old_whl.py
index def0276a9c8a..2cd832d2568f 100644
--- a/.github/actions/reuse-old-whl/reuse_old_whl.py
+++ b/.github/actions/reuse-old-whl/reuse_old_whl.py
@@ -304,7 +304,12 @@ def change_content_to_new_version(file: Union[str, Path]) -> None:
def set_output() -> None:
+<<<<<<< HEAD
print("Setting output reuse=true")
+=======
+ # Disable for now so we can monitor first
+ # pass
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if os.getenv("GITHUB_OUTPUT"):
with open(str(os.getenv("GITHUB_OUTPUT")), "a") as env:
print("reuse=true", file=env)
diff --git a/.github/actions/setup-rocm/action.yml b/.github/actions/setup-rocm/action.yml
index a58db801b1cf..053e25dba2d7 100644
--- a/.github/actions/setup-rocm/action.yml
+++ b/.github/actions/setup-rocm/action.yml
@@ -59,6 +59,14 @@ runs:
echo "$msg"
exit 1
fi
+<<<<<<< HEAD
+=======
+ if [[ $ngpu -eq 1 ]]; then
+ echo "Error: only 1 GPU detected, at least 2 GPUs are needed for distributed jobs"
+ echo "$msg"
+ exit 1
+ fi
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: Runner diskspace health check
uses: pytorch/pytorch/.github/actions/diskspace-cleanup@main
diff --git a/.github/actions/setup-win/action.yml b/.github/actions/setup-win/action.yml
index 2ea330f93b49..90850b5551ed 100644
--- a/.github/actions/setup-win/action.yml
+++ b/.github/actions/setup-win/action.yml
@@ -6,12 +6,15 @@ inputs:
cuda-version:
description: which cuda version to install, 'cpu' for none
required: true
+<<<<<<< HEAD
python-version:
required: false
type: string
default: "3.10"
description: |
The python version to be used. Will be 3.10 by default
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
runs:
using: composite
@@ -44,24 +47,34 @@ runs:
CONDA="C:\Jenkins\Miniconda3\condabin\conda.bat"
{
+<<<<<<< HEAD
echo "CONDA=${CONDA}";
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
echo "CONDA_RUN=${CONDA} run --no-capture-output";
echo "CONDA_BUILD=${CONDA} run conda-build";
echo "CONDA_INSTALL=${CONDA} install";
} >> "${GITHUB_ENV}"
- name: Setup Python3
+<<<<<<< HEAD
env:
PYTHON_VERSION: ${{ inputs.python-version }}
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
shell: bash
run: |
set +e
set -x
+<<<<<<< HEAD
# Create new py_tmp env with python-version
${CONDA} create -y -n py_tmp python=${PYTHON_VERSION} intel-openmp libuv
PYTHON3=$(${CONDA_RUN} -n py_tmp which python3)
+=======
+ PYTHON3=$(${CONDA_RUN} which python3)
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
EXIT_CODE=$?
if [[ "${EXIT_CODE}" == "0" ]]; then
@@ -74,7 +87,11 @@ runs:
# installation, which is Python 3 based. Its Python is default to Python 3. Further, there
# is also the Miniconda installation that is Python 2 based, and both can be installed if
# needed. In both cases, Python binary is just called python
+<<<<<<< HEAD
PYTHON=$(${CONDA_RUN} -n py_tmp which python)
+=======
+ PYTHON=$(${CONDA_RUN} which python)
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
EXIT_CODE=$?
if [[ "${EXIT_CODE}" == "0" ]]; then
diff --git a/.github/actions/test-pytorch-binary/action.yml b/.github/actions/test-pytorch-binary/action.yml
index d4b8be8b609a..70415bcaad20 100644
--- a/.github/actions/test-pytorch-binary/action.yml
+++ b/.github/actions/test-pytorch-binary/action.yml
@@ -24,6 +24,10 @@ runs:
-e PYTORCH_FINAL_PACKAGE_DIR \
-e PYTORCH_ROOT \
-e SKIP_ALL_TESTS \
+<<<<<<< HEAD
+=======
+ -e USE_SPLIT_BUILD \
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
--tty \
--detach \
-v "${GITHUB_WORKSPACE}/pytorch:/pytorch" \
diff --git a/.github/ci_commit_pins/audio.txt b/.github/ci_commit_pins/audio.txt
index b0255e764c59..12b16c097bbb 100644
--- a/.github/ci_commit_pins/audio.txt
+++ b/.github/ci_commit_pins/audio.txt
@@ -1 +1,5 @@
+<<<<<<< HEAD
27fc2493d383354a008106f22f3be232badee9a1
+=======
+4e94321c54617dd738a05bfedfc28bc0fa635b5c
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/.github/ci_commit_pins/fbgemm_rocm.txt b/.github/ci_commit_pins/fbgemm_rocm.txt
index db140a31f3fa..f743b45aa493 100644
--- a/.github/ci_commit_pins/fbgemm_rocm.txt
+++ b/.github/ci_commit_pins/fbgemm_rocm.txt
@@ -1 +1,5 @@
+<<<<<<< HEAD
7f1de94a4c2d14f59ad4ca84538c36084ea6b2c8
+=======
+5fb5024118e9bb9decf96c2b0b1a8f0010bf56be
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/.github/ci_commit_pins/torchbench.txt b/.github/ci_commit_pins/torchbench.txt
new file mode 100644
index 000000000000..efbc3ceeb2af
--- /dev/null
+++ b/.github/ci_commit_pins/torchbench.txt
@@ -0,0 +1 @@
+e03a63be43e33596f7f0a43b0f530353785e4a59
diff --git a/.github/ci_commit_pins/xla.txt b/.github/ci_commit_pins/xla.txt
index ee530f8c8b21..c714bf1cf1d2 100644
--- a/.github/ci_commit_pins/xla.txt
+++ b/.github/ci_commit_pins/xla.txt
@@ -1 +1,5 @@
+<<<<<<< HEAD
r2.9
+=======
+r2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/.github/label_to_label.yml b/.github/label_to_label.yml
index 0cd56143535f..4b0df90713fd 100644
--- a/.github/label_to_label.yml
+++ b/.github/label_to_label.yml
@@ -48,6 +48,7 @@
- "module: dynamic shapes"
then:
- "oncall: pt2"
+<<<<<<< HEAD
- any:
- "release notes: distributed (c10d)"
- "release notes: distributed (symm_mem)"
@@ -57,3 +58,5 @@
- "oncall: distributed"
then:
- "ciflow/h100-distributed"
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/.github/merge_rules.yaml b/.github/merge_rules.yaml
index 354381755ce5..8cb3e2192024 100644
--- a/.github/merge_rules.yaml
+++ b/.github/merge_rules.yaml
@@ -76,7 +76,10 @@
- .github/ci_commit_pins/audio.txt
- .github/ci_commit_pins/vision.txt
- .github/ci_commit_pins/torchdynamo.txt
+<<<<<<< HEAD
- .github/ci_commit_pins/vllm.txt
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- .ci/docker/ci_commit_pins/triton.txt
approved_by:
- pytorchbot
@@ -131,6 +134,24 @@
- Lint
- pull
+<<<<<<< HEAD
+=======
+- name: Mobile
+ patterns:
+ - ios/**
+ - android/**
+ - test/mobile/**
+ approved_by:
+ - linbinyu
+ - IvanKobzarev
+ - dreiss
+ - raziel
+ mandatory_checks_name:
+ - EasyCLA
+ - Lint
+ - pull
+
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: PrimTorch
patterns:
- torch/_meta_registrations.py
@@ -370,7 +391,10 @@
- leslie-fang-intel
- jgong5
- EikanWang
+<<<<<<< HEAD
- CaoE
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
mandatory_checks_name:
- EasyCLA
- Lint
@@ -422,7 +446,10 @@
approved_by:
- leslie-fang-intel
- jgong5
+<<<<<<< HEAD
- CaoE
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
mandatory_checks_name:
- EasyCLA
- Lint
@@ -477,6 +504,7 @@
- srossross
- chillee
- zou3519
+<<<<<<< HEAD
- guilhermeleobas
mandatory_checks_name:
- EasyCLA
@@ -494,6 +522,8 @@
- test/inductor_skips/**
approved_by:
- guilhermeleobas
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
mandatory_checks_name:
- EasyCLA
- Lint
diff --git a/.github/pytorch-probot.yml b/.github/pytorch-probot.yml
index a0aa6921b92b..d5c53c1ab0da 100644
--- a/.github/pytorch-probot.yml
+++ b/.github/pytorch-probot.yml
@@ -4,7 +4,10 @@ ciflow_push_tags:
- ciflow/binaries
- ciflow/binaries_libtorch
- ciflow/binaries_wheel
+<<<<<<< HEAD
- ciflow/triton_binaries
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- ciflow/inductor
- ciflow/inductor-periodic
- ciflow/inductor-rocm
@@ -22,20 +25,29 @@ ciflow_push_tags:
- ciflow/rocm
- ciflow/rocm-mi300
- ciflow/s390
+<<<<<<< HEAD
- ciflow/riscv64
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- ciflow/slow
- ciflow/trunk
- ciflow/unstable
- ciflow/xpu
+<<<<<<< HEAD
- ciflow/vllm
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- ciflow/torchbench
- ciflow/op-benchmark
- ciflow/pull
- ciflow/h100
- ciflow/h100-distributed
+<<<<<<< HEAD
- ciflow/win-arm64
- ciflow/h100-symm-mem
- ciflow/h100-cutlass-backend
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
retryable_workflows:
- pull
- trunk
diff --git a/.github/requirements-gha-cache.txt b/.github/requirements-gha-cache.txt
index c274ca1e5914..e4085fcc6adb 100644
--- a/.github/requirements-gha-cache.txt
+++ b/.github/requirements-gha-cache.txt
@@ -1,15 +1,28 @@
# This file is to cache other dependencies not specified elsewhere in:
+<<<<<<< HEAD
# requirements.txt
# requirements-build.txt
+=======
+# requirement.txt
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# docs/requirements.txt
# docs/cpp/requirements.txt
# functorch/docs/requirements.txt
# .ci/docker/requirements-ci.txt
boto3==1.35.42
jinja2==3.1.6
+<<<<<<< HEAD
lintrunner==0.12.7
ninja==1.10.0.post1
nvidia-ml-py==11.525.84
pyyaml==6.0.2
requests==2.32.4
rich==14.1.0
+=======
+lintrunner==0.10.7
+ninja==1.10.0.post1
+nvidia-ml-py==11.525.84
+pyyaml==6.0
+requests==2.32.4
+rich==10.9.0
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/.github/requirements/conda-env-macOS-ARM64 b/.github/requirements/conda-env-macOS-ARM64
new file mode 100644
index 000000000000..b6e9a6ce9f3e
--- /dev/null
+++ b/.github/requirements/conda-env-macOS-ARM64
@@ -0,0 +1,5 @@
+# Not pinning certifi so that we can always get the latest certificates
+certifi
+pip=23.2.1
+pkg-config=0.29.2
+wheel=0.37.1
diff --git a/.github/requirements/pip-requirements-macOS.txt b/.github/requirements/pip-requirements-macOS.txt
index 3a27cac46f71..ee8d9a5bb4e3 100644
--- a/.github/requirements/pip-requirements-macOS.txt
+++ b/.github/requirements/pip-requirements-macOS.txt
@@ -2,7 +2,11 @@ boto3==1.35.42
cmake==3.27.*
expecttest==0.3.0
fbscribelogger==0.1.7
+<<<<<<< HEAD
filelock==3.18.0
+=======
+filelock==3.6.0
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
hypothesis==6.56.4
librosa>=0.6.2
mpmath==1.3.0
@@ -16,7 +20,11 @@ packaging==23.1
parameterized==0.8.1
pillow==10.3.0
protobuf==5.29.4
+<<<<<<< HEAD
psutil==5.9.8
+=======
+psutil==5.9.1
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
pygments==2.15.0
pytest-cpp==2.3.0
pytest-flakefinder==1.1.0
@@ -28,9 +36,17 @@ pyyaml==6.0.2
scipy==1.12.0
setuptools==72.1.0
sympy==1.13.3
+<<<<<<< HEAD
tlparse==0.4.0
+=======
+tlparse==0.3.30
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
tensorboard==2.13.0
typing-extensions==4.12.2
unittest-xml-reporting<=3.2.0,>=2.0.0
xdoctest==1.1.0
+<<<<<<< HEAD
z3-solver==4.15.1.0
+=======
+z3-solver==4.12.2.0
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/.github/scripts/build_triton_wheel.py b/.github/scripts/build_triton_wheel.py
index 11fa8404273d..6109ee8585f2 100644
--- a/.github/scripts/build_triton_wheel.py
+++ b/.github/scripts/build_triton_wheel.py
@@ -1,6 +1,7 @@
#!/usr/bin/env python3
import os
+import re
import shutil
import sys
from pathlib import Path
@@ -50,6 +51,30 @@ def patch_init_py(
with open(path, "w") as f:
f.write(orig)
+def get_rocm_version() -> str:
+ rocm_path = os.environ.get('ROCM_HOME') or os.environ.get('ROCM_PATH') or "/opt/rocm"
+ rocm_version = "0.0.0"
+ rocm_version_h = f"{rocm_path}/include/rocm-core/rocm_version.h"
+ if not os.path.isfile(rocm_version_h):
+ rocm_version_h = f"{rocm_path}/include/rocm_version.h"
+ # The file could be missing due to 1) ROCm version < 5.2, or 2) no ROCm install.
+ if os.path.isfile(rocm_version_h):
+ RE_MAJOR = re.compile(r"#define\s+ROCM_VERSION_MAJOR\s+(\d+)")
+ RE_MINOR = re.compile(r"#define\s+ROCM_VERSION_MINOR\s+(\d+)")
+ RE_PATCH = re.compile(r"#define\s+ROCM_VERSION_PATCH\s+(\d+)")
+ major, minor, patch = 0, 0, 0
+ for line in open(rocm_version_h):
+ match = RE_MAJOR.search(line)
+ if match:
+ major = int(match.group(1))
+ match = RE_MINOR.search(line)
+ if match:
+ minor = int(match.group(1))
+ match = RE_PATCH.search(line)
+ if match:
+ patch = int(match.group(1))
+ rocm_version = str(major)+"."+str(minor)+"."+str(patch)
+ return rocm_version
def build_triton(
*,
@@ -64,14 +89,24 @@ def build_triton(
if "MAX_JOBS" not in env:
max_jobs = os.cpu_count() or 1
env["MAX_JOBS"] = str(max_jobs)
-
+ if not release:
+ # Nightly binaries include the triton commit hash, i.e. 2.1.0+e6216047b8
+ # while release build should only include the version, i.e. 2.1.0
+ rocm_version = get_rocm_version()
+ version_suffix = f"+rocm{rocm_version}.git{commit_hash[:8]}"
+ version += version_suffix
with TemporaryDirectory() as tmpdir:
triton_basedir = Path(tmpdir) / "triton"
triton_pythondir = triton_basedir / "python"
triton_repo = "https://github.com/openai/triton"
if device == "rocm":
- triton_pkg_name = "pytorch-triton-rocm"
+ triton_repo = "https://github.com/ROCm/triton"
+ rocm_version = get_rocm_version() # e.g., "7.0.1"
+ if tuple(map(int, rocm_version.split("."))) > (7, 0, 0):
+ triton_pkg_name = "triton"
+ else:
+ triton_pkg_name = "pytorch-triton-rocm"
elif device == "xpu":
triton_pkg_name = "pytorch-triton-xpu"
triton_repo = "https://github.com/intel/intel-xpu-backend-for-triton"
@@ -84,11 +119,15 @@ def build_triton(
["git", "checkout", f"release/{ver}.{rev}.x"], cwd=triton_basedir
)
else:
+<<<<<<< HEAD
check_call(["git", "fetch", "origin", commit_hash], cwd=triton_basedir)
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
check_call(["git", "checkout", commit_hash], cwd=triton_basedir)
# change built wheel name and version
env["TRITON_WHEEL_NAME"] = triton_pkg_name
+ env["TRITON_WHEEL_VERSION_SUFFIX"] = version_suffix
if with_clang_ldd:
env["TRITON_BUILD_WITH_CLANG_LLD"] = "1"
diff --git a/.github/scripts/delete_old_branches.py b/.github/scripts/delete_old_branches.py
index 8032008edf12..63a82ca1b3dd 100644
--- a/.github/scripts/delete_old_branches.py
+++ b/.github/scripts/delete_old_branches.py
@@ -275,7 +275,11 @@ def delete_branches() -> None:
delete_branch(git_repo, branch)
+<<<<<<< HEAD
def delete_old_tags() -> None:
+=======
+def delete_old_ciflow_tags() -> None:
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# Deletes ciflow tags if they are associated with a closed PR or a specific
# commit. Lightweight tags don't have information about the date they were
# created, so we can't check how old they are. The script just assumes that
@@ -288,14 +292,20 @@ def delete_tag(tag: str) -> None:
delete_branch(git_repo, f"refs/tags/{tag}")
tags = git_repo._run_git("tag").splitlines()
+<<<<<<< HEAD
CIFLOW_TAG_REGEX = re.compile(r"^ciflow\/.*\/(\d{5,6}|[0-9a-f]{40})$")
AUTO_REVERT_TAG_REGEX = re.compile(r"^trunk\/[0-9a-f]{40}$")
+=======
+ open_pr_numbers = [x["number"] for x in get_open_prs()]
+
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
for tag in tags:
try:
if ESTIMATED_TOKENS[0] > 400:
print("Estimated tokens exceeded, exiting")
break
+<<<<<<< HEAD
if not CIFLOW_TAG_REGEX.match(tag) and not AUTO_REVERT_TAG_REGEX.match(tag):
continue
@@ -311,6 +321,18 @@ def delete_tag(tag: str) -> None:
if tag_age_days > 7:
print(f"[{tag}] Tag is older than 7 days, deleting")
+=======
+ if not tag.startswith("ciflow/"):
+ continue
+ re_match_pr = re.match(r"^ciflow\/.*\/(\d{5,6})$", tag)
+ re_match_sha = re.match(r"^ciflow\/.*\/([0-9a-f]{40})$", tag)
+ if re_match_pr:
+ pr_number = int(re_match_pr.group(1))
+ if pr_number in open_pr_numbers:
+ continue
+ delete_tag(tag)
+ elif re_match_sha:
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
delete_tag(tag)
except Exception as e:
print(f"Failed to check tag {tag}: {e}")
@@ -318,4 +340,8 @@ def delete_tag(tag: str) -> None:
if __name__ == "__main__":
delete_branches()
+<<<<<<< HEAD
delete_old_tags()
+=======
+ delete_old_ciflow_tags()
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/.github/scripts/filter_test_configs.py b/.github/scripts/filter_test_configs.py
index dd16dbc18db2..99c8e6ff3d94 100755
--- a/.github/scripts/filter_test_configs.py
+++ b/.github/scripts/filter_test_configs.py
@@ -18,7 +18,10 @@
REENABLE_TEST_REGEX = "(?i)(Close(d|s)?|Resolve(d|s)?|Fix(ed|es)?) (#|https://github.com/pytorch/pytorch/issues/)([0-9]+)"
+<<<<<<< HEAD
MAIN_BRANCH = "main"
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
PREFIX = "test-config/"
@@ -41,9 +44,15 @@ def is_cuda_or_rocm_job(job_name: Optional[str]) -> bool:
}
# The link to the published list of disabled jobs
+<<<<<<< HEAD
DISABLED_JOBS_URL = "https://ossci-metrics.s3.amazonaws.com/disabled-jobs.json?versionId=hjktHz2WOejHpxKpkqpDknTt5rMTM9KK"
# and unstable jobs
UNSTABLE_JOBS_URL = "https://ossci-metrics.s3.amazonaws.com/unstable-jobs.json?versionId=wrjdvvQTJxgvMO.rGw5MEuMsj6XbjuV7"
+=======
+DISABLED_JOBS_URL = "https://ossci-metrics.s3.amazonaws.com/disabled-jobs.json?versionId=HnkH0xQWnnsoeMsSIVf9291NE5c4jWSa"
+# and unstable jobs
+UNSTABLE_JOBS_URL = "https://ossci-metrics.s3.amazonaws.com/unstable-jobs.json?versionId=iP_F8gBs60PfOMAJ8gnn1paVrzM1WYsK"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# Some constants used to handle disabled and unstable jobs
JOB_NAME_SEP = "/"
@@ -98,7 +107,11 @@ def parse_args() -> Any:
parser.add_argument(
"--branch",
type=str,
+<<<<<<< HEAD
default=MAIN_BRANCH,
+=======
+ default="main",
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
help="the branch name",
)
return parser.parse_args()
@@ -457,7 +470,10 @@ def download_json(url: str, headers: dict[str, str], num_retries: int = 3) -> An
def set_output(name: str, val: Any) -> None:
+<<<<<<< HEAD
print(f"Setting output {name}={val}")
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if os.getenv("GITHUB_OUTPUT"):
with open(str(os.getenv("GITHUB_OUTPUT")), "a") as env:
print(f"{name}={val}", file=env)
@@ -497,20 +513,28 @@ def check_for_setting(labels: set[str], body: str, setting: str) -> bool:
def perform_misc_tasks(
+<<<<<<< HEAD
labels: set[str],
test_matrix: dict[str, list[Any]],
job_name: str,
pr_body: str,
branch: Optional[str] = None,
+=======
+ labels: set[str], test_matrix: dict[str, list[Any]], job_name: str, pr_body: str
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
) -> None:
"""
In addition to apply the filter logic, the script also does the following
misc tasks to set keep-going and is-unstable variables
"""
+<<<<<<< HEAD
set_output(
"keep-going",
branch == MAIN_BRANCH or check_for_setting(labels, pr_body, "keep-going"),
)
+=======
+ set_output("keep-going", check_for_setting(labels, pr_body, "keep-going"))
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
set_output(
"ci-verbose-test-logs",
check_for_setting(labels, pr_body, "ci-verbose-test-logs"),
@@ -633,7 +657,10 @@ def main() -> None:
test_matrix=filtered_test_matrix,
job_name=args.job_name,
pr_body=pr_body if pr_body else "",
+<<<<<<< HEAD
branch=args.branch,
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
)
# Set the filtered test matrix as the output
diff --git a/.github/scripts/generate_binary_build_matrix.py b/.github/scripts/generate_binary_build_matrix.py
index 4dc97ee6a284..0bd76fc0d01d 100644
--- a/.github/scripts/generate_binary_build_matrix.py
+++ b/.github/scripts/generate_binary_build_matrix.py
@@ -16,17 +16,29 @@
# NOTE: Please also update the CUDA sources in `PIP_SOURCES` in tools/nightly.py when changing this
+<<<<<<< HEAD
CUDA_ARCHES = ["12.6", "12.8", "13.0"]
+=======
+CUDA_ARCHES = ["12.6", "12.8", "12.9"]
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
CUDA_STABLE = "12.8"
CUDA_ARCHES_FULL_VERSION = {
"12.6": "12.6.3",
"12.8": "12.8.1",
+<<<<<<< HEAD
"13.0": "13.0.0",
+=======
+ "12.9": "12.9.1",
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
}
CUDA_ARCHES_CUDNN_VERSION = {
"12.6": "9",
"12.8": "9",
+<<<<<<< HEAD
"13.0": "9",
+=======
+ "12.9": "9",
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
}
# NOTE: Please also update the ROCm sources in `PIP_SOURCES` in tools/nightly.py when changing this
@@ -38,11 +50,16 @@
CPU_S390X_ARCH = ["cpu-s390x"]
+<<<<<<< HEAD
CUDA_AARCH64_ARCHES = ["12.6-aarch64", "12.8-aarch64", "13.0-aarch64"]
+=======
+CUDA_AARCH64_ARCHES = ["12.9-aarch64"]
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
PYTORCH_EXTRA_INSTALL_REQUIREMENTS = {
"12.6": (
+<<<<<<< HEAD
"nvidia-cuda-nvrtc-cu12==12.6.77; platform_system == 'Linux' | "
"nvidia-cuda-runtime-cu12==12.6.77; platform_system == 'Linux' | "
"nvidia-cuda-cupti-cu12==12.6.80; platform_system == 'Linux' | "
@@ -114,6 +131,76 @@
"tcmlib==1.4.0 | "
"umf==0.11.0 | "
"intel-pti==0.13.1"
+=======
+ "nvidia-cuda-nvrtc-cu12==12.6.77; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "nvidia-cuda-runtime-cu12==12.6.77; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "nvidia-cuda-cupti-cu12==12.6.80; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "nvidia-cublas-cu12==12.6.4.1; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "nvidia-cufft-cu12==11.3.0.4; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "nvidia-curand-cu12==10.3.7.77; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "nvidia-cusolver-cu12==11.7.1.2; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "nvidia-cusparse-cu12==12.5.4.2; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "nvidia-nccl-cu12==2.27.3; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "nvidia-nvtx-cu12==12.6.77; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "nvidia-nvjitlink-cu12==12.6.85; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "nvidia-cufile-cu12==1.11.1.6; platform_system == 'Linux' and platform_machine == 'x86_64'"
+ ),
+ "12.8": (
+ "nvidia-cuda-nvrtc-cu12==12.8.93; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "nvidia-cuda-runtime-cu12==12.8.90; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "nvidia-cuda-cupti-cu12==12.8.90; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "nvidia-cublas-cu12==12.8.4.1; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "nvidia-cufft-cu12==11.3.3.83; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "nvidia-curand-cu12==10.3.9.90; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "nvidia-cusolver-cu12==11.7.3.90; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "nvidia-cusparse-cu12==12.5.8.93; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "nvidia-nccl-cu12==2.27.3; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "nvidia-nvtx-cu12==12.8.90; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "nvidia-nvjitlink-cu12==12.8.93; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "nvidia-cufile-cu12==1.13.1.3; platform_system == 'Linux' and platform_machine == 'x86_64'"
+ ),
+ "12.9": (
+ "nvidia-cuda-nvrtc-cu12==12.9.86; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "nvidia-cuda-runtime-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "nvidia-cuda-cupti-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "nvidia-cublas-cu12==12.9.1.4; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "nvidia-cufft-cu12==11.4.1.4; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "nvidia-curand-cu12==10.3.10.19; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "nvidia-cusolver-cu12==11.7.5.82; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "nvidia-cusparse-cu12==12.5.10.65; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "nvidia-nccl-cu12==2.27.3; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "nvidia-nvtx-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "nvidia-nvjitlink-cu12==12.9.86; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "nvidia-cufile-cu12==1.14.1.1; platform_system == 'Linux' and platform_machine == 'x86_64'"
+ ),
+ "xpu": (
+ "intel-cmplr-lib-rt==2025.1.1 | "
+ "intel-cmplr-lib-ur==2025.1.1 | "
+ "intel-cmplr-lic-rt==2025.1.1 | "
+ "intel-sycl-rt==2025.1.1 | "
+ "oneccl-devel==2021.15.2; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "oneccl==2021.15.2; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "impi-rt==2021.15.0; platform_system == 'Linux' and platform_machine == 'x86_64' | "
+ "onemkl-sycl-blas==2025.1.0 | "
+ "onemkl-sycl-dft==2025.1.0 | "
+ "onemkl-sycl-lapack==2025.1.0 | "
+ "onemkl-sycl-rng==2025.1.0 | "
+ "onemkl-sycl-sparse==2025.1.0 | "
+ "dpcpp-cpp-rt==2025.1.1 | "
+ "intel-opencl-rt==2025.1.1 | "
+ "mkl==2025.1.0 | "
+ "intel-openmp==2025.1.1 | "
+ "tbb==2022.1.0 | "
+ "tcmlib==1.3.0 | "
+ "umf==0.10.0 | "
+ "intel-pti==0.12.3"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
),
}
@@ -124,7 +211,13 @@ def get_nccl_wheel_version(arch_version: str) -> str:
requirements = map(
str.strip, re.split("[;|]", PYTORCH_EXTRA_INSTALL_REQUIREMENTS[arch_version])
)
+<<<<<<< HEAD
return next(x for x in requirements if x.startswith("nvidia-nccl")).split("==")[1]
+=======
+ return next(x for x in requirements if x.startswith("nvidia-nccl-cu")).split("==")[
+ 1
+ ]
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
def read_nccl_pin(arch_version: str) -> str:
@@ -191,7 +284,11 @@ def arch_type(arch_version: str) -> str:
"cpu": "libtorch-cxx11-builder:cpu",
}
+<<<<<<< HEAD
FULL_PYTHON_VERSIONS = ["3.10", "3.11", "3.12", "3.13", "3.13t", "3.14", "3.14t"]
+=======
+FULL_PYTHON_VERSIONS = ["3.9", "3.10", "3.11", "3.12", "3.13", "3.13t"]
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
def translate_desired_cuda(gpu_arch_type: str, gpu_arch_version: str) -> str:
@@ -271,6 +368,10 @@ def generate_wheels_matrix(
os: str,
arches: Optional[list[str]] = None,
python_versions: Optional[list[str]] = None,
+<<<<<<< HEAD
+=======
+ use_split_build: bool = False,
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
) -> list[dict[str, str]]:
package_type = "wheel"
if os == "linux" or os == "linux-aarch64" or os == "linux-s390x":
@@ -309,6 +410,7 @@ def generate_wheels_matrix(
else arch_version
)
+<<<<<<< HEAD
# TODO: Enable python 3.14 for rest
if os not in [
"linux",
@@ -323,6 +425,25 @@ def generate_wheels_matrix(
if (
arch_version in ["13.0", "12.8", "12.6"]
+=======
+ # TODO: Enable python 3.13t on cpu-s390x
+ if gpu_arch_type == "cpu-s390x" and python_version == "3.13t":
+ continue
+
+ if use_split_build and (
+ arch_version not in ["12.6", "12.8", "12.9", "cpu"] or os != "linux"
+ ):
+ raise RuntimeError(
+ "Split build is only supported on linux with cuda 12* and cpu.\n"
+ f"Currently attempting to build on arch version {arch_version} and os {os}.\n"
+ "Please modify the matrix generation to exclude this combination."
+ )
+
+ # cuda linux wheels require PYTORCH_EXTRA_INSTALL_REQUIREMENTS to install
+
+ if (
+ arch_version in ["12.9", "12.8", "12.6"]
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
and os == "linux"
or arch_version in CUDA_AARCH64_ARCHES
):
@@ -333,6 +454,10 @@ def generate_wheels_matrix(
"gpu_arch_type": gpu_arch_type,
"gpu_arch_version": gpu_arch_version,
"desired_cuda": desired_cuda,
+<<<<<<< HEAD
+=======
+ "use_split_build": "True" if use_split_build else "False",
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
"container_image": WHEEL_CONTAINER_IMAGES[arch_version].split(
":"
)[0],
@@ -355,6 +480,33 @@ def generate_wheels_matrix(
), # include special case for aarch64 build, remove the -aarch64 postfix
}
)
+<<<<<<< HEAD
+=======
+ # Special build building to use on Colab. Python 3.11 for 12.6 CUDA
+ if python_version == "3.11" and arch_version == CUDA_STABLE:
+ ret.append(
+ {
+ "python_version": python_version,
+ "gpu_arch_type": gpu_arch_type,
+ "gpu_arch_version": gpu_arch_version,
+ "desired_cuda": translate_desired_cuda(
+ gpu_arch_type, gpu_arch_version
+ ),
+ "use_split_build": "True" if use_split_build else "False",
+ "container_image": WHEEL_CONTAINER_IMAGES[
+ arch_version
+ ].split(":")[0],
+ "container_image_tag_prefix": WHEEL_CONTAINER_IMAGES[
+ arch_version
+ ].split(":")[1],
+ "package_type": package_type,
+ "pytorch_extra_install_requirements": "",
+ "build_name": f"{package_type}-py{python_version}-{gpu_arch_type}{gpu_arch_version}-full".replace( # noqa: B950
+ ".", "_"
+ ),
+ }
+ )
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
else:
ret.append(
{
@@ -364,6 +516,10 @@ def generate_wheels_matrix(
"desired_cuda": translate_desired_cuda(
gpu_arch_type, gpu_arch_version
),
+<<<<<<< HEAD
+=======
+ "use_split_build": "True" if use_split_build else "False",
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
"container_image": WHEEL_CONTAINER_IMAGES[arch_version].split(
":"
)[0],
@@ -385,6 +541,10 @@ def generate_wheels_matrix(
return ret
+<<<<<<< HEAD
validate_nccl_dep_consistency("13.0")
+=======
+validate_nccl_dep_consistency("12.9")
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
validate_nccl_dep_consistency("12.8")
validate_nccl_dep_consistency("12.6")
diff --git a/.github/scripts/generate_ci_workflows.py b/.github/scripts/generate_ci_workflows.py
index 0396c405ad0a..542e6a70e4a9 100755
--- a/.github/scripts/generate_ci_workflows.py
+++ b/.github/scripts/generate_ci_workflows.py
@@ -22,7 +22,10 @@
LABEL_CIFLOW_PERIODIC = "ciflow/periodic"
LABEL_CIFLOW_BINARIES_LIBTORCH = "ciflow/binaries_libtorch"
LABEL_CIFLOW_BINARIES_WHEEL = "ciflow/binaries_wheel"
+<<<<<<< HEAD
LABEL_CIFLOW_ROCM = "ciflow/rocm"
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
@dataclass
@@ -59,7 +62,13 @@ class BinaryBuildWorkflow:
is_scheduled: str = ""
branches: str = "nightly"
# Mainly for macos
+<<<<<<< HEAD
macos_runner: str = "macos-14-xlarge"
+=======
+ cross_compile_arm64: bool = False
+ macos_runner: str = "macos-14-xlarge"
+ use_split_build: bool = False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# Mainly used for libtorch builds
build_variant: str = ""
@@ -70,6 +79,12 @@ def __post_init__(self) -> None:
for item in [self.os, "binary", self.package_type, self.build_variant]
if item != ""
)
+<<<<<<< HEAD
+=======
+ if self.use_split_build:
+ # added to distinguish concurrency groups
+ self.build_environment += "-split"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
def generate_workflow_file(self, workflow_template: jinja2.Template) -> None:
output_file_path = (
@@ -112,6 +127,24 @@ class OperatingSystem:
isolated_workflow=True,
),
),
+<<<<<<< HEAD
+=======
+ # See https://github.com/pytorch/pytorch/issues/138750
+ # BinaryBuildWorkflow(
+ # os=OperatingSystem.LINUX,
+ # package_type="manywheel",
+ # build_configs=generate_binary_build_matrix.generate_wheels_matrix(
+ # OperatingSystem.LINUX,
+ # use_split_build=True,
+ # arches=["11.8", "12.1", "12.4", "cpu"],
+ # ),
+ # ciflow_config=CIFlowConfig(
+ # labels={LABEL_CIFLOW_BINARIES, LABEL_CIFLOW_BINARIES_WHEEL},
+ # isolated_workflow=True,
+ # ),
+ # use_split_build=True,
+ # ),
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
BinaryBuildWorkflow(
os=OperatingSystem.LINUX,
package_type="libtorch",
@@ -127,6 +160,7 @@ class OperatingSystem:
),
]
+<<<<<<< HEAD
ROCM_SMOKE_WORKFLOWS = [
BinaryBuildWorkflow(
os=OperatingSystem.LINUX,
@@ -149,17 +183,43 @@ class OperatingSystem:
),
]
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
LINUX_BINARY_SMOKE_WORKFLOWS = [
BinaryBuildWorkflow(
os=OperatingSystem.LINUX,
package_type="manywheel",
build_configs=generate_binary_build_matrix.generate_wheels_matrix(
OperatingSystem.LINUX,
+<<<<<<< HEAD
arches=["12.8"],
python_versions=["3.12"],
),
branches="main",
),
+=======
+ arches=["12.6", "12.8", "12.9", "6.4"],
+ python_versions=["3.9"],
+ ),
+ branches="main",
+ ),
+ # See https://github.com/pytorch/pytorch/issues/138750
+ # BinaryBuildWorkflow(
+ # os=OperatingSystem.LINUX,
+ # package_type="manywheel",
+ # build_configs=generate_binary_build_matrix.generate_wheels_matrix(
+ # OperatingSystem.LINUX,
+ # arches=["11.8", "12.1", "12.4"],
+ # python_versions=["3.9"],
+ # use_split_build=True,
+ # ),
+ # ciflow_config=CIFlowConfig(
+ # labels={LABEL_CIFLOW_PERIODIC},
+ # ),
+ # branches="main",
+ # use_split_build=True,
+ # ),
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
BinaryBuildWorkflow(
os=OperatingSystem.LINUX,
package_type="libtorch",
@@ -302,6 +362,10 @@ class OperatingSystem:
generate_binary_build_matrix.RELEASE,
libtorch_variants=["shared-with-deps"],
),
+<<<<<<< HEAD
+=======
+ cross_compile_arm64=False,
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
macos_runner="macos-14-xlarge",
ciflow_config=CIFlowConfig(
labels={LABEL_CIFLOW_BINARIES, LABEL_CIFLOW_BINARIES_LIBTORCH},
@@ -314,6 +378,10 @@ class OperatingSystem:
build_configs=generate_binary_build_matrix.generate_wheels_matrix(
OperatingSystem.MACOS_ARM64
),
+<<<<<<< HEAD
+=======
+ cross_compile_arm64=False,
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
macos_runner="macos-14-xlarge",
ciflow_config=CIFlowConfig(
labels={LABEL_CIFLOW_BINARIES, LABEL_CIFLOW_BINARIES_WHEEL},
@@ -373,11 +441,14 @@ def main() -> None:
S390X_BINARY_BUILD_WORKFLOWS,
),
(
+<<<<<<< HEAD
# Give rocm it's own workflow file
jinja_env.get_template("linux_binary_build_workflow.yml.j2"),
ROCM_SMOKE_WORKFLOWS,
),
(
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
jinja_env.get_template("linux_binary_build_workflow.yml.j2"),
LINUX_BINARY_SMOKE_WORKFLOWS,
),
diff --git a/.github/scripts/get_workflow_job_id.py b/.github/scripts/get_workflow_job_id.py
index b04cbed76e95..bf8e66953109 100644
--- a/.github/scripts/get_workflow_job_id.py
+++ b/.github/scripts/get_workflow_job_id.py
@@ -136,10 +136,17 @@ def find_job_id_name(args: Any) -> tuple[str, str]:
def set_output(name: str, val: Any) -> None:
+<<<<<<< HEAD
print(f"Setting output {name}={val}")
if os.getenv("GITHUB_OUTPUT"):
with open(str(os.getenv("GITHUB_OUTPUT")), "a") as env:
print(f"{name}={val}", file=env)
+=======
+ if os.getenv("GITHUB_OUTPUT"):
+ with open(str(os.getenv("GITHUB_OUTPUT")), "a") as env:
+ print(f"{name}={val}", file=env)
+ print(f"setting {name}={val}")
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
else:
print(f"::set-output name={name}::{val}")
diff --git a/.github/scripts/lintrunner.sh b/.github/scripts/lintrunner.sh
index b353617a45b2..cd04147193c6 100755
--- a/.github/scripts/lintrunner.sh
+++ b/.github/scripts/lintrunner.sh
@@ -2,7 +2,11 @@
set -ex
# Use uv to speed up lintrunner init
+<<<<<<< HEAD
python3 -m pip install -U uv==0.8.* setuptools
+=======
+python3 -m pip install uv==0.1.45 setuptools
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
CACHE_DIRECTORY="/tmp/.lintbin"
# Try to recover the cached binaries
diff --git a/.github/scripts/parse_ref.py b/.github/scripts/parse_ref.py
index e821750a49e1..05433caa11ef 100755
--- a/.github/scripts/parse_ref.py
+++ b/.github/scripts/parse_ref.py
@@ -5,7 +5,10 @@
def set_output(name: str, val: str) -> None:
+<<<<<<< HEAD
print(f"Setting output {name}={val}")
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if os.getenv("GITHUB_OUTPUT"):
with open(str(os.getenv("GITHUB_OUTPUT")), "a") as env:
print(f"{name}={val}", file=env)
diff --git a/.github/scripts/runner_determinator.py b/.github/scripts/runner_determinator.py
index baf560234549..9af3be41dd65 100644
--- a/.github/scripts/runner_determinator.py
+++ b/.github/scripts/runner_determinator.py
@@ -262,12 +262,16 @@ def is_exception_branch(branch: str) -> bool:
"""
Branches that get opted out of experiments by default, until they're explicitly enabled.
"""
+<<<<<<< HEAD
return branch.split("/", maxsplit=1)[0] in {
"main",
"nightly",
"release",
"landchecks",
}
+=======
+ return branch.split("/")[0] in {"main", "nightly", "release", "landchecks"}
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
def load_yaml(yaml_text: str) -> Any:
diff --git a/.github/scripts/tag_docker_images_for_release.py b/.github/scripts/tag_docker_images_for_release.py
new file mode 100644
index 000000000000..b2bf474575f6
--- /dev/null
+++ b/.github/scripts/tag_docker_images_for_release.py
@@ -0,0 +1,64 @@
+import argparse
+import subprocess
+
+import generate_binary_build_matrix
+
+
+def tag_image(
+ image: str,
+ default_tag: str,
+ release_version: str,
+ dry_run: str,
+ tagged_images: dict[str, bool],
+) -> None:
+ if image in tagged_images:
+ return
+ release_image = image.replace(f"-{default_tag}", f"-{release_version}")
+ print(f"Tagging {image} to {release_image} , dry_run: {dry_run}")
+
+ if dry_run == "disabled":
+ subprocess.check_call(["docker", "pull", image])
+ subprocess.check_call(["docker", "tag", image, release_image])
+ subprocess.check_call(["docker", "push", release_image])
+ tagged_images[image] = True
+
+
+def main() -> None:
+ parser = argparse.ArgumentParser()
+ parser.add_argument(
+ "--version",
+ help="Version to tag",
+ type=str,
+ default="2.2",
+ )
+ parser.add_argument(
+ "--dry-run",
+ help="No Runtime Error check",
+ type=str,
+ choices=["enabled", "disabled"],
+ default="enabled",
+ )
+
+ options = parser.parse_args()
+ tagged_images: dict[str, bool] = {}
+ platform_images = [
+ generate_binary_build_matrix.WHEEL_CONTAINER_IMAGES,
+ generate_binary_build_matrix.LIBTORCH_CONTAINER_IMAGES,
+ ]
+ default_tag = generate_binary_build_matrix.DEFAULT_TAG
+
+ for platform_image in platform_images: # type: ignore[attr-defined]
+ for arch in platform_image.keys(): # type: ignore[attr-defined]
+ if arch == "cpu-s390x":
+ continue
+ tag_image(
+ platform_image[arch], # type: ignore[index]
+ default_tag,
+ options.version,
+ options.dry_run,
+ tagged_images,
+ )
+
+
+if __name__ == "__main__":
+ main()
diff --git a/.github/scripts/td_llm_indexer.sh b/.github/scripts/td_llm_indexer.sh
index cc8f363659ba..834664fc00d2 100644
--- a/.github/scripts/td_llm_indexer.sh
+++ b/.github/scripts/td_llm_indexer.sh
@@ -6,7 +6,11 @@ set -euxo pipefail
cd llm-target-determinator
pip install -q -r requirements.txt
cd ../codellama
+<<<<<<< HEAD
pip install --no-build-isolation -v -e .
+=======
+pip install -e .
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
pip install numpy==1.26.0
# Run indexer
diff --git a/.github/scripts/test_trymerge.py b/.github/scripts/test_trymerge.py
index ac3a1cc12921..ff88390297c9 100755
--- a/.github/scripts/test_trymerge.py
+++ b/.github/scripts/test_trymerge.py
@@ -27,7 +27,10 @@
get_drci_classifications,
gh_get_team_members,
GitHubPR,
+<<<<<<< HEAD
iter_issue_timeline_until_comment,
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
JobCheckState,
main as trymerge_main,
MandatoryChecksMissingError,
@@ -35,8 +38,11 @@
RE_GHSTACK_DESC,
read_merge_rules,
remove_job_name_suffix,
+<<<<<<< HEAD
sha_from_committed_event,
sha_from_force_push_after,
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
validate_revert,
)
@@ -73,9 +79,12 @@ def save_mocked_queries(obj: Any) -> None:
if key in mocked_queries:
return mocked_queries[key]
+<<<<<<< HEAD
# TODO: Remove me once https://github.com/pytorch/pytorch/issues/160489 is resolved
raise ValueError(f"Key {key} could not be found in gql_mocks")
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
try:
rc = fallback_function(*args)
except HTTPError as err:
@@ -127,7 +136,11 @@ def __init__(self) -> None:
self.force = force
self.pr_num = 76123
self.dry_run = True
+<<<<<<< HEAD
self.comment_id = 12345 # Set to non-zero value
+=======
+ self.comment_id = 0
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
self.reason = "this is for testing"
self.ignore_current = False
self.check_mergeability = False
@@ -155,9 +168,15 @@ def mock_revert(
def mock_merge(
pr: GitHubPR,
repo: GitRepo,
+<<<<<<< HEAD
comment_id: int,
dry_run: bool = False,
skip_mandatory_checks: bool = False,
+=======
+ dry_run: bool = False,
+ skip_mandatory_checks: bool = False,
+ comment_id: Optional[int] = None,
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
timeout_minutes: int = 400,
stale_pr_days: int = 3,
ignore_current: bool = False,
@@ -473,9 +492,15 @@ def test_main_force(
mock_merge.assert_called_once_with(
mock.ANY,
mock.ANY,
+<<<<<<< HEAD
comment_id=mock.ANY,
dry_run=mock.ANY,
skip_mandatory_checks=True,
+=======
+ dry_run=mock.ANY,
+ skip_mandatory_checks=True,
+ comment_id=mock.ANY,
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
ignore_current=False,
)
@@ -488,9 +513,15 @@ def test_main_merge(self, mock_merge: Any, *args: Any) -> None:
mock_merge.assert_called_once_with(
mock.ANY,
mock.ANY,
+<<<<<<< HEAD
comment_id=mock.ANY,
dry_run=mock.ANY,
skip_mandatory_checks=False,
+=======
+ dry_run=mock.ANY,
+ skip_mandatory_checks=False,
+ comment_id=mock.ANY,
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
ignore_current=False,
)
@@ -1141,6 +1172,7 @@ def test__revlist_to_prs_two_prs(
)
+<<<<<<< HEAD
@mock.patch("trymerge.gh_graphql", side_effect=mocked_gh_graphql)
@mock.patch("trymerge.gh_fetch_merge_base", return_value="")
@mock.patch(
@@ -1312,5 +1344,7 @@ def test_get_commit_sha_at_comment_exception(
self.assertIsNone(sha)
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if __name__ == "__main__":
main()
diff --git a/.github/scripts/trymerge.py b/.github/scripts/trymerge.py
index 00b66869dcf2..4e6e4c835f61 100755
--- a/.github/scripts/trymerge.py
+++ b/.github/scripts/trymerge.py
@@ -108,6 +108,13 @@ def __init__(self, name: str, url: str, run_id: int, status: Optional[str]):
fragment PRCheckSuites on CheckSuiteConnection {
edges {
node {
+<<<<<<< HEAD
+=======
+ app {
+ name
+ databaseId
+ }
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
workflowRun {
workflow {
name
@@ -450,6 +457,7 @@ def __init__(self, name: str, url: str, run_id: int, status: Optional[str]):
IGNORABLE_FAILED_CHECKS_THESHOLD = 10
+<<<<<<< HEAD
def iter_issue_timeline_until_comment(
org: str, repo: str, issue_number: int, target_comment_id: int, max_pages: int = 200
) -> Any:
@@ -507,6 +515,8 @@ def sha_from_force_push_after(ev: dict[str, Any]) -> Optional[str]:
return ev.get("after_sha") or ev.get("head_sha")
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
def gh_get_pr_info(org: str, proj: str, pr_no: int) -> Any:
rc = gh_graphql(GH_GET_PR_INFO_QUERY, name=proj, owner=org, number=pr_no)
return rc["data"]["repository"]["pullRequest"]
@@ -794,6 +804,7 @@ def get_changed_files_count(self) -> int:
def last_commit(self) -> Any:
return self.info["commits"]["nodes"][-1]["commit"]
+<<<<<<< HEAD
def last_commit_sha(self, default: Optional[str] = None) -> str:
# for commits, the oid is the sha
@@ -802,16 +813,26 @@ def last_commit_sha(self, default: Optional[str] = None) -> str:
return str(self.last_commit().get("oid", default))
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
def get_merge_base(self) -> str:
if self.merge_base:
return self.merge_base
+<<<<<<< HEAD
last_commit_sha = self.last_commit_sha()
+=======
+ last_commit_oid = self.last_commit()["oid"]
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# NB: We could use self.base_ref() here for regular PR, however, that doesn't
# work for ghstack where the base is the custom branch, i.e. gh/USER/ID/base,
# so let's just use main instead
self.merge_base = gh_fetch_merge_base(
+<<<<<<< HEAD
self.org, self.project, last_commit_sha, self.default_branch()
+=======
+ self.org, self.project, last_commit_oid, self.default_branch()
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
)
# Fallback to baseRefOid if the API call fails, i.e. rate limit. Note that baseRefOid
@@ -900,6 +921,7 @@ def get_approved_by(self) -> list[str]:
def get_commit_count(self) -> int:
return int(self.info["commits_with_authors"]["totalCount"])
+<<<<<<< HEAD
def get_commit_sha_at_comment(self, comment_id: int) -> Optional[str]:
"""
Get the PR head commit SHA that was present when a specific comment was posted.
@@ -938,6 +960,8 @@ def get_commit_sha_at_comment(self, comment_id: int) -> Optional[str]:
print(f"Did not find comment with id {comment_id} in the PR timeline")
return None
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
def get_pr_creator_login(self) -> str:
return cast(str, self.info["author"]["login"])
@@ -1254,7 +1278,11 @@ def merge_into(
*,
skip_mandatory_checks: bool = False,
dry_run: bool = False,
+<<<<<<< HEAD
comment_id: int,
+=======
+ comment_id: Optional[int] = None,
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
ignore_current_checks: Optional[list[str]] = None,
) -> None:
# Raises exception if matching rule is not found
@@ -1270,7 +1298,11 @@ def merge_into(
skip_internal_checks=can_skip_internal_checks(self, comment_id),
ignore_current_checks=ignore_current_checks,
)
+<<<<<<< HEAD
additional_merged_prs = self.merge_changes_locally(
+=======
+ additional_merged_prs = self.merge_changes(
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
repo, skip_mandatory_checks, comment_id
)
@@ -1299,7 +1331,11 @@ def merge_into(
broken_trunk_checks=ignorable_checks.get("BROKEN_TRUNK", []),
flaky_checks=ignorable_checks.get("FLAKY", []),
unstable_checks=ignorable_checks.get("UNSTABLE", []),
+<<<<<<< HEAD
last_commit_sha=self.last_commit_sha(default=""),
+=======
+ last_commit_sha=self.last_commit().get("oid", ""),
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
merge_base_sha=self.get_merge_base(),
merge_commit_sha=merge_commit_sha,
is_failed=False,
@@ -1320,7 +1356,11 @@ def merge_into(
dry_run=dry_run,
)
+<<<<<<< HEAD
def merge_changes_locally(
+=======
+ def merge_changes(
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
self,
repo: GitRepo,
skip_mandatory_checks: bool = False,
@@ -1329,15 +1369,38 @@ def merge_changes_locally(
skip_all_rule_checks: bool = False,
) -> list["GitHubPR"]:
"""
+<<<<<<< HEAD
:param skip_all_rule_checks: If true, skips all rule checks on ghstack PRs, useful for dry-running merge locally
+=======
+ :param skip_all_rule_checks: If true, skips all rule checks, useful for dry-running merge locally
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
"""
branch_to_merge_into = self.default_branch() if branch is None else branch
if repo.current_branch() != branch_to_merge_into:
repo.checkout(branch_to_merge_into)
+<<<<<<< HEAD
# It's okay to skip the commit SHA check for ghstack PRs since
# authoring requires write access to the repo.
if self.is_ghstack_pr():
+=======
+ if not self.is_ghstack_pr():
+ msg = self.gen_commit_message()
+ pr_branch_name = f"__pull-request-{self.pr_num}__init__"
+ repo.fetch(self.last_commit()["oid"], pr_branch_name)
+ repo._run_git("merge", "--squash", pr_branch_name)
+ repo._run_git("commit", f'--author="{self.get_author()}"', "-m", msg)
+
+ # Did the PR change since we started the merge?
+ pulled_sha = repo.show_ref(pr_branch_name)
+ latest_pr_status = GitHubPR(self.org, self.project, self.pr_num)
+ if pulled_sha != latest_pr_status.last_commit()["oid"]:
+ raise RuntimeError(
+ "PR has been updated since CI checks last passed. Please rerun the merge command."
+ )
+ return []
+ else:
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
return self.merge_ghstack_into(
repo,
skip_mandatory_checks,
@@ -1345,6 +1408,7 @@ def merge_changes_locally(
skip_all_rule_checks=skip_all_rule_checks,
)
+<<<<<<< HEAD
msg = self.gen_commit_message()
pr_branch_name = f"__pull-request-{self.pr_num}__init__"
@@ -1387,6 +1451,8 @@ def merge_changes_locally(
)
return []
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
class MergeRuleFailedError(RuntimeError):
def __init__(self, message: str, rule: Optional["MergeRule"] = None) -> None:
@@ -1591,7 +1657,11 @@ def find_matching_merge_rule(
pending_checks = []
failed_checks = []
+<<<<<<< HEAD
hud_link = f"https://hud.pytorch.org/{pr.org}/{pr.project}/commit/{pr.last_commit_sha()}"
+=======
+ hud_link = f"https://hud.pytorch.org/{pr.org}/{pr.project}/commit/{pr.last_commit()['oid']}"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if len(failed_checks) > 0:
if reject_reason_score < 30000:
reject_reason_score = 30000
@@ -2020,9 +2090,13 @@ def validate_revert(
else pr.get_comment_by_id(comment_id)
)
if comment.editor_login is not None:
+<<<<<<< HEAD
raise PostCommentError(
"Halting the revert as the revert comment has been edited."
)
+=======
+ raise PostCommentError("Don't want to revert based on edited command")
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
author_association = comment.author_association
author_login = comment.author_login
allowed_reverters = ["COLLABORATOR", "MEMBER", "OWNER"]
@@ -2289,14 +2363,24 @@ def categorize_checks(
def merge(
pr: GitHubPR,
repo: GitRepo,
+<<<<<<< HEAD
comment_id: int,
dry_run: bool = False,
skip_mandatory_checks: bool = False,
+=======
+ dry_run: bool = False,
+ skip_mandatory_checks: bool = False,
+ comment_id: Optional[int] = None,
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
timeout_minutes: int = 400,
stale_pr_days: int = 3,
ignore_current: bool = False,
) -> None:
+<<<<<<< HEAD
initial_commit_sha = pr.last_commit_sha()
+=======
+ initial_commit_sha = pr.last_commit()["oid"]
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
pr_link = f"https://github.com/{pr.org}/{pr.project}/pull/{pr.pr_num}"
print(f"Attempting merge of {initial_commit_sha} ({pr_link})")
@@ -2367,7 +2451,11 @@ def merge(
f"Attempting merge of https://github.com/{pr.org}/{pr.project}/pull/{pr.pr_num} ({elapsed_time / 60} minutes elapsed)"
)
pr = GitHubPR(pr.org, pr.project, pr.pr_num)
+<<<<<<< HEAD
if initial_commit_sha != pr.last_commit_sha():
+=======
+ if initial_commit_sha != pr.last_commit()["oid"]:
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
raise RuntimeError(
"New commits were pushed while merging. Please rerun the merge command."
)
@@ -2534,7 +2622,11 @@ def handle_exception(e: Exception, title: str = "Merge failed") -> None:
if args.check_mergeability:
if pr.is_ghstack_pr():
get_ghstack_prs(repo, pr) # raises error if out of sync
+<<<<<<< HEAD
pr.merge_changes_locally(
+=======
+ pr.merge_changes(
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
repo,
skip_mandatory_checks=True,
skip_all_rule_checks=True,
@@ -2549,6 +2641,7 @@ def handle_exception(e: Exception, title: str = "Merge failed") -> None:
gh_post_pr_comment(org, project, args.pr_num, message, dry_run=args.dry_run)
return
try:
+<<<<<<< HEAD
# Ensure comment id is set, else fail
if not args.comment_id:
raise ValueError(
@@ -2561,6 +2654,14 @@ def handle_exception(e: Exception, title: str = "Merge failed") -> None:
comment_id=args.comment_id,
dry_run=args.dry_run,
skip_mandatory_checks=args.force,
+=======
+ merge(
+ pr,
+ repo,
+ dry_run=args.dry_run,
+ skip_mandatory_checks=args.force,
+ comment_id=args.comment_id,
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
ignore_current=args.ignore_current,
)
except Exception as e:
@@ -2582,7 +2683,11 @@ def handle_exception(e: Exception, title: str = "Merge failed") -> None:
broken_trunk_checks=[],
flaky_checks=[],
unstable_checks=[],
+<<<<<<< HEAD
last_commit_sha=pr.last_commit_sha(default=""),
+=======
+ last_commit_sha=pr.last_commit().get("oid", ""),
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
merge_base_sha=pr.get_merge_base(),
is_failed=True,
skip_mandatory_checks=args.force,
diff --git a/.github/scripts/windows/build_magma.bat b/.github/scripts/windows/build_magma.bat
index 75c916ecdbef..28977ee042ff 100644
--- a/.github/scripts/windows/build_magma.bat
+++ b/.github/scripts/windows/build_magma.bat
@@ -17,7 +17,10 @@ if errorlevel 1 exit /b 1
set "PATH=C:\Tools;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v%CUVER%\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v%CUVER%\libnvvp;%PATH%"
set CUDA_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v%CUVER%
+<<<<<<< HEAD
set NVTOOLSEXT_PATH=C:\Program Files\NVIDIA Corporation\NvToolsExt
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
mkdir magma_cuda%CUVER_NODOT%
cd magma_cuda%CUVER_NODOT%
@@ -35,9 +38,12 @@ cd magma
mkdir build && cd build
set GPU_TARGET=All
+<<<<<<< HEAD
if "%CUVER_NODOT%" == "130" (
set CUDA_ARCH_LIST=-gencode=arch=compute_75,code=sm_75 -gencode arch=compute_80,code=sm_80 -gencode arch=compute_86,code=sm_86 -gencode arch=compute_90,code=sm_90 -gencode arch=compute_100,code=sm_100 -gencode arch=compute_120,code=sm_120
)
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if "%CUVER_NODOT%" == "129" (
set CUDA_ARCH_LIST=-gencode=arch=compute_75,code=sm_75 -gencode arch=compute_80,code=sm_80 -gencode arch=compute_86,code=sm_86 -gencode arch=compute_90,code=sm_90 -gencode arch=compute_100,code=sm_100 -gencode arch=compute_120,code=sm_120
)
diff --git a/.github/scripts/windows/build_triton.bat b/.github/scripts/windows/build_triton.bat
index d26dc8bf3b19..761d5cfbc962 100644
--- a/.github/scripts/windows/build_triton.bat
+++ b/.github/scripts/windows/build_triton.bat
@@ -1,12 +1,30 @@
@echo on
+<<<<<<< HEAD
set DESIRED_PYTHON=%PY_VERS%
call .ci/pytorch/windows/internal/install_python.bat
:: Fix cmake version for issue https://github.com/pytorch/pytorch/issues/150480
%PYTHON_EXEC% -m pip install wheel pybind11 certifi cython cmake==3.31.6 setuptools==72.1.0 ninja==1.11.1.4
+=======
+set PYTHON_PREFIX=%PY_VERS:.=%
+set PYTHON_PREFIX=py%PYTHON_PREFIX:;=;py%
+call .ci/pytorch/win-test-helpers/installation-helpers/activate_miniconda3.bat
+:: Create a new conda environment
+if "%PY_VERS%" == "3.13t" (
+ call conda create -n %PYTHON_PREFIX% -y -c=conda-forge python-freethreading python=3.13
+) else (
+ call conda create -n %PYTHON_PREFIX% -y -c=conda-forge python=%PY_VERS%
+)
+:: Fix cmake version for issue https://github.com/pytorch/pytorch/issues/150480
+call conda run -n %PYTHON_PREFIX% pip install wheel pybind11 certifi cython cmake==3.31.6 setuptools==72.1.0 ninja
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
dir "%VC_INSTALL_PATH%"
call "%VC_INSTALL_PATH%\VC\Auxiliary\Build\vcvarsall.bat" x64
+<<<<<<< HEAD
%PYTHON_EXEC% .github/scripts/build_triton_wheel.py --device=%BUILD_DEVICE% %RELEASE%
+=======
+call conda run -n %PYTHON_PREFIX% python .github/scripts/build_triton_wheel.py --device=%BUILD_DEVICE% %RELEASE%
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/.github/templates/common.yml.j2 b/.github/templates/common.yml.j2
index 7c93fdf522a4..a4646179cdca 100644
--- a/.github/templates/common.yml.j2
+++ b/.github/templates/common.yml.j2
@@ -4,7 +4,11 @@
{%- set download_artifact_action = "actions/download-artifact@v4.1.7" -%}
{%- set timeout_minutes = 240 -%}
+<<<<<<< HEAD
{%- set timeout_minutes_windows_binary = 360 -%}
+=======
+{%- set timeout_minutes_windows_binary = 300 -%}
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
{%- macro concurrency(build_environment) -%}
concurrency:
@@ -32,7 +36,11 @@ concurrency:
{%- macro setup_ec2_windows() -%}
!{{ display_ec2_information() }}
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/templates/linux_binary_build_workflow.yml.j2 b/.github/templates/linux_binary_build_workflow.yml.j2
index bf7db5866e78..e36c19e6cc47 100644
--- a/.github/templates/linux_binary_build_workflow.yml.j2
+++ b/.github/templates/linux_binary_build_workflow.yml.j2
@@ -56,7 +56,11 @@ jobs:
get-label-type:
if: github.repository_owner == 'pytorch'
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
triggering_actor: ${{ github.triggering_actor }}
issue_owner: ${{ github.event.pull_request.user.login || github.event.issue.user.login }}
@@ -77,9 +81,12 @@ jobs:
runs_on: linux.s390x
ALPINE_IMAGE: "docker.io/s390x/alpine"
timeout-minutes: 420
+<<<<<<< HEAD
{%- elif config["gpu_arch_type"] == "rocm" %}
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
timeout-minutes: 300
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
{%- elif "conda" in build_environment and config["gpu_arch_type"] == "cuda" %}
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
runs_on: linux.24xlarge.ephemeral
@@ -117,12 +124,21 @@ jobs:
ALPINE_IMAGE: "docker.io/s390x/alpine"
{%- elif config["gpu_arch_type"] == "rocm" %}
runs_on: linux.rocm.gpu
+<<<<<<< HEAD
{%- elif config["gpu_arch_type"] == "cuda" and config["gpu_arch_version"] in ["12.6"] %}
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
runs_on: linux.4xlarge.nvidia.gpu # 12.6 build can use maxwell (sm_50) runner
{%- elif config["gpu_arch_type"] == "cuda" %}
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
runs_on: linux.g4dn.4xlarge.nvidia.gpu # 12.8+ builds need sm_70+ runner
+=======
+ {%- elif config["gpu_arch_type"] == "cuda" and config["gpu_arch_version"] in ["12.8", "12.9"] %}
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ runs_on: linux.g4dn.4xlarge.nvidia.gpu # 12.8 and 12.9 build need sm_70+ runner
+ {%- elif config["gpu_arch_type"] == "cuda" %}
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ runs_on: linux.4xlarge.nvidia.gpu # for other cuda versions, we use 4xlarge runner
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
{%- else %}
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
runs_on: linux.4xlarge
@@ -138,7 +154,11 @@ jobs:
contents: read
steps:
- name: Setup XPU
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/actions/setup-xpu@release/2.9
+=======
+ uses: ./.github/actions/setup-xpu
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: configure aws credentials
id: aws_creds
uses: aws-actions/configure-aws-credentials@v4
@@ -156,7 +176,11 @@ jobs:
!{{ common.checkout(deep_clone=False, directory="pytorch", checkout_pr_head=False) }}
- name: Calculate docker image
id: calculate-docker-image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-registry: ${{ startsWith(github.event.ref, 'refs/tags/ciflow/') && '308535385114.dkr.ecr.us-east-1.amazonaws.com' || 'docker.io' }}
docker-image-name: !{{ config["container_image"] }}
@@ -164,7 +188,11 @@ jobs:
docker-build-dir: .ci/docker
working-directory: pytorch
- name: Pull Docker image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }}
- name: Test Pytorch binary
@@ -199,7 +227,11 @@ jobs:
role-duration-seconds: 18000
- name: Calculate docker image
id: calculate-docker-image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-registry: ${{ startsWith(github.event.ref, 'refs/tags/ciflow/') && '308535385114.dkr.ecr.us-east-1.amazonaws.com' || 'docker.io' }}
docker-image-name: !{{ config["container_image"] }}
@@ -207,7 +239,11 @@ jobs:
docker-build-dir: .ci/docker
working-directory: pytorch
- name: Pull Docker image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }}
- name: Test Pytorch binary
diff --git a/.github/templates/macos_binary_build_workflow.yml.j2 b/.github/templates/macos_binary_build_workflow.yml.j2
index 662060bb1307..e7c09cc0b420 100644
--- a/.github/templates/macos_binary_build_workflow.yml.j2
+++ b/.github/templates/macos_binary_build_workflow.yml.j2
@@ -47,6 +47,12 @@ env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PR_NUMBER: ${{ github.event.pull_request.number }}
SKIP_ALL_TESTS: 0
+<<<<<<< HEAD
+=======
+{%- if cross_compile_arm64 %}
+ CROSS_COMPILE_ARM64: 1
+{% endif %}
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
!{{ common.concurrency(build_environment) }}
jobs:
@@ -68,6 +74,14 @@ jobs:
chmod +x "${RUNNER_TEMP}/conda.sh"
/bin/bash "${RUNNER_TEMP}/conda.sh" -b -p "${RUNNER_TEMP}/anaconda"
echo "${RUNNER_TEMP}/anaconda/bin" >> "${GITHUB_PATH}"
+<<<<<<< HEAD
+=======
+ if [ -d "/Applications/Xcode_14.3.1.app" ]; then
+ echo "DEVELOPER_DIR=/Applications/Xcode_14.3.1.app/Contents/Developer" >> "${GITHUB_ENV}"
+ elif [ -d "/Applications/Xcode_13.3.1.app" ]; then
+ echo "DEVELOPER_DIR=/Applications/Xcode_13.3.1.app/Contents/Developer" >> "${GITHUB_ENV}"
+ fi
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
!{{ common.checkout(deep_clone=False, directory="pytorch", checkout_pr_head=False) }}
- name: Populate binary env
run: |
@@ -105,6 +119,7 @@ jobs:
# Create new "clean" conda environment for testing
SMOKE_TEST_PARAMS=""
+<<<<<<< HEAD
EXTRA_CONDA_INSTALL_FLAGS=""
CONDA_ENV_CREATE_FLAGS=""
@@ -132,6 +147,14 @@ jobs:
# shellcheck disable=SC2086
conda create -yn "test_conda_env" python="$desired_python" ${CONDA_ENV_CREATE_FLAGS} ${EXTRA_CONDA_INSTALL_FLAGS}
+=======
+ if [[ $DESIRED_PYTHON == "3.13t" ]]; then
+ conda create -yn "test_conda_env" python="3.13" python-freethreading -c conda-forge
+ SMOKE_TEST_PARAMS="--torch-compile-check disabled"
+ else
+ conda create -yn "test_conda_env" python="$DESIRED_PYTHON"
+ fi
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
conda activate test_conda_env
pip install "$PYTORCH_FINAL_PACKAGE_DIR"/*.whl numpy -v
diff --git a/.github/templates/upload.yml.j2 b/.github/templates/upload.yml.j2
index 5e3798f8e237..ae519cc9a733 100644
--- a/.github/templates/upload.yml.j2
+++ b/.github/templates/upload.yml.j2
@@ -15,7 +15,11 @@
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: !{{ config["desired_cuda"] }}
{%- if config["gpu_arch_version"] %}
+<<<<<<< HEAD
GPU_ARCH_VERSION: "!{{ config["gpu_arch_version"] }}"
+=======
+ GPU_ARCH_VERSION: !{{ config["gpu_arch_version"] }}
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
{%- endif %}
GPU_ARCH_TYPE: !{{ config["gpu_arch_type"] }}
{%- if include_skip_tests %}
@@ -25,6 +29,14 @@
DOCKER_IMAGE: !{{ config["container_image"] }}
DOCKER_IMAGE_TAG_PREFIX: !{{ config["container_image_tag_prefix"] }}
{%- endif %}
+<<<<<<< HEAD
+=======
+{%- if config["package_type"] == "manywheel" %}
+ {%- if config.use_split_build is defined %}
+ use_split_build: !{{ config["use_split_build"] }}
+ {%- endif %}
+{%- endif %}
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
{%- if config["package_type"] == "libtorch" %}
{%- if config["libtorch_config"] %}
LIBTORCH_CONFIG: !{{ config["libtorch_config"] }}
@@ -33,7 +45,11 @@
{%- if is_windows %}
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
+<<<<<<< HEAD
DESIRED_PYTHON: "3.10"
+=======
+ DESIRED_PYTHON: "3.9"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
{%- endif %}
{%- else %}
diff --git a/.github/templates/windows_binary_build_workflow.yml.j2 b/.github/templates/windows_binary_build_workflow.yml.j2
index c61686f8df27..5ea957ef9853 100644
--- a/.github/templates/windows_binary_build_workflow.yml.j2
+++ b/.github/templates/windows_binary_build_workflow.yml.j2
@@ -64,7 +64,11 @@ jobs:
get-label-type:
if: github.repository_owner == 'pytorch'
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
triggering_actor: ${{ github.triggering_actor }}
issue_owner: ${{ github.event.pull_request.user.login || github.event.issue.user.login }}
diff --git a/.github/workflows/_bazel-build-test.yml b/.github/workflows/_bazel-build-test.yml
index d9e5e29576d4..783b8166eaa1 100644
--- a/.github/workflows/_bazel-build-test.yml
+++ b/.github/workflows/_bazel-build-test.yml
@@ -47,7 +47,11 @@ jobs:
reenabled-issues: ${{ steps.filter.outputs.reenabled-issues }}
steps:
- name: Checkout PyTorch
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.9
+=======
+ uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
fetch-depth: 1
submodules: false
@@ -69,25 +73,41 @@ jobs:
runs-on: ${{ matrix.runner }}
steps:
- name: Setup SSH (Click me for login details)
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
# [see note: pytorch repo ref]
- name: Checkout PyTorch
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.9
+=======
+ uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: Setup Linux
uses: ./.github/actions/setup-linux
- name: Calculate docker image
id: calculate-docker-image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-image-name: ${{ inputs.docker-image-name }}
- name: Pull docker image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }}
@@ -97,7 +117,11 @@ jobs:
run: echo "IN_CONTAINER_RUNNER=$(if [ -f /.inarc ] || [ -f /.incontainer ]; then echo true ; else echo false; fi)" >> "$GITHUB_OUTPUT"
- name: Install nvidia driver, nvidia-docker runtime, set GPU_FLAG
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-nvidia@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-nvidia@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ inputs.cuda-version != 'cpu' && steps.check_container_runner.outputs.IN_CONTAINER_RUNNER == 'false' }}
- name: Output disk space left
@@ -209,5 +233,9 @@ jobs:
file-suffix: bazel-${{ github.job }}_${{ steps.get-job-id.outputs.job-id }}
- name: Teardown Linux
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/teardown-linux@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/teardown-linux@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: always()
diff --git a/.github/workflows/_binary-build-linux.yml b/.github/workflows/_binary-build-linux.yml
index e81e4b6a8b26..2cb5cecabe62 100644
--- a/.github/workflows/_binary-build-linux.yml
+++ b/.github/workflows/_binary-build-linux.yml
@@ -26,6 +26,16 @@ on:
default: 240
type: number
description: timeout for the job
+<<<<<<< HEAD
+=======
+ use_split_build:
+ description: |
+ [Experimental] Build a libtorch only wheel and build pytorch such that
+ are built from the libtorch wheel.
+ required: false
+ type: boolean
+ default: false
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
ALPINE_IMAGE:
required: false
type: string
@@ -110,6 +120,10 @@ jobs:
PR_NUMBER: ${{ github.event.pull_request.number }}
PYTORCH_FINAL_PACKAGE_DIR: /artifacts
SHA1: ${{ github.event.pull_request.head.sha || github.sha }}
+<<<<<<< HEAD
+=======
+ USE_SPLIT_BUILD: ${{ inputs.use_split_build }}
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
steps:
- name: Make the env permanent during this workflow (but not the secrets)
shell: bash
@@ -134,6 +148,10 @@ jobs:
echo "PR_NUMBER=${{ env.PR_NUMBER }}"
echo "PYTORCH_FINAL_PACKAGE_DIR=${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
echo "SHA1=${{ env.SHA1 }}"
+<<<<<<< HEAD
+=======
+ echo "USE_SPLIT_BUILD=${{ env.use_split_build }}"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
} >> "${GITHUB_ENV} }}"
- name: List the env
@@ -142,13 +160,21 @@ jobs:
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
if: inputs.build_environment != 'linux-s390x-binary-manywheel'
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.github-token }}
- name: Checkout PyTorch
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.9
+=======
+ uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
no-sudo: ${{ inputs.build_environment == 'linux-aarch64-binary-manywheel' || inputs.build_environment == 'linux-s390x-binary-manywheel' }}
@@ -212,9 +238,15 @@ jobs:
- name: Calculate docker image
id: calculate-docker-image
if: ${{ steps.filter.outputs.is-test-matrix-empty == 'False' && inputs.build_environment != 'linux-s390x-binary-manywheel' }}
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.9
with:
# If doing this in release/2.9 or release branch, use docker.io. Otherwise
+=======
+ uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.8
+ with:
+ # If doing this in release/2.8 or release branch, use docker.io. Otherwise
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# use ECR
docker-registry: ${{ startsWith(github.event.ref, 'refs/tags/ciflow/') && '308535385114.dkr.ecr.us-east-1.amazonaws.com' || 'docker.io' }}
docker-image-name: ${{ inputs.DOCKER_IMAGE }}
@@ -226,7 +258,11 @@ jobs:
- name: Pull Docker image
if: ${{ steps.filter.outputs.is-test-matrix-empty == 'False' && inputs.build_environment != 'linux-s390x-binary-manywheel' }}
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }}
@@ -251,6 +287,10 @@ jobs:
-e PYTORCH_ROOT \
-e SKIP_ALL_TESTS \
-e PYTORCH_EXTRA_INSTALL_REQUIREMENTS \
+<<<<<<< HEAD
+=======
+ -e USE_SPLIT_BUILD \
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
--tty \
--detach \
-v "${GITHUB_WORKSPACE}/pytorch:/pytorch" \
@@ -282,7 +322,11 @@ jobs:
- name: Teardown Linux
if: always() && inputs.build_environment != 'linux-s390x-binary-manywheel'
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/teardown-linux@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/teardown-linux@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: Chown workspace
if: always() && inputs.build_environment != 'linux-s390x-binary-manywheel'
diff --git a/.github/workflows/_binary-test-linux.yml b/.github/workflows/_binary-test-linux.yml
index 887ab908b2d8..8b3f0e5ff46e 100644
--- a/.github/workflows/_binary-test-linux.yml
+++ b/.github/workflows/_binary-test-linux.yml
@@ -64,6 +64,16 @@ on:
required: true
type: string
description: Hardware to run this job on. Valid values are linux.4xlarge, linux.4xlarge.nvidia.gpu, linux.arm64.2xlarge, and linux.rocm.gpu
+<<<<<<< HEAD
+=======
+ use_split_build:
+ description: |
+ [Experimental] Build a libtorch only wheel and build pytorch such that
+ are built from the libtorch wheel.
+ required: false
+ type: boolean
+ default: false
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token:
required: true
@@ -97,6 +107,10 @@ jobs:
PR_NUMBER: ${{ github.event.pull_request.number }}
PYTORCH_FINAL_PACKAGE_DIR: /artifacts
SHA1: ${{ github.event.pull_request.head.sha || github.sha }}
+<<<<<<< HEAD
+=======
+ USE_SPLIT_BUILD: ${{ inputs.use_split_build }}
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
steps:
- name: Make the env permanent during this workflow (but not the secrets)
shell: bash
@@ -121,18 +135,30 @@ jobs:
echo "PR_NUMBER=${{ env.PR_NUMBER }}"
echo "PYTORCH_FINAL_PACKAGE_DIR=${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
echo "SHA1=${{ env.SHA1 }}"
+<<<<<<< HEAD
+=======
+ echo "USE_SPLIT_BUILD=${{ env.USE_SPLIT_BUILD }}"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
} >> "${GITHUB_ENV} }}"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
if: inputs.build_environment != 'linux-s390x-binary-manywheel'
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.github-token }}
# Setup the environment
- name: Checkout PyTorch
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.9
+=======
+ uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
no-sudo: ${{ inputs.build_environment == 'linux-aarch64-binary-manywheel' || inputs.build_environment == 'linux-s390x-binary-manywheel' }}
@@ -185,7 +211,11 @@ jobs:
path: "${{ runner.temp }}/artifacts/"
- name: Install nvidia driver, nvidia-docker runtime, set GPU_FLAG
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-nvidia@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-nvidia@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ inputs.GPU_ARCH_TYPE == 'cuda' && steps.filter.outputs.is-test-matrix-empty == 'False' }}
- name: configure aws credentials
@@ -200,7 +230,11 @@ jobs:
- name: Calculate docker image
id: calculate-docker-image
if: ${{ steps.filter.outputs.is-test-matrix-empty == 'False' && inputs.build_environment != 'linux-s390x-binary-manywheel' }}
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-registry: ${{ startsWith(github.event.ref, 'refs/tags/ciflow/') && '308535385114.dkr.ecr.us-east-1.amazonaws.com' || 'docker.io' }}
docker-image-name: ${{ inputs.DOCKER_IMAGE }}
@@ -210,7 +244,11 @@ jobs:
- name: Pull Docker image
if: ${{ steps.filter.outputs.is-test-matrix-empty == 'False' && inputs.build_environment != 'linux-s390x-binary-manywheel' }}
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }}
@@ -222,7 +260,11 @@ jobs:
- name: Teardown Linux
if: always() && inputs.build_environment != 'linux-s390x-binary-manywheel'
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/teardown-linux@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/teardown-linux@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: Chown workspace
if: always() && inputs.build_environment != 'linux-s390x-binary-manywheel'
diff --git a/.github/workflows/_binary-upload.yml b/.github/workflows/_binary-upload.yml
index 61896f52bbed..15078dea4e36 100644
--- a/.github/workflows/_binary-upload.yml
+++ b/.github/workflows/_binary-upload.yml
@@ -51,6 +51,16 @@ on:
required: false
type: string
description: Desired python version
+<<<<<<< HEAD
+=======
+ use_split_build:
+ description: |
+ [Experimental] Build a libtorch only wheel and build pytorch such that
+ are built from the libtorch wheel.
+ required: false
+ type: boolean
+ default: false
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token:
required: true
@@ -79,9 +89,16 @@ jobs:
PR_NUMBER: ${{ github.event.pull_request.number }}
PYTORCH_FINAL_PACKAGE_DIR: /artifacts
SHA1: ${{ github.event.pull_request.head.sha || github.sha }}
+<<<<<<< HEAD
steps:
- name: Checkout PyTorch
uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.9
+=======
+ USE_SPLIT_BUILD: ${{ inputs.use_split_build }}
+ steps:
+ - name: Checkout PyTorch
+ uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
no-sudo: true
diff --git a/.github/workflows/_docs.yml b/.github/workflows/_docs.yml
index 5980ad849fa7..bf20afcabe44 100644
--- a/.github/workflows/_docs.yml
+++ b/.github/workflows/_docs.yml
@@ -67,10 +67,17 @@ jobs:
# an OOM issue when running the job, so this upgrades the runner from 4xlarge
# to the next available tier of 12xlarge. So much memory just to generate cpp
# doc
+<<<<<<< HEAD
runner: ${{ inputs.runner_prefix }}linux.12xlarge.memory
# TODO: Nightly cpp docs take longer and longer to finish (more than 3h now)
# Let's try to figure out how this can be improved
timeout-minutes: 360
+=======
+ runner: ${{ inputs.runner_prefix }}linux.12xlarge
+ # TODO: Nightly cpp docs take longer and longer to finish (more than 3h now)
+ # Let's try to figure out how this can be improved
+ timeout-minutes: 240
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- docs_type: python
runner: ${{ inputs.runner_prefix }}linux.2xlarge
# It takes less than 30m to finish python docs unless there are issues
@@ -84,7 +91,11 @@ jobs:
name: build-docs-${{ matrix.docs_type }}-${{ inputs.push }}
steps:
- name: Setup SSH (Click me for login details)
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
instructions: |
@@ -95,7 +106,11 @@ jobs:
# [see note: pytorch repo ref]
- name: Checkout PyTorch
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.9
+=======
+ uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: Setup Linux
uses: ./.github/actions/setup-linux
@@ -110,12 +125,20 @@ jobs:
- name: Calculate docker image
id: calculate-docker-image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-image-name: ${{ inputs.docker-image }}
- name: Pull docker image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }}
@@ -222,5 +245,9 @@ jobs:
s3-prefix: pytorch/pytorch/${{ github.event.pull_request.number }}/functorchdocs
- name: Teardown Linux
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/teardown-linux@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/teardown-linux@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: always()
diff --git a/.github/workflows/_link_check.yml b/.github/workflows/_link_check.yml
index 4c46ad28cf6b..d3578dcba994 100644
--- a/.github/workflows/_link_check.yml
+++ b/.github/workflows/_link_check.yml
@@ -11,9 +11,14 @@ on:
jobs:
lint-urls:
if: ${{ github.event_name != 'pull_request' || !contains(github.event.pull_request.labels.*.name, 'skip-url-lint') }}
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@release/2.9
with:
job-name: lint-urls
+=======
+ uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@release/2.8
+ with:
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
timeout: 120
runner: ${{ inputs.runner }}linux.2xlarge
docker-image: ci-image:pytorch-linux-jammy-linter
@@ -37,9 +42,14 @@ jobs:
lint-xrefs:
if: ${{ github.event_name != 'pull_request' || !contains(github.event.pull_request.labels.*.name, 'skip-xref-lint') }}
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@release/2.9
with:
job-name: lint-xrefs
+=======
+ uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@release/2.8
+ with:
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
timeout: 60
runner: ${{ inputs.runner }}linux.2xlarge
docker-image: ci-image:pytorch-linux-jammy-linter
diff --git a/.github/workflows/_linux-build.yml b/.github/workflows/_linux-build.yml
index f909488850d0..132ba8df3db8 100644
--- a/.github/workflows/_linux-build.yml
+++ b/.github/workflows/_linux-build.yml
@@ -16,6 +16,14 @@ on:
type: boolean
default: true
description: If set, upload generated build artifacts.
+<<<<<<< HEAD
+=======
+ build-with-debug:
+ required: false
+ type: boolean
+ default: false
+ description: If set, build in debug mode.
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
sync-tag:
required: false
type: string
@@ -64,6 +72,14 @@ on:
required: false
type: string
default: ""
+<<<<<<< HEAD
+=======
+ max-jobs:
+ description: |
+ Overwrite the number of jobs to use for the build
+ required: false
+ type: string
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
disable-monitor:
description: |
Disable utilization monitoring for build job
@@ -82,6 +98,10 @@ on:
required: false
type: number
default: 1
+<<<<<<< HEAD
+=======
+
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
allow-reuse-old-whl:
description: |
If set, the build try to pull an old wheel from s3 that was built on a
@@ -89,6 +109,7 @@ on:
required: false
type: boolean
default: true
+<<<<<<< HEAD
build-additional-packages:
description: |
If set, the build job will also builds these packages and saves their
@@ -103,6 +124,8 @@ on:
required: false
type: string
default: ""
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
HUGGING_FACE_HUB_TOKEN:
@@ -114,6 +137,10 @@ on:
description: |
FB app token to write to scribe endpoint
+<<<<<<< HEAD
+=======
+
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
outputs:
docker-image:
value: ${{ jobs.build.outputs.docker-image }}
@@ -128,12 +155,17 @@ jobs:
# Don't run on forked repos
if: github.repository_owner == 'pytorch'
runs-on: ${{ inputs.runner_prefix}}${{ inputs.runner }}
+<<<<<<< HEAD
timeout-minutes: 480
+=======
+ timeout-minutes: 240
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
outputs:
docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }}
test-matrix: ${{ steps.filter.outputs.test-matrix }}
steps:
- name: Setup SSH (Click me for login details)
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
if: inputs.build-environment != 'linux-s390x-binary-manywheel'
with:
@@ -141,13 +173,23 @@ jobs:
instructions: |
Build is done inside the container, to start an interactive session run:
docker exec -it $(docker container ps --format '{{.ID}}') bash
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+ if: inputs.build-environment != 'linux-s390x-binary-manywheel'
+ with:
+ github-secret: ${{ secrets.GITHUB_TOKEN }}
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# [pytorch repo ref]
# Use a pytorch/pytorch reference instead of a reference to the local
# checkout because when we run this action we don't *have* a local
# checkout. In other cases you should prefer a local checkout.
- name: Checkout PyTorch
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.9
+=======
+ uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
no-sudo: true
@@ -183,7 +225,11 @@ jobs:
- name: Calculate docker image
id: calculate-docker-image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: inputs.build-environment != 'linux-s390x-binary-manywheel'
with:
docker-image-name: ${{ inputs.docker-image-name }}
@@ -199,7 +245,11 @@ jobs:
echo "docker pull ghcr.io/pytorch/ci-image:${tag/:/-}"
- name: Pull docker image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: inputs.build-environment != 'linux-s390x-binary-manywheel' && steps.use-old-whl.outputs.reuse != 'true'
with:
docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }}
@@ -232,7 +282,11 @@ jobs:
MONITOR_DATA_COLLECT_INTERVAL: ${{ inputs.monitor-data-collect-interval }}
run: |
mkdir -p ../../usage_logs
+<<<<<<< HEAD
python3 -m pip install psutil==5.9.8 dataclasses_json==0.6.7
+=======
+ python3 -m pip install psutil==5.9.1 dataclasses_json==0.6.7
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
python3 -m tools.stats.monitor \
--log-interval "$MONITOR_LOG_INTERVAL" \
--data-collect-interval "$MONITOR_DATA_COLLECT_INTERVAL" \
@@ -254,6 +308,11 @@ jobs:
env:
BUILD_ENVIRONMENT: ${{ inputs.build-environment }}
BRANCH: ${{ steps.parse-ref.outputs.branch }}
+<<<<<<< HEAD
+=======
+ # TODO duplicated
+ AWS_DEFAULT_REGION: us-east-1
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
PR_NUMBER: ${{ github.event.pull_request.number }}
SHA1: ${{ github.event.pull_request.head.sha || github.sha }}
# Do not set SCCACHE_S3_KEY_PREFIX to share the cache between all build jobs
@@ -265,11 +324,19 @@ jobs:
DOCKER_IMAGE: ${{ steps.calculate-docker-image.outputs.docker-image }}
DOCKER_IMAGE_S390X: ${{ inputs.docker-image-name }}
XLA_CUDA: ${{ contains(inputs.build-environment, 'xla') && '0' || '' }}
+<<<<<<< HEAD
OUR_GITHUB_JOB_ID: ${{ steps.get-job-id.outputs.job-id }}
HUGGING_FACE_HUB_TOKEN: ${{ secrets.HUGGING_FACE_HUB_TOKEN }}
SCRIBE_GRAPHQL_ACCESS_TOKEN: ${{ secrets.SCRIBE_GRAPHQL_ACCESS_TOKEN }}
BUILD_ADDITIONAL_PACKAGES: ${{ inputs.build-additional-packages }}
RUNNER: ${{ inputs.runner }}
+=======
+ DEBUG: ${{ inputs.build-with-debug && '1' || '0' }}
+ OUR_GITHUB_JOB_ID: ${{ steps.get-job-id.outputs.job-id }}
+ HUGGING_FACE_HUB_TOKEN: ${{ secrets.HUGGING_FACE_HUB_TOKEN }}
+ SCRIBE_GRAPHQL_ACCESS_TOKEN: ${{ secrets.SCRIBE_GRAPHQL_ACCESS_TOKEN }}
+ MAX_JOBS_OVERRIDE: ${{ inputs.max-jobs }}
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
run: |
START_TIME=$(date +%s)
if [[ ${BUILD_ENVIRONMENT} == *"s390x"* ]]; then
@@ -289,12 +356,22 @@ jobs:
DOCKER_SHELL_CMD=
fi
+<<<<<<< HEAD
+=======
+ if [[ ${MAX_JOBS_OVERRIDE} == "" ]]; then
+ MAX_JOBS="$(nproc --ignore=2)"
+ else
+ MAX_JOBS="${MAX_JOBS_OVERRIDE}"
+ fi
+
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# Leaving 1GB for the runner and other things
TOTAL_AVAILABLE_MEMORY_IN_GB=$(awk '/MemTotal/ { printf "%.3f \n", $2/1024/1024 - 1 }' /proc/meminfo)
# https://docs.docker.com/engine/containers/resource_constraints/#--memory-swap-details, the 3GB swap
# comes from https://github.com/pytorch/test-infra/pull/6058
TOTAL_MEMORY_WITH_SWAP=$(("${TOTAL_AVAILABLE_MEMORY_IN_GB%.*}" + 3))
+<<<<<<< HEAD
if [[ ${BUILD_ENVIRONMENT} == *"riscv64"* ]]; then
# EC2 specific setup for RISC-V emulation
# Ensure binfmt_misc is available
@@ -320,13 +397,22 @@ jobs:
RISCV_DOCKER_ARGS=
fi
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# detached container should get cleaned up by teardown_ec2_linux
# Used for JENKINS_USER and DOCKER_SHELL_CMD, which can be empty
# shellcheck disable=SC2086
container_name=$(docker run \
+<<<<<<< HEAD
${RISCV_DOCKER_ARGS} \
-e BUILD_ENVIRONMENT \
-e MAX_JOBS="$(nproc --ignore=2)" \
+=======
+ -e BUILD_ENVIRONMENT \
+ -e MAX_JOBS=${MAX_JOBS} \
+ -e MAX_JOBS_OVERRIDE \
+ -e AWS_DEFAULT_REGION \
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
-e PR_NUMBER \
-e SHA1 \
-e BRANCH \
@@ -340,8 +426,12 @@ jobs:
-e OUR_GITHUB_JOB_ID \
-e HUGGING_FACE_HUB_TOKEN \
-e SCRIBE_GRAPHQL_ACCESS_TOKEN \
+<<<<<<< HEAD
-e BUILD_ADDITIONAL_PACKAGES \
-e RUNNER \
+=======
+ -e USE_SPLIT_BUILD \
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
--memory="${TOTAL_AVAILABLE_MEMORY_IN_GB%.*}g" \
--memory-swap="${TOTAL_MEMORY_WITH_SWAP}g" \
--env-file="/tmp/github_env_${GITHUB_RUN_ID}" \
@@ -355,16 +445,20 @@ jobs:
"${USED_IMAGE}" \
${DOCKER_SHELL_CMD}
)
+<<<<<<< HEAD
if [[ ${BUILD_ENVIRONMENT} == *"s390x"* ]]; then
docker exec -t "${container_name}" sh -c "python3 -m pip install -r requirements.txt"
fi
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
docker exec -t "${container_name}" sh -c '.ci/pytorch/build.sh'
END_TIME=$(date +%s)
echo "build_time=$((END_TIME - START_TIME))" >> "$GITHUB_OUTPUT"
+<<<<<<< HEAD
- name: Build external packages
id: build-external-packages
if: inputs.build-external-packages != '' && steps.build.outcome != 'skipped'
@@ -385,6 +479,8 @@ jobs:
mv "$src" "dist/$(dirname "$src")/"
fi
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: Stop monitoring script
if: ${{ always() && steps.monitor-script.outputs.monitor-script-pid }}
shell: bash
@@ -457,7 +553,11 @@ jobs:
artifact_prefix: usage_log_build_${{ steps.get-job-id.outputs.job-id }}
- name: Teardown Linux
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/teardown-linux@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/teardown-linux@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: always() && inputs.build-environment != 'linux-s390x-binary-manywheel'
- name: Cleanup docker
diff --git a/.github/workflows/_linux-test.yml b/.github/workflows/_linux-test.yml
index f413f497d79e..dafeaa07aab3 100644
--- a/.github/workflows/_linux-test.yml
+++ b/.github/workflows/_linux-test.yml
@@ -72,10 +72,13 @@ on:
required: false
description: |
HF Auth token to avoid rate limits when downloading models or datasets from hub
+<<<<<<< HEAD
VLLM_TEST_HUGGING_FACE_TOKEN:
required: false
description: |
HF Auth token to test vllm
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
SCRIBE_GRAPHQL_ACCESS_TOKEN:
required: false
description: |
@@ -94,6 +97,7 @@ jobs:
environment: ${{ github.ref == 'refs/heads/main' && 'scribe-protected' || startsWith(github.ref, 'refs/heads/release/') && 'scribe-protected' || contains(github.event.pull_request.labels.*.name, 'ci-scribe') && 'scribe-pr' || '' }}
runs-on: ${{ matrix.runner }}
timeout-minutes: ${{ matrix.mem_leak_check == 'mem_leak_check' && 600 || inputs.timeout-minutes }}
+<<<<<<< HEAD
permissions:
id-token: write
contents: read
@@ -101,6 +105,12 @@ jobs:
- name: Setup SSH (Click me for login details)
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
if: ${{ !contains(matrix.runner, 'b200') && inputs.build-environment != 'linux-s390x-binary-manywheel' }}
+=======
+ steps:
+ - name: Setup SSH (Click me for login details)
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+ if: ${{ !contains(matrix.runner, 'gcp.a100') && inputs.build-environment != 'linux-s390x-binary-manywheel' }}
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
instructions: |
@@ -108,6 +118,7 @@ jobs:
docker exec -it $(docker container ps --format '{{.ID}}') bash
- name: Checkout PyTorch
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.9
with:
no-sudo: true
@@ -125,12 +136,25 @@ jobs:
- name: configure aws credentials
if: ${{ inputs.aws-role-to-assume != '' && inputs.build-environment != 'linux-s390x-binary-manywheel' }}
+=======
+ uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.8
+ with:
+ no-sudo: true
+
+ - name: Setup Linux
+ uses: ./.github/actions/setup-linux
+ if: inputs.build-environment != 'linux-s390x-binary-manywheel'
+
+ - name: configure aws credentials
+ if : ${{ inputs.aws-role-to-assume != '' && inputs.build-environment != 'linux-s390x-binary-manywheel' }}
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
uses: aws-actions/configure-aws-credentials@ececac1a45f3b08a01d2dd070d28d111c5fe6722 # v4.1.0
with:
role-to-assume: ${{ inputs.aws-role-to-assume }}
role-session-name: gha-linux-test
aws-region: us-east-1
+<<<<<<< HEAD
- name: Login to Amazon ECR
if: ${{ inputs.aws-role-to-assume != '' && contains(matrix.runner, 'b200') }}
id: login-ecr
@@ -140,6 +164,11 @@ jobs:
- name: Calculate docker image
id: calculate-docker-image
uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.9
+=======
+ - name: Calculate docker image
+ id: calculate-docker-image
+ uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: inputs.build-environment != 'linux-s390x-binary-manywheel'
with:
docker-image-name: ${{ inputs.docker-image }}
@@ -155,7 +184,11 @@ jobs:
echo "docker pull ghcr.io/pytorch/ci-image:${tag/:/-}"
- name: Pull docker image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: inputs.build-environment != 'linux-s390x-binary-manywheel'
with:
docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }}
@@ -167,20 +200,33 @@ jobs:
- name: Install nvidia driver, nvidia-docker runtime, set GPU_FLAG
id: install-nvidia-driver
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-nvidia@release/2.9
with:
driver-version: ${{ matrix.config == 'legacy_nvidia_driver' && '525.105.17' || '580.82.07' }}
if: ${{ contains(inputs.build-environment, 'cuda') && !contains(matrix.config, 'nogpu') && steps.check_container_runner.outputs.IN_CONTAINER_RUNNER == 'false' && !contains(matrix.runner, 'b200') }}
+=======
+ uses: pytorch/test-infra/.github/actions/setup-nvidia@release/2.8
+ if: ${{ contains(inputs.build-environment, 'cuda') && !contains(matrix.config, 'nogpu') && steps.check_container_runner.outputs.IN_CONTAINER_RUNNER == 'false' }}
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: Setup GPU_FLAG for docker run
id: setup-gpu-flag
run: echo "GPU_FLAG=--gpus all -e NVIDIA_DRIVER_CAPABILITIES=all" >> "${GITHUB_ENV}"
+<<<<<<< HEAD
if: ${{ contains(inputs.build-environment, 'cuda') && !contains(matrix.config, 'nogpu') && (steps.check_container_runner.outputs.IN_CONTAINER_RUNNER == 'true' || contains(matrix.runner, 'b200')) }}
+=======
+ if: ${{ contains(inputs.build-environment, 'cuda') && !contains(matrix.config, 'nogpu') && steps.check_container_runner.outputs.IN_CONTAINER_RUNNER == 'true' }}
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: Setup SCCACHE_SERVER_PORT environment for docker run when on container
id: setup-sscache-port-flag
run: echo "SCCACHE_SERVER_PORT_DOCKER_FLAG=-e SCCACHE_SERVER_PORT=$((RUNNER_UID + 4226))" >> "${GITHUB_ENV}"
+<<<<<<< HEAD
if: ${{ steps.check_container_runner.outputs.IN_CONTAINER_RUNNER == 'true' && !contains(matrix.runner, 'b200') }}
+=======
+ if: ${{ steps.check_container_runner.outputs.IN_CONTAINER_RUNNER == 'true' }}
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: Lock NVIDIA A100 40GB Frequency
run: |
@@ -209,7 +255,11 @@ jobs:
MONITOR_LOG_INTERVAL: ${{ inputs.monitor-log-interval }}
MONITOR_DATA_COLLECT_INTERVAL: ${{ inputs.monitor-data-collect-interval }}
run: |
+<<<<<<< HEAD
python3 -m pip install psutil==5.9.8 dataclasses_json==0.6.7 nvidia-ml-py==11.525.84
+=======
+ python3 -m pip install psutil==5.9.1 dataclasses_json==0.6.7 nvidia-ml-py==11.525.84
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
python3 -m tools.stats.monitor --log-interval "$MONITOR_LOG_INTERVAL" --data-collect-interval "$MONITOR_DATA_COLLECT_INTERVAL" > usage_log.txt 2>&1 &
echo "monitor-script-pid=${!}" >> "${GITHUB_OUTPUT}"
@@ -247,12 +297,15 @@ jobs:
run: |
echo "timeout=$((JOB_TIMEOUT-30))" >> "${GITHUB_OUTPUT}"
+<<<<<<< HEAD
- name: Preserve github env variables for use in docker
shell: bash
run: |
env | grep '^GITHUB' >> "/tmp/github_env_${GITHUB_RUN_ID}"
env | grep '^CI' >> "/tmp/github_env_${GITHUB_RUN_ID}"
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: Test
id: test
timeout-minutes: ${{ fromJson(steps.test-timeout.outputs.timeout) }}
@@ -273,8 +326,11 @@ jobs:
TEST_CONFIG: ${{ matrix.config }}
SHARD_NUMBER: ${{ matrix.shard }}
NUM_TEST_SHARDS: ${{ matrix.num_shards }}
+<<<<<<< HEAD
EXTRA_FLAGS: ${{ matrix.extra_flags || '' }}
OP_BENCHMARK_TESTS: ${{ matrix.op_benchmark_tests }}
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
REENABLED_ISSUES: ${{ steps.keep-going.outputs.reenabled-issues }}
CONTINUE_THROUGH_ERROR: ${{ steps.keep-going.outputs.keep-going }}
VERBOSE_TEST_LOGS: ${{ steps.keep-going.outputs.ci-verbose-test-logs }}
@@ -283,8 +339,13 @@ jobs:
NO_TD: ${{ steps.keep-going.outputs.ci-no-td }}
TD_DISTRIBUTED: ${{ steps.keep-going.outputs.ci-td-distributed }}
# Do not set SCCACHE_S3_KEY_PREFIX to share the cache between all build jobs
+<<<<<<< HEAD
SCCACHE_BUCKET: ${{ !contains(matrix.runner, 'b200') && 'ossci-compiler-cache-circleci-v2' || '' }}
SCCACHE_REGION: ${{ !contains(matrix.runner, 'b200') && 'us-east-1' || '' }}
+=======
+ SCCACHE_BUCKET: ossci-compiler-cache-circleci-v2
+ SCCACHE_REGION: us-east-1
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
SHM_SIZE: ${{ contains(inputs.build-environment, 'cuda') && '2g' || '1g' }}
DOCKER_IMAGE: ${{ inputs.docker-image }}
XLA_CUDA: ${{ contains(inputs.build-environment, 'xla') && '0' || '' }}
@@ -292,9 +353,15 @@ jobs:
PYTORCH_TEST_CUDA_MEM_LEAK_CHECK: ${{ matrix.mem_leak_check && '1' || '0' }}
PYTORCH_TEST_RERUN_DISABLED_TESTS: ${{ matrix.rerun_disabled_tests && '1' || '0' }}
DASHBOARD_TAG: ${{ inputs.dashboard-tag }}
+<<<<<<< HEAD
VLLM_TEST_HUGGING_FACE_TOKEN: ${{ secrets.VLLM_TEST_HUGGING_FACE_TOKEN }}
HUGGING_FACE_HUB_TOKEN: ${{ secrets.HUGGING_FACE_HUB_TOKEN }}
SCRIBE_GRAPHQL_ACCESS_TOKEN: ${{ secrets.SCRIBE_GRAPHQL_ACCESS_TOKEN }}
+=======
+ HUGGING_FACE_HUB_TOKEN: ${{ secrets.HUGGING_FACE_HUB_TOKEN }}
+ SCRIBE_GRAPHQL_ACCESS_TOKEN: ${{ secrets.SCRIBE_GRAPHQL_ACCESS_TOKEN }}
+ IS_A100_RUNNER: ${{ contains(matrix.runner, 'a100') && '1' || '0' }}
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
ARTIFACTS_FILE_SUFFIX: ${{ github.job }}-${{ matrix.config }}-${{ matrix.shard }}-${{ matrix.num_shards }}-${{ matrix.runner }}_${{ steps.get-job-id.outputs.job-id }}
run: |
set -x
@@ -320,6 +387,13 @@ jobs:
# if for some reason cleanup action doesn't stop container
# when job is cancelled
DOCKER_SHELL_CMD="sleep 12h"
+<<<<<<< HEAD
+=======
+
+ # since some steps are skipped on s390x, if they are necessary, run them here
+ env | grep '^GITHUB' >> "/tmp/github_env_${GITHUB_RUN_ID}"
+ env | grep '^CI' >> "/tmp/github_env_${GITHUB_RUN_ID}"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
else
SHM_OPTS="--shm-size=${SHM_SIZE}"
JENKINS_USER="--user jenkins"
@@ -369,9 +443,15 @@ jobs:
-e PYTORCH_TEST_RERUN_DISABLED_TESTS \
-e SKIP_SCCACHE_INITIALIZATION=1 \
-e HUGGING_FACE_HUB_TOKEN \
+<<<<<<< HEAD
-e VLLM_TEST_HUGGING_FACE_TOKEN \
-e SCRIBE_GRAPHQL_ACCESS_TOKEN \
-e DASHBOARD_TAG \
+=======
+ -e SCRIBE_GRAPHQL_ACCESS_TOKEN \
+ -e DASHBOARD_TAG \
+ -e IS_A100_RUNNER \
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
-e ARTIFACTS_FILE_SUFFIX \
--memory="${TOTAL_AVAILABLE_MEMORY_IN_GB%.*}g" \
--memory-swap="${TOTAL_MEMORY_WITH_SWAP}g" \
@@ -410,6 +490,7 @@ jobs:
test_config: ${{ matrix.config }}
job_identifier: ${{ github.workflow }}_${{ inputs.build-environment }}
+<<<<<<< HEAD
- name: Authenticate with AWS
if: ${{ always() && contains(matrix.runner, 'b200') }}
uses: aws-actions/configure-aws-credentials@ececac1a45f3b08a01d2dd070d28d111c5fe6722 # v4.1.0
@@ -421,6 +502,10 @@ jobs:
- name: Upload the benchmark results
uses: pytorch/test-infra/.github/actions/upload-benchmark-results@release/2.9
+=======
+ - name: Upload the benchmark results
+ uses: pytorch/test-infra/.github/actions/upload-benchmark-results@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: inputs.build-environment != 'linux-s390x-binary-manywheel'
with:
benchmark-results-dir: test/test-reports
@@ -478,7 +563,11 @@ jobs:
workflow_attempt: ${{github.run_attempt}}
- name: Teardown Linux
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/teardown-linux@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/teardown-linux@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: always() && steps.check_container_runner.outputs.IN_CONTAINER_RUNNER == 'false'
# NB: We are currently having an intermittent GPU-related issue on G5 runners with
diff --git a/.github/workflows/_mac-build.yml b/.github/workflows/_mac-build.yml
index 9561dcc8b895..7a2c9a0f88d1 100644
--- a/.github/workflows/_mac-build.yml
+++ b/.github/workflows/_mac-build.yml
@@ -67,11 +67,19 @@ jobs:
test-matrix: ${{ steps.filter.outputs.test-matrix }}
steps:
- name: Clean up disk space before running MacOS workflow
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/check-disk-space@release/2.9
# [see note: pytorch repo ref]
- name: Checkout PyTorch
uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/check-disk-space@release/2.8
+
+ # [see note: pytorch repo ref]
+ - name: Checkout PyTorch
+ uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: Set xcode version
env:
@@ -82,7 +90,11 @@ jobs:
fi
- name: Setup Python
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-python@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-python@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
python-version: ${{ inputs.python-version }}
pip-requirements-file: .github/requirements/pip-requirements-macOS.txt
@@ -123,7 +135,11 @@ jobs:
else
# The runner has access to the S3 bucket via IAM profile without the need
# for any credential
+<<<<<<< HEAD
echo "SCCACHE_BUCKET=ossci-compiler-cache-circleci-v2" >> "${GITHUB_ENV}"
+=======
+ echo "SCCACHE_BUCKET=ossci-compiler-cache-circleci-v2" >> "${GITHUB_ENV}"0
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
echo "SCCACHE_S3_KEY_PREFIX=${GITHUB_WORKFLOW}" >> "${GITHUB_ENV}"
fi
@@ -152,14 +168,27 @@ jobs:
env:
OUR_GITHUB_JOB_ID: ${{ steps.get-job-id.outputs.job-id }}
run: |
+<<<<<<< HEAD
# TODO: Remove me later, and properly activate venv
PATH="$VENV_PATH/bin:$PATH"
export PATH
+=======
+ echo "CMAKE_PREFIX_PATH=${CONDA_PREFIX:-"$(dirname "$(which conda)")/../"}" >> "${GITHUB_ENV}"
+
+ if [[ -n "$CONDA_ENV" ]]; then
+ # Use binaries under conda environment
+ export PATH="$CONDA_ENV/bin":$PATH
+ fi
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# NB: Same trick as Linux, there is no need to initialize sccache with the risk of getting
# it hangs or timeout at initialization. The cache will be started automatically
export SKIP_SCCACHE_INITIALIZATION=1
+<<<<<<< HEAD
.ci/pytorch/macos-build.sh
+=======
+ ${CONDA_RUN} .ci/pytorch/macos-build.sh
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: Archive artifacts into zip
if: inputs.build-generates-artifacts && steps.build.outcome != 'skipped'
@@ -188,4 +217,8 @@ jobs:
- name: Clean up disk space
if: always()
continue-on-error: true
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/check-disk-space@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/check-disk-space@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/.github/workflows/_mac-test.yml b/.github/workflows/_mac-test.yml
index 29ff3a72817f..a7cc4b9ff926 100644
--- a/.github/workflows/_mac-test.yml
+++ b/.github/workflows/_mac-test.yml
@@ -88,6 +88,7 @@ jobs:
pkill "${PROCESS}" || true
done
+<<<<<<< HEAD
- name: Clean up brew miniconda, if installed
continue-on-error: true
run: |
@@ -95,6 +96,11 @@ jobs:
brew uninstall miniconda
echo "REINSTALL_BREW_MINICONDA=1" >> "${GITHUB_ENV}"
fi
+=======
+ - name: Clean up leftover miniconda installation
+ continue-on-error: true
+ run: brew uninstall miniconda || true
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: Clean up leftover local python3 site-packages on MacOS pet runner
continue-on-error: true
@@ -105,11 +111,19 @@ jobs:
done
- name: Clean up disk space before running MacOS workflow
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/check-disk-space@release/2.9
# [see note: pytorch repo ref]
- name: Checkout PyTorch
uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/check-disk-space@release/2.8
+
+ # [see note: pytorch repo ref]
+ - name: Checkout PyTorch
+ uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: Get workflow job id
id: get-job-id
@@ -118,12 +132,15 @@ jobs:
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
+<<<<<<< HEAD
- name: Setup Python
uses: pytorch/test-infra/.github/actions/setup-python@release/2.9
with:
python-version: ${{ inputs.python-version }}
pip-requirements-file: .github/requirements/pip-requirements-macOS.txt
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: Start monitoring script
id: monitor-script
if: ${{ !inputs.disable-monitor }}
@@ -136,8 +153,13 @@ jobs:
MONITOR_LOG_INTERVAL: ${{ inputs.monitor-log-interval }}
MONITOR_DATA_COLLECT_INTERVAL: ${{ inputs.monitor-data-collect-interval }}
run: |
+<<<<<<< HEAD
"$VENV_PATH/bin/python3" -m pip install psutil==5.9.8 dataclasses_json==0.6.7
"$VENV_PATH/bin/python3" -m tools.stats.monitor --log-interval "$MONITOR_LOG_INTERVAL" --data-collect-interval "$MONITOR_DATA_COLLECT_INTERVAL" > usage_log.txt 2>&1 &
+=======
+ python3 -m pip install psutil==5.9.1 dataclasses_json==0.6.7
+ python3 -m tools.stats.monitor --log-interval "$MONITOR_LOG_INTERVAL" --data-collect-interval "$MONITOR_DATA_COLLECT_INTERVAL" > usage_log.txt 2>&1 &
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
echo "monitor-script-pid=${!}" >> "${GITHUB_OUTPUT}"
- name: Download build artifacts
@@ -152,6 +174,16 @@ jobs:
with:
use-gha: true
+<<<<<<< HEAD
+=======
+ - name: Setup Python
+ uses: pytorch/test-infra/.github/actions/setup-python@release/2.8
+ with:
+ python-version: ${{ inputs.python-version }}
+ pip-requirements-file: .github/requirements/pip-requirements-macOS.txt
+ default-packages: ""
+
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: Parse ref
id: parse-ref
run: .github/scripts/parse_ref.py
@@ -202,7 +234,11 @@ jobs:
set -ex
# TODO: Remove me later, and properly activate venv
+<<<<<<< HEAD
PATH="$VENV_PATH/bin:$PATH"
+=======
+ PATH="$(dirname "$(which python)"):$PATH"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
export PATH
# Print out some information about the test environment
@@ -257,7 +293,11 @@ jobs:
file-suffix: ${{ github.job }}-${{ matrix.config }}-${{ matrix.shard }}-${{ matrix.num_shards }}-${{ matrix.runner }}_${{ steps.get-job-id.outputs.job-id }}
- name: Upload the benchmark results
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/upload-benchmark-results@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/upload-benchmark-results@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
benchmark-results-dir: test/test-reports
dry-run: false
@@ -276,6 +316,7 @@ jobs:
workflow_attempt: ${{github.run_attempt}}
local_path: usage_log.txt
+<<<<<<< HEAD
- name: Reinstall brew miniconda, if was installed
if: always()
continue-on-error: true
@@ -288,3 +329,9 @@ jobs:
if: always()
continue-on-error: true
uses: pytorch/test-infra/.github/actions/check-disk-space@release/2.9
+=======
+ - name: Clean up disk space
+ if: always()
+ continue-on-error: true
+ uses: pytorch/test-infra/.github/actions/check-disk-space@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/.github/workflows/_rocm-test.yml b/.github/workflows/_rocm-test.yml
index b6cd5d88a094..3b690f338e92 100644
--- a/.github/workflows/_rocm-test.yml
+++ b/.github/workflows/_rocm-test.yml
@@ -81,13 +81,18 @@ jobs:
steps:
# [see note: pytorch repo ref]
- name: Checkout PyTorch
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.9
+=======
+ uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
no-sudo: true
- name: Setup ROCm
uses: ./.github/actions/setup-rocm
+<<<<<<< HEAD
- name: Runner check GPU count (distributed jobs)
if: ${{ contains(matrix.config, 'distributed') }}
shell: bash
@@ -98,6 +103,8 @@ jobs:
exit 1
fi
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: configure aws credentials
id: aws_creds
uses: aws-actions/configure-aws-credentials@ececac1a45f3b08a01d2dd070d28d111c5fe6722 # v4.1.0
@@ -113,12 +120,20 @@ jobs:
- name: Calculate docker image
id: calculate-docker-image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-image-name: ${{ inputs.docker-image }}
- name: Pull docker image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }}
@@ -142,7 +157,11 @@ jobs:
shell: bash
continue-on-error: true
run: |
+<<<<<<< HEAD
python3 -m pip install psutil==5.9.8 dataclasses_json==0.6.7
+=======
+ python3 -m pip install psutil==5.9.1 dataclasses_json==0.6.7
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
python3 -m tools.stats.monitor --log-interval "$MONITOR_LOG_INTERVAL" --data-collect-interval "$MONITOR_DATA_COLLECT_INTERVAL" > usage_log.txt 2>&1 &
echo "monitor-script-pid=${!}" >> "${GITHUB_OUTPUT}"
@@ -279,8 +298,13 @@ jobs:
# copy test results back to the mounted workspace, needed sudo, resulting permissions were correct
docker exec -t "${{ env.CONTAINER_NAME }}" sh -c "cd ../pytorch && sudo cp -R test/test-reports ../workspace/test"
+<<<<<<< HEAD
- name: Change permissions (only needed for kubernetes runners for now)
if: ${{ always() && steps.test.conclusion && (contains(matrix.runner, 'gfx942') || contains(matrix.runner, 'mi355')) }}
+=======
+ - name: Change permissions (only needed for MI300 runners for now)
+ if: ${{ always() && steps.test.conclusion && contains(matrix.runner, 'mi300') }}
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
run: |
docker exec -t "${{ env.CONTAINER_NAME }}" sh -c "sudo chown -R 1001:1001 test"
@@ -330,7 +354,11 @@ jobs:
aws-region: us-east-1
- name: Upload the benchmark results
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/upload-benchmark-results@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/upload-benchmark-results@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
benchmark-results-dir: test/test-reports
dry-run: false
diff --git a/.github/workflows/_runner-determinator.yml b/.github/workflows/_runner-determinator.yml
index dd28024dbd80..b71a3a6db130 100644
--- a/.github/workflows/_runner-determinator.yml
+++ b/.github/workflows/_runner-determinator.yml
@@ -59,7 +59,11 @@ jobs:
PR_NUMBER: ${{ github.event.pull_request.number }}
steps:
# - name: Checkout PyTorch
+<<<<<<< HEAD
# uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.9
+=======
+ # uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# with:
# fetch-depth: 1
# submodules: true
diff --git a/.github/workflows/_win-build.yml b/.github/workflows/_win-build.yml
index 92543128265d..b2a63480f841 100644
--- a/.github/workflows/_win-build.yml
+++ b/.github/workflows/_win-build.yml
@@ -77,7 +77,10 @@ jobs:
run: |
git config --global core.longpaths true
git config --global core.symlinks true
+<<<<<<< HEAD
git config --global core.ignorecase false
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# https://git-scm.com/docs/git-fsmonitor--daemon. The daemon could lock
# the directory on Windows and prevent GHA from checking out as reported
@@ -85,10 +88,17 @@ jobs:
git config --global core.fsmonitor false
- name: Clean up leftover processes on non-ephemeral Windows runner
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/cleanup-runner@release/2.9
- name: Setup SSH (Click me for login details)
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/cleanup-runner@release/2.8
+
+ - name: Setup SSH (Click me for login details)
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
instructions: |
@@ -103,7 +113,11 @@ jobs:
# [see note: pytorch repo ref]
- name: Checkout PyTorch
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.9
+=======
+ uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
no-sudo: true
@@ -151,7 +165,11 @@ jobs:
BUILD_WHEEL: 1
MAX_JOBS: 8
CUDA_VERSION: ${{ inputs.cuda-version }}
+<<<<<<< HEAD
PYTHON_VERSION: "3.10"
+=======
+ PYTHON_VERSION: "3.9"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
SCCACHE_BUCKET: "ossci-compiler-cache"
SCCACHE_S3_KEY_PREFIX: ${{ github.workflow }}
SCCACHE_REGION: us-east-1
diff --git a/.github/workflows/_win-test.yml b/.github/workflows/_win-test.yml
index 37e48d99e2be..0d5c1d5da50d 100644
--- a/.github/workflows/_win-test.yml
+++ b/.github/workflows/_win-test.yml
@@ -70,7 +70,10 @@ jobs:
run: |
git config --global core.longpaths true
git config --global core.symlinks true
+<<<<<<< HEAD
git config --global core.ignorecase false
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# https://git-scm.com/docs/git-fsmonitor--daemon. The daemon could lock
# the directory on Windows and prevent GHA from checking out as reported
@@ -78,10 +81,17 @@ jobs:
git config --global core.fsmonitor false
- name: Clean up leftover processes on non-ephemeral Windows runner
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/cleanup-runner@release/2.9
- name: Setup SSH (Click me for login details)
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/cleanup-runner@release/2.8
+
+ - name: Setup SSH (Click me for login details)
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
instructions: |
@@ -97,7 +107,11 @@ jobs:
# [see note: pytorch repo ref]
- name: Checkout PyTorch
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.9
+=======
+ uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
no-sudo: true
@@ -139,7 +153,11 @@ jobs:
continue-on-error: true
run: |
# Windows conda doesn't have python3 binary, only python, but it's python3
+<<<<<<< HEAD
${CONDA_RUN} python -m pip install psutil==5.9.8 dataclasses_json==0.6.7 nvidia-ml-py==11.525.84
+=======
+ ${CONDA_RUN} python -m pip install psutil==5.9.1 dataclasses_json==0.6.7 nvidia-ml-py==11.525.84
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
${CONDA_RUN} python -m tools.stats.monitor --log-interval "$MONITOR_LOG_INTERVAL" --data-collect-interval "$MONITOR_DATA_COLLECT_INTERVAL" > usage_log.txt 2>&1 &
echo "monitor-script-pid=${!}" >> "${GITHUB_OUTPUT}"
@@ -184,7 +202,11 @@ jobs:
env:
USE_CUDA: ${{ inputs.cuda-version != 'cpu' && '1' || '0' }}
INSTALL_WINDOWS_SDK: 1
+<<<<<<< HEAD
PYTHON_VERSION: "3.10"
+=======
+ PYTHON_VERSION: 3.9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
CONTINUE_THROUGH_ERROR: ${{ steps.keep-going.outputs.keep-going }}
VERBOSE_TEST_LOGS: ${{ steps.keep-going.outputs.ci-verbose-test-logs }}
TEST_SHOWLOCALS: ${{ steps.keep-going.outputs.ci-test-showlocals }}
diff --git a/.github/workflows/_xpu-test.yml b/.github/workflows/_xpu-test.yml
index 6bceb4eef6ba..546c6a8900ec 100644
--- a/.github/workflows/_xpu-test.yml
+++ b/.github/workflows/_xpu-test.yml
@@ -77,7 +77,11 @@ jobs:
steps:
# [see note: pytorch repo ref]
- name: Checkout PyTorch
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.9
+=======
+ uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: Setup XPU
uses: ./.github/actions/setup-xpu
@@ -95,7 +99,11 @@ jobs:
- name: Calculate docker image
id: calculate-docker-image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-image-name: ${{ inputs.docker-image }}
@@ -109,7 +117,11 @@ jobs:
echo "docker pull ghcr.io/pytorch/ci-image:${tag/:/-}"
- name: Pull docker image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }}
@@ -133,7 +145,11 @@ jobs:
MONITOR_LOG_INTERVAL: ${{ inputs.monitor-log-interval }}
MONITOR_DATA_COLLECT_INTERVAL: ${{ inputs.monitor-data-collect-interval }}
run: |
+<<<<<<< HEAD
python3 -m pip install psutil==5.9.8 dataclasses_json==0.6.7 nvidia-ml-py==11.525.84
+=======
+ python3 -m pip install psutil==5.9.1 dataclasses_json==0.6.7 nvidia-ml-py==11.525.84
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
python3 -m tools.stats.monitor --log-interval "$MONITOR_LOG_INTERVAL" --data-collect-interval "$MONITOR_DATA_COLLECT_INTERVAL" > usage_log.txt 2>&1 &
echo "monitor-script-pid=${!}" >> "${GITHUB_OUTPUT}"
@@ -191,6 +207,12 @@ jobs:
SHARD_NUMBER: ${{ matrix.shard }}
NUM_TEST_SHARDS: ${{ matrix.num_shards }}
REENABLED_ISSUES: ${{ steps.keep-going.outputs.reenabled-issues }}
+<<<<<<< HEAD
+=======
+ SCCACHE_BUCKET: ossci-compiler-cache-circleci-v2
+ SCCACHE_REGION: us-east-1
+ SCCACHE_S3_KEY_PREFIX: ${{ github.workflow }}
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DOCKER_IMAGE: ${{ inputs.docker-image }}
XLA_CLANG_CACHE_S3_BUCKET_NAME: ossci-compiler-clang-cache-circleci-xla
PYTORCH_TEST_CUDA_MEM_LEAK_CHECK: ${{ matrix.mem_leak_check && '1' || '0' }}
@@ -275,7 +297,11 @@ jobs:
- name: Change permissions
if: ${{ always() && steps.test.conclusion }}
run: |
+<<<<<<< HEAD
docker exec -t "${{ env.CONTAINER_NAME }}" sh -c "sudo chown -R 1000:1000 test"
+=======
+ docker exec -t "${{ env.CONTAINER_NAME }}" sh -c "sudo chown -R 1001:1001 test"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: Print remaining test logs
shell: bash
diff --git a/.github/workflows/build-almalinux-images.yml b/.github/workflows/build-almalinux-images.yml
index e0492f736442..96e1b8c544ab 100644
--- a/.github/workflows/build-almalinux-images.yml
+++ b/.github/workflows/build-almalinux-images.yml
@@ -36,10 +36,17 @@ jobs:
runs-on: linux.9xlarge.ephemeral
strategy:
matrix:
+<<<<<<< HEAD
tag: ["cuda12.6", "cuda12.8", "cuda12.9", "cuda13.0", "rocm6.3", "rocm6.4", "cpu"]
steps:
- name: Build docker image
uses: pytorch/pytorch/.github/actions/binary-docker-build@release/2.9
+=======
+ tag: ["cuda12.6", "cuda12.8", "cuda12.9", "rocm6.3", "rocm6.4", "cpu"]
+ steps:
+ - name: Build docker image
+ uses: pytorch/pytorch/.github/actions/binary-docker-build@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-image-name: almalinux-builder
custom-tag-prefix: ${{matrix.tag}}
diff --git a/.github/workflows/build-libtorch-images.yml b/.github/workflows/build-libtorch-images.yml
index edfa0168e19f..d5f2dddae1df 100644
--- a/.github/workflows/build-libtorch-images.yml
+++ b/.github/workflows/build-libtorch-images.yml
@@ -32,7 +32,11 @@ jobs:
get-label-type:
if: github.repository_owner == 'pytorch'
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
triggering_actor: ${{ github.triggering_actor }}
issue_owner: ${{ github.event.pull_request.user.login || github.event.issue.user.login }}
@@ -48,7 +52,10 @@ jobs:
fail-fast: false
matrix:
include: [
+<<<<<<< HEAD
{ tag: "cuda13.0" },
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
{ tag: "cuda12.9" },
{ tag: "cuda12.8" },
{ tag: "cuda12.6" },
@@ -58,7 +65,11 @@ jobs:
]
steps:
- name: Build docker image
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/actions/binary-docker-build@release/2.9
+=======
+ uses: pytorch/pytorch/.github/actions/binary-docker-build@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-image-name: libtorch-cxx11-builder
custom-tag-prefix: ${{ matrix.tag }}
diff --git a/.github/workflows/build-magma-linux.yml b/.github/workflows/build-magma-linux.yml
index be8f613169e8..d96f1505826c 100644
--- a/.github/workflows/build-magma-linux.yml
+++ b/.github/workflows/build-magma-linux.yml
@@ -34,7 +34,11 @@ jobs:
id-token: write
strategy:
matrix:
+<<<<<<< HEAD
cuda_version: ["130", "129", "128", "126"]
+=======
+ cuda_version: ["129", "128", "126"]
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
steps:
- name: Checkout PyTorch
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
diff --git a/.github/workflows/build-magma-windows.yml b/.github/workflows/build-magma-windows.yml
index b7d293a5cec1..fc5ea76151cd 100644
--- a/.github/workflows/build-magma-windows.yml
+++ b/.github/workflows/build-magma-windows.yml
@@ -22,7 +22,11 @@ jobs:
runs-on: windows-2022
strategy:
matrix:
+<<<<<<< HEAD
cuda_version: ["130", "129", "128", "126"]
+=======
+ cuda_version: ["129", "128", "126"]
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
config: ["Release", "Debug"]
env:
CUDA_VERSION: ${{ matrix.cuda_version }}
diff --git a/.github/workflows/build-manywheel-images-s390x.yml b/.github/workflows/build-manywheel-images-s390x.yml
index a719bf21a1ca..6dda8a17af20 100644
--- a/.github/workflows/build-manywheel-images-s390x.yml
+++ b/.github/workflows/build-manywheel-images-s390x.yml
@@ -25,7 +25,11 @@ jobs:
runs-on: linux.s390x
steps:
- name: Checkout PyTorch
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.9
+=======
+ uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
submodules: false
no-sudo: true
diff --git a/.github/workflows/build-manywheel-images.yml b/.github/workflows/build-manywheel-images.yml
index e3549cd6284a..eeda122ca140 100644
--- a/.github/workflows/build-manywheel-images.yml
+++ b/.github/workflows/build-manywheel-images.yml
@@ -32,7 +32,11 @@ jobs:
get-label-type:
if: github.repository_owner == 'pytorch'
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
triggering_actor: ${{ github.triggering_actor }}
issue_owner: ${{ github.event.pull_request.user.login || github.event.issue.user.login }}
@@ -46,12 +50,20 @@ jobs:
fail-fast: false
matrix:
include: [
+<<<<<<< HEAD
{ name: "manylinux2_28-builder", tag: "cuda13.0", runner: "linux.9xlarge.ephemeral" },
{ name: "manylinux2_28-builder", tag: "cuda12.8", runner: "linux.9xlarge.ephemeral" },
{ name: "manylinux2_28-builder", tag: "cuda12.6", runner: "linux.9xlarge.ephemeral" },
{ name: "manylinuxaarch64-builder", tag: "cuda13.0", runner: "linux.arm64.2xlarge.ephemeral" },
{ name: "manylinuxaarch64-builder", tag: "cuda12.8", runner: "linux.arm64.2xlarge.ephemeral" },
{ name: "manylinuxaarch64-builder", tag: "cuda12.6", runner: "linux.arm64.2xlarge.ephemeral" },
+=======
+ { name: "manylinux2_28-builder", tag: "cuda12.9", runner: "linux.9xlarge.ephemeral" },
+ { name: "manylinux2_28-builder", tag: "cuda12.8", runner: "linux.9xlarge.ephemeral" },
+ { name: "manylinux2_28-builder", tag: "cuda12.6", runner: "linux.9xlarge.ephemeral" },
+ { name: "manylinuxaarch64-builder", tag: "cuda12.9", runner: "linux.arm64.2xlarge.ephemeral" },
+ { name: "manylinuxaarch64-builder", tag: "cuda12.8", runner: "linux.arm64.2xlarge.ephemeral" },
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
{ name: "manylinux2_28-builder", tag: "rocm6.3", runner: "linux.9xlarge.ephemeral" },
{ name: "manylinux2_28-builder", tag: "rocm6.4", runner: "linux.9xlarge.ephemeral" },
{ name: "manylinux2_28-builder", tag: "cpu", runner: "linux.9xlarge.ephemeral" },
@@ -63,7 +75,11 @@ jobs:
name: ${{ matrix.name }}:${{ matrix.tag }}
steps:
- name: Build docker image
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/actions/binary-docker-build@release/2.9
+=======
+ uses: pytorch/pytorch/.github/actions/binary-docker-build@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-image-name: ${{ matrix.name }}
custom-tag-prefix: ${{ matrix.tag }}
diff --git a/.github/workflows/build-triton-wheel.yml b/.github/workflows/build-triton-wheel.yml
index 8f066de47534..03d5f64cd227 100644
--- a/.github/workflows/build-triton-wheel.yml
+++ b/.github/workflows/build-triton-wheel.yml
@@ -3,12 +3,19 @@ name: Build Triton wheels
on:
push:
branches:
+<<<<<<< HEAD
- release/2.9
+=======
+ - release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
tags:
# NOTE: Binary build pipelines should only get triggered on release candidate builds
# Release candidate tags look like: v1.11.0-rc1
- v[0-9]+.[0-9]+.[0-9]+-rc[0-9]+
+<<<<<<< HEAD
- 'ciflow/triton_binaries/*'
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
paths:
- .github/workflows/build-triton-wheel.yml
- .github/scripts/build_triton_wheel.py
@@ -36,7 +43,11 @@ jobs:
get-label-type:
if: github.repository_owner == 'pytorch'
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
triggering_actor: ${{ github.triggering_actor }}
issue_owner: ${{ github.event.pull_request.user.login || github.event.issue.user.login }}
@@ -50,7 +61,11 @@ jobs:
strategy:
fail-fast: false
matrix:
+<<<<<<< HEAD
py_vers: [ "3.9", "3.10", "3.11", "3.12", "3.13", "3.13t", "3.14", "3.14t" ]
+=======
+ py_vers: [ "3.9", "3.10", "3.11", "3.12", "3.13", "3.13t" ]
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
device: ["cuda", "rocm", "xpu", "aarch64"]
docker-image: ["pytorch/manylinux2_28-builder:cpu"]
include:
@@ -74,12 +89,20 @@ jobs:
PLATFORM: 'manylinux_2_28_x86_64'
steps:
- name: Setup SSH (Click me for login details)
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
- name: Checkout PyTorch
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.9
+=======
+ uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
submodules: false
@@ -87,7 +110,11 @@ jobs:
uses: ./.github/actions/setup-linux
- name: Pull Docker image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-image: ${{ env.DOCKER_IMAGE }}
@@ -126,12 +153,15 @@ jobs:
3.13t)
PYTHON_EXECUTABLE=/opt/python/cp313-cp313t/bin/python
;;
+<<<<<<< HEAD
3.14)
PYTHON_EXECUTABLE=/opt/python/cp314-cp314/bin/python
;;
3.14t)
PYTHON_EXECUTABLE=/opt/python/cp314-cp314t/bin/python
;;
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
*)
echo "Unsupported python version ${PY_VERS}"
exit 1
@@ -145,7 +175,11 @@ jobs:
fi
docker exec -t "${container_name}" yum install -y zlib-devel zip
+<<<<<<< HEAD
docker exec -t "${container_name}" "${PYTHON_EXECUTABLE}" -m pip install -U setuptools==78.1.0 pybind11==3.0.1 auditwheel wheel
+=======
+ docker exec -t "${container_name}" "${PYTHON_EXECUTABLE}" -m pip install -U setuptools==78.1.0 pybind11==2.13.1 auditwheel wheel
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
set +e
docker exec -t "${container_name}" command -v pip
has_pip=$?
@@ -184,7 +218,11 @@ jobs:
path: ${{ runner.temp }}/artifacts/wheelhouse/*
- name: Teardown Linux
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/teardown-linux@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/teardown-linux@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: always()
build-wheel-win:
@@ -194,7 +232,11 @@ jobs:
strategy:
fail-fast: false
matrix:
+<<<<<<< HEAD
py_vers: [ "3.9", "3.10", "3.11", "3.12", "3.13", "3.13t", "3.14", "3.14t" ]
+=======
+ py_vers: [ "3.9", "3.10", "3.11", "3.12", "3.13", "3.13t" ]
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
device: ["xpu"]
timeout-minutes: 40
env:
@@ -217,7 +259,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/check-labels.yml b/.github/workflows/check-labels.yml
index 1174a1c502f6..82b0e350529a 100644
--- a/.github/workflows/check-labels.yml
+++ b/.github/workflows/check-labels.yml
@@ -38,7 +38,11 @@ jobs:
runs-on: linux.24_04.4x
steps:
- name: Checkout PyTorch
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.9
+=======
+ uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
submodules: false
fetch-depth: 1
diff --git a/.github/workflows/check_mergeability_ghstack.yml b/.github/workflows/check_mergeability_ghstack.yml
index 569a174665ba..c94545096896 100644
--- a/.github/workflows/check_mergeability_ghstack.yml
+++ b/.github/workflows/check_mergeability_ghstack.yml
@@ -56,7 +56,11 @@ jobs:
cache: pip
architecture: x64
+<<<<<<< HEAD
- run: pip install pyyaml==6.0.2
+=======
+ - run: pip install pyyaml==6.0
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
shell: bash
- name: Verify mergeability
diff --git a/.github/workflows/cherry-pick.yml b/.github/workflows/cherry-pick.yml
index 310857782ea1..3153a0fc0717 100644
--- a/.github/workflows/cherry-pick.yml
+++ b/.github/workflows/cherry-pick.yml
@@ -26,7 +26,11 @@ jobs:
cache: pip
# Not the direct dependencies but the script uses trymerge
+<<<<<<< HEAD
- run: pip install pyyaml==6.0.2
+=======
+ - run: pip install pyyaml==6.0
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: Setup committer id
run: |
diff --git a/.github/workflows/close-nonexistent-disable-issues.yml b/.github/workflows/close-nonexistent-disable-issues.yml
index da83019a5908..8113b63237ff 100644
--- a/.github/workflows/close-nonexistent-disable-issues.yml
+++ b/.github/workflows/close-nonexistent-disable-issues.yml
@@ -13,7 +13,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout PyTorch
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.9
+=======
+ uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
submodules: false
fetch-depth: 1
diff --git a/.github/workflows/create_release.yml b/.github/workflows/create_release.yml
index 03631be3e563..d3ad75ca954e 100644
--- a/.github/workflows/create_release.yml
+++ b/.github/workflows/create_release.yml
@@ -19,7 +19,11 @@ jobs:
get-label-type:
if: github.repository_owner == 'pytorch'
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
triggering_actor: ${{ github.triggering_actor }}
issue_owner: ${{ github.event.pull_request.user.login || github.event.issue.user.login }}
@@ -57,11 +61,14 @@ jobs:
echo "PT_RELEASE_FILE=pytorch-$tag_or_branch.tar.gz" >> "$GITHUB_ENV"
- name: Checkout optional submodules
run: python3 tools/optional_submodules.py
+<<<<<<< HEAD
- name: Copy docs requirements for inclusion
run: |
# Replace symlink with actual file
rm docs/requirements.txt || true
cp .ci/docker/requirements-docs.txt docs/requirements.txt
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: Create source distribution
run: |
# Create new folder with specified name so extracting the archive yields that
diff --git a/.github/workflows/docker-builds.yml b/.github/workflows/docker-builds.yml
index f88244a13ffc..a490addcd6ac 100644
--- a/.github/workflows/docker-builds.yml
+++ b/.github/workflows/docker-builds.yml
@@ -33,7 +33,11 @@ jobs:
get-label-type:
if: github.repository_owner == 'pytorch'
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
triggering_actor: ${{ github.triggering_actor }}
issue_owner: ${{ github.event.pull_request.user.login || github.event.issue.user.login }}
@@ -50,6 +54,7 @@ jobs:
runner: [linux.12xlarge]
docker-image-name: [
pytorch-linux-jammy-cuda12.8-cudnn9-py3-gcc11,
+<<<<<<< HEAD
pytorch-linux-jammy-cuda13.0-cudnn9-py3-gcc11,
pytorch-linux-jammy-cuda12.8-cudnn9-py3.12-gcc11-vllm,
pytorch-linux-jammy-cuda12.8-cudnn9-py3-gcc9-inductor-benchmarks,
@@ -75,6 +80,34 @@ jobs:
# pytorch-linux-jammy-py3-clang12-executorch,
pytorch-linux-jammy-py3.12-triton-cpu,
pytorch-linux-noble-riscv64-py3.12-gcc14
+=======
+ pytorch-linux-jammy-cuda12.6-cudnn9-py3-gcc9-inductor-benchmarks,
+ pytorch-linux-jammy-cuda12.6-cudnn9-py3.12-gcc9-inductor-benchmarks,
+ pytorch-linux-jammy-cuda12.6-cudnn9-py3.13-gcc9-inductor-benchmarks,
+ pytorch-linux-jammy-cuda12.8-cudnn9-py3-gcc9-inductor-benchmarks,
+ pytorch-linux-jammy-cuda12.8-cudnn9-py3.12-gcc9-inductor-benchmarks,
+ pytorch-linux-jammy-cuda12.8-cudnn9-py3.13-gcc9-inductor-benchmarks,
+ pytorch-linux-jammy-cuda12.8-cudnn9-py3-gcc9,
+ pytorch-linux-jammy-py3.9-clang12,
+ pytorch-linux-jammy-py3.11-clang12,
+ pytorch-linux-jammy-py3.12-clang12,
+ pytorch-linux-jammy-py3.13-clang12,
+ pytorch-linux-jammy-rocm-n-1-py3,
+ pytorch-linux-jammy-rocm-n-py3,
+ pytorch-linux-jammy-cuda12.8-cudnn9-py3.9-clang12,
+ pytorch-linux-jammy-py3.9-gcc11,
+ pytorch-linux-jammy-py3.9-gcc11-inductor-benchmarks,
+ pytorch-linux-jammy-py3.12-halide,
+ pytorch-linux-jammy-xpu-2025.0-py3,
+ pytorch-linux-jammy-xpu-2025.1-py3,
+ pytorch-linux-jammy-py3-clang15-asan,
+ pytorch-linux-jammy-py3-clang18-asan,
+ pytorch-linux-jammy-py3-clang12-onnx,
+ pytorch-linux-jammy-linter,
+ pytorch-linux-jammy-cuda12.8-cudnn9-py3.9-linter,
+ pytorch-linux-jammy-py3-clang12-executorch,
+ pytorch-linux-jammy-py3.12-triton-cpu
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
]
include:
- docker-image-name: pytorch-linux-jammy-aarch64-py3.10-gcc11
@@ -96,21 +129,33 @@ jobs:
# [see note: pytorch repo ref]
# deep clone (fetch-depth 0) required for git merge-base
- name: Checkout PyTorch
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.9
+=======
+ uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: Setup Linux
uses: ./.github/actions/setup-linux
- name: Build docker image
id: build-docker-image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-image-name: ci-image:${{ matrix.docker-image-name }}
always-rebuild: true
push: true
- name: Pull docker image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-image: ${{ steps.build-docker-image.outputs.docker-image }}
@@ -123,7 +168,11 @@ jobs:
GHCR_PAT: ${{ secrets.GHCR_PAT }}
with:
shell: bash
+<<<<<<< HEAD
timeout_minutes: 60
+=======
+ timeout_minutes: 30
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
max_attempts: 5
retry_wait_seconds: 90
command: |
@@ -141,5 +190,9 @@ jobs:
if: always()
- name: Teardown Linux
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/teardown-linux@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/teardown-linux@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: always()
diff --git a/.github/workflows/docker-cache-mi300.yml b/.github/workflows/docker-cache-mi300.yml
index bc2ae450f7c2..9f2f5bf97c05 100644
--- a/.github/workflows/docker-cache-mi300.yml
+++ b/.github/workflows/docker-cache-mi300.yml
@@ -20,7 +20,11 @@ jobs:
runs-on: rocm-docker
steps:
- name: Checkout PyTorch
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.9
+=======
+ uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
no-sudo: true
@@ -39,13 +43,21 @@ jobs:
- name: Calculate docker image
id: calculate-docker-image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-image-name: ci-image:pytorch-linux-jammy-rocm-n-py3
push: false
- name: Pull docker image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }}
diff --git a/.github/workflows/docker-release.yml b/.github/workflows/docker-release.yml
index 134e4caf3088..e940c0041204 100644
--- a/.github/workflows/docker-release.yml
+++ b/.github/workflows/docker-release.yml
@@ -37,7 +37,11 @@ jobs:
get-label-type:
if: github.repository_owner == 'pytorch'
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
triggering_actor: ${{ github.triggering_actor }}
issue_owner: ${{ github.event.pull_request.user.login || github.event.issue.user.login }}
@@ -52,7 +56,11 @@ jobs:
matrix: ${{ steps.generate-matrix.outputs.matrix }}
steps:
- name: Checkout PyTorch
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.9
+=======
+ uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
fetch-depth: 1
submodules: true
@@ -82,7 +90,11 @@ jobs:
CUDNN_VERSION: ${{ matrix.cudnn_version }}
steps:
- name: Setup SSH (Click me for login details)
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
# [see note: pytorch repo ref]
@@ -144,7 +156,11 @@ jobs:
run: |
make -f docker.Makefile "${BUILD_IMAGE_TYPE}-image"
- name: Push nightly tags
+<<<<<<< HEAD
if: ${{ github.event.ref == 'refs/heads/nightly' && matrix.image_type == 'runtime' && matrix.platform == 'linux/amd4' }}
+=======
+ if: ${{ github.event.ref == 'refs/heads/nightly' && matrix.image_type == 'runtime' && matrix.build_platforms == 'linux/amd4' }}
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
run: |
PYTORCH_DOCKER_TAG="${PYTORCH_VERSION}-cuda${CUDA_VERSION_SHORT}-cudnn${CUDNN_VERSION}-runtime"
CUDA_SUFFIX="-cu${CUDA_VERSION}"
@@ -164,12 +180,20 @@ jobs:
fi
- name: Teardown Linux
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/teardown-linux@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/teardown-linux@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: always()
validate:
needs: build
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/workflows/validate-docker-images.yml@release/2.9
+=======
+ uses: pytorch/test-infra/.github/workflows/validate-docker-images.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
channel: test
ref: main
diff --git a/.github/workflows/generated-linux-aarch64-binary-manywheel-nightly.yml b/.github/workflows/generated-linux-aarch64-binary-manywheel-nightly.yml
index 7e36c82644dc..835feddbb26e 100644
--- a/.github/workflows/generated-linux-aarch64-binary-manywheel-nightly.yml
+++ b/.github/workflows/generated-linux-aarch64-binary-manywheel-nightly.yml
@@ -41,12 +41,135 @@ jobs:
get-label-type:
if: github.repository_owner == 'pytorch'
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
triggering_actor: ${{ github.triggering_actor }}
issue_owner: ${{ github.event.pull_request.user.login || github.event.issue.user.login }}
curr_branch: ${{ github.head_ref || github.ref_name }}
curr_ref_type: ${{ github.ref_type }}
+<<<<<<< HEAD
+=======
+ manywheel-py3_9-cpu-aarch64-build:
+ if: ${{ github.repository_owner == 'pytorch' }}
+ uses: ./.github/workflows/_binary-build-linux.yml
+ needs: get-label-type
+ with:
+ PYTORCH_ROOT: /pytorch
+ PACKAGE_TYPE: manywheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: cpu
+ GPU_ARCH_TYPE: cpu-aarch64
+ DOCKER_IMAGE: manylinux2_28_aarch64-builder
+ DOCKER_IMAGE_TAG_PREFIX: cpu-aarch64
+ use_split_build: False
+ DESIRED_PYTHON: "3.9"
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ runs_on: linux.arm64.m7g.4xlarge.ephemeral
+ ALPINE_IMAGE: "arm64v8/alpine"
+ build_name: manywheel-py3_9-cpu-aarch64
+ build_environment: linux-aarch64-binary-manywheel
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ manywheel-py3_9-cpu-aarch64-test: # Testing
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs:
+ - manywheel-py3_9-cpu-aarch64-build
+ - get-label-type
+ uses: ./.github/workflows/_binary-test-linux.yml
+ with:
+ PYTORCH_ROOT: /pytorch
+ PACKAGE_TYPE: manywheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: cpu
+ GPU_ARCH_TYPE: cpu-aarch64
+ DOCKER_IMAGE: manylinux2_28_aarch64-builder
+ DOCKER_IMAGE_TAG_PREFIX: cpu-aarch64
+ use_split_build: False
+ DESIRED_PYTHON: "3.9"
+ build_name: manywheel-py3_9-cpu-aarch64
+ build_environment: linux-aarch64-binary-manywheel
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ runs_on: linux.arm64.2xlarge
+ ALPINE_IMAGE: "arm64v8/alpine"
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ manywheel-py3_9-cpu-aarch64-upload: # Uploading
+ if: ${{ github.repository_owner == 'pytorch' }}
+ permissions:
+ id-token: write
+ contents: read
+ needs: manywheel-py3_9-cpu-aarch64-test
+ with:
+ PYTORCH_ROOT: /pytorch
+ PACKAGE_TYPE: manywheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: cpu
+ GPU_ARCH_TYPE: cpu-aarch64
+ DOCKER_IMAGE: manylinux2_28_aarch64-builder
+ DOCKER_IMAGE_TAG_PREFIX: cpu-aarch64
+ use_split_build: False
+ DESIRED_PYTHON: "3.9"
+ build_name: manywheel-py3_9-cpu-aarch64
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ uses: ./.github/workflows/_binary-upload.yml
+
+ manywheel-py3_9-cuda-aarch64-12_9-build:
+ if: ${{ github.repository_owner == 'pytorch' }}
+ uses: ./.github/workflows/_binary-build-linux.yml
+ needs: get-label-type
+ with:
+ PYTORCH_ROOT: /pytorch
+ PACKAGE_TYPE: manywheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9-aarch64
+ GPU_ARCH_TYPE: cuda-aarch64
+ DOCKER_IMAGE: manylinuxaarch64-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.9
+ use_split_build: False
+ DESIRED_PYTHON: "3.9"
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ runs_on: linux.arm64.m7g.4xlarge.ephemeral
+ ALPINE_IMAGE: "arm64v8/alpine"
+ build_name: manywheel-py3_9-cuda-aarch64-12_9
+ build_environment: linux-aarch64-binary-manywheel
+ PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.9.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.9.1.4; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.4.1.4; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.10.19; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.7.5.82; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.5.10.65; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.27.3; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvjitlink-cu12==12.9.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufile-cu12==1.14.1.1; platform_system == 'Linux' and platform_machine == 'x86_64'
+ timeout-minutes: 420
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ manywheel-py3_9-cuda-aarch64-12_9-upload: # Uploading
+ if: ${{ github.repository_owner == 'pytorch' }}
+ permissions:
+ id-token: write
+ contents: read
+ needs: manywheel-py3_9-cuda-aarch64-12_9-build
+ with:
+ PYTORCH_ROOT: /pytorch
+ PACKAGE_TYPE: manywheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9-aarch64
+ GPU_ARCH_TYPE: cuda-aarch64
+ DOCKER_IMAGE: manylinuxaarch64-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.9
+ use_split_build: False
+ DESIRED_PYTHON: "3.9"
+ build_name: manywheel-py3_9-cuda-aarch64-12_9
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ uses: ./.github/workflows/_binary-upload.yml
+
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
manywheel-py3_10-cpu-aarch64-build:
if: ${{ github.repository_owner == 'pytorch' }}
uses: ./.github/workflows/_binary-build-linux.yml
@@ -60,6 +183,10 @@ jobs:
GPU_ARCH_TYPE: cpu-aarch64
DOCKER_IMAGE: manylinux2_28_aarch64-builder
DOCKER_IMAGE_TAG_PREFIX: cpu-aarch64
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.10"
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
runs_on: linux.arm64.m7g.4xlarge.ephemeral
@@ -83,6 +210,10 @@ jobs:
GPU_ARCH_TYPE: cpu-aarch64
DOCKER_IMAGE: manylinux2_28_aarch64-builder
DOCKER_IMAGE_TAG_PREFIX: cpu-aarch64
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.10"
build_name: manywheel-py3_10-cpu-aarch64
build_environment: linux-aarch64-binary-manywheel
@@ -106,13 +237,21 @@ jobs:
GPU_ARCH_TYPE: cpu-aarch64
DOCKER_IMAGE: manylinux2_28_aarch64-builder
DOCKER_IMAGE_TAG_PREFIX: cpu-aarch64
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.10"
build_name: manywheel-py3_10-cpu-aarch64
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
+<<<<<<< HEAD
manywheel-py3_10-cuda-aarch64-12_6-build:
+=======
+ manywheel-py3_10-cuda-aarch64-12_9-build:
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ github.repository_owner == 'pytorch' }}
uses: ./.github/workflows/_binary-build-linux.yml
needs: get-label-type
@@ -121,15 +260,25 @@ jobs:
PACKAGE_TYPE: manywheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu126
GPU_ARCH_VERSION: "12.6-aarch64"
GPU_ARCH_TYPE: cuda-aarch64
DOCKER_IMAGE: manylinuxaarch64-builder
DOCKER_IMAGE_TAG_PREFIX: cuda12.6
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9-aarch64
+ GPU_ARCH_TYPE: cuda-aarch64
+ DOCKER_IMAGE: manylinuxaarch64-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.9
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.10"
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
runs_on: linux.arm64.m7g.4xlarge.ephemeral
ALPINE_IMAGE: "arm64v8/alpine"
+<<<<<<< HEAD
build_name: manywheel-py3_10-cuda-aarch64-12_6
build_environment: linux-aarch64-binary-manywheel
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.6.80; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.6.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.0.4; platform_system == 'Linux' | nvidia-curand-cu12==10.3.7.77; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.1.2; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.4.2; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.3.20; platform_system == 'Linux' | nvidia-nvtx-cu12==12.6.77; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.6.85; platform_system == 'Linux' | nvidia-cufile-cu12==1.11.1.6; platform_system == 'Linux'
@@ -137,16 +286,30 @@ jobs:
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
manywheel-py3_10-cuda-aarch64-12_6-upload: # Uploading
+=======
+ build_name: manywheel-py3_10-cuda-aarch64-12_9
+ build_environment: linux-aarch64-binary-manywheel
+ PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.9.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.9.1.4; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.4.1.4; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.10.19; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.7.5.82; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.5.10.65; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.27.3; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvjitlink-cu12==12.9.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufile-cu12==1.14.1.1; platform_system == 'Linux' and platform_machine == 'x86_64'
+ timeout-minutes: 420
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ manywheel-py3_10-cuda-aarch64-12_9-upload: # Uploading
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ github.repository_owner == 'pytorch' }}
permissions:
id-token: write
contents: read
+<<<<<<< HEAD
needs: manywheel-py3_10-cuda-aarch64-12_6-build
+=======
+ needs: manywheel-py3_10-cuda-aarch64-12_9-build
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
PYTORCH_ROOT: /pytorch
PACKAGE_TYPE: manywheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu126
GPU_ARCH_VERSION: "12.6-aarch64"
GPU_ARCH_TYPE: cuda-aarch64
@@ -246,6 +409,16 @@ jobs:
DOCKER_IMAGE_TAG_PREFIX: cuda13.0
DESIRED_PYTHON: "3.10"
build_name: manywheel-py3_10-cuda-aarch64-13_0
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9-aarch64
+ GPU_ARCH_TYPE: cuda-aarch64
+ DOCKER_IMAGE: manylinuxaarch64-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.9
+ use_split_build: False
+ DESIRED_PYTHON: "3.10"
+ build_name: manywheel-py3_10-cuda-aarch64-12_9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
@@ -263,6 +436,10 @@ jobs:
GPU_ARCH_TYPE: cpu-aarch64
DOCKER_IMAGE: manylinux2_28_aarch64-builder
DOCKER_IMAGE_TAG_PREFIX: cpu-aarch64
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.11"
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
runs_on: linux.arm64.m7g.4xlarge.ephemeral
@@ -286,6 +463,10 @@ jobs:
GPU_ARCH_TYPE: cpu-aarch64
DOCKER_IMAGE: manylinux2_28_aarch64-builder
DOCKER_IMAGE_TAG_PREFIX: cpu-aarch64
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.11"
build_name: manywheel-py3_11-cpu-aarch64
build_environment: linux-aarch64-binary-manywheel
@@ -309,13 +490,21 @@ jobs:
GPU_ARCH_TYPE: cpu-aarch64
DOCKER_IMAGE: manylinux2_28_aarch64-builder
DOCKER_IMAGE_TAG_PREFIX: cpu-aarch64
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.11"
build_name: manywheel-py3_11-cpu-aarch64
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
+<<<<<<< HEAD
manywheel-py3_11-cuda-aarch64-12_6-build:
+=======
+ manywheel-py3_11-cuda-aarch64-12_9-build:
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ github.repository_owner == 'pytorch' }}
uses: ./.github/workflows/_binary-build-linux.yml
needs: get-label-type
@@ -324,15 +513,25 @@ jobs:
PACKAGE_TYPE: manywheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu126
GPU_ARCH_VERSION: "12.6-aarch64"
GPU_ARCH_TYPE: cuda-aarch64
DOCKER_IMAGE: manylinuxaarch64-builder
DOCKER_IMAGE_TAG_PREFIX: cuda12.6
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9-aarch64
+ GPU_ARCH_TYPE: cuda-aarch64
+ DOCKER_IMAGE: manylinuxaarch64-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.9
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.11"
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
runs_on: linux.arm64.m7g.4xlarge.ephemeral
ALPINE_IMAGE: "arm64v8/alpine"
+<<<<<<< HEAD
build_name: manywheel-py3_11-cuda-aarch64-12_6
build_environment: linux-aarch64-binary-manywheel
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.6.80; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.6.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.0.4; platform_system == 'Linux' | nvidia-curand-cu12==10.3.7.77; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.1.2; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.4.2; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.3.20; platform_system == 'Linux' | nvidia-nvtx-cu12==12.6.77; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.6.85; platform_system == 'Linux' | nvidia-cufile-cu12==1.11.1.6; platform_system == 'Linux'
@@ -340,16 +539,30 @@ jobs:
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
manywheel-py3_11-cuda-aarch64-12_6-upload: # Uploading
+=======
+ build_name: manywheel-py3_11-cuda-aarch64-12_9
+ build_environment: linux-aarch64-binary-manywheel
+ PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.9.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.9.1.4; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.4.1.4; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.10.19; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.7.5.82; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.5.10.65; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.27.3; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvjitlink-cu12==12.9.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufile-cu12==1.14.1.1; platform_system == 'Linux' and platform_machine == 'x86_64'
+ timeout-minutes: 420
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ manywheel-py3_11-cuda-aarch64-12_9-upload: # Uploading
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ github.repository_owner == 'pytorch' }}
permissions:
id-token: write
contents: read
+<<<<<<< HEAD
needs: manywheel-py3_11-cuda-aarch64-12_6-build
+=======
+ needs: manywheel-py3_11-cuda-aarch64-12_9-build
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
PYTORCH_ROOT: /pytorch
PACKAGE_TYPE: manywheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu126
GPU_ARCH_VERSION: "12.6-aarch64"
GPU_ARCH_TYPE: cuda-aarch64
@@ -449,6 +662,16 @@ jobs:
DOCKER_IMAGE_TAG_PREFIX: cuda13.0
DESIRED_PYTHON: "3.11"
build_name: manywheel-py3_11-cuda-aarch64-13_0
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9-aarch64
+ GPU_ARCH_TYPE: cuda-aarch64
+ DOCKER_IMAGE: manylinuxaarch64-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.9
+ use_split_build: False
+ DESIRED_PYTHON: "3.11"
+ build_name: manywheel-py3_11-cuda-aarch64-12_9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
@@ -466,6 +689,10 @@ jobs:
GPU_ARCH_TYPE: cpu-aarch64
DOCKER_IMAGE: manylinux2_28_aarch64-builder
DOCKER_IMAGE_TAG_PREFIX: cpu-aarch64
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.12"
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
runs_on: linux.arm64.m7g.4xlarge.ephemeral
@@ -489,6 +716,10 @@ jobs:
GPU_ARCH_TYPE: cpu-aarch64
DOCKER_IMAGE: manylinux2_28_aarch64-builder
DOCKER_IMAGE_TAG_PREFIX: cpu-aarch64
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.12"
build_name: manywheel-py3_12-cpu-aarch64
build_environment: linux-aarch64-binary-manywheel
@@ -512,13 +743,21 @@ jobs:
GPU_ARCH_TYPE: cpu-aarch64
DOCKER_IMAGE: manylinux2_28_aarch64-builder
DOCKER_IMAGE_TAG_PREFIX: cpu-aarch64
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.12"
build_name: manywheel-py3_12-cpu-aarch64
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
+<<<<<<< HEAD
manywheel-py3_12-cuda-aarch64-12_6-build:
+=======
+ manywheel-py3_12-cuda-aarch64-12_9-build:
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ github.repository_owner == 'pytorch' }}
uses: ./.github/workflows/_binary-build-linux.yml
needs: get-label-type
@@ -527,15 +766,25 @@ jobs:
PACKAGE_TYPE: manywheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu126
GPU_ARCH_VERSION: "12.6-aarch64"
GPU_ARCH_TYPE: cuda-aarch64
DOCKER_IMAGE: manylinuxaarch64-builder
DOCKER_IMAGE_TAG_PREFIX: cuda12.6
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9-aarch64
+ GPU_ARCH_TYPE: cuda-aarch64
+ DOCKER_IMAGE: manylinuxaarch64-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.9
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.12"
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
runs_on: linux.arm64.m7g.4xlarge.ephemeral
ALPINE_IMAGE: "arm64v8/alpine"
+<<<<<<< HEAD
build_name: manywheel-py3_12-cuda-aarch64-12_6
build_environment: linux-aarch64-binary-manywheel
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.6.80; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.6.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.0.4; platform_system == 'Linux' | nvidia-curand-cu12==10.3.7.77; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.1.2; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.4.2; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.3.20; platform_system == 'Linux' | nvidia-nvtx-cu12==12.6.77; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.6.85; platform_system == 'Linux' | nvidia-cufile-cu12==1.11.1.6; platform_system == 'Linux'
@@ -543,16 +792,30 @@ jobs:
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
manywheel-py3_12-cuda-aarch64-12_6-upload: # Uploading
+=======
+ build_name: manywheel-py3_12-cuda-aarch64-12_9
+ build_environment: linux-aarch64-binary-manywheel
+ PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.9.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.9.1.4; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.4.1.4; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.10.19; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.7.5.82; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.5.10.65; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.27.3; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvjitlink-cu12==12.9.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufile-cu12==1.14.1.1; platform_system == 'Linux' and platform_machine == 'x86_64'
+ timeout-minutes: 420
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ manywheel-py3_12-cuda-aarch64-12_9-upload: # Uploading
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ github.repository_owner == 'pytorch' }}
permissions:
id-token: write
contents: read
+<<<<<<< HEAD
needs: manywheel-py3_12-cuda-aarch64-12_6-build
+=======
+ needs: manywheel-py3_12-cuda-aarch64-12_9-build
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
PYTORCH_ROOT: /pytorch
PACKAGE_TYPE: manywheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu126
GPU_ARCH_VERSION: "12.6-aarch64"
GPU_ARCH_TYPE: cuda-aarch64
@@ -652,6 +915,16 @@ jobs:
DOCKER_IMAGE_TAG_PREFIX: cuda13.0
DESIRED_PYTHON: "3.12"
build_name: manywheel-py3_12-cuda-aarch64-13_0
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9-aarch64
+ GPU_ARCH_TYPE: cuda-aarch64
+ DOCKER_IMAGE: manylinuxaarch64-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.9
+ use_split_build: False
+ DESIRED_PYTHON: "3.12"
+ build_name: manywheel-py3_12-cuda-aarch64-12_9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
@@ -669,6 +942,10 @@ jobs:
GPU_ARCH_TYPE: cpu-aarch64
DOCKER_IMAGE: manylinux2_28_aarch64-builder
DOCKER_IMAGE_TAG_PREFIX: cpu-aarch64
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13"
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
runs_on: linux.arm64.m7g.4xlarge.ephemeral
@@ -692,6 +969,10 @@ jobs:
GPU_ARCH_TYPE: cpu-aarch64
DOCKER_IMAGE: manylinux2_28_aarch64-builder
DOCKER_IMAGE_TAG_PREFIX: cpu-aarch64
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13"
build_name: manywheel-py3_13-cpu-aarch64
build_environment: linux-aarch64-binary-manywheel
@@ -715,13 +996,21 @@ jobs:
GPU_ARCH_TYPE: cpu-aarch64
DOCKER_IMAGE: manylinux2_28_aarch64-builder
DOCKER_IMAGE_TAG_PREFIX: cpu-aarch64
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13"
build_name: manywheel-py3_13-cpu-aarch64
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
+<<<<<<< HEAD
manywheel-py3_13-cuda-aarch64-12_6-build:
+=======
+ manywheel-py3_13-cuda-aarch64-12_9-build:
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ github.repository_owner == 'pytorch' }}
uses: ./.github/workflows/_binary-build-linux.yml
needs: get-label-type
@@ -730,15 +1019,25 @@ jobs:
PACKAGE_TYPE: manywheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu126
GPU_ARCH_VERSION: "12.6-aarch64"
GPU_ARCH_TYPE: cuda-aarch64
DOCKER_IMAGE: manylinuxaarch64-builder
DOCKER_IMAGE_TAG_PREFIX: cuda12.6
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9-aarch64
+ GPU_ARCH_TYPE: cuda-aarch64
+ DOCKER_IMAGE: manylinuxaarch64-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.9
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13"
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
runs_on: linux.arm64.m7g.4xlarge.ephemeral
ALPINE_IMAGE: "arm64v8/alpine"
+<<<<<<< HEAD
build_name: manywheel-py3_13-cuda-aarch64-12_6
build_environment: linux-aarch64-binary-manywheel
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.6.80; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.6.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.0.4; platform_system == 'Linux' | nvidia-curand-cu12==10.3.7.77; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.1.2; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.4.2; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.3.20; platform_system == 'Linux' | nvidia-nvtx-cu12==12.6.77; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.6.85; platform_system == 'Linux' | nvidia-cufile-cu12==1.11.1.6; platform_system == 'Linux'
@@ -746,16 +1045,30 @@ jobs:
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
manywheel-py3_13-cuda-aarch64-12_6-upload: # Uploading
+=======
+ build_name: manywheel-py3_13-cuda-aarch64-12_9
+ build_environment: linux-aarch64-binary-manywheel
+ PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.9.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.9.1.4; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.4.1.4; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.10.19; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.7.5.82; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.5.10.65; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.27.3; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvjitlink-cu12==12.9.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufile-cu12==1.14.1.1; platform_system == 'Linux' and platform_machine == 'x86_64'
+ timeout-minutes: 420
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ manywheel-py3_13-cuda-aarch64-12_9-upload: # Uploading
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ github.repository_owner == 'pytorch' }}
permissions:
id-token: write
contents: read
+<<<<<<< HEAD
needs: manywheel-py3_13-cuda-aarch64-12_6-build
+=======
+ needs: manywheel-py3_13-cuda-aarch64-12_9-build
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
PYTORCH_ROOT: /pytorch
PACKAGE_TYPE: manywheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu126
GPU_ARCH_VERSION: "12.6-aarch64"
GPU_ARCH_TYPE: cuda-aarch64
@@ -855,6 +1168,16 @@ jobs:
DOCKER_IMAGE_TAG_PREFIX: cuda13.0
DESIRED_PYTHON: "3.13"
build_name: manywheel-py3_13-cuda-aarch64-13_0
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9-aarch64
+ GPU_ARCH_TYPE: cuda-aarch64
+ DOCKER_IMAGE: manylinuxaarch64-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.9
+ use_split_build: False
+ DESIRED_PYTHON: "3.13"
+ build_name: manywheel-py3_13-cuda-aarch64-12_9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
@@ -872,6 +1195,10 @@ jobs:
GPU_ARCH_TYPE: cpu-aarch64
DOCKER_IMAGE: manylinux2_28_aarch64-builder
DOCKER_IMAGE_TAG_PREFIX: cpu-aarch64
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13t"
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
runs_on: linux.arm64.m7g.4xlarge.ephemeral
@@ -895,6 +1222,10 @@ jobs:
GPU_ARCH_TYPE: cpu-aarch64
DOCKER_IMAGE: manylinux2_28_aarch64-builder
DOCKER_IMAGE_TAG_PREFIX: cpu-aarch64
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13t"
build_name: manywheel-py3_13t-cpu-aarch64
build_environment: linux-aarch64-binary-manywheel
@@ -918,13 +1249,21 @@ jobs:
GPU_ARCH_TYPE: cpu-aarch64
DOCKER_IMAGE: manylinux2_28_aarch64-builder
DOCKER_IMAGE_TAG_PREFIX: cpu-aarch64
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13t"
build_name: manywheel-py3_13t-cpu-aarch64
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
+<<<<<<< HEAD
manywheel-py3_13t-cuda-aarch64-12_6-build:
+=======
+ manywheel-py3_13t-cuda-aarch64-12_9-build:
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ github.repository_owner == 'pytorch' }}
uses: ./.github/workflows/_binary-build-linux.yml
needs: get-label-type
@@ -933,15 +1272,25 @@ jobs:
PACKAGE_TYPE: manywheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu126
GPU_ARCH_VERSION: "12.6-aarch64"
GPU_ARCH_TYPE: cuda-aarch64
DOCKER_IMAGE: manylinuxaarch64-builder
DOCKER_IMAGE_TAG_PREFIX: cuda12.6
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9-aarch64
+ GPU_ARCH_TYPE: cuda-aarch64
+ DOCKER_IMAGE: manylinuxaarch64-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.9
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13t"
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
runs_on: linux.arm64.m7g.4xlarge.ephemeral
ALPINE_IMAGE: "arm64v8/alpine"
+<<<<<<< HEAD
build_name: manywheel-py3_13t-cuda-aarch64-12_6
build_environment: linux-aarch64-binary-manywheel
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.6.80; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.6.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.0.4; platform_system == 'Linux' | nvidia-curand-cu12==10.3.7.77; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.1.2; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.4.2; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.3.20; platform_system == 'Linux' | nvidia-nvtx-cu12==12.6.77; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.6.85; platform_system == 'Linux' | nvidia-cufile-cu12==1.11.1.6; platform_system == 'Linux'
@@ -949,16 +1298,30 @@ jobs:
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
manywheel-py3_13t-cuda-aarch64-12_6-upload: # Uploading
+=======
+ build_name: manywheel-py3_13t-cuda-aarch64-12_9
+ build_environment: linux-aarch64-binary-manywheel
+ PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.9.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.9.1.4; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.4.1.4; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.10.19; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.7.5.82; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.5.10.65; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.27.3; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvjitlink-cu12==12.9.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufile-cu12==1.14.1.1; platform_system == 'Linux' and platform_machine == 'x86_64'
+ timeout-minutes: 420
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ manywheel-py3_13t-cuda-aarch64-12_9-upload: # Uploading
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ github.repository_owner == 'pytorch' }}
permissions:
id-token: write
contents: read
+<<<<<<< HEAD
needs: manywheel-py3_13t-cuda-aarch64-12_6-build
+=======
+ needs: manywheel-py3_13t-cuda-aarch64-12_9-build
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
PYTORCH_ROOT: /pytorch
PACKAGE_TYPE: manywheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu126
GPU_ARCH_VERSION: "12.6-aarch64"
GPU_ARCH_TYPE: cuda-aarch64
@@ -1464,6 +1827,16 @@ jobs:
DOCKER_IMAGE_TAG_PREFIX: cuda13.0
DESIRED_PYTHON: "3.14t"
build_name: manywheel-py3_14t-cuda-aarch64-13_0
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9-aarch64
+ GPU_ARCH_TYPE: cuda-aarch64
+ DOCKER_IMAGE: manylinuxaarch64-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.9
+ use_split_build: False
+ DESIRED_PYTHON: "3.13t"
+ build_name: manywheel-py3_13t-cuda-aarch64-12_9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
diff --git a/.github/workflows/generated-linux-binary-libtorch-nightly.yml b/.github/workflows/generated-linux-binary-libtorch-nightly.yml
index bc671ae80ae2..4b36b93bbcba 100644
--- a/.github/workflows/generated-linux-binary-libtorch-nightly.yml
+++ b/.github/workflows/generated-linux-binary-libtorch-nightly.yml
@@ -41,7 +41,11 @@ jobs:
get-label-type:
if: github.repository_owner == 'pytorch'
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
triggering_actor: ${{ github.triggering_actor }}
issue_owner: ${{ github.event.pull_request.user.login || github.event.issue.user.login }}
@@ -122,7 +126,11 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu126
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.6"
+=======
+ GPU_ARCH_VERSION: 12.6
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
DOCKER_IMAGE: libtorch-cxx11-builder
DOCKER_IMAGE_TAG_PREFIX: cuda12.6
@@ -145,7 +153,11 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu126
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.6"
+=======
+ GPU_ARCH_VERSION: 12.6
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
DOCKER_IMAGE: libtorch-cxx11-builder
DOCKER_IMAGE_TAG_PREFIX: cuda12.6
@@ -154,7 +166,11 @@ jobs:
build_name: libtorch-cuda12_6-shared-with-deps-release
build_environment: linux-binary-libtorch
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+<<<<<<< HEAD
runs_on: linux.4xlarge.nvidia.gpu # 12.6 build can use maxwell (sm_50) runner
+=======
+ runs_on: linux.4xlarge.nvidia.gpu # for other cuda versions, we use 4xlarge runner
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
libtorch-cuda12_6-shared-with-deps-release-upload: # Uploading
@@ -169,7 +185,11 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu126
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.6"
+=======
+ GPU_ARCH_VERSION: 12.6
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
DOCKER_IMAGE: libtorch-cxx11-builder
DOCKER_IMAGE_TAG_PREFIX: cuda12.6
@@ -190,7 +210,11 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu128
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.8"
+=======
+ GPU_ARCH_VERSION: 12.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
DOCKER_IMAGE: libtorch-cxx11-builder
DOCKER_IMAGE_TAG_PREFIX: cuda12.8
@@ -213,7 +237,11 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu128
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.8"
+=======
+ GPU_ARCH_VERSION: 12.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
DOCKER_IMAGE: libtorch-cxx11-builder
DOCKER_IMAGE_TAG_PREFIX: cuda12.8
@@ -222,7 +250,11 @@ jobs:
build_name: libtorch-cuda12_8-shared-with-deps-release
build_environment: linux-binary-libtorch
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+<<<<<<< HEAD
runs_on: linux.g4dn.4xlarge.nvidia.gpu # 12.8+ builds need sm_70+ runner
+=======
+ runs_on: linux.g4dn.4xlarge.nvidia.gpu # 12.8 and 12.9 build need sm_70+ runner
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
libtorch-cuda12_8-shared-with-deps-release-upload: # Uploading
@@ -237,7 +269,11 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu128
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.8"
+=======
+ GPU_ARCH_VERSION: 12.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
DOCKER_IMAGE: libtorch-cxx11-builder
DOCKER_IMAGE_TAG_PREFIX: cuda12.8
@@ -248,7 +284,11 @@ jobs:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
+<<<<<<< HEAD
libtorch-cuda13_0-shared-with-deps-release-build:
+=======
+ libtorch-cuda12_9-shared-with-deps-release-build:
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ github.repository_owner == 'pytorch' }}
uses: ./.github/workflows/_binary-build-linux.yml
needs: get-label-type
@@ -257,6 +297,7 @@ jobs:
PACKAGE_TYPE: libtorch
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu130
GPU_ARCH_VERSION: "13.0"
GPU_ARCH_TYPE: cuda
@@ -273,6 +314,24 @@ jobs:
if: ${{ github.repository_owner == 'pytorch' }}
needs:
- libtorch-cuda13_0-shared-with-deps-release-build
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: libtorch-cxx11-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.9
+ LIBTORCH_CONFIG: release
+ LIBTORCH_VARIANT: shared-with-deps
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ build_name: libtorch-cuda12_9-shared-with-deps-release
+ build_environment: linux-binary-libtorch
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ libtorch-cuda12_9-shared-with-deps-release-test: # Testing
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs:
+ - libtorch-cuda12_9-shared-with-deps-release-build
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- get-label-type
uses: ./.github/workflows/_binary-test-linux.yml
with:
@@ -280,6 +339,7 @@ jobs:
PACKAGE_TYPE: libtorch
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu130
GPU_ARCH_VERSION: "13.0"
GPU_ARCH_TYPE: cuda
@@ -294,16 +354,37 @@ jobs:
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
libtorch-cuda13_0-shared-with-deps-release-upload: # Uploading
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: libtorch-cxx11-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.9
+ LIBTORCH_CONFIG: release
+ LIBTORCH_VARIANT: shared-with-deps
+ build_name: libtorch-cuda12_9-shared-with-deps-release
+ build_environment: linux-binary-libtorch
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ runs_on: linux.g4dn.4xlarge.nvidia.gpu # 12.8 and 12.9 build need sm_70+ runner
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ libtorch-cuda12_9-shared-with-deps-release-upload: # Uploading
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ github.repository_owner == 'pytorch' }}
permissions:
id-token: write
contents: read
+<<<<<<< HEAD
needs: libtorch-cuda13_0-shared-with-deps-release-test
+=======
+ needs: libtorch-cuda12_9-shared-with-deps-release-test
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
PYTORCH_ROOT: /pytorch
PACKAGE_TYPE: libtorch
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu130
GPU_ARCH_VERSION: "13.0"
GPU_ARCH_TYPE: cuda
@@ -312,6 +393,16 @@ jobs:
LIBTORCH_CONFIG: release
LIBTORCH_VARIANT: shared-with-deps
build_name: libtorch-cuda13_0-shared-with-deps-release
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: libtorch-cxx11-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.9
+ LIBTORCH_CONFIG: release
+ LIBTORCH_VARIANT: shared-with-deps
+ build_name: libtorch-cuda12_9-shared-with-deps-release
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
@@ -326,14 +417,21 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: rocm6.3
+<<<<<<< HEAD
GPU_ARCH_VERSION: "6.3"
+=======
+ GPU_ARCH_VERSION: 6.3
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: rocm
DOCKER_IMAGE: libtorch-cxx11-builder
DOCKER_IMAGE_TAG_PREFIX: rocm6.3
LIBTORCH_CONFIG: release
LIBTORCH_VARIANT: shared-with-deps
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+<<<<<<< HEAD
timeout-minutes: 300
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
build_name: libtorch-rocm6_3-shared-with-deps-release
build_environment: linux-binary-libtorch
secrets:
@@ -351,7 +449,11 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: rocm6.3
+<<<<<<< HEAD
GPU_ARCH_VERSION: "6.3"
+=======
+ GPU_ARCH_VERSION: 6.3
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: rocm
SKIP_ALL_TESTS: 1
DOCKER_IMAGE: libtorch-cxx11-builder
@@ -390,7 +492,11 @@ jobs:
role-duration-seconds: 18000
- name: Calculate docker image
id: calculate-docker-image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-registry: ${{ startsWith(github.event.ref, 'refs/tags/ciflow/') && '308535385114.dkr.ecr.us-east-1.amazonaws.com' || 'docker.io' }}
docker-image-name: libtorch-cxx11-builder
@@ -398,7 +504,11 @@ jobs:
docker-build-dir: .ci/docker
working-directory: pytorch
- name: Pull Docker image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }}
- name: Test Pytorch binary
@@ -419,7 +529,11 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: rocm6.3
+<<<<<<< HEAD
GPU_ARCH_VERSION: "6.3"
+=======
+ GPU_ARCH_VERSION: 6.3
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: rocm
DOCKER_IMAGE: libtorch-cxx11-builder
DOCKER_IMAGE_TAG_PREFIX: rocm6.3
@@ -440,14 +554,21 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: rocm6.4
+<<<<<<< HEAD
GPU_ARCH_VERSION: "6.4"
+=======
+ GPU_ARCH_VERSION: 6.4
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: rocm
DOCKER_IMAGE: libtorch-cxx11-builder
DOCKER_IMAGE_TAG_PREFIX: rocm6.4
LIBTORCH_CONFIG: release
LIBTORCH_VARIANT: shared-with-deps
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+<<<<<<< HEAD
timeout-minutes: 300
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
build_name: libtorch-rocm6_4-shared-with-deps-release
build_environment: linux-binary-libtorch
secrets:
@@ -465,7 +586,11 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: rocm6.4
+<<<<<<< HEAD
GPU_ARCH_VERSION: "6.4"
+=======
+ GPU_ARCH_VERSION: 6.4
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: rocm
SKIP_ALL_TESTS: 1
DOCKER_IMAGE: libtorch-cxx11-builder
@@ -504,7 +629,11 @@ jobs:
role-duration-seconds: 18000
- name: Calculate docker image
id: calculate-docker-image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-registry: ${{ startsWith(github.event.ref, 'refs/tags/ciflow/') && '308535385114.dkr.ecr.us-east-1.amazonaws.com' || 'docker.io' }}
docker-image-name: libtorch-cxx11-builder
@@ -512,7 +641,11 @@ jobs:
docker-build-dir: .ci/docker
working-directory: pytorch
- name: Pull Docker image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }}
- name: Test Pytorch binary
@@ -533,7 +666,11 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: rocm6.4
+<<<<<<< HEAD
GPU_ARCH_VERSION: "6.4"
+=======
+ GPU_ARCH_VERSION: 6.4
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: rocm
DOCKER_IMAGE: libtorch-cxx11-builder
DOCKER_IMAGE_TAG_PREFIX: rocm6.4
diff --git a/.github/workflows/generated-linux-binary-libtorch-release-main.yml b/.github/workflows/generated-linux-binary-libtorch-release-main.yml
index 9d55fc6e50ab..ddf9f894fba7 100644
--- a/.github/workflows/generated-linux-binary-libtorch-release-main.yml
+++ b/.github/workflows/generated-linux-binary-libtorch-release-main.yml
@@ -36,7 +36,11 @@ jobs:
get-label-type:
if: github.repository_owner == 'pytorch'
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
triggering_actor: ${{ github.triggering_actor }}
issue_owner: ${{ github.event.pull_request.user.login || github.event.issue.user.login }}
diff --git a/.github/workflows/generated-linux-binary-manywheel-main.yml b/.github/workflows/generated-linux-binary-manywheel-main.yml
index 85b91378b253..c38939b62578 100644
--- a/.github/workflows/generated-linux-binary-manywheel-main.yml
+++ b/.github/workflows/generated-linux-binary-manywheel-main.yml
@@ -36,13 +36,68 @@ jobs:
get-label-type:
if: github.repository_owner == 'pytorch'
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
triggering_actor: ${{ github.triggering_actor }}
issue_owner: ${{ github.event.pull_request.user.login || github.event.issue.user.login }}
curr_branch: ${{ github.head_ref || github.ref_name }}
curr_ref_type: ${{ github.ref_type }}
+<<<<<<< HEAD
manywheel-py3_12-cuda12_8-build:
+=======
+ manywheel-py3_9-cuda12_6-build:
+ if: ${{ github.repository_owner == 'pytorch' }}
+ uses: ./.github/workflows/_binary-build-linux.yml
+ needs: get-label-type
+ with:
+ PYTORCH_ROOT: /pytorch
+ PACKAGE_TYPE: manywheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: cu126
+ GPU_ARCH_VERSION: 12.6
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.6
+ use_split_build: False
+ DESIRED_PYTHON: "3.9"
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ build_name: manywheel-py3_9-cuda12_6
+ build_environment: linux-binary-manywheel
+ PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.6.77; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.6.77; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.6.80; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.6.4.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.3.0.4; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.7.77; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.7.1.2; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.5.4.2; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.27.3; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.6.77; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvjitlink-cu12==12.6.85; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufile-cu12==1.11.1.6; platform_system == 'Linux' and platform_machine == 'x86_64'
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ manywheel-py3_9-cuda12_6-test: # Testing
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs:
+ - manywheel-py3_9-cuda12_6-build
+ - get-label-type
+ uses: ./.github/workflows/_binary-test-linux.yml
+ with:
+ PYTORCH_ROOT: /pytorch
+ PACKAGE_TYPE: manywheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: cu126
+ GPU_ARCH_VERSION: 12.6
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.6
+ use_split_build: False
+ DESIRED_PYTHON: "3.9"
+ build_name: manywheel-py3_9-cuda12_6
+ build_environment: linux-binary-manywheel
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ runs_on: linux.4xlarge.nvidia.gpu # for other cuda versions, we use 4xlarge runner
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+
+ manywheel-py3_9-cuda12_8-build:
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ github.repository_owner == 'pytorch' }}
uses: ./.github/workflows/_binary-build-linux.yml
needs: get-label-type
@@ -52,6 +107,7 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu128
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.8"
GPU_ARCH_TYPE: cuda
DOCKER_IMAGE: manylinux2_28-builder
@@ -67,6 +123,24 @@ jobs:
if: ${{ github.repository_owner == 'pytorch' }}
needs:
- manywheel-py3_12-cuda12_8-build
+=======
+ GPU_ARCH_VERSION: 12.8
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.8
+ use_split_build: False
+ DESIRED_PYTHON: "3.9"
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ build_name: manywheel-py3_9-cuda12_8
+ build_environment: linux-binary-manywheel
+ PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.8.93; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.8.90; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.8.90; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.8.4.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.3.3.83; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.9.90; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.7.3.90; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.5.8.93; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.27.3; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.8.90; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvjitlink-cu12==12.8.93; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufile-cu12==1.13.1.3; platform_system == 'Linux' and platform_machine == 'x86_64'
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ manywheel-py3_9-cuda12_8-test: # Testing
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs:
+ - manywheel-py3_9-cuda12_8-build
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- get-label-type
uses: ./.github/workflows/_binary-test-linux.yml
with:
@@ -75,6 +149,7 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu128
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.8"
GPU_ARCH_TYPE: cuda
DOCKER_IMAGE: manylinux2_28-builder
@@ -86,3 +161,155 @@ jobs:
runs_on: linux.g4dn.4xlarge.nvidia.gpu # 12.8+ builds need sm_70+ runner
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
+=======
+ GPU_ARCH_VERSION: 12.8
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.8
+ use_split_build: False
+ DESIRED_PYTHON: "3.9"
+ build_name: manywheel-py3_9-cuda12_8
+ build_environment: linux-binary-manywheel
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ runs_on: linux.g4dn.4xlarge.nvidia.gpu # 12.8 and 12.9 build need sm_70+ runner
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+
+ manywheel-py3_9-cuda12_9-build:
+ if: ${{ github.repository_owner == 'pytorch' }}
+ uses: ./.github/workflows/_binary-build-linux.yml
+ needs: get-label-type
+ with:
+ PYTORCH_ROOT: /pytorch
+ PACKAGE_TYPE: manywheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.9
+ use_split_build: False
+ DESIRED_PYTHON: "3.9"
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ build_name: manywheel-py3_9-cuda12_9
+ build_environment: linux-binary-manywheel
+ PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.9.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.9.1.4; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.4.1.4; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.10.19; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.7.5.82; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.5.10.65; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.27.3; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvjitlink-cu12==12.9.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufile-cu12==1.14.1.1; platform_system == 'Linux' and platform_machine == 'x86_64'
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ manywheel-py3_9-cuda12_9-test: # Testing
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs:
+ - manywheel-py3_9-cuda12_9-build
+ - get-label-type
+ uses: ./.github/workflows/_binary-test-linux.yml
+ with:
+ PYTORCH_ROOT: /pytorch
+ PACKAGE_TYPE: manywheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.9
+ use_split_build: False
+ DESIRED_PYTHON: "3.9"
+ build_name: manywheel-py3_9-cuda12_9
+ build_environment: linux-binary-manywheel
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ runs_on: linux.g4dn.4xlarge.nvidia.gpu # 12.8 and 12.9 build need sm_70+ runner
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+
+ manywheel-py3_9-rocm6_4-build:
+ if: ${{ github.repository_owner == 'pytorch' }}
+ uses: ./.github/workflows/_binary-build-linux.yml
+ needs: get-label-type
+ with:
+ PYTORCH_ROOT: /pytorch
+ PACKAGE_TYPE: manywheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: rocm6.4
+ GPU_ARCH_VERSION: 6.4
+ GPU_ARCH_TYPE: rocm
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: rocm6.4
+ use_split_build: False
+ DESIRED_PYTHON: "3.9"
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ build_name: manywheel-py3_9-rocm6_4
+ build_environment: linux-binary-manywheel
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ manywheel-py3_9-rocm6_4-test: # Testing
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs:
+ - manywheel-py3_9-rocm6_4-build
+ - get-label-type
+ runs-on: linux.rocm.gpu.mi250
+ timeout-minutes: 240
+ env:
+ PYTORCH_ROOT: /pytorch
+ PACKAGE_TYPE: manywheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: rocm6.4
+ GPU_ARCH_VERSION: 6.4
+ GPU_ARCH_TYPE: rocm
+ SKIP_ALL_TESTS: 1
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: rocm6.4
+ use_split_build: False
+ DESIRED_PYTHON: "3.9"
+ steps:
+ - name: Setup ROCm
+ uses: ./.github/actions/setup-rocm
+ - uses: actions/download-artifact@v4.1.7
+ name: Download Build Artifacts
+ with:
+ name: manywheel-py3_9-rocm6_4
+ path: "${{ runner.temp }}/artifacts/"
+ - name: Checkout PyTorch
+ uses: actions/checkout@v4
+ with:
+ submodules: recursive
+ path: pytorch
+ show-progress: false
+ - name: Clean PyTorch checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: pytorch
+ - name: ROCm set GPU_FLAG
+ run: |
+ echo "GPU_FLAG=--device=/dev/mem --device=/dev/kfd --device=/dev/dri --group-add video --group-add daemon" >> "${GITHUB_ENV}"
+ - name: configure aws credentials
+ id: aws_creds
+ if: ${{ startsWith(github.event.ref, 'refs/tags/ciflow/') }}
+ uses: aws-actions/configure-aws-credentials@v4
+ with:
+ role-to-assume: arn:aws:iam::308535385114:role/gha_workflow_s3_and_ecr_read_only
+ aws-region: us-east-1
+ role-duration-seconds: 18000
+ - name: Calculate docker image
+ id: calculate-docker-image
+ uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.8
+ with:
+ docker-registry: ${{ startsWith(github.event.ref, 'refs/tags/ciflow/') && '308535385114.dkr.ecr.us-east-1.amazonaws.com' || 'docker.io' }}
+ docker-image-name: manylinux2_28-builder
+ custom-tag-prefix: rocm6.4
+ docker-build-dir: .ci/docker
+ working-directory: pytorch
+ - name: Pull Docker image
+ uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.8
+ with:
+ docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }}
+ - name: Test Pytorch binary
+ uses: ./pytorch/.github/actions/test-pytorch-binary
+ env:
+ DOCKER_IMAGE: ${{ steps.calculate-docker-image.outputs.docker-image }}
+ - name: Teardown ROCm
+ uses: ./.github/actions/teardown-rocm
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/.github/workflows/generated-linux-binary-manywheel-nightly.yml b/.github/workflows/generated-linux-binary-manywheel-nightly.yml
index 5f9eaab976a6..2ca9d976629c 100644
--- a/.github/workflows/generated-linux-binary-manywheel-nightly.yml
+++ b/.github/workflows/generated-linux-binary-manywheel-nightly.yml
@@ -41,12 +41,629 @@ jobs:
get-label-type:
if: github.repository_owner == 'pytorch'
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
triggering_actor: ${{ github.triggering_actor }}
issue_owner: ${{ github.event.pull_request.user.login || github.event.issue.user.login }}
curr_branch: ${{ github.head_ref || github.ref_name }}
curr_ref_type: ${{ github.ref_type }}
+<<<<<<< HEAD
+=======
+ manywheel-py3_9-cpu-build:
+ if: ${{ github.repository_owner == 'pytorch' }}
+ uses: ./.github/workflows/_binary-build-linux.yml
+ needs: get-label-type
+ with:
+ PYTORCH_ROOT: /pytorch
+ PACKAGE_TYPE: manywheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: cpu
+ GPU_ARCH_TYPE: cpu
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cpu
+ use_split_build: False
+ DESIRED_PYTHON: "3.9"
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ build_name: manywheel-py3_9-cpu
+ build_environment: linux-binary-manywheel
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ manywheel-py3_9-cpu-test: # Testing
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs:
+ - manywheel-py3_9-cpu-build
+ - get-label-type
+ uses: ./.github/workflows/_binary-test-linux.yml
+ with:
+ PYTORCH_ROOT: /pytorch
+ PACKAGE_TYPE: manywheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: cpu
+ GPU_ARCH_TYPE: cpu
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cpu
+ use_split_build: False
+ DESIRED_PYTHON: "3.9"
+ build_name: manywheel-py3_9-cpu
+ build_environment: linux-binary-manywheel
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ runs_on: linux.4xlarge
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ manywheel-py3_9-cpu-upload: # Uploading
+ if: ${{ github.repository_owner == 'pytorch' }}
+ permissions:
+ id-token: write
+ contents: read
+ needs: manywheel-py3_9-cpu-test
+ with:
+ PYTORCH_ROOT: /pytorch
+ PACKAGE_TYPE: manywheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: cpu
+ GPU_ARCH_TYPE: cpu
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cpu
+ use_split_build: False
+ DESIRED_PYTHON: "3.9"
+ build_name: manywheel-py3_9-cpu
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ uses: ./.github/workflows/_binary-upload.yml
+
+ manywheel-py3_9-cuda12_6-build:
+ if: ${{ github.repository_owner == 'pytorch' }}
+ uses: ./.github/workflows/_binary-build-linux.yml
+ needs: get-label-type
+ with:
+ PYTORCH_ROOT: /pytorch
+ PACKAGE_TYPE: manywheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: cu126
+ GPU_ARCH_VERSION: 12.6
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.6
+ use_split_build: False
+ DESIRED_PYTHON: "3.9"
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ build_name: manywheel-py3_9-cuda12_6
+ build_environment: linux-binary-manywheel
+ PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.6.77; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.6.77; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.6.80; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.6.4.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.3.0.4; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.7.77; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.7.1.2; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.5.4.2; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.27.3; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.6.77; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvjitlink-cu12==12.6.85; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufile-cu12==1.11.1.6; platform_system == 'Linux' and platform_machine == 'x86_64'
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ manywheel-py3_9-cuda12_6-test: # Testing
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs:
+ - manywheel-py3_9-cuda12_6-build
+ - get-label-type
+ uses: ./.github/workflows/_binary-test-linux.yml
+ with:
+ PYTORCH_ROOT: /pytorch
+ PACKAGE_TYPE: manywheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: cu126
+ GPU_ARCH_VERSION: 12.6
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.6
+ use_split_build: False
+ DESIRED_PYTHON: "3.9"
+ build_name: manywheel-py3_9-cuda12_6
+ build_environment: linux-binary-manywheel
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ runs_on: linux.4xlarge.nvidia.gpu # for other cuda versions, we use 4xlarge runner
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ manywheel-py3_9-cuda12_6-upload: # Uploading
+ if: ${{ github.repository_owner == 'pytorch' }}
+ permissions:
+ id-token: write
+ contents: read
+ needs: manywheel-py3_9-cuda12_6-test
+ with:
+ PYTORCH_ROOT: /pytorch
+ PACKAGE_TYPE: manywheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: cu126
+ GPU_ARCH_VERSION: 12.6
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.6
+ use_split_build: False
+ DESIRED_PYTHON: "3.9"
+ build_name: manywheel-py3_9-cuda12_6
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ uses: ./.github/workflows/_binary-upload.yml
+
+ manywheel-py3_9-cuda12_8-build:
+ if: ${{ github.repository_owner == 'pytorch' }}
+ uses: ./.github/workflows/_binary-build-linux.yml
+ needs: get-label-type
+ with:
+ PYTORCH_ROOT: /pytorch
+ PACKAGE_TYPE: manywheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: cu128
+ GPU_ARCH_VERSION: 12.8
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.8
+ use_split_build: False
+ DESIRED_PYTHON: "3.9"
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ build_name: manywheel-py3_9-cuda12_8
+ build_environment: linux-binary-manywheel
+ PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.8.93; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.8.90; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.8.90; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.8.4.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.3.3.83; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.9.90; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.7.3.90; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.5.8.93; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.27.3; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.8.90; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvjitlink-cu12==12.8.93; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufile-cu12==1.13.1.3; platform_system == 'Linux' and platform_machine == 'x86_64'
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ manywheel-py3_9-cuda12_8-test: # Testing
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs:
+ - manywheel-py3_9-cuda12_8-build
+ - get-label-type
+ uses: ./.github/workflows/_binary-test-linux.yml
+ with:
+ PYTORCH_ROOT: /pytorch
+ PACKAGE_TYPE: manywheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: cu128
+ GPU_ARCH_VERSION: 12.8
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.8
+ use_split_build: False
+ DESIRED_PYTHON: "3.9"
+ build_name: manywheel-py3_9-cuda12_8
+ build_environment: linux-binary-manywheel
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ runs_on: linux.g4dn.4xlarge.nvidia.gpu # 12.8 and 12.9 build need sm_70+ runner
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ manywheel-py3_9-cuda12_8-upload: # Uploading
+ if: ${{ github.repository_owner == 'pytorch' }}
+ permissions:
+ id-token: write
+ contents: read
+ needs: manywheel-py3_9-cuda12_8-test
+ with:
+ PYTORCH_ROOT: /pytorch
+ PACKAGE_TYPE: manywheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: cu128
+ GPU_ARCH_VERSION: 12.8
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.8
+ use_split_build: False
+ DESIRED_PYTHON: "3.9"
+ build_name: manywheel-py3_9-cuda12_8
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ uses: ./.github/workflows/_binary-upload.yml
+
+ manywheel-py3_9-cuda12_9-build:
+ if: ${{ github.repository_owner == 'pytorch' }}
+ uses: ./.github/workflows/_binary-build-linux.yml
+ needs: get-label-type
+ with:
+ PYTORCH_ROOT: /pytorch
+ PACKAGE_TYPE: manywheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.9
+ use_split_build: False
+ DESIRED_PYTHON: "3.9"
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ build_name: manywheel-py3_9-cuda12_9
+ build_environment: linux-binary-manywheel
+ PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.9.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.9.1.4; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.4.1.4; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.10.19; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.7.5.82; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.5.10.65; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.27.3; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvjitlink-cu12==12.9.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufile-cu12==1.14.1.1; platform_system == 'Linux' and platform_machine == 'x86_64'
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ manywheel-py3_9-cuda12_9-test: # Testing
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs:
+ - manywheel-py3_9-cuda12_9-build
+ - get-label-type
+ uses: ./.github/workflows/_binary-test-linux.yml
+ with:
+ PYTORCH_ROOT: /pytorch
+ PACKAGE_TYPE: manywheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.9
+ use_split_build: False
+ DESIRED_PYTHON: "3.9"
+ build_name: manywheel-py3_9-cuda12_9
+ build_environment: linux-binary-manywheel
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ runs_on: linux.g4dn.4xlarge.nvidia.gpu # 12.8 and 12.9 build need sm_70+ runner
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ manywheel-py3_9-cuda12_9-upload: # Uploading
+ if: ${{ github.repository_owner == 'pytorch' }}
+ permissions:
+ id-token: write
+ contents: read
+ needs: manywheel-py3_9-cuda12_9-test
+ with:
+ PYTORCH_ROOT: /pytorch
+ PACKAGE_TYPE: manywheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.9
+ use_split_build: False
+ DESIRED_PYTHON: "3.9"
+ build_name: manywheel-py3_9-cuda12_9
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ uses: ./.github/workflows/_binary-upload.yml
+
+ manywheel-py3_9-rocm6_3-build:
+ if: ${{ github.repository_owner == 'pytorch' }}
+ uses: ./.github/workflows/_binary-build-linux.yml
+ needs: get-label-type
+ with:
+ PYTORCH_ROOT: /pytorch
+ PACKAGE_TYPE: manywheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: rocm6.3
+ GPU_ARCH_VERSION: 6.3
+ GPU_ARCH_TYPE: rocm
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: rocm6.3
+ use_split_build: False
+ DESIRED_PYTHON: "3.9"
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ build_name: manywheel-py3_9-rocm6_3
+ build_environment: linux-binary-manywheel
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ manywheel-py3_9-rocm6_3-test: # Testing
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs:
+ - manywheel-py3_9-rocm6_3-build
+ - get-label-type
+ runs-on: linux.rocm.gpu.mi250
+ timeout-minutes: 240
+ env:
+ PYTORCH_ROOT: /pytorch
+ PACKAGE_TYPE: manywheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: rocm6.3
+ GPU_ARCH_VERSION: 6.3
+ GPU_ARCH_TYPE: rocm
+ SKIP_ALL_TESTS: 1
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: rocm6.3
+ use_split_build: False
+ DESIRED_PYTHON: "3.9"
+ steps:
+ - name: Setup ROCm
+ uses: ./.github/actions/setup-rocm
+ - uses: actions/download-artifact@v4.1.7
+ name: Download Build Artifacts
+ with:
+ name: manywheel-py3_9-rocm6_3
+ path: "${{ runner.temp }}/artifacts/"
+ - name: Checkout PyTorch
+ uses: actions/checkout@v4
+ with:
+ submodules: recursive
+ path: pytorch
+ show-progress: false
+ - name: Clean PyTorch checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: pytorch
+ - name: ROCm set GPU_FLAG
+ run: |
+ echo "GPU_FLAG=--device=/dev/mem --device=/dev/kfd --device=/dev/dri --group-add video --group-add daemon" >> "${GITHUB_ENV}"
+ - name: configure aws credentials
+ id: aws_creds
+ if: ${{ startsWith(github.event.ref, 'refs/tags/ciflow/') }}
+ uses: aws-actions/configure-aws-credentials@v4
+ with:
+ role-to-assume: arn:aws:iam::308535385114:role/gha_workflow_s3_and_ecr_read_only
+ aws-region: us-east-1
+ role-duration-seconds: 18000
+ - name: Calculate docker image
+ id: calculate-docker-image
+ uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.8
+ with:
+ docker-registry: ${{ startsWith(github.event.ref, 'refs/tags/ciflow/') && '308535385114.dkr.ecr.us-east-1.amazonaws.com' || 'docker.io' }}
+ docker-image-name: manylinux2_28-builder
+ custom-tag-prefix: rocm6.3
+ docker-build-dir: .ci/docker
+ working-directory: pytorch
+ - name: Pull Docker image
+ uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.8
+ with:
+ docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }}
+ - name: Test Pytorch binary
+ uses: ./pytorch/.github/actions/test-pytorch-binary
+ env:
+ DOCKER_IMAGE: ${{ steps.calculate-docker-image.outputs.docker-image }}
+ - name: Teardown ROCm
+ uses: ./.github/actions/teardown-rocm
+ manywheel-py3_9-rocm6_3-upload: # Uploading
+ if: ${{ github.repository_owner == 'pytorch' }}
+ permissions:
+ id-token: write
+ contents: read
+ needs: manywheel-py3_9-rocm6_3-test
+ with:
+ PYTORCH_ROOT: /pytorch
+ PACKAGE_TYPE: manywheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: rocm6.3
+ GPU_ARCH_VERSION: 6.3
+ GPU_ARCH_TYPE: rocm
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: rocm6.3
+ use_split_build: False
+ DESIRED_PYTHON: "3.9"
+ build_name: manywheel-py3_9-rocm6_3
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ uses: ./.github/workflows/_binary-upload.yml
+
+ manywheel-py3_9-rocm6_4-build:
+ if: ${{ github.repository_owner == 'pytorch' }}
+ uses: ./.github/workflows/_binary-build-linux.yml
+ needs: get-label-type
+ with:
+ PYTORCH_ROOT: /pytorch
+ PACKAGE_TYPE: manywheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: rocm6.4
+ GPU_ARCH_VERSION: 6.4
+ GPU_ARCH_TYPE: rocm
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: rocm6.4
+ use_split_build: False
+ DESIRED_PYTHON: "3.9"
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ build_name: manywheel-py3_9-rocm6_4
+ build_environment: linux-binary-manywheel
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ manywheel-py3_9-rocm6_4-test: # Testing
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs:
+ - manywheel-py3_9-rocm6_4-build
+ - get-label-type
+ runs-on: linux.rocm.gpu.mi250
+ timeout-minutes: 240
+ env:
+ PYTORCH_ROOT: /pytorch
+ PACKAGE_TYPE: manywheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: rocm6.4
+ GPU_ARCH_VERSION: 6.4
+ GPU_ARCH_TYPE: rocm
+ SKIP_ALL_TESTS: 1
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: rocm6.4
+ use_split_build: False
+ DESIRED_PYTHON: "3.9"
+ steps:
+ - name: Setup ROCm
+ uses: ./.github/actions/setup-rocm
+ - uses: actions/download-artifact@v4.1.7
+ name: Download Build Artifacts
+ with:
+ name: manywheel-py3_9-rocm6_4
+ path: "${{ runner.temp }}/artifacts/"
+ - name: Checkout PyTorch
+ uses: actions/checkout@v4
+ with:
+ submodules: recursive
+ path: pytorch
+ show-progress: false
+ - name: Clean PyTorch checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: pytorch
+ - name: ROCm set GPU_FLAG
+ run: |
+ echo "GPU_FLAG=--device=/dev/mem --device=/dev/kfd --device=/dev/dri --group-add video --group-add daemon" >> "${GITHUB_ENV}"
+ - name: configure aws credentials
+ id: aws_creds
+ if: ${{ startsWith(github.event.ref, 'refs/tags/ciflow/') }}
+ uses: aws-actions/configure-aws-credentials@v4
+ with:
+ role-to-assume: arn:aws:iam::308535385114:role/gha_workflow_s3_and_ecr_read_only
+ aws-region: us-east-1
+ role-duration-seconds: 18000
+ - name: Calculate docker image
+ id: calculate-docker-image
+ uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.8
+ with:
+ docker-registry: ${{ startsWith(github.event.ref, 'refs/tags/ciflow/') && '308535385114.dkr.ecr.us-east-1.amazonaws.com' || 'docker.io' }}
+ docker-image-name: manylinux2_28-builder
+ custom-tag-prefix: rocm6.4
+ docker-build-dir: .ci/docker
+ working-directory: pytorch
+ - name: Pull Docker image
+ uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.8
+ with:
+ docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }}
+ - name: Test Pytorch binary
+ uses: ./pytorch/.github/actions/test-pytorch-binary
+ env:
+ DOCKER_IMAGE: ${{ steps.calculate-docker-image.outputs.docker-image }}
+ - name: Teardown ROCm
+ uses: ./.github/actions/teardown-rocm
+ manywheel-py3_9-rocm6_4-upload: # Uploading
+ if: ${{ github.repository_owner == 'pytorch' }}
+ permissions:
+ id-token: write
+ contents: read
+ needs: manywheel-py3_9-rocm6_4-test
+ with:
+ PYTORCH_ROOT: /pytorch
+ PACKAGE_TYPE: manywheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: rocm6.4
+ GPU_ARCH_VERSION: 6.4
+ GPU_ARCH_TYPE: rocm
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: rocm6.4
+ use_split_build: False
+ DESIRED_PYTHON: "3.9"
+ build_name: manywheel-py3_9-rocm6_4
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ uses: ./.github/workflows/_binary-upload.yml
+
+ manywheel-py3_9-xpu-build:
+ if: ${{ github.repository_owner == 'pytorch' }}
+ uses: ./.github/workflows/_binary-build-linux.yml
+ needs: get-label-type
+ with:
+ PYTORCH_ROOT: /pytorch
+ PACKAGE_TYPE: manywheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: xpu
+ GPU_ARCH_TYPE: xpu
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: xpu
+ use_split_build: False
+ DESIRED_PYTHON: "3.9"
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ build_name: manywheel-py3_9-xpu
+ build_environment: linux-binary-manywheel
+ PYTORCH_EXTRA_INSTALL_REQUIREMENTS: intel-cmplr-lib-rt==2025.1.1 | intel-cmplr-lib-ur==2025.1.1 | intel-cmplr-lic-rt==2025.1.1 | intel-sycl-rt==2025.1.1 | oneccl-devel==2021.15.2; platform_system == 'Linux' and platform_machine == 'x86_64' | oneccl==2021.15.2; platform_system == 'Linux' and platform_machine == 'x86_64' | impi-rt==2021.15.0; platform_system == 'Linux' and platform_machine == 'x86_64' | onemkl-sycl-blas==2025.1.0 | onemkl-sycl-dft==2025.1.0 | onemkl-sycl-lapack==2025.1.0 | onemkl-sycl-rng==2025.1.0 | onemkl-sycl-sparse==2025.1.0 | dpcpp-cpp-rt==2025.1.1 | intel-opencl-rt==2025.1.1 | mkl==2025.1.0 | intel-openmp==2025.1.1 | tbb==2022.1.0 | tcmlib==1.3.0 | umf==0.10.0 | intel-pti==0.12.3
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ manywheel-py3_9-xpu-test: # Testing
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs:
+ - manywheel-py3_9-xpu-build
+ - get-label-type
+ runs-on: linux.idc.xpu
+ timeout-minutes: 240
+ env:
+ PYTORCH_ROOT: /pytorch
+ PACKAGE_TYPE: manywheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: xpu
+ GPU_ARCH_TYPE: xpu
+ SKIP_ALL_TESTS: 1
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: xpu
+ use_split_build: False
+ DESIRED_PYTHON: "3.9"
+ permissions:
+ id-token: write
+ contents: read
+ steps:
+ - name: Setup XPU
+ uses: ./.github/actions/setup-xpu
+ - name: configure aws credentials
+ id: aws_creds
+ uses: aws-actions/configure-aws-credentials@v4
+ with:
+ role-to-assume: arn:aws:iam::308535385114:role/gha_workflow_s3_and_ecr_read_only
+ aws-region: us-east-1
+ - name: Login to Amazon ECR
+ id: login-ecr
+ uses: aws-actions/amazon-ecr-login@v2
+ - uses: actions/download-artifact@v4.1.7
+ name: Download Build Artifacts
+ with:
+ name: manywheel-py3_9-xpu
+ path: "${{ runner.temp }}/artifacts/"
+ - name: Checkout PyTorch
+ uses: actions/checkout@v4
+ with:
+ submodules: recursive
+ path: pytorch
+ show-progress: false
+ - name: Clean PyTorch checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: pytorch
+ - name: Calculate docker image
+ id: calculate-docker-image
+ uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.8
+ with:
+ docker-registry: ${{ startsWith(github.event.ref, 'refs/tags/ciflow/') && '308535385114.dkr.ecr.us-east-1.amazonaws.com' || 'docker.io' }}
+ docker-image-name: manylinux2_28-builder
+ custom-tag-prefix: xpu
+ docker-build-dir: .ci/docker
+ working-directory: pytorch
+ - name: Pull Docker image
+ uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.8
+ with:
+ docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }}
+ - name: Test Pytorch binary
+ uses: ./pytorch/.github/actions/test-pytorch-binary
+ env:
+ DOCKER_IMAGE: ${{ steps.calculate-docker-image.outputs.docker-image }}
+ - name: Teardown XPU
+ uses: ./.github/actions/teardown-xpu
+ manywheel-py3_9-xpu-upload: # Uploading
+ if: ${{ github.repository_owner == 'pytorch' }}
+ permissions:
+ id-token: write
+ contents: read
+ needs: manywheel-py3_9-xpu-test
+ with:
+ PYTORCH_ROOT: /pytorch
+ PACKAGE_TYPE: manywheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: xpu
+ GPU_ARCH_TYPE: xpu
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: xpu
+ use_split_build: False
+ DESIRED_PYTHON: "3.9"
+ build_name: manywheel-py3_9-xpu
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ uses: ./.github/workflows/_binary-upload.yml
+
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
manywheel-py3_10-cpu-build:
if: ${{ github.repository_owner == 'pytorch' }}
uses: ./.github/workflows/_binary-build-linux.yml
@@ -60,6 +677,10 @@ jobs:
GPU_ARCH_TYPE: cpu
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cpu
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.10"
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
build_name: manywheel-py3_10-cpu
@@ -81,6 +702,10 @@ jobs:
GPU_ARCH_TYPE: cpu
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cpu
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.10"
build_name: manywheel-py3_10-cpu
build_environment: linux-binary-manywheel
@@ -103,6 +728,10 @@ jobs:
GPU_ARCH_TYPE: cpu
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cpu
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.10"
build_name: manywheel-py3_10-cpu
secrets:
@@ -119,15 +748,27 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu126
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.6"
GPU_ARCH_TYPE: cuda
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cuda12.6
+=======
+ GPU_ARCH_VERSION: 12.6
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.6
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.10"
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
build_name: manywheel-py3_10-cuda12_6
build_environment: linux-binary-manywheel
+<<<<<<< HEAD
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.6.80; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.6.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.0.4; platform_system == 'Linux' | nvidia-curand-cu12==10.3.7.77; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.1.2; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.4.2; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.3.20; platform_system == 'Linux' | nvidia-nvtx-cu12==12.6.77; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.6.85; platform_system == 'Linux' | nvidia-cufile-cu12==1.11.1.6; platform_system == 'Linux'
+=======
+ PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.6.77; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.6.77; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.6.80; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.6.4.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.3.0.4; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.7.77; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.7.1.2; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.5.4.2; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.27.3; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.6.77; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvjitlink-cu12==12.6.85; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufile-cu12==1.11.1.6; platform_system == 'Linux' and platform_machine == 'x86_64'
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
manywheel-py3_10-cuda12_6-test: # Testing
@@ -142,15 +783,27 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu126
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.6"
GPU_ARCH_TYPE: cuda
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cuda12.6
+=======
+ GPU_ARCH_VERSION: 12.6
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.6
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.10"
build_name: manywheel-py3_10-cuda12_6
build_environment: linux-binary-manywheel
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+<<<<<<< HEAD
runs_on: linux.4xlarge.nvidia.gpu # 12.6 build can use maxwell (sm_50) runner
+=======
+ runs_on: linux.4xlarge.nvidia.gpu # for other cuda versions, we use 4xlarge runner
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
manywheel-py3_10-cuda12_6-upload: # Uploading
@@ -165,10 +818,18 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu126
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.6"
GPU_ARCH_TYPE: cuda
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cuda12.6
+=======
+ GPU_ARCH_VERSION: 12.6
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.6
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.10"
build_name: manywheel-py3_10-cuda12_6
secrets:
@@ -185,15 +846,27 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu128
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.8"
GPU_ARCH_TYPE: cuda
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cuda12.8
+=======
+ GPU_ARCH_VERSION: 12.8
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.8
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.10"
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
build_name: manywheel-py3_10-cuda12_8
build_environment: linux-binary-manywheel
+<<<<<<< HEAD
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.8.93; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.8.90; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.8.90; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.8.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.3.83; platform_system == 'Linux' | nvidia-curand-cu12==10.3.9.90; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.3.90; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.8.93; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.3.20; platform_system == 'Linux' | nvidia-nvtx-cu12==12.8.90; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.8.93; platform_system == 'Linux' | nvidia-cufile-cu12==1.13.1.3; platform_system == 'Linux'
+=======
+ PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.8.93; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.8.90; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.8.90; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.8.4.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.3.3.83; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.9.90; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.7.3.90; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.5.8.93; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.27.3; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.8.90; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvjitlink-cu12==12.8.93; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufile-cu12==1.13.1.3; platform_system == 'Linux' and platform_machine == 'x86_64'
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
manywheel-py3_10-cuda12_8-test: # Testing
@@ -208,15 +881,27 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu128
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.8"
GPU_ARCH_TYPE: cuda
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cuda12.8
+=======
+ GPU_ARCH_VERSION: 12.8
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.8
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.10"
build_name: manywheel-py3_10-cuda12_8
build_environment: linux-binary-manywheel
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+<<<<<<< HEAD
runs_on: linux.g4dn.4xlarge.nvidia.gpu # 12.8+ builds need sm_70+ runner
+=======
+ runs_on: linux.g4dn.4xlarge.nvidia.gpu # 12.8 and 12.9 build need sm_70+ runner
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
manywheel-py3_10-cuda12_8-upload: # Uploading
@@ -231,17 +916,29 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu128
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.8"
GPU_ARCH_TYPE: cuda
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cuda12.8
+=======
+ GPU_ARCH_VERSION: 12.8
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.8
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.10"
build_name: manywheel-py3_10-cuda12_8
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
+<<<<<<< HEAD
manywheel-py3_10-cuda13_0-build:
+=======
+ manywheel-py3_10-cuda12_9-build:
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ github.repository_owner == 'pytorch' }}
uses: ./.github/workflows/_binary-build-linux.yml
needs: get-label-type
@@ -250,6 +947,7 @@ jobs:
PACKAGE_TYPE: manywheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu130
GPU_ARCH_VERSION: "13.0"
GPU_ARCH_TYPE: cuda
@@ -266,6 +964,25 @@ jobs:
if: ${{ github.repository_owner == 'pytorch' }}
needs:
- manywheel-py3_10-cuda13_0-build
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.9
+ use_split_build: False
+ DESIRED_PYTHON: "3.10"
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ build_name: manywheel-py3_10-cuda12_9
+ build_environment: linux-binary-manywheel
+ PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.9.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.9.1.4; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.4.1.4; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.10.19; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.7.5.82; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.5.10.65; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.27.3; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvjitlink-cu12==12.9.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufile-cu12==1.14.1.1; platform_system == 'Linux' and platform_machine == 'x86_64'
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ manywheel-py3_10-cuda12_9-test: # Testing
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs:
+ - manywheel-py3_10-cuda12_9-build
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- get-label-type
uses: ./.github/workflows/_binary-test-linux.yml
with:
@@ -273,6 +990,7 @@ jobs:
PACKAGE_TYPE: manywheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu130
GPU_ARCH_VERSION: "13.0"
GPU_ARCH_TYPE: cuda
@@ -286,16 +1004,37 @@ jobs:
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
manywheel-py3_10-cuda13_0-upload: # Uploading
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.9
+ use_split_build: False
+ DESIRED_PYTHON: "3.10"
+ build_name: manywheel-py3_10-cuda12_9
+ build_environment: linux-binary-manywheel
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ runs_on: linux.g4dn.4xlarge.nvidia.gpu # 12.8 and 12.9 build need sm_70+ runner
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ manywheel-py3_10-cuda12_9-upload: # Uploading
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ github.repository_owner == 'pytorch' }}
permissions:
id-token: write
contents: read
+<<<<<<< HEAD
needs: manywheel-py3_10-cuda13_0-test
+=======
+ needs: manywheel-py3_10-cuda12_9-test
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
PYTORCH_ROOT: /pytorch
PACKAGE_TYPE: manywheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu130
GPU_ARCH_VERSION: "13.0"
GPU_ARCH_TYPE: cuda
@@ -303,6 +1042,16 @@ jobs:
DOCKER_IMAGE_TAG_PREFIX: cuda13.0
DESIRED_PYTHON: "3.10"
build_name: manywheel-py3_10-cuda13_0
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.9
+ use_split_build: False
+ DESIRED_PYTHON: "3.10"
+ build_name: manywheel-py3_10-cuda12_9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
@@ -317,6 +1066,7 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: rocm6.3
+<<<<<<< HEAD
GPU_ARCH_VERSION: "6.3"
GPU_ARCH_TYPE: rocm
DOCKER_IMAGE: manylinux2_28-builder
@@ -324,6 +1074,15 @@ jobs:
DESIRED_PYTHON: "3.10"
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
timeout-minutes: 300
+=======
+ GPU_ARCH_VERSION: 6.3
+ GPU_ARCH_TYPE: rocm
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: rocm6.3
+ use_split_build: False
+ DESIRED_PYTHON: "3.10"
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
build_name: manywheel-py3_10-rocm6_3
build_environment: linux-binary-manywheel
secrets:
@@ -341,11 +1100,19 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: rocm6.3
+<<<<<<< HEAD
GPU_ARCH_VERSION: "6.3"
+=======
+ GPU_ARCH_VERSION: 6.3
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: rocm
SKIP_ALL_TESTS: 1
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: rocm6.3
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.10"
steps:
- name: Setup ROCm
@@ -379,7 +1146,11 @@ jobs:
role-duration-seconds: 18000
- name: Calculate docker image
id: calculate-docker-image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-registry: ${{ startsWith(github.event.ref, 'refs/tags/ciflow/') && '308535385114.dkr.ecr.us-east-1.amazonaws.com' || 'docker.io' }}
docker-image-name: manylinux2_28-builder
@@ -387,7 +1158,11 @@ jobs:
docker-build-dir: .ci/docker
working-directory: pytorch
- name: Pull Docker image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }}
- name: Test Pytorch binary
@@ -408,10 +1183,18 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: rocm6.3
+<<<<<<< HEAD
GPU_ARCH_VERSION: "6.3"
GPU_ARCH_TYPE: rocm
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: rocm6.3
+=======
+ GPU_ARCH_VERSION: 6.3
+ GPU_ARCH_TYPE: rocm
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: rocm6.3
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.10"
build_name: manywheel-py3_10-rocm6_3
secrets:
@@ -428,6 +1211,7 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: rocm6.4
+<<<<<<< HEAD
GPU_ARCH_VERSION: "6.4"
GPU_ARCH_TYPE: rocm
DOCKER_IMAGE: manylinux2_28-builder
@@ -435,6 +1219,15 @@ jobs:
DESIRED_PYTHON: "3.10"
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
timeout-minutes: 300
+=======
+ GPU_ARCH_VERSION: 6.4
+ GPU_ARCH_TYPE: rocm
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: rocm6.4
+ use_split_build: False
+ DESIRED_PYTHON: "3.10"
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
build_name: manywheel-py3_10-rocm6_4
build_environment: linux-binary-manywheel
secrets:
@@ -452,11 +1245,19 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: rocm6.4
+<<<<<<< HEAD
GPU_ARCH_VERSION: "6.4"
+=======
+ GPU_ARCH_VERSION: 6.4
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: rocm
SKIP_ALL_TESTS: 1
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: rocm6.4
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.10"
steps:
- name: Setup ROCm
@@ -490,7 +1291,11 @@ jobs:
role-duration-seconds: 18000
- name: Calculate docker image
id: calculate-docker-image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-registry: ${{ startsWith(github.event.ref, 'refs/tags/ciflow/') && '308535385114.dkr.ecr.us-east-1.amazonaws.com' || 'docker.io' }}
docker-image-name: manylinux2_28-builder
@@ -498,7 +1303,11 @@ jobs:
docker-build-dir: .ci/docker
working-directory: pytorch
- name: Pull Docker image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }}
- name: Test Pytorch binary
@@ -519,10 +1328,18 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: rocm6.4
+<<<<<<< HEAD
GPU_ARCH_VERSION: "6.4"
GPU_ARCH_TYPE: rocm
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: rocm6.4
+=======
+ GPU_ARCH_VERSION: 6.4
+ GPU_ARCH_TYPE: rocm
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: rocm6.4
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.10"
build_name: manywheel-py3_10-rocm6_4
secrets:
@@ -542,11 +1359,19 @@ jobs:
GPU_ARCH_TYPE: xpu
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: xpu
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.10"
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
build_name: manywheel-py3_10-xpu
build_environment: linux-binary-manywheel
+<<<<<<< HEAD
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: intel-cmplr-lib-rt==2025.2.1 | intel-cmplr-lib-ur==2025.2.1 | intel-cmplr-lic-rt==2025.2.1 | intel-sycl-rt==2025.2.1 | oneccl-devel==2021.16.1; platform_system == 'Linux' and platform_machine == 'x86_64' | oneccl==2021.16.1; platform_system == 'Linux' and platform_machine == 'x86_64' | impi-rt==2021.16.1; platform_system == 'Linux' and platform_machine == 'x86_64' | onemkl-sycl-blas==2025.2.0 | onemkl-sycl-dft==2025.2.0 | onemkl-sycl-lapack==2025.2.0 | onemkl-sycl-rng==2025.2.0 | onemkl-sycl-sparse==2025.2.0 | dpcpp-cpp-rt==2025.2.1 | intel-opencl-rt==2025.2.1 | mkl==2025.2.0 | intel-openmp==2025.2.1 | tbb==2022.2.0 | tcmlib==1.4.0 | umf==0.11.0 | intel-pti==0.13.1
+=======
+ PYTORCH_EXTRA_INSTALL_REQUIREMENTS: intel-cmplr-lib-rt==2025.1.1 | intel-cmplr-lib-ur==2025.1.1 | intel-cmplr-lic-rt==2025.1.1 | intel-sycl-rt==2025.1.1 | oneccl-devel==2021.15.2; platform_system == 'Linux' and platform_machine == 'x86_64' | oneccl==2021.15.2; platform_system == 'Linux' and platform_machine == 'x86_64' | impi-rt==2021.15.0; platform_system == 'Linux' and platform_machine == 'x86_64' | onemkl-sycl-blas==2025.1.0 | onemkl-sycl-dft==2025.1.0 | onemkl-sycl-lapack==2025.1.0 | onemkl-sycl-rng==2025.1.0 | onemkl-sycl-sparse==2025.1.0 | dpcpp-cpp-rt==2025.1.1 | intel-opencl-rt==2025.1.1 | mkl==2025.1.0 | intel-openmp==2025.1.1 | tbb==2022.1.0 | tcmlib==1.3.0 | umf==0.10.0 | intel-pti==0.12.3
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
manywheel-py3_10-xpu-test: # Testing
@@ -566,13 +1391,21 @@ jobs:
SKIP_ALL_TESTS: 1
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: xpu
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.10"
permissions:
id-token: write
contents: read
steps:
- name: Setup XPU
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/actions/setup-xpu@release/2.9
+=======
+ uses: ./.github/actions/setup-xpu
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: configure aws credentials
id: aws_creds
uses: aws-actions/configure-aws-credentials@v4
@@ -600,7 +1433,11 @@ jobs:
working-directory: pytorch
- name: Calculate docker image
id: calculate-docker-image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-registry: ${{ startsWith(github.event.ref, 'refs/tags/ciflow/') && '308535385114.dkr.ecr.us-east-1.amazonaws.com' || 'docker.io' }}
docker-image-name: manylinux2_28-builder
@@ -608,7 +1445,11 @@ jobs:
docker-build-dir: .ci/docker
working-directory: pytorch
- name: Pull Docker image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }}
- name: Test Pytorch binary
@@ -632,6 +1473,10 @@ jobs:
GPU_ARCH_TYPE: xpu
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: xpu
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.10"
build_name: manywheel-py3_10-xpu
secrets:
@@ -651,6 +1496,10 @@ jobs:
GPU_ARCH_TYPE: cpu
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cpu
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.11"
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
build_name: manywheel-py3_11-cpu
@@ -672,6 +1521,10 @@ jobs:
GPU_ARCH_TYPE: cpu
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cpu
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.11"
build_name: manywheel-py3_11-cpu
build_environment: linux-binary-manywheel
@@ -694,6 +1547,10 @@ jobs:
GPU_ARCH_TYPE: cpu
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cpu
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.11"
build_name: manywheel-py3_11-cpu
secrets:
@@ -710,15 +1567,27 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu126
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.6"
GPU_ARCH_TYPE: cuda
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cuda12.6
+=======
+ GPU_ARCH_VERSION: 12.6
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.6
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.11"
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
build_name: manywheel-py3_11-cuda12_6
build_environment: linux-binary-manywheel
+<<<<<<< HEAD
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.6.80; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.6.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.0.4; platform_system == 'Linux' | nvidia-curand-cu12==10.3.7.77; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.1.2; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.4.2; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.3.20; platform_system == 'Linux' | nvidia-nvtx-cu12==12.6.77; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.6.85; platform_system == 'Linux' | nvidia-cufile-cu12==1.11.1.6; platform_system == 'Linux'
+=======
+ PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.6.77; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.6.77; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.6.80; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.6.4.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.3.0.4; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.7.77; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.7.1.2; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.5.4.2; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.27.3; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.6.77; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvjitlink-cu12==12.6.85; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufile-cu12==1.11.1.6; platform_system == 'Linux' and platform_machine == 'x86_64'
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
manywheel-py3_11-cuda12_6-test: # Testing
@@ -733,15 +1602,27 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu126
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.6"
GPU_ARCH_TYPE: cuda
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cuda12.6
+=======
+ GPU_ARCH_VERSION: 12.6
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.6
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.11"
build_name: manywheel-py3_11-cuda12_6
build_environment: linux-binary-manywheel
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+<<<<<<< HEAD
runs_on: linux.4xlarge.nvidia.gpu # 12.6 build can use maxwell (sm_50) runner
+=======
+ runs_on: linux.4xlarge.nvidia.gpu # for other cuda versions, we use 4xlarge runner
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
manywheel-py3_11-cuda12_6-upload: # Uploading
@@ -756,10 +1637,18 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu126
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.6"
GPU_ARCH_TYPE: cuda
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cuda12.6
+=======
+ GPU_ARCH_VERSION: 12.6
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.6
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.11"
build_name: manywheel-py3_11-cuda12_6
secrets:
@@ -776,15 +1665,27 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu128
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.8"
GPU_ARCH_TYPE: cuda
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cuda12.8
+=======
+ GPU_ARCH_VERSION: 12.8
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.8
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.11"
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
build_name: manywheel-py3_11-cuda12_8
build_environment: linux-binary-manywheel
+<<<<<<< HEAD
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.8.93; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.8.90; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.8.90; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.8.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.3.83; platform_system == 'Linux' | nvidia-curand-cu12==10.3.9.90; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.3.90; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.8.93; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.3.20; platform_system == 'Linux' | nvidia-nvtx-cu12==12.8.90; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.8.93; platform_system == 'Linux' | nvidia-cufile-cu12==1.13.1.3; platform_system == 'Linux'
+=======
+ PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.8.93; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.8.90; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.8.90; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.8.4.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.3.3.83; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.9.90; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.7.3.90; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.5.8.93; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.27.3; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.8.90; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvjitlink-cu12==12.8.93; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufile-cu12==1.13.1.3; platform_system == 'Linux' and platform_machine == 'x86_64'
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
manywheel-py3_11-cuda12_8-test: # Testing
@@ -799,15 +1700,27 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu128
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.8"
GPU_ARCH_TYPE: cuda
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cuda12.8
+=======
+ GPU_ARCH_VERSION: 12.8
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.8
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.11"
build_name: manywheel-py3_11-cuda12_8
build_environment: linux-binary-manywheel
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+<<<<<<< HEAD
runs_on: linux.g4dn.4xlarge.nvidia.gpu # 12.8+ builds need sm_70+ runner
+=======
+ runs_on: linux.g4dn.4xlarge.nvidia.gpu # 12.8 and 12.9 build need sm_70+ runner
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
manywheel-py3_11-cuda12_8-upload: # Uploading
@@ -822,17 +1735,29 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu128
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.8"
GPU_ARCH_TYPE: cuda
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cuda12.8
+=======
+ GPU_ARCH_VERSION: 12.8
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.8
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.11"
build_name: manywheel-py3_11-cuda12_8
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
+<<<<<<< HEAD
manywheel-py3_11-cuda13_0-build:
+=======
+ manywheel-py3_11-cuda12_8-full-build:
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ github.repository_owner == 'pytorch' }}
uses: ./.github/workflows/_binary-build-linux.yml
needs: get-label-type
@@ -841,6 +1766,7 @@ jobs:
PACKAGE_TYPE: manywheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu130
GPU_ARCH_VERSION: "13.0"
GPU_ARCH_TYPE: cuda
@@ -857,6 +1783,24 @@ jobs:
if: ${{ github.repository_owner == 'pytorch' }}
needs:
- manywheel-py3_11-cuda13_0-build
+=======
+ DESIRED_CUDA: cu128
+ GPU_ARCH_VERSION: 12.8
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.8
+ use_split_build: False
+ DESIRED_PYTHON: "3.11"
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ build_name: manywheel-py3_11-cuda12_8-full
+ build_environment: linux-binary-manywheel
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ manywheel-py3_11-cuda12_8-full-test: # Testing
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs:
+ - manywheel-py3_11-cuda12_8-full-build
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- get-label-type
uses: ./.github/workflows/_binary-test-linux.yml
with:
@@ -864,6 +1808,7 @@ jobs:
PACKAGE_TYPE: manywheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu130
GPU_ARCH_VERSION: "13.0"
GPU_ARCH_TYPE: cuda
@@ -877,16 +1822,37 @@ jobs:
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
manywheel-py3_11-cuda13_0-upload: # Uploading
+=======
+ DESIRED_CUDA: cu128
+ GPU_ARCH_VERSION: 12.8
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.8
+ use_split_build: False
+ DESIRED_PYTHON: "3.11"
+ build_name: manywheel-py3_11-cuda12_8-full
+ build_environment: linux-binary-manywheel
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ runs_on: linux.g4dn.4xlarge.nvidia.gpu # 12.8 and 12.9 build need sm_70+ runner
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ manywheel-py3_11-cuda12_8-full-upload: # Uploading
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ github.repository_owner == 'pytorch' }}
permissions:
id-token: write
contents: read
+<<<<<<< HEAD
needs: manywheel-py3_11-cuda13_0-test
+=======
+ needs: manywheel-py3_11-cuda12_8-full-test
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
PYTORCH_ROOT: /pytorch
PACKAGE_TYPE: manywheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu130
GPU_ARCH_VERSION: "13.0"
GPU_ARCH_TYPE: cuda
@@ -894,6 +1860,85 @@ jobs:
DOCKER_IMAGE_TAG_PREFIX: cuda13.0
DESIRED_PYTHON: "3.11"
build_name: manywheel-py3_11-cuda13_0
+=======
+ DESIRED_CUDA: cu128
+ GPU_ARCH_VERSION: 12.8
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.8
+ use_split_build: False
+ DESIRED_PYTHON: "3.11"
+ build_name: manywheel-py3_11-cuda12_8-full
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ uses: ./.github/workflows/_binary-upload.yml
+
+ manywheel-py3_11-cuda12_9-build:
+ if: ${{ github.repository_owner == 'pytorch' }}
+ uses: ./.github/workflows/_binary-build-linux.yml
+ needs: get-label-type
+ with:
+ PYTORCH_ROOT: /pytorch
+ PACKAGE_TYPE: manywheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.9
+ use_split_build: False
+ DESIRED_PYTHON: "3.11"
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ build_name: manywheel-py3_11-cuda12_9
+ build_environment: linux-binary-manywheel
+ PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.9.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.9.1.4; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.4.1.4; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.10.19; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.7.5.82; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.5.10.65; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.27.3; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvjitlink-cu12==12.9.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufile-cu12==1.14.1.1; platform_system == 'Linux' and platform_machine == 'x86_64'
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ manywheel-py3_11-cuda12_9-test: # Testing
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs:
+ - manywheel-py3_11-cuda12_9-build
+ - get-label-type
+ uses: ./.github/workflows/_binary-test-linux.yml
+ with:
+ PYTORCH_ROOT: /pytorch
+ PACKAGE_TYPE: manywheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.9
+ use_split_build: False
+ DESIRED_PYTHON: "3.11"
+ build_name: manywheel-py3_11-cuda12_9
+ build_environment: linux-binary-manywheel
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ runs_on: linux.g4dn.4xlarge.nvidia.gpu # 12.8 and 12.9 build need sm_70+ runner
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ manywheel-py3_11-cuda12_9-upload: # Uploading
+ if: ${{ github.repository_owner == 'pytorch' }}
+ permissions:
+ id-token: write
+ contents: read
+ needs: manywheel-py3_11-cuda12_9-test
+ with:
+ PYTORCH_ROOT: /pytorch
+ PACKAGE_TYPE: manywheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.9
+ use_split_build: False
+ DESIRED_PYTHON: "3.11"
+ build_name: manywheel-py3_11-cuda12_9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
@@ -908,6 +1953,7 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: rocm6.3
+<<<<<<< HEAD
GPU_ARCH_VERSION: "6.3"
GPU_ARCH_TYPE: rocm
DOCKER_IMAGE: manylinux2_28-builder
@@ -915,6 +1961,15 @@ jobs:
DESIRED_PYTHON: "3.11"
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
timeout-minutes: 300
+=======
+ GPU_ARCH_VERSION: 6.3
+ GPU_ARCH_TYPE: rocm
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: rocm6.3
+ use_split_build: False
+ DESIRED_PYTHON: "3.11"
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
build_name: manywheel-py3_11-rocm6_3
build_environment: linux-binary-manywheel
secrets:
@@ -932,11 +1987,19 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: rocm6.3
+<<<<<<< HEAD
GPU_ARCH_VERSION: "6.3"
+=======
+ GPU_ARCH_VERSION: 6.3
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: rocm
SKIP_ALL_TESTS: 1
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: rocm6.3
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.11"
steps:
- name: Setup ROCm
@@ -970,7 +2033,11 @@ jobs:
role-duration-seconds: 18000
- name: Calculate docker image
id: calculate-docker-image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-registry: ${{ startsWith(github.event.ref, 'refs/tags/ciflow/') && '308535385114.dkr.ecr.us-east-1.amazonaws.com' || 'docker.io' }}
docker-image-name: manylinux2_28-builder
@@ -978,7 +2045,11 @@ jobs:
docker-build-dir: .ci/docker
working-directory: pytorch
- name: Pull Docker image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }}
- name: Test Pytorch binary
@@ -999,10 +2070,18 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: rocm6.3
+<<<<<<< HEAD
GPU_ARCH_VERSION: "6.3"
GPU_ARCH_TYPE: rocm
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: rocm6.3
+=======
+ GPU_ARCH_VERSION: 6.3
+ GPU_ARCH_TYPE: rocm
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: rocm6.3
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.11"
build_name: manywheel-py3_11-rocm6_3
secrets:
@@ -1019,6 +2098,7 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: rocm6.4
+<<<<<<< HEAD
GPU_ARCH_VERSION: "6.4"
GPU_ARCH_TYPE: rocm
DOCKER_IMAGE: manylinux2_28-builder
@@ -1026,6 +2106,15 @@ jobs:
DESIRED_PYTHON: "3.11"
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
timeout-minutes: 300
+=======
+ GPU_ARCH_VERSION: 6.4
+ GPU_ARCH_TYPE: rocm
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: rocm6.4
+ use_split_build: False
+ DESIRED_PYTHON: "3.11"
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
build_name: manywheel-py3_11-rocm6_4
build_environment: linux-binary-manywheel
secrets:
@@ -1043,11 +2132,19 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: rocm6.4
+<<<<<<< HEAD
GPU_ARCH_VERSION: "6.4"
+=======
+ GPU_ARCH_VERSION: 6.4
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: rocm
SKIP_ALL_TESTS: 1
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: rocm6.4
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.11"
steps:
- name: Setup ROCm
@@ -1081,7 +2178,11 @@ jobs:
role-duration-seconds: 18000
- name: Calculate docker image
id: calculate-docker-image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-registry: ${{ startsWith(github.event.ref, 'refs/tags/ciflow/') && '308535385114.dkr.ecr.us-east-1.amazonaws.com' || 'docker.io' }}
docker-image-name: manylinux2_28-builder
@@ -1089,7 +2190,11 @@ jobs:
docker-build-dir: .ci/docker
working-directory: pytorch
- name: Pull Docker image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }}
- name: Test Pytorch binary
@@ -1110,10 +2215,18 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: rocm6.4
+<<<<<<< HEAD
GPU_ARCH_VERSION: "6.4"
GPU_ARCH_TYPE: rocm
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: rocm6.4
+=======
+ GPU_ARCH_VERSION: 6.4
+ GPU_ARCH_TYPE: rocm
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: rocm6.4
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.11"
build_name: manywheel-py3_11-rocm6_4
secrets:
@@ -1133,11 +2246,19 @@ jobs:
GPU_ARCH_TYPE: xpu
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: xpu
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.11"
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
build_name: manywheel-py3_11-xpu
build_environment: linux-binary-manywheel
+<<<<<<< HEAD
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: intel-cmplr-lib-rt==2025.2.1 | intel-cmplr-lib-ur==2025.2.1 | intel-cmplr-lic-rt==2025.2.1 | intel-sycl-rt==2025.2.1 | oneccl-devel==2021.16.1; platform_system == 'Linux' and platform_machine == 'x86_64' | oneccl==2021.16.1; platform_system == 'Linux' and platform_machine == 'x86_64' | impi-rt==2021.16.1; platform_system == 'Linux' and platform_machine == 'x86_64' | onemkl-sycl-blas==2025.2.0 | onemkl-sycl-dft==2025.2.0 | onemkl-sycl-lapack==2025.2.0 | onemkl-sycl-rng==2025.2.0 | onemkl-sycl-sparse==2025.2.0 | dpcpp-cpp-rt==2025.2.1 | intel-opencl-rt==2025.2.1 | mkl==2025.2.0 | intel-openmp==2025.2.1 | tbb==2022.2.0 | tcmlib==1.4.0 | umf==0.11.0 | intel-pti==0.13.1
+=======
+ PYTORCH_EXTRA_INSTALL_REQUIREMENTS: intel-cmplr-lib-rt==2025.1.1 | intel-cmplr-lib-ur==2025.1.1 | intel-cmplr-lic-rt==2025.1.1 | intel-sycl-rt==2025.1.1 | oneccl-devel==2021.15.2; platform_system == 'Linux' and platform_machine == 'x86_64' | oneccl==2021.15.2; platform_system == 'Linux' and platform_machine == 'x86_64' | impi-rt==2021.15.0; platform_system == 'Linux' and platform_machine == 'x86_64' | onemkl-sycl-blas==2025.1.0 | onemkl-sycl-dft==2025.1.0 | onemkl-sycl-lapack==2025.1.0 | onemkl-sycl-rng==2025.1.0 | onemkl-sycl-sparse==2025.1.0 | dpcpp-cpp-rt==2025.1.1 | intel-opencl-rt==2025.1.1 | mkl==2025.1.0 | intel-openmp==2025.1.1 | tbb==2022.1.0 | tcmlib==1.3.0 | umf==0.10.0 | intel-pti==0.12.3
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
manywheel-py3_11-xpu-test: # Testing
@@ -1157,13 +2278,21 @@ jobs:
SKIP_ALL_TESTS: 1
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: xpu
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.11"
permissions:
id-token: write
contents: read
steps:
- name: Setup XPU
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/actions/setup-xpu@release/2.9
+=======
+ uses: ./.github/actions/setup-xpu
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: configure aws credentials
id: aws_creds
uses: aws-actions/configure-aws-credentials@v4
@@ -1191,7 +2320,11 @@ jobs:
working-directory: pytorch
- name: Calculate docker image
id: calculate-docker-image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-registry: ${{ startsWith(github.event.ref, 'refs/tags/ciflow/') && '308535385114.dkr.ecr.us-east-1.amazonaws.com' || 'docker.io' }}
docker-image-name: manylinux2_28-builder
@@ -1199,7 +2332,11 @@ jobs:
docker-build-dir: .ci/docker
working-directory: pytorch
- name: Pull Docker image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }}
- name: Test Pytorch binary
@@ -1223,6 +2360,10 @@ jobs:
GPU_ARCH_TYPE: xpu
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: xpu
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.11"
build_name: manywheel-py3_11-xpu
secrets:
@@ -1242,6 +2383,10 @@ jobs:
GPU_ARCH_TYPE: cpu
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cpu
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.12"
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
build_name: manywheel-py3_12-cpu
@@ -1263,6 +2408,10 @@ jobs:
GPU_ARCH_TYPE: cpu
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cpu
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.12"
build_name: manywheel-py3_12-cpu
build_environment: linux-binary-manywheel
@@ -1285,6 +2434,10 @@ jobs:
GPU_ARCH_TYPE: cpu
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cpu
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.12"
build_name: manywheel-py3_12-cpu
secrets:
@@ -1301,15 +2454,27 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu126
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.6"
GPU_ARCH_TYPE: cuda
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cuda12.6
+=======
+ GPU_ARCH_VERSION: 12.6
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.6
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.12"
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
build_name: manywheel-py3_12-cuda12_6
build_environment: linux-binary-manywheel
+<<<<<<< HEAD
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.6.80; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.6.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.0.4; platform_system == 'Linux' | nvidia-curand-cu12==10.3.7.77; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.1.2; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.4.2; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.3.20; platform_system == 'Linux' | nvidia-nvtx-cu12==12.6.77; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.6.85; platform_system == 'Linux' | nvidia-cufile-cu12==1.11.1.6; platform_system == 'Linux'
+=======
+ PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.6.77; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.6.77; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.6.80; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.6.4.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.3.0.4; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.7.77; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.7.1.2; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.5.4.2; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.27.3; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.6.77; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvjitlink-cu12==12.6.85; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufile-cu12==1.11.1.6; platform_system == 'Linux' and platform_machine == 'x86_64'
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
manywheel-py3_12-cuda12_6-test: # Testing
@@ -1324,15 +2489,27 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu126
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.6"
GPU_ARCH_TYPE: cuda
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cuda12.6
+=======
+ GPU_ARCH_VERSION: 12.6
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.6
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.12"
build_name: manywheel-py3_12-cuda12_6
build_environment: linux-binary-manywheel
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+<<<<<<< HEAD
runs_on: linux.4xlarge.nvidia.gpu # 12.6 build can use maxwell (sm_50) runner
+=======
+ runs_on: linux.4xlarge.nvidia.gpu # for other cuda versions, we use 4xlarge runner
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
manywheel-py3_12-cuda12_6-upload: # Uploading
@@ -1347,10 +2524,18 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu126
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.6"
GPU_ARCH_TYPE: cuda
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cuda12.6
+=======
+ GPU_ARCH_VERSION: 12.6
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.6
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.12"
build_name: manywheel-py3_12-cuda12_6
secrets:
@@ -1367,15 +2552,27 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu128
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.8"
GPU_ARCH_TYPE: cuda
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cuda12.8
+=======
+ GPU_ARCH_VERSION: 12.8
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.8
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.12"
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
build_name: manywheel-py3_12-cuda12_8
build_environment: linux-binary-manywheel
+<<<<<<< HEAD
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.8.93; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.8.90; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.8.90; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.8.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.3.83; platform_system == 'Linux' | nvidia-curand-cu12==10.3.9.90; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.3.90; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.8.93; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.3.20; platform_system == 'Linux' | nvidia-nvtx-cu12==12.8.90; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.8.93; platform_system == 'Linux' | nvidia-cufile-cu12==1.13.1.3; platform_system == 'Linux'
+=======
+ PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.8.93; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.8.90; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.8.90; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.8.4.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.3.3.83; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.9.90; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.7.3.90; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.5.8.93; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.27.3; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.8.90; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvjitlink-cu12==12.8.93; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufile-cu12==1.13.1.3; platform_system == 'Linux' and platform_machine == 'x86_64'
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
manywheel-py3_12-cuda12_8-test: # Testing
@@ -1390,15 +2587,27 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu128
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.8"
GPU_ARCH_TYPE: cuda
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cuda12.8
+=======
+ GPU_ARCH_VERSION: 12.8
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.8
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.12"
build_name: manywheel-py3_12-cuda12_8
build_environment: linux-binary-manywheel
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+<<<<<<< HEAD
runs_on: linux.g4dn.4xlarge.nvidia.gpu # 12.8+ builds need sm_70+ runner
+=======
+ runs_on: linux.g4dn.4xlarge.nvidia.gpu # 12.8 and 12.9 build need sm_70+ runner
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
manywheel-py3_12-cuda12_8-upload: # Uploading
@@ -1413,17 +2622,29 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu128
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.8"
GPU_ARCH_TYPE: cuda
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cuda12.8
+=======
+ GPU_ARCH_VERSION: 12.8
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.8
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.12"
build_name: manywheel-py3_12-cuda12_8
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
+<<<<<<< HEAD
manywheel-py3_12-cuda13_0-build:
+=======
+ manywheel-py3_12-cuda12_9-build:
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ github.repository_owner == 'pytorch' }}
uses: ./.github/workflows/_binary-build-linux.yml
needs: get-label-type
@@ -1432,6 +2653,7 @@ jobs:
PACKAGE_TYPE: manywheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu130
GPU_ARCH_VERSION: "13.0"
GPU_ARCH_TYPE: cuda
@@ -1448,6 +2670,25 @@ jobs:
if: ${{ github.repository_owner == 'pytorch' }}
needs:
- manywheel-py3_12-cuda13_0-build
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.9
+ use_split_build: False
+ DESIRED_PYTHON: "3.12"
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ build_name: manywheel-py3_12-cuda12_9
+ build_environment: linux-binary-manywheel
+ PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.9.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.9.1.4; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.4.1.4; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.10.19; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.7.5.82; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.5.10.65; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.27.3; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvjitlink-cu12==12.9.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufile-cu12==1.14.1.1; platform_system == 'Linux' and platform_machine == 'x86_64'
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ manywheel-py3_12-cuda12_9-test: # Testing
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs:
+ - manywheel-py3_12-cuda12_9-build
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- get-label-type
uses: ./.github/workflows/_binary-test-linux.yml
with:
@@ -1455,6 +2696,7 @@ jobs:
PACKAGE_TYPE: manywheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu130
GPU_ARCH_VERSION: "13.0"
GPU_ARCH_TYPE: cuda
@@ -1468,16 +2710,37 @@ jobs:
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
manywheel-py3_12-cuda13_0-upload: # Uploading
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.9
+ use_split_build: False
+ DESIRED_PYTHON: "3.12"
+ build_name: manywheel-py3_12-cuda12_9
+ build_environment: linux-binary-manywheel
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ runs_on: linux.g4dn.4xlarge.nvidia.gpu # 12.8 and 12.9 build need sm_70+ runner
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ manywheel-py3_12-cuda12_9-upload: # Uploading
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ github.repository_owner == 'pytorch' }}
permissions:
id-token: write
contents: read
+<<<<<<< HEAD
needs: manywheel-py3_12-cuda13_0-test
+=======
+ needs: manywheel-py3_12-cuda12_9-test
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
PYTORCH_ROOT: /pytorch
PACKAGE_TYPE: manywheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu130
GPU_ARCH_VERSION: "13.0"
GPU_ARCH_TYPE: cuda
@@ -1485,6 +2748,16 @@ jobs:
DOCKER_IMAGE_TAG_PREFIX: cuda13.0
DESIRED_PYTHON: "3.12"
build_name: manywheel-py3_12-cuda13_0
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.9
+ use_split_build: False
+ DESIRED_PYTHON: "3.12"
+ build_name: manywheel-py3_12-cuda12_9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
@@ -1499,6 +2772,7 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: rocm6.3
+<<<<<<< HEAD
GPU_ARCH_VERSION: "6.3"
GPU_ARCH_TYPE: rocm
DOCKER_IMAGE: manylinux2_28-builder
@@ -1506,6 +2780,15 @@ jobs:
DESIRED_PYTHON: "3.12"
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
timeout-minutes: 300
+=======
+ GPU_ARCH_VERSION: 6.3
+ GPU_ARCH_TYPE: rocm
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: rocm6.3
+ use_split_build: False
+ DESIRED_PYTHON: "3.12"
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
build_name: manywheel-py3_12-rocm6_3
build_environment: linux-binary-manywheel
secrets:
@@ -1523,11 +2806,19 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: rocm6.3
+<<<<<<< HEAD
GPU_ARCH_VERSION: "6.3"
+=======
+ GPU_ARCH_VERSION: 6.3
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: rocm
SKIP_ALL_TESTS: 1
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: rocm6.3
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.12"
steps:
- name: Setup ROCm
@@ -1561,7 +2852,11 @@ jobs:
role-duration-seconds: 18000
- name: Calculate docker image
id: calculate-docker-image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-registry: ${{ startsWith(github.event.ref, 'refs/tags/ciflow/') && '308535385114.dkr.ecr.us-east-1.amazonaws.com' || 'docker.io' }}
docker-image-name: manylinux2_28-builder
@@ -1569,7 +2864,11 @@ jobs:
docker-build-dir: .ci/docker
working-directory: pytorch
- name: Pull Docker image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }}
- name: Test Pytorch binary
@@ -1590,10 +2889,18 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: rocm6.3
+<<<<<<< HEAD
GPU_ARCH_VERSION: "6.3"
GPU_ARCH_TYPE: rocm
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: rocm6.3
+=======
+ GPU_ARCH_VERSION: 6.3
+ GPU_ARCH_TYPE: rocm
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: rocm6.3
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.12"
build_name: manywheel-py3_12-rocm6_3
secrets:
@@ -1610,6 +2917,7 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: rocm6.4
+<<<<<<< HEAD
GPU_ARCH_VERSION: "6.4"
GPU_ARCH_TYPE: rocm
DOCKER_IMAGE: manylinux2_28-builder
@@ -1617,6 +2925,15 @@ jobs:
DESIRED_PYTHON: "3.12"
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
timeout-minutes: 300
+=======
+ GPU_ARCH_VERSION: 6.4
+ GPU_ARCH_TYPE: rocm
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: rocm6.4
+ use_split_build: False
+ DESIRED_PYTHON: "3.12"
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
build_name: manywheel-py3_12-rocm6_4
build_environment: linux-binary-manywheel
secrets:
@@ -1634,11 +2951,19 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: rocm6.4
+<<<<<<< HEAD
GPU_ARCH_VERSION: "6.4"
+=======
+ GPU_ARCH_VERSION: 6.4
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: rocm
SKIP_ALL_TESTS: 1
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: rocm6.4
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.12"
steps:
- name: Setup ROCm
@@ -1672,7 +2997,11 @@ jobs:
role-duration-seconds: 18000
- name: Calculate docker image
id: calculate-docker-image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-registry: ${{ startsWith(github.event.ref, 'refs/tags/ciflow/') && '308535385114.dkr.ecr.us-east-1.amazonaws.com' || 'docker.io' }}
docker-image-name: manylinux2_28-builder
@@ -1680,7 +3009,11 @@ jobs:
docker-build-dir: .ci/docker
working-directory: pytorch
- name: Pull Docker image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }}
- name: Test Pytorch binary
@@ -1701,10 +3034,18 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: rocm6.4
+<<<<<<< HEAD
GPU_ARCH_VERSION: "6.4"
GPU_ARCH_TYPE: rocm
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: rocm6.4
+=======
+ GPU_ARCH_VERSION: 6.4
+ GPU_ARCH_TYPE: rocm
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: rocm6.4
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.12"
build_name: manywheel-py3_12-rocm6_4
secrets:
@@ -1724,11 +3065,19 @@ jobs:
GPU_ARCH_TYPE: xpu
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: xpu
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.12"
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
build_name: manywheel-py3_12-xpu
build_environment: linux-binary-manywheel
+<<<<<<< HEAD
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: intel-cmplr-lib-rt==2025.2.1 | intel-cmplr-lib-ur==2025.2.1 | intel-cmplr-lic-rt==2025.2.1 | intel-sycl-rt==2025.2.1 | oneccl-devel==2021.16.1; platform_system == 'Linux' and platform_machine == 'x86_64' | oneccl==2021.16.1; platform_system == 'Linux' and platform_machine == 'x86_64' | impi-rt==2021.16.1; platform_system == 'Linux' and platform_machine == 'x86_64' | onemkl-sycl-blas==2025.2.0 | onemkl-sycl-dft==2025.2.0 | onemkl-sycl-lapack==2025.2.0 | onemkl-sycl-rng==2025.2.0 | onemkl-sycl-sparse==2025.2.0 | dpcpp-cpp-rt==2025.2.1 | intel-opencl-rt==2025.2.1 | mkl==2025.2.0 | intel-openmp==2025.2.1 | tbb==2022.2.0 | tcmlib==1.4.0 | umf==0.11.0 | intel-pti==0.13.1
+=======
+ PYTORCH_EXTRA_INSTALL_REQUIREMENTS: intel-cmplr-lib-rt==2025.1.1 | intel-cmplr-lib-ur==2025.1.1 | intel-cmplr-lic-rt==2025.1.1 | intel-sycl-rt==2025.1.1 | oneccl-devel==2021.15.2; platform_system == 'Linux' and platform_machine == 'x86_64' | oneccl==2021.15.2; platform_system == 'Linux' and platform_machine == 'x86_64' | impi-rt==2021.15.0; platform_system == 'Linux' and platform_machine == 'x86_64' | onemkl-sycl-blas==2025.1.0 | onemkl-sycl-dft==2025.1.0 | onemkl-sycl-lapack==2025.1.0 | onemkl-sycl-rng==2025.1.0 | onemkl-sycl-sparse==2025.1.0 | dpcpp-cpp-rt==2025.1.1 | intel-opencl-rt==2025.1.1 | mkl==2025.1.0 | intel-openmp==2025.1.1 | tbb==2022.1.0 | tcmlib==1.3.0 | umf==0.10.0 | intel-pti==0.12.3
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
manywheel-py3_12-xpu-test: # Testing
@@ -1748,13 +3097,21 @@ jobs:
SKIP_ALL_TESTS: 1
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: xpu
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.12"
permissions:
id-token: write
contents: read
steps:
- name: Setup XPU
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/actions/setup-xpu@release/2.9
+=======
+ uses: ./.github/actions/setup-xpu
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: configure aws credentials
id: aws_creds
uses: aws-actions/configure-aws-credentials@v4
@@ -1782,7 +3139,11 @@ jobs:
working-directory: pytorch
- name: Calculate docker image
id: calculate-docker-image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-registry: ${{ startsWith(github.event.ref, 'refs/tags/ciflow/') && '308535385114.dkr.ecr.us-east-1.amazonaws.com' || 'docker.io' }}
docker-image-name: manylinux2_28-builder
@@ -1790,7 +3151,11 @@ jobs:
docker-build-dir: .ci/docker
working-directory: pytorch
- name: Pull Docker image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }}
- name: Test Pytorch binary
@@ -1814,6 +3179,10 @@ jobs:
GPU_ARCH_TYPE: xpu
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: xpu
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.12"
build_name: manywheel-py3_12-xpu
secrets:
@@ -1833,6 +3202,10 @@ jobs:
GPU_ARCH_TYPE: cpu
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cpu
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13"
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
build_name: manywheel-py3_13-cpu
@@ -1854,6 +3227,10 @@ jobs:
GPU_ARCH_TYPE: cpu
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cpu
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13"
build_name: manywheel-py3_13-cpu
build_environment: linux-binary-manywheel
@@ -1876,6 +3253,10 @@ jobs:
GPU_ARCH_TYPE: cpu
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cpu
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13"
build_name: manywheel-py3_13-cpu
secrets:
@@ -1892,15 +3273,27 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu126
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.6"
GPU_ARCH_TYPE: cuda
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cuda12.6
+=======
+ GPU_ARCH_VERSION: 12.6
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.6
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13"
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
build_name: manywheel-py3_13-cuda12_6
build_environment: linux-binary-manywheel
+<<<<<<< HEAD
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.6.80; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.6.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.0.4; platform_system == 'Linux' | nvidia-curand-cu12==10.3.7.77; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.1.2; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.4.2; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.3.20; platform_system == 'Linux' | nvidia-nvtx-cu12==12.6.77; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.6.85; platform_system == 'Linux' | nvidia-cufile-cu12==1.11.1.6; platform_system == 'Linux'
+=======
+ PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.6.77; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.6.77; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.6.80; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.6.4.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.3.0.4; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.7.77; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.7.1.2; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.5.4.2; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.27.3; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.6.77; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvjitlink-cu12==12.6.85; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufile-cu12==1.11.1.6; platform_system == 'Linux' and platform_machine == 'x86_64'
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
manywheel-py3_13-cuda12_6-test: # Testing
@@ -1915,15 +3308,27 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu126
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.6"
GPU_ARCH_TYPE: cuda
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cuda12.6
+=======
+ GPU_ARCH_VERSION: 12.6
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.6
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13"
build_name: manywheel-py3_13-cuda12_6
build_environment: linux-binary-manywheel
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+<<<<<<< HEAD
runs_on: linux.4xlarge.nvidia.gpu # 12.6 build can use maxwell (sm_50) runner
+=======
+ runs_on: linux.4xlarge.nvidia.gpu # for other cuda versions, we use 4xlarge runner
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
manywheel-py3_13-cuda12_6-upload: # Uploading
@@ -1938,10 +3343,18 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu126
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.6"
GPU_ARCH_TYPE: cuda
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cuda12.6
+=======
+ GPU_ARCH_VERSION: 12.6
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.6
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13"
build_name: manywheel-py3_13-cuda12_6
secrets:
@@ -1958,15 +3371,27 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu128
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.8"
GPU_ARCH_TYPE: cuda
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cuda12.8
+=======
+ GPU_ARCH_VERSION: 12.8
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.8
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13"
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
build_name: manywheel-py3_13-cuda12_8
build_environment: linux-binary-manywheel
+<<<<<<< HEAD
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.8.93; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.8.90; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.8.90; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.8.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.3.83; platform_system == 'Linux' | nvidia-curand-cu12==10.3.9.90; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.3.90; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.8.93; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.3.20; platform_system == 'Linux' | nvidia-nvtx-cu12==12.8.90; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.8.93; platform_system == 'Linux' | nvidia-cufile-cu12==1.13.1.3; platform_system == 'Linux'
+=======
+ PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.8.93; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.8.90; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.8.90; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.8.4.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.3.3.83; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.9.90; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.7.3.90; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.5.8.93; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.27.3; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.8.90; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvjitlink-cu12==12.8.93; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufile-cu12==1.13.1.3; platform_system == 'Linux' and platform_machine == 'x86_64'
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
manywheel-py3_13-cuda12_8-test: # Testing
@@ -1981,15 +3406,27 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu128
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.8"
GPU_ARCH_TYPE: cuda
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cuda12.8
+=======
+ GPU_ARCH_VERSION: 12.8
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.8
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13"
build_name: manywheel-py3_13-cuda12_8
build_environment: linux-binary-manywheel
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+<<<<<<< HEAD
runs_on: linux.g4dn.4xlarge.nvidia.gpu # 12.8+ builds need sm_70+ runner
+=======
+ runs_on: linux.g4dn.4xlarge.nvidia.gpu # 12.8 and 12.9 build need sm_70+ runner
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
manywheel-py3_13-cuda12_8-upload: # Uploading
@@ -2004,17 +3441,29 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu128
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.8"
GPU_ARCH_TYPE: cuda
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cuda12.8
+=======
+ GPU_ARCH_VERSION: 12.8
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.8
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13"
build_name: manywheel-py3_13-cuda12_8
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
+<<<<<<< HEAD
manywheel-py3_13-cuda13_0-build:
+=======
+ manywheel-py3_13-cuda12_9-build:
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ github.repository_owner == 'pytorch' }}
uses: ./.github/workflows/_binary-build-linux.yml
needs: get-label-type
@@ -2023,6 +3472,7 @@ jobs:
PACKAGE_TYPE: manywheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu130
GPU_ARCH_VERSION: "13.0"
GPU_ARCH_TYPE: cuda
@@ -2039,6 +3489,25 @@ jobs:
if: ${{ github.repository_owner == 'pytorch' }}
needs:
- manywheel-py3_13-cuda13_0-build
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.9
+ use_split_build: False
+ DESIRED_PYTHON: "3.13"
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ build_name: manywheel-py3_13-cuda12_9
+ build_environment: linux-binary-manywheel
+ PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.9.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.9.1.4; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.4.1.4; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.10.19; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.7.5.82; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.5.10.65; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.27.3; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvjitlink-cu12==12.9.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufile-cu12==1.14.1.1; platform_system == 'Linux' and platform_machine == 'x86_64'
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ manywheel-py3_13-cuda12_9-test: # Testing
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs:
+ - manywheel-py3_13-cuda12_9-build
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- get-label-type
uses: ./.github/workflows/_binary-test-linux.yml
with:
@@ -2046,6 +3515,7 @@ jobs:
PACKAGE_TYPE: manywheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu130
GPU_ARCH_VERSION: "13.0"
GPU_ARCH_TYPE: cuda
@@ -2059,16 +3529,37 @@ jobs:
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
manywheel-py3_13-cuda13_0-upload: # Uploading
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.9
+ use_split_build: False
+ DESIRED_PYTHON: "3.13"
+ build_name: manywheel-py3_13-cuda12_9
+ build_environment: linux-binary-manywheel
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ runs_on: linux.g4dn.4xlarge.nvidia.gpu # 12.8 and 12.9 build need sm_70+ runner
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ manywheel-py3_13-cuda12_9-upload: # Uploading
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ github.repository_owner == 'pytorch' }}
permissions:
id-token: write
contents: read
+<<<<<<< HEAD
needs: manywheel-py3_13-cuda13_0-test
+=======
+ needs: manywheel-py3_13-cuda12_9-test
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
PYTORCH_ROOT: /pytorch
PACKAGE_TYPE: manywheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu130
GPU_ARCH_VERSION: "13.0"
GPU_ARCH_TYPE: cuda
@@ -2076,6 +3567,16 @@ jobs:
DOCKER_IMAGE_TAG_PREFIX: cuda13.0
DESIRED_PYTHON: "3.13"
build_name: manywheel-py3_13-cuda13_0
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.9
+ use_split_build: False
+ DESIRED_PYTHON: "3.13"
+ build_name: manywheel-py3_13-cuda12_9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
@@ -2090,6 +3591,7 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: rocm6.3
+<<<<<<< HEAD
GPU_ARCH_VERSION: "6.3"
GPU_ARCH_TYPE: rocm
DOCKER_IMAGE: manylinux2_28-builder
@@ -2097,6 +3599,15 @@ jobs:
DESIRED_PYTHON: "3.13"
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
timeout-minutes: 300
+=======
+ GPU_ARCH_VERSION: 6.3
+ GPU_ARCH_TYPE: rocm
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: rocm6.3
+ use_split_build: False
+ DESIRED_PYTHON: "3.13"
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
build_name: manywheel-py3_13-rocm6_3
build_environment: linux-binary-manywheel
secrets:
@@ -2114,11 +3625,19 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: rocm6.3
+<<<<<<< HEAD
GPU_ARCH_VERSION: "6.3"
+=======
+ GPU_ARCH_VERSION: 6.3
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: rocm
SKIP_ALL_TESTS: 1
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: rocm6.3
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13"
steps:
- name: Setup ROCm
@@ -2152,7 +3671,11 @@ jobs:
role-duration-seconds: 18000
- name: Calculate docker image
id: calculate-docker-image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-registry: ${{ startsWith(github.event.ref, 'refs/tags/ciflow/') && '308535385114.dkr.ecr.us-east-1.amazonaws.com' || 'docker.io' }}
docker-image-name: manylinux2_28-builder
@@ -2160,7 +3683,11 @@ jobs:
docker-build-dir: .ci/docker
working-directory: pytorch
- name: Pull Docker image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }}
- name: Test Pytorch binary
@@ -2181,10 +3708,18 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: rocm6.3
+<<<<<<< HEAD
GPU_ARCH_VERSION: "6.3"
GPU_ARCH_TYPE: rocm
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: rocm6.3
+=======
+ GPU_ARCH_VERSION: 6.3
+ GPU_ARCH_TYPE: rocm
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: rocm6.3
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13"
build_name: manywheel-py3_13-rocm6_3
secrets:
@@ -2201,6 +3736,7 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: rocm6.4
+<<<<<<< HEAD
GPU_ARCH_VERSION: "6.4"
GPU_ARCH_TYPE: rocm
DOCKER_IMAGE: manylinux2_28-builder
@@ -2208,6 +3744,15 @@ jobs:
DESIRED_PYTHON: "3.13"
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
timeout-minutes: 300
+=======
+ GPU_ARCH_VERSION: 6.4
+ GPU_ARCH_TYPE: rocm
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: rocm6.4
+ use_split_build: False
+ DESIRED_PYTHON: "3.13"
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
build_name: manywheel-py3_13-rocm6_4
build_environment: linux-binary-manywheel
secrets:
@@ -2225,11 +3770,19 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: rocm6.4
+<<<<<<< HEAD
GPU_ARCH_VERSION: "6.4"
+=======
+ GPU_ARCH_VERSION: 6.4
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: rocm
SKIP_ALL_TESTS: 1
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: rocm6.4
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13"
steps:
- name: Setup ROCm
@@ -2263,7 +3816,11 @@ jobs:
role-duration-seconds: 18000
- name: Calculate docker image
id: calculate-docker-image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-registry: ${{ startsWith(github.event.ref, 'refs/tags/ciflow/') && '308535385114.dkr.ecr.us-east-1.amazonaws.com' || 'docker.io' }}
docker-image-name: manylinux2_28-builder
@@ -2271,7 +3828,11 @@ jobs:
docker-build-dir: .ci/docker
working-directory: pytorch
- name: Pull Docker image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }}
- name: Test Pytorch binary
@@ -2292,10 +3853,18 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: rocm6.4
+<<<<<<< HEAD
GPU_ARCH_VERSION: "6.4"
GPU_ARCH_TYPE: rocm
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: rocm6.4
+=======
+ GPU_ARCH_VERSION: 6.4
+ GPU_ARCH_TYPE: rocm
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: rocm6.4
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13"
build_name: manywheel-py3_13-rocm6_4
secrets:
@@ -2315,11 +3884,19 @@ jobs:
GPU_ARCH_TYPE: xpu
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: xpu
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13"
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
build_name: manywheel-py3_13-xpu
build_environment: linux-binary-manywheel
+<<<<<<< HEAD
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: intel-cmplr-lib-rt==2025.2.1 | intel-cmplr-lib-ur==2025.2.1 | intel-cmplr-lic-rt==2025.2.1 | intel-sycl-rt==2025.2.1 | oneccl-devel==2021.16.1; platform_system == 'Linux' and platform_machine == 'x86_64' | oneccl==2021.16.1; platform_system == 'Linux' and platform_machine == 'x86_64' | impi-rt==2021.16.1; platform_system == 'Linux' and platform_machine == 'x86_64' | onemkl-sycl-blas==2025.2.0 | onemkl-sycl-dft==2025.2.0 | onemkl-sycl-lapack==2025.2.0 | onemkl-sycl-rng==2025.2.0 | onemkl-sycl-sparse==2025.2.0 | dpcpp-cpp-rt==2025.2.1 | intel-opencl-rt==2025.2.1 | mkl==2025.2.0 | intel-openmp==2025.2.1 | tbb==2022.2.0 | tcmlib==1.4.0 | umf==0.11.0 | intel-pti==0.13.1
+=======
+ PYTORCH_EXTRA_INSTALL_REQUIREMENTS: intel-cmplr-lib-rt==2025.1.1 | intel-cmplr-lib-ur==2025.1.1 | intel-cmplr-lic-rt==2025.1.1 | intel-sycl-rt==2025.1.1 | oneccl-devel==2021.15.2; platform_system == 'Linux' and platform_machine == 'x86_64' | oneccl==2021.15.2; platform_system == 'Linux' and platform_machine == 'x86_64' | impi-rt==2021.15.0; platform_system == 'Linux' and platform_machine == 'x86_64' | onemkl-sycl-blas==2025.1.0 | onemkl-sycl-dft==2025.1.0 | onemkl-sycl-lapack==2025.1.0 | onemkl-sycl-rng==2025.1.0 | onemkl-sycl-sparse==2025.1.0 | dpcpp-cpp-rt==2025.1.1 | intel-opencl-rt==2025.1.1 | mkl==2025.1.0 | intel-openmp==2025.1.1 | tbb==2022.1.0 | tcmlib==1.3.0 | umf==0.10.0 | intel-pti==0.12.3
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
manywheel-py3_13-xpu-test: # Testing
@@ -2339,13 +3916,21 @@ jobs:
SKIP_ALL_TESTS: 1
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: xpu
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13"
permissions:
id-token: write
contents: read
steps:
- name: Setup XPU
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/actions/setup-xpu@release/2.9
+=======
+ uses: ./.github/actions/setup-xpu
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: configure aws credentials
id: aws_creds
uses: aws-actions/configure-aws-credentials@v4
@@ -2373,7 +3958,11 @@ jobs:
working-directory: pytorch
- name: Calculate docker image
id: calculate-docker-image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-registry: ${{ startsWith(github.event.ref, 'refs/tags/ciflow/') && '308535385114.dkr.ecr.us-east-1.amazonaws.com' || 'docker.io' }}
docker-image-name: manylinux2_28-builder
@@ -2381,7 +3970,11 @@ jobs:
docker-build-dir: .ci/docker
working-directory: pytorch
- name: Pull Docker image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }}
- name: Test Pytorch binary
@@ -2405,6 +3998,10 @@ jobs:
GPU_ARCH_TYPE: xpu
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: xpu
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13"
build_name: manywheel-py3_13-xpu
secrets:
@@ -2424,6 +4021,10 @@ jobs:
GPU_ARCH_TYPE: cpu
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cpu
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13t"
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
build_name: manywheel-py3_13t-cpu
@@ -2445,6 +4046,10 @@ jobs:
GPU_ARCH_TYPE: cpu
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cpu
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13t"
build_name: manywheel-py3_13t-cpu
build_environment: linux-binary-manywheel
@@ -2467,6 +4072,10 @@ jobs:
GPU_ARCH_TYPE: cpu
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cpu
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13t"
build_name: manywheel-py3_13t-cpu
secrets:
@@ -2483,15 +4092,27 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu126
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.6"
GPU_ARCH_TYPE: cuda
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cuda12.6
+=======
+ GPU_ARCH_VERSION: 12.6
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.6
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13t"
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
build_name: manywheel-py3_13t-cuda12_6
build_environment: linux-binary-manywheel
+<<<<<<< HEAD
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.6.77; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.6.80; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.6.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.0.4; platform_system == 'Linux' | nvidia-curand-cu12==10.3.7.77; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.1.2; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.4.2; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.3.20; platform_system == 'Linux' | nvidia-nvtx-cu12==12.6.77; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.6.85; platform_system == 'Linux' | nvidia-cufile-cu12==1.11.1.6; platform_system == 'Linux'
+=======
+ PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.6.77; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.6.77; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.6.80; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.6.4.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.3.0.4; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.7.77; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.7.1.2; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.5.4.2; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.27.3; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.6.77; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvjitlink-cu12==12.6.85; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufile-cu12==1.11.1.6; platform_system == 'Linux' and platform_machine == 'x86_64'
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
manywheel-py3_13t-cuda12_6-test: # Testing
@@ -2506,15 +4127,27 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu126
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.6"
GPU_ARCH_TYPE: cuda
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cuda12.6
+=======
+ GPU_ARCH_VERSION: 12.6
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.6
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13t"
build_name: manywheel-py3_13t-cuda12_6
build_environment: linux-binary-manywheel
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+<<<<<<< HEAD
runs_on: linux.4xlarge.nvidia.gpu # 12.6 build can use maxwell (sm_50) runner
+=======
+ runs_on: linux.4xlarge.nvidia.gpu # for other cuda versions, we use 4xlarge runner
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
manywheel-py3_13t-cuda12_6-upload: # Uploading
@@ -2529,10 +4162,18 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu126
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.6"
GPU_ARCH_TYPE: cuda
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cuda12.6
+=======
+ GPU_ARCH_VERSION: 12.6
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.6
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13t"
build_name: manywheel-py3_13t-cuda12_6
secrets:
@@ -2549,15 +4190,27 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu128
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.8"
GPU_ARCH_TYPE: cuda
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cuda12.8
+=======
+ GPU_ARCH_VERSION: 12.8
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.8
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13t"
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
build_name: manywheel-py3_13t-cuda12_8
build_environment: linux-binary-manywheel
+<<<<<<< HEAD
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.8.93; platform_system == 'Linux' | nvidia-cuda-runtime-cu12==12.8.90; platform_system == 'Linux' | nvidia-cuda-cupti-cu12==12.8.90; platform_system == 'Linux' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' | nvidia-cublas-cu12==12.8.4.1; platform_system == 'Linux' | nvidia-cufft-cu12==11.3.3.83; platform_system == 'Linux' | nvidia-curand-cu12==10.3.9.90; platform_system == 'Linux' | nvidia-cusolver-cu12==11.7.3.90; platform_system == 'Linux' | nvidia-cusparse-cu12==12.5.8.93; platform_system == 'Linux' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' | nvidia-nccl-cu12==2.27.5; platform_system == 'Linux' | nvidia-nvshmem-cu12==3.3.20; platform_system == 'Linux' | nvidia-nvtx-cu12==12.8.90; platform_system == 'Linux' | nvidia-nvjitlink-cu12==12.8.93; platform_system == 'Linux' | nvidia-cufile-cu12==1.13.1.3; platform_system == 'Linux'
+=======
+ PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.8.93; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.8.90; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.8.90; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.8.4.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.3.3.83; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.9.90; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.7.3.90; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.5.8.93; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.27.3; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.8.90; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvjitlink-cu12==12.8.93; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufile-cu12==1.13.1.3; platform_system == 'Linux' and platform_machine == 'x86_64'
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
manywheel-py3_13t-cuda12_8-test: # Testing
@@ -2572,15 +4225,27 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu128
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.8"
GPU_ARCH_TYPE: cuda
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cuda12.8
+=======
+ GPU_ARCH_VERSION: 12.8
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.8
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13t"
build_name: manywheel-py3_13t-cuda12_8
build_environment: linux-binary-manywheel
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+<<<<<<< HEAD
runs_on: linux.g4dn.4xlarge.nvidia.gpu # 12.8+ builds need sm_70+ runner
+=======
+ runs_on: linux.g4dn.4xlarge.nvidia.gpu # 12.8 and 12.9 build need sm_70+ runner
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
manywheel-py3_13t-cuda12_8-upload: # Uploading
@@ -2595,17 +4260,29 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu128
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.8"
GPU_ARCH_TYPE: cuda
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: cuda12.8
+=======
+ GPU_ARCH_VERSION: 12.8
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.8
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13t"
build_name: manywheel-py3_13t-cuda12_8
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
+<<<<<<< HEAD
manywheel-py3_13t-cuda13_0-build:
+=======
+ manywheel-py3_13t-cuda12_9-build:
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ github.repository_owner == 'pytorch' }}
uses: ./.github/workflows/_binary-build-linux.yml
needs: get-label-type
@@ -2614,6 +4291,7 @@ jobs:
PACKAGE_TYPE: manywheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu130
GPU_ARCH_VERSION: "13.0"
GPU_ARCH_TYPE: cuda
@@ -2630,6 +4308,25 @@ jobs:
if: ${{ github.repository_owner == 'pytorch' }}
needs:
- manywheel-py3_13t-cuda13_0-build
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.9
+ use_split_build: False
+ DESIRED_PYTHON: "3.13t"
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ build_name: manywheel-py3_13t-cuda12_9
+ build_environment: linux-binary-manywheel
+ PYTORCH_EXTRA_INSTALL_REQUIREMENTS: nvidia-cuda-nvrtc-cu12==12.9.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-runtime-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cuda-cupti-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cudnn-cu12==9.10.2.21; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cublas-cu12==12.9.1.4; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufft-cu12==11.4.1.4; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-curand-cu12==10.3.10.19; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusolver-cu12==11.7.5.82; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparse-cu12==12.5.10.65; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cusparselt-cu12==0.7.1; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nccl-cu12==2.27.3; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvtx-cu12==12.9.79; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-nvjitlink-cu12==12.9.86; platform_system == 'Linux' and platform_machine == 'x86_64' | nvidia-cufile-cu12==1.14.1.1; platform_system == 'Linux' and platform_machine == 'x86_64'
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ manywheel-py3_13t-cuda12_9-test: # Testing
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs:
+ - manywheel-py3_13t-cuda12_9-build
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- get-label-type
uses: ./.github/workflows/_binary-test-linux.yml
with:
@@ -2637,6 +4334,7 @@ jobs:
PACKAGE_TYPE: manywheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu130
GPU_ARCH_VERSION: "13.0"
GPU_ARCH_TYPE: cuda
@@ -2650,16 +4348,37 @@ jobs:
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
manywheel-py3_13t-cuda13_0-upload: # Uploading
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.9
+ use_split_build: False
+ DESIRED_PYTHON: "3.13t"
+ build_name: manywheel-py3_13t-cuda12_9
+ build_environment: linux-binary-manywheel
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ runs_on: linux.g4dn.4xlarge.nvidia.gpu # 12.8 and 12.9 build need sm_70+ runner
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ manywheel-py3_13t-cuda12_9-upload: # Uploading
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ github.repository_owner == 'pytorch' }}
permissions:
id-token: write
contents: read
+<<<<<<< HEAD
needs: manywheel-py3_13t-cuda13_0-test
+=======
+ needs: manywheel-py3_13t-cuda12_9-test
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
PYTORCH_ROOT: /pytorch
PACKAGE_TYPE: manywheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu130
GPU_ARCH_VERSION: "13.0"
GPU_ARCH_TYPE: cuda
@@ -2667,6 +4386,16 @@ jobs:
DOCKER_IMAGE_TAG_PREFIX: cuda13.0
DESIRED_PYTHON: "3.13t"
build_name: manywheel-py3_13t-cuda13_0
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+ GPU_ARCH_TYPE: cuda
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cuda12.9
+ use_split_build: False
+ DESIRED_PYTHON: "3.13t"
+ build_name: manywheel-py3_13t-cuda12_9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
@@ -2681,6 +4410,7 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: rocm6.3
+<<<<<<< HEAD
GPU_ARCH_VERSION: "6.3"
GPU_ARCH_TYPE: rocm
DOCKER_IMAGE: manylinux2_28-builder
@@ -2688,6 +4418,15 @@ jobs:
DESIRED_PYTHON: "3.13t"
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
timeout-minutes: 300
+=======
+ GPU_ARCH_VERSION: 6.3
+ GPU_ARCH_TYPE: rocm
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: rocm6.3
+ use_split_build: False
+ DESIRED_PYTHON: "3.13t"
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
build_name: manywheel-py3_13t-rocm6_3
build_environment: linux-binary-manywheel
secrets:
@@ -2705,11 +4444,19 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: rocm6.3
+<<<<<<< HEAD
GPU_ARCH_VERSION: "6.3"
+=======
+ GPU_ARCH_VERSION: 6.3
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: rocm
SKIP_ALL_TESTS: 1
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: rocm6.3
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13t"
steps:
- name: Setup ROCm
@@ -2743,7 +4490,11 @@ jobs:
role-duration-seconds: 18000
- name: Calculate docker image
id: calculate-docker-image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-registry: ${{ startsWith(github.event.ref, 'refs/tags/ciflow/') && '308535385114.dkr.ecr.us-east-1.amazonaws.com' || 'docker.io' }}
docker-image-name: manylinux2_28-builder
@@ -2751,7 +4502,11 @@ jobs:
docker-build-dir: .ci/docker
working-directory: pytorch
- name: Pull Docker image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }}
- name: Test Pytorch binary
@@ -2772,10 +4527,18 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: rocm6.3
+<<<<<<< HEAD
GPU_ARCH_VERSION: "6.3"
GPU_ARCH_TYPE: rocm
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: rocm6.3
+=======
+ GPU_ARCH_VERSION: 6.3
+ GPU_ARCH_TYPE: rocm
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: rocm6.3
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13t"
build_name: manywheel-py3_13t-rocm6_3
secrets:
@@ -2792,6 +4555,7 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: rocm6.4
+<<<<<<< HEAD
GPU_ARCH_VERSION: "6.4"
GPU_ARCH_TYPE: rocm
DOCKER_IMAGE: manylinux2_28-builder
@@ -2799,6 +4563,15 @@ jobs:
DESIRED_PYTHON: "3.13t"
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
timeout-minutes: 300
+=======
+ GPU_ARCH_VERSION: 6.4
+ GPU_ARCH_TYPE: rocm
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: rocm6.4
+ use_split_build: False
+ DESIRED_PYTHON: "3.13t"
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
build_name: manywheel-py3_13t-rocm6_4
build_environment: linux-binary-manywheel
secrets:
@@ -2816,11 +4589,19 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: rocm6.4
+<<<<<<< HEAD
GPU_ARCH_VERSION: "6.4"
+=======
+ GPU_ARCH_VERSION: 6.4
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: rocm
SKIP_ALL_TESTS: 1
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: rocm6.4
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13t"
steps:
- name: Setup ROCm
@@ -2854,7 +4635,11 @@ jobs:
role-duration-seconds: 18000
- name: Calculate docker image
id: calculate-docker-image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-registry: ${{ startsWith(github.event.ref, 'refs/tags/ciflow/') && '308535385114.dkr.ecr.us-east-1.amazonaws.com' || 'docker.io' }}
docker-image-name: manylinux2_28-builder
@@ -2862,7 +4647,11 @@ jobs:
docker-build-dir: .ci/docker
working-directory: pytorch
- name: Pull Docker image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }}
- name: Test Pytorch binary
@@ -2883,10 +4672,18 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: rocm6.4
+<<<<<<< HEAD
GPU_ARCH_VERSION: "6.4"
GPU_ARCH_TYPE: rocm
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: rocm6.4
+=======
+ GPU_ARCH_VERSION: 6.4
+ GPU_ARCH_TYPE: rocm
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: rocm6.4
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13t"
build_name: manywheel-py3_13t-rocm6_4
secrets:
@@ -2906,11 +4703,19 @@ jobs:
GPU_ARCH_TYPE: xpu
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: xpu
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13t"
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
build_name: manywheel-py3_13t-xpu
build_environment: linux-binary-manywheel
+<<<<<<< HEAD
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: intel-cmplr-lib-rt==2025.2.1 | intel-cmplr-lib-ur==2025.2.1 | intel-cmplr-lic-rt==2025.2.1 | intel-sycl-rt==2025.2.1 | oneccl-devel==2021.16.1; platform_system == 'Linux' and platform_machine == 'x86_64' | oneccl==2021.16.1; platform_system == 'Linux' and platform_machine == 'x86_64' | impi-rt==2021.16.1; platform_system == 'Linux' and platform_machine == 'x86_64' | onemkl-sycl-blas==2025.2.0 | onemkl-sycl-dft==2025.2.0 | onemkl-sycl-lapack==2025.2.0 | onemkl-sycl-rng==2025.2.0 | onemkl-sycl-sparse==2025.2.0 | dpcpp-cpp-rt==2025.2.1 | intel-opencl-rt==2025.2.1 | mkl==2025.2.0 | intel-openmp==2025.2.1 | tbb==2022.2.0 | tcmlib==1.4.0 | umf==0.11.0 | intel-pti==0.13.1
+=======
+ PYTORCH_EXTRA_INSTALL_REQUIREMENTS: intel-cmplr-lib-rt==2025.1.1 | intel-cmplr-lib-ur==2025.1.1 | intel-cmplr-lic-rt==2025.1.1 | intel-sycl-rt==2025.1.1 | oneccl-devel==2021.15.2; platform_system == 'Linux' and platform_machine == 'x86_64' | oneccl==2021.15.2; platform_system == 'Linux' and platform_machine == 'x86_64' | impi-rt==2021.15.0; platform_system == 'Linux' and platform_machine == 'x86_64' | onemkl-sycl-blas==2025.1.0 | onemkl-sycl-dft==2025.1.0 | onemkl-sycl-lapack==2025.1.0 | onemkl-sycl-rng==2025.1.0 | onemkl-sycl-sparse==2025.1.0 | dpcpp-cpp-rt==2025.1.1 | intel-opencl-rt==2025.1.1 | mkl==2025.1.0 | intel-openmp==2025.1.1 | tbb==2022.1.0 | tcmlib==1.3.0 | umf==0.10.0 | intel-pti==0.12.3
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
manywheel-py3_13t-xpu-test: # Testing
@@ -2930,13 +4735,21 @@ jobs:
SKIP_ALL_TESTS: 1
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: xpu
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13t"
permissions:
id-token: write
contents: read
steps:
- name: Setup XPU
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/actions/setup-xpu@release/2.9
+=======
+ uses: ./.github/actions/setup-xpu
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: configure aws credentials
id: aws_creds
uses: aws-actions/configure-aws-credentials@v4
@@ -2964,7 +4777,11 @@ jobs:
working-directory: pytorch
- name: Calculate docker image
id: calculate-docker-image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-registry: ${{ startsWith(github.event.ref, 'refs/tags/ciflow/') && '308535385114.dkr.ecr.us-east-1.amazonaws.com' || 'docker.io' }}
docker-image-name: manylinux2_28-builder
@@ -2972,7 +4789,11 @@ jobs:
docker-build-dir: .ci/docker
working-directory: pytorch
- name: Pull Docker image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }}
- name: Test Pytorch binary
@@ -2996,11 +4817,16 @@ jobs:
GPU_ARCH_TYPE: xpu
DOCKER_IMAGE: manylinux2_28-builder
DOCKER_IMAGE_TAG_PREFIX: xpu
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13t"
build_name: manywheel-py3_13t-xpu
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
+<<<<<<< HEAD
manywheel-py3_14-cpu-build:
if: ${{ github.repository_owner == 'pytorch' }}
@@ -4183,3 +6009,5 @@ jobs:
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/.github/workflows/generated-linux-s390x-binary-manywheel-nightly.yml b/.github/workflows/generated-linux-s390x-binary-manywheel-nightly.yml
index d7fd44031be2..fc09e4a4c29f 100644
--- a/.github/workflows/generated-linux-s390x-binary-manywheel-nightly.yml
+++ b/.github/workflows/generated-linux-s390x-binary-manywheel-nightly.yml
@@ -41,12 +41,86 @@ jobs:
get-label-type:
if: github.repository_owner == 'pytorch'
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
triggering_actor: ${{ github.triggering_actor }}
issue_owner: ${{ github.event.pull_request.user.login || github.event.issue.user.login }}
curr_branch: ${{ github.head_ref || github.ref_name }}
curr_ref_type: ${{ github.ref_type }}
+<<<<<<< HEAD
+=======
+ manywheel-py3_9-cpu-s390x-build:
+ if: ${{ github.repository_owner == 'pytorch' }}
+ uses: ./.github/workflows/_binary-build-linux.yml
+ needs: get-label-type
+ with:
+ PYTORCH_ROOT: /pytorch
+ PACKAGE_TYPE: manywheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: cpu
+ GPU_ARCH_TYPE: cpu-s390x
+ DOCKER_IMAGE: pytorch/manylinuxs390x-builder
+ DOCKER_IMAGE_TAG_PREFIX: cpu-s390x
+ use_split_build: False
+ DESIRED_PYTHON: "3.9"
+ runs_on: linux.s390x
+ ALPINE_IMAGE: "docker.io/s390x/alpine"
+ timeout-minutes: 420
+ build_name: manywheel-py3_9-cpu-s390x
+ build_environment: linux-s390x-binary-manywheel
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ manywheel-py3_9-cpu-s390x-test: # Testing
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs:
+ - manywheel-py3_9-cpu-s390x-build
+ - get-label-type
+ uses: ./.github/workflows/_binary-test-linux.yml
+ with:
+ PYTORCH_ROOT: /pytorch
+ PACKAGE_TYPE: manywheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: cpu
+ GPU_ARCH_TYPE: cpu-s390x
+ DOCKER_IMAGE: pytorch/manylinuxs390x-builder
+ DOCKER_IMAGE_TAG_PREFIX: cpu-s390x
+ use_split_build: False
+ DESIRED_PYTHON: "3.9"
+ build_name: manywheel-py3_9-cpu-s390x
+ build_environment: linux-s390x-binary-manywheel
+ runs_on: linux.s390x
+ ALPINE_IMAGE: "docker.io/s390x/alpine"
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ manywheel-py3_9-cpu-s390x-upload: # Uploading
+ if: ${{ github.repository_owner == 'pytorch' }}
+ permissions:
+ id-token: write
+ contents: read
+ needs: manywheel-py3_9-cpu-s390x-test
+ with:
+ PYTORCH_ROOT: /pytorch
+ PACKAGE_TYPE: manywheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: cpu
+ GPU_ARCH_TYPE: cpu-s390x
+ DOCKER_IMAGE: pytorch/manylinuxs390x-builder
+ DOCKER_IMAGE_TAG_PREFIX: cpu-s390x
+ use_split_build: False
+ DESIRED_PYTHON: "3.9"
+ build_name: manywheel-py3_9-cpu-s390x
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ uses: ./.github/workflows/_binary-upload.yml
+
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
manywheel-py3_10-cpu-s390x-build:
if: ${{ github.repository_owner == 'pytorch' }}
uses: ./.github/workflows/_binary-build-linux.yml
@@ -60,6 +134,10 @@ jobs:
GPU_ARCH_TYPE: cpu-s390x
DOCKER_IMAGE: pytorch/manylinuxs390x-builder
DOCKER_IMAGE_TAG_PREFIX: cpu-s390x
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.10"
runs_on: linux.s390x
ALPINE_IMAGE: "docker.io/s390x/alpine"
@@ -83,6 +161,10 @@ jobs:
GPU_ARCH_TYPE: cpu-s390x
DOCKER_IMAGE: pytorch/manylinuxs390x-builder
DOCKER_IMAGE_TAG_PREFIX: cpu-s390x
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.10"
build_name: manywheel-py3_10-cpu-s390x
build_environment: linux-s390x-binary-manywheel
@@ -105,6 +187,10 @@ jobs:
GPU_ARCH_TYPE: cpu-s390x
DOCKER_IMAGE: pytorch/manylinuxs390x-builder
DOCKER_IMAGE_TAG_PREFIX: cpu-s390x
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.10"
build_name: manywheel-py3_10-cpu-s390x
secrets:
@@ -124,6 +210,10 @@ jobs:
GPU_ARCH_TYPE: cpu-s390x
DOCKER_IMAGE: pytorch/manylinuxs390x-builder
DOCKER_IMAGE_TAG_PREFIX: cpu-s390x
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.11"
runs_on: linux.s390x
ALPINE_IMAGE: "docker.io/s390x/alpine"
@@ -147,6 +237,10 @@ jobs:
GPU_ARCH_TYPE: cpu-s390x
DOCKER_IMAGE: pytorch/manylinuxs390x-builder
DOCKER_IMAGE_TAG_PREFIX: cpu-s390x
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.11"
build_name: manywheel-py3_11-cpu-s390x
build_environment: linux-s390x-binary-manywheel
@@ -169,6 +263,10 @@ jobs:
GPU_ARCH_TYPE: cpu-s390x
DOCKER_IMAGE: pytorch/manylinuxs390x-builder
DOCKER_IMAGE_TAG_PREFIX: cpu-s390x
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.11"
build_name: manywheel-py3_11-cpu-s390x
secrets:
@@ -188,6 +286,10 @@ jobs:
GPU_ARCH_TYPE: cpu-s390x
DOCKER_IMAGE: pytorch/manylinuxs390x-builder
DOCKER_IMAGE_TAG_PREFIX: cpu-s390x
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.12"
runs_on: linux.s390x
ALPINE_IMAGE: "docker.io/s390x/alpine"
@@ -211,6 +313,10 @@ jobs:
GPU_ARCH_TYPE: cpu-s390x
DOCKER_IMAGE: pytorch/manylinuxs390x-builder
DOCKER_IMAGE_TAG_PREFIX: cpu-s390x
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.12"
build_name: manywheel-py3_12-cpu-s390x
build_environment: linux-s390x-binary-manywheel
@@ -233,6 +339,10 @@ jobs:
GPU_ARCH_TYPE: cpu-s390x
DOCKER_IMAGE: pytorch/manylinuxs390x-builder
DOCKER_IMAGE_TAG_PREFIX: cpu-s390x
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.12"
build_name: manywheel-py3_12-cpu-s390x
secrets:
@@ -252,6 +362,10 @@ jobs:
GPU_ARCH_TYPE: cpu-s390x
DOCKER_IMAGE: pytorch/manylinuxs390x-builder
DOCKER_IMAGE_TAG_PREFIX: cpu-s390x
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13"
runs_on: linux.s390x
ALPINE_IMAGE: "docker.io/s390x/alpine"
@@ -275,6 +389,10 @@ jobs:
GPU_ARCH_TYPE: cpu-s390x
DOCKER_IMAGE: pytorch/manylinuxs390x-builder
DOCKER_IMAGE_TAG_PREFIX: cpu-s390x
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13"
build_name: manywheel-py3_13-cpu-s390x
build_environment: linux-s390x-binary-manywheel
@@ -297,11 +415,16 @@ jobs:
GPU_ARCH_TYPE: cpu-s390x
DOCKER_IMAGE: pytorch/manylinuxs390x-builder
DOCKER_IMAGE_TAG_PREFIX: cpu-s390x
+<<<<<<< HEAD
+=======
+ use_split_build: False
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
DESIRED_PYTHON: "3.13"
build_name: manywheel-py3_13-cpu-s390x
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
+<<<<<<< HEAD
manywheel-py3_13t-cpu-s390x-build:
if: ${{ github.repository_owner == 'pytorch' }}
@@ -494,3 +617,5 @@ jobs:
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/.github/workflows/generated-macos-arm64-binary-libtorch-release-nightly.yml b/.github/workflows/generated-macos-arm64-binary-libtorch-release-nightly.yml
index 5f21fc565901..a12fbb84ad53 100644
--- a/.github/workflows/generated-macos-arm64-binary-libtorch-release-nightly.yml
+++ b/.github/workflows/generated-macos-arm64-binary-libtorch-release-nightly.yml
@@ -46,7 +46,11 @@ jobs:
LIBTORCH_VARIANT: shared-with-deps
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
+<<<<<<< HEAD
DESIRED_PYTHON: "3.10"
+=======
+ DESIRED_PYTHON: "3.9"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
steps:
# NOTE: These environment variables are put here so that they can be applied on every job equally
# They are also here because setting them at a workflow level doesn't give us access to the
@@ -67,6 +71,14 @@ jobs:
chmod +x "${RUNNER_TEMP}/conda.sh"
/bin/bash "${RUNNER_TEMP}/conda.sh" -b -p "${RUNNER_TEMP}/anaconda"
echo "${RUNNER_TEMP}/anaconda/bin" >> "${GITHUB_PATH}"
+<<<<<<< HEAD
+=======
+ if [ -d "/Applications/Xcode_14.3.1.app" ]; then
+ echo "DEVELOPER_DIR=/Applications/Xcode_14.3.1.app/Contents/Developer" >> "${GITHUB_ENV}"
+ elif [ -d "/Applications/Xcode_13.3.1.app" ]; then
+ echo "DEVELOPER_DIR=/Applications/Xcode_13.3.1.app/Contents/Developer" >> "${GITHUB_ENV}"
+ fi
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: Checkout PyTorch
uses: actions/checkout@v4
with:
diff --git a/.github/workflows/generated-macos-arm64-binary-wheel-nightly.yml b/.github/workflows/generated-macos-arm64-binary-wheel-nightly.yml
index b12a5212cd4e..e8d02e5b9b70 100644
--- a/.github/workflows/generated-macos-arm64-binary-wheel-nightly.yml
+++ b/.github/workflows/generated-macos-arm64-binary-wheel-nightly.yml
@@ -30,7 +30,11 @@ concurrency:
cancel-in-progress: true
jobs:
+<<<<<<< HEAD
wheel-py3_10-cpu-build:
+=======
+ wheel-py3_9-cpu-build:
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ github.repository_owner == 'pytorch' }}
runs-on: macos-14-xlarge
timeout-minutes: 240
@@ -42,7 +46,11 @@ jobs:
DESIRED_CUDA: cpu
GPU_ARCH_TYPE: cpu
SKIP_ALL_TESTS: 1
+<<<<<<< HEAD
DESIRED_PYTHON: "3.10"
+=======
+ DESIRED_PYTHON: "3.9"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
steps:
# NOTE: These environment variables are put here so that they can be applied on every job equally
# They are also here because setting them at a workflow level doesn't give us access to the
@@ -63,6 +71,14 @@ jobs:
chmod +x "${RUNNER_TEMP}/conda.sh"
/bin/bash "${RUNNER_TEMP}/conda.sh" -b -p "${RUNNER_TEMP}/anaconda"
echo "${RUNNER_TEMP}/anaconda/bin" >> "${GITHUB_PATH}"
+<<<<<<< HEAD
+=======
+ if [ -d "/Applications/Xcode_14.3.1.app" ]; then
+ echo "DEVELOPER_DIR=/Applications/Xcode_14.3.1.app/Contents/Developer" >> "${GITHUB_ENV}"
+ elif [ -d "/Applications/Xcode_13.3.1.app" ]; then
+ echo "DEVELOPER_DIR=/Applications/Xcode_13.3.1.app/Contents/Developer" >> "${GITHUB_ENV}"
+ fi
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: Checkout PyTorch
uses: actions/checkout@v4
with:
@@ -109,6 +125,7 @@ jobs:
# Create new "clean" conda environment for testing
SMOKE_TEST_PARAMS=""
+<<<<<<< HEAD
EXTRA_CONDA_INSTALL_FLAGS=""
CONDA_ENV_CREATE_FLAGS=""
@@ -136,6 +153,137 @@ jobs:
# shellcheck disable=SC2086
conda create -yn "test_conda_env" python="$desired_python" ${CONDA_ENV_CREATE_FLAGS} ${EXTRA_CONDA_INSTALL_FLAGS}
+=======
+ if [[ $DESIRED_PYTHON == "3.13t" ]]; then
+ conda create -yn "test_conda_env" python="3.13" python-freethreading -c conda-forge
+ SMOKE_TEST_PARAMS="--torch-compile-check disabled"
+ else
+ conda create -yn "test_conda_env" python="$DESIRED_PYTHON"
+ fi
+ conda activate test_conda_env
+ pip install "$PYTORCH_FINAL_PACKAGE_DIR"/*.whl numpy -v
+
+ # shellcheck disable=SC2086
+ python "${PYTORCH_ROOT}/.ci/pytorch/smoke_test/smoke_test.py" --package torchonly ${SMOKE_TEST_PARAMS}
+ - uses: actions/upload-artifact@v4.4.0
+ if: always()
+ with:
+ name: wheel-py3_9-cpu
+ retention-days: 14
+ if-no-files-found: error
+ path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
+ wheel-py3_9-cpu-upload: # Uploading
+ if: ${{ github.repository_owner == 'pytorch' }}
+ permissions:
+ id-token: write
+ contents: read
+ needs: wheel-py3_9-cpu-build
+ with:
+ PYTORCH_ROOT: /pytorch
+ PACKAGE_TYPE: wheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: cpu
+ GPU_ARCH_TYPE: cpu
+ DOCKER_IMAGE: manylinux2_28-builder
+ DOCKER_IMAGE_TAG_PREFIX: cpu
+ DESIRED_PYTHON: "3.9"
+ build_name: wheel-py3_9-cpu
+ use_s3: False
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ uses: ./.github/workflows/_binary-upload.yml
+ wheel-py3_10-cpu-build:
+ if: ${{ github.repository_owner == 'pytorch' }}
+ runs-on: macos-14-xlarge
+ timeout-minutes: 240
+ env:
+ PYTORCH_ROOT: ${{ github.workspace }}/pytorch
+ PACKAGE_TYPE: wheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: cpu
+ GPU_ARCH_TYPE: cpu
+ SKIP_ALL_TESTS: 1
+ DESIRED_PYTHON: "3.10"
+ steps:
+ # NOTE: These environment variables are put here so that they can be applied on every job equally
+ # They are also here because setting them at a workflow level doesn't give us access to the
+ # runner.temp variable, which we need.
+ - name: Populate binary env
+ shell: bash
+ run: |
+ # shellcheck disable=SC2129
+ echo "BINARY_ENV_FILE=${RUNNER_TEMP}/env" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "PYTORCH_FINAL_PACKAGE_DIR=${RUNNER_TEMP}/artifacts" >> "${GITHUB_ENV}"
+ # shellcheck disable=SC2129
+ echo "MAC_PACKAGE_WORK_DIR=${RUNNER_TEMP}" >> "${GITHUB_ENV}"
+ - name: Install conda and dependencies
+ run: |
+ # Install conda, setup-miniconda messes with the path that messes with the ruby stuff we do later on
+ curl --retry 3 --retry-all-errors -o "${RUNNER_TEMP}/conda.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.5.2-0-MacOSX-$(uname -m).sh"
+ chmod +x "${RUNNER_TEMP}/conda.sh"
+ /bin/bash "${RUNNER_TEMP}/conda.sh" -b -p "${RUNNER_TEMP}/anaconda"
+ echo "${RUNNER_TEMP}/anaconda/bin" >> "${GITHUB_PATH}"
+ if [ -d "/Applications/Xcode_14.3.1.app" ]; then
+ echo "DEVELOPER_DIR=/Applications/Xcode_14.3.1.app/Contents/Developer" >> "${GITHUB_ENV}"
+ elif [ -d "/Applications/Xcode_13.3.1.app" ]; then
+ echo "DEVELOPER_DIR=/Applications/Xcode_13.3.1.app/Contents/Developer" >> "${GITHUB_ENV}"
+ fi
+ - name: Checkout PyTorch
+ uses: actions/checkout@v4
+ with:
+ submodules: recursive
+ path: pytorch
+ show-progress: false
+ - name: Clean PyTorch checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: pytorch
+ - name: Populate binary env
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_populate_env.sh"
+ - name: Build PyTorch binary
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ set -eux -o pipefail
+ # shellcheck disable=SC1090
+ source "${BINARY_ENV_FILE:-/Users/distiller/project/env}"
+ mkdir -p "$PYTORCH_FINAL_PACKAGE_DIR"
+
+ # Build
+ USE_PYTORCH_METAL_EXPORT=1
+ USE_COREML_DELEGATE=1
+ TORCH_PACKAGE_NAME="${TORCH_PACKAGE_NAME//-/_}"
+ export USE_PYTORCH_METAL_EXPORT
+ export USE_COREML_DELEGATE
+ export TORCH_PACKAGE_NAME
+ "${PYTORCH_ROOT}/.ci/wheel/build_wheel.sh"
+ - name: Test PyTorch wheel
+ run: |
+ # shellcheck disable=SC1091
+ source "${RUNNER_TEMP}/anaconda/bin/activate"
+ set -eux -o pipefail
+ # shellcheck disable=SC1090
+ source "${BINARY_ENV_FILE:-/Users/distiller/project/env}"
+ pip uninstall -y "$TORCH_PACKAGE_NAME" || true
+ pip uninstall -y "$TORCH_PACKAGE_NAME" || true
+
+ # Create new "clean" conda environment for testing
+
+ SMOKE_TEST_PARAMS=""
+ if [[ $DESIRED_PYTHON == "3.13t" ]]; then
+ conda create -yn "test_conda_env" python="3.13" python-freethreading -c conda-forge
+ SMOKE_TEST_PARAMS="--torch-compile-check disabled"
+ else
+ conda create -yn "test_conda_env" python="$DESIRED_PYTHON"
+ fi
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
conda activate test_conda_env
pip install "$PYTORCH_FINAL_PACKAGE_DIR"/*.whl numpy -v
@@ -202,6 +350,14 @@ jobs:
chmod +x "${RUNNER_TEMP}/conda.sh"
/bin/bash "${RUNNER_TEMP}/conda.sh" -b -p "${RUNNER_TEMP}/anaconda"
echo "${RUNNER_TEMP}/anaconda/bin" >> "${GITHUB_PATH}"
+<<<<<<< HEAD
+=======
+ if [ -d "/Applications/Xcode_14.3.1.app" ]; then
+ echo "DEVELOPER_DIR=/Applications/Xcode_14.3.1.app/Contents/Developer" >> "${GITHUB_ENV}"
+ elif [ -d "/Applications/Xcode_13.3.1.app" ]; then
+ echo "DEVELOPER_DIR=/Applications/Xcode_13.3.1.app/Contents/Developer" >> "${GITHUB_ENV}"
+ fi
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: Checkout PyTorch
uses: actions/checkout@v4
with:
@@ -248,6 +404,7 @@ jobs:
# Create new "clean" conda environment for testing
SMOKE_TEST_PARAMS=""
+<<<<<<< HEAD
EXTRA_CONDA_INSTALL_FLAGS=""
CONDA_ENV_CREATE_FLAGS=""
@@ -275,6 +432,14 @@ jobs:
# shellcheck disable=SC2086
conda create -yn "test_conda_env" python="$desired_python" ${CONDA_ENV_CREATE_FLAGS} ${EXTRA_CONDA_INSTALL_FLAGS}
+=======
+ if [[ $DESIRED_PYTHON == "3.13t" ]]; then
+ conda create -yn "test_conda_env" python="3.13" python-freethreading -c conda-forge
+ SMOKE_TEST_PARAMS="--torch-compile-check disabled"
+ else
+ conda create -yn "test_conda_env" python="$DESIRED_PYTHON"
+ fi
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
conda activate test_conda_env
pip install "$PYTORCH_FINAL_PACKAGE_DIR"/*.whl numpy -v
@@ -341,6 +506,14 @@ jobs:
chmod +x "${RUNNER_TEMP}/conda.sh"
/bin/bash "${RUNNER_TEMP}/conda.sh" -b -p "${RUNNER_TEMP}/anaconda"
echo "${RUNNER_TEMP}/anaconda/bin" >> "${GITHUB_PATH}"
+<<<<<<< HEAD
+=======
+ if [ -d "/Applications/Xcode_14.3.1.app" ]; then
+ echo "DEVELOPER_DIR=/Applications/Xcode_14.3.1.app/Contents/Developer" >> "${GITHUB_ENV}"
+ elif [ -d "/Applications/Xcode_13.3.1.app" ]; then
+ echo "DEVELOPER_DIR=/Applications/Xcode_13.3.1.app/Contents/Developer" >> "${GITHUB_ENV}"
+ fi
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: Checkout PyTorch
uses: actions/checkout@v4
with:
@@ -387,6 +560,7 @@ jobs:
# Create new "clean" conda environment for testing
SMOKE_TEST_PARAMS=""
+<<<<<<< HEAD
EXTRA_CONDA_INSTALL_FLAGS=""
CONDA_ENV_CREATE_FLAGS=""
@@ -414,6 +588,14 @@ jobs:
# shellcheck disable=SC2086
conda create -yn "test_conda_env" python="$desired_python" ${CONDA_ENV_CREATE_FLAGS} ${EXTRA_CONDA_INSTALL_FLAGS}
+=======
+ if [[ $DESIRED_PYTHON == "3.13t" ]]; then
+ conda create -yn "test_conda_env" python="3.13" python-freethreading -c conda-forge
+ SMOKE_TEST_PARAMS="--torch-compile-check disabled"
+ else
+ conda create -yn "test_conda_env" python="$DESIRED_PYTHON"
+ fi
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
conda activate test_conda_env
pip install "$PYTORCH_FINAL_PACKAGE_DIR"/*.whl numpy -v
@@ -480,6 +662,14 @@ jobs:
chmod +x "${RUNNER_TEMP}/conda.sh"
/bin/bash "${RUNNER_TEMP}/conda.sh" -b -p "${RUNNER_TEMP}/anaconda"
echo "${RUNNER_TEMP}/anaconda/bin" >> "${GITHUB_PATH}"
+<<<<<<< HEAD
+=======
+ if [ -d "/Applications/Xcode_14.3.1.app" ]; then
+ echo "DEVELOPER_DIR=/Applications/Xcode_14.3.1.app/Contents/Developer" >> "${GITHUB_ENV}"
+ elif [ -d "/Applications/Xcode_13.3.1.app" ]; then
+ echo "DEVELOPER_DIR=/Applications/Xcode_13.3.1.app/Contents/Developer" >> "${GITHUB_ENV}"
+ fi
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: Checkout PyTorch
uses: actions/checkout@v4
with:
@@ -526,6 +716,7 @@ jobs:
# Create new "clean" conda environment for testing
SMOKE_TEST_PARAMS=""
+<<<<<<< HEAD
EXTRA_CONDA_INSTALL_FLAGS=""
CONDA_ENV_CREATE_FLAGS=""
@@ -553,6 +744,14 @@ jobs:
# shellcheck disable=SC2086
conda create -yn "test_conda_env" python="$desired_python" ${CONDA_ENV_CREATE_FLAGS} ${EXTRA_CONDA_INSTALL_FLAGS}
+=======
+ if [[ $DESIRED_PYTHON == "3.13t" ]]; then
+ conda create -yn "test_conda_env" python="3.13" python-freethreading -c conda-forge
+ SMOKE_TEST_PARAMS="--torch-compile-check disabled"
+ else
+ conda create -yn "test_conda_env" python="$DESIRED_PYTHON"
+ fi
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
conda activate test_conda_env
pip install "$PYTORCH_FINAL_PACKAGE_DIR"/*.whl numpy -v
@@ -619,6 +818,14 @@ jobs:
chmod +x "${RUNNER_TEMP}/conda.sh"
/bin/bash "${RUNNER_TEMP}/conda.sh" -b -p "${RUNNER_TEMP}/anaconda"
echo "${RUNNER_TEMP}/anaconda/bin" >> "${GITHUB_PATH}"
+<<<<<<< HEAD
+=======
+ if [ -d "/Applications/Xcode_14.3.1.app" ]; then
+ echo "DEVELOPER_DIR=/Applications/Xcode_14.3.1.app/Contents/Developer" >> "${GITHUB_ENV}"
+ elif [ -d "/Applications/Xcode_13.3.1.app" ]; then
+ echo "DEVELOPER_DIR=/Applications/Xcode_13.3.1.app/Contents/Developer" >> "${GITHUB_ENV}"
+ fi
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: Checkout PyTorch
uses: actions/checkout@v4
with:
@@ -665,6 +872,7 @@ jobs:
# Create new "clean" conda environment for testing
SMOKE_TEST_PARAMS=""
+<<<<<<< HEAD
EXTRA_CONDA_INSTALL_FLAGS=""
CONDA_ENV_CREATE_FLAGS=""
@@ -692,6 +900,14 @@ jobs:
# shellcheck disable=SC2086
conda create -yn "test_conda_env" python="$desired_python" ${CONDA_ENV_CREATE_FLAGS} ${EXTRA_CONDA_INSTALL_FLAGS}
+=======
+ if [[ $DESIRED_PYTHON == "3.13t" ]]; then
+ conda create -yn "test_conda_env" python="3.13" python-freethreading -c conda-forge
+ SMOKE_TEST_PARAMS="--torch-compile-check disabled"
+ else
+ conda create -yn "test_conda_env" python="$DESIRED_PYTHON"
+ fi
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
conda activate test_conda_env
pip install "$PYTORCH_FINAL_PACKAGE_DIR"/*.whl numpy -v
@@ -725,6 +941,7 @@ jobs:
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
+<<<<<<< HEAD
wheel-py3_14-cpu-build:
if: ${{ github.repository_owner == 'pytorch' }}
runs-on: macos-14-xlarge
@@ -1003,3 +1220,5 @@ jobs:
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/.github/workflows/generated-windows-arm64-binary-libtorch-debug-nightly.yml b/.github/workflows/generated-windows-arm64-binary-libtorch-debug-nightly.yml
index 7a8ea9cbfa2c..612c61e356da 100644
--- a/.github/workflows/generated-windows-arm64-binary-libtorch-debug-nightly.yml
+++ b/.github/workflows/generated-windows-arm64-binary-libtorch-debug-nightly.yml
@@ -41,7 +41,11 @@ jobs:
get-label-type:
if: github.repository_owner == 'pytorch'
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
triggering_actor: ${{ github.triggering_actor }}
issue_owner: ${{ github.event.pull_request.user.login || github.event.issue.user.login }}
@@ -51,7 +55,11 @@ jobs:
if: ${{ github.repository_owner == 'pytorch' }}
needs: get-label-type
runs-on: "windows-11-arm64-preview"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: libtorch
@@ -64,7 +72,11 @@ jobs:
LIBTORCH_VARIANT: shared-with-deps
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
+<<<<<<< HEAD
DESIRED_PYTHON: "3.10"
+=======
+ DESIRED_PYTHON: "3.9"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
steps:
- name: Populate binary env
shell: cmd
@@ -128,7 +140,11 @@ jobs:
- libtorch-cpu-shared-with-deps-debug-build
- get-label-type
runs-on: "windows-11-arm64-preview"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: libtorch
@@ -141,7 +157,11 @@ jobs:
LIBTORCH_VARIANT: shared-with-deps
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
+<<<<<<< HEAD
DESIRED_PYTHON: "3.10"
+=======
+ DESIRED_PYTHON: "3.9"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
steps:
- name: Populate binary env
shell: cmd
@@ -201,7 +221,11 @@ jobs:
LIBTORCH_VARIANT: shared-with-deps
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
+<<<<<<< HEAD
DESIRED_PYTHON: "3.10"
+=======
+ DESIRED_PYTHON: "3.9"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
build_name: libtorch-cpu-shared-with-deps-debug
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/generated-windows-arm64-binary-libtorch-release-nightly.yml b/.github/workflows/generated-windows-arm64-binary-libtorch-release-nightly.yml
index 14081649d370..c27025775e91 100644
--- a/.github/workflows/generated-windows-arm64-binary-libtorch-release-nightly.yml
+++ b/.github/workflows/generated-windows-arm64-binary-libtorch-release-nightly.yml
@@ -41,7 +41,11 @@ jobs:
get-label-type:
if: github.repository_owner == 'pytorch'
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
triggering_actor: ${{ github.triggering_actor }}
issue_owner: ${{ github.event.pull_request.user.login || github.event.issue.user.login }}
@@ -51,7 +55,11 @@ jobs:
if: ${{ github.repository_owner == 'pytorch' }}
needs: get-label-type
runs-on: "windows-11-arm64-preview"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: libtorch
@@ -64,7 +72,11 @@ jobs:
LIBTORCH_VARIANT: shared-with-deps
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
+<<<<<<< HEAD
DESIRED_PYTHON: "3.10"
+=======
+ DESIRED_PYTHON: "3.9"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
steps:
- name: Populate binary env
shell: cmd
@@ -128,7 +140,11 @@ jobs:
- libtorch-cpu-shared-with-deps-release-build
- get-label-type
runs-on: "windows-11-arm64-preview"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: libtorch
@@ -141,7 +157,11 @@ jobs:
LIBTORCH_VARIANT: shared-with-deps
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
+<<<<<<< HEAD
DESIRED_PYTHON: "3.10"
+=======
+ DESIRED_PYTHON: "3.9"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
steps:
- name: Populate binary env
shell: cmd
@@ -201,7 +221,11 @@ jobs:
LIBTORCH_VARIANT: shared-with-deps
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
+<<<<<<< HEAD
DESIRED_PYTHON: "3.10"
+=======
+ DESIRED_PYTHON: "3.9"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
build_name: libtorch-cpu-shared-with-deps-release
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/generated-windows-arm64-binary-wheel-nightly.yml b/.github/workflows/generated-windows-arm64-binary-wheel-nightly.yml
index d0e02dade299..3e474738945e 100644
--- a/.github/workflows/generated-windows-arm64-binary-wheel-nightly.yml
+++ b/.github/workflows/generated-windows-arm64-binary-wheel-nightly.yml
@@ -41,7 +41,11 @@ jobs:
get-label-type:
if: github.repository_owner == 'pytorch'
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
triggering_actor: ${{ github.triggering_actor }}
issue_owner: ${{ github.event.pull_request.user.login || github.event.issue.user.login }}
@@ -51,7 +55,11 @@ jobs:
if: ${{ github.repository_owner == 'pytorch' }}
needs: get-label-type
runs-on: "windows-11-arm64-preview"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
@@ -124,7 +132,11 @@ jobs:
- wheel-py3_11-cpu-build
- get-label-type
runs-on: "windows-11-arm64-preview"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
@@ -198,7 +210,11 @@ jobs:
if: ${{ github.repository_owner == 'pytorch' }}
needs: get-label-type
runs-on: "windows-11-arm64-preview"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
@@ -271,7 +287,11 @@ jobs:
- wheel-py3_12-cpu-build
- get-label-type
runs-on: "windows-11-arm64-preview"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
@@ -345,7 +365,11 @@ jobs:
if: ${{ github.repository_owner == 'pytorch' }}
needs: get-label-type
runs-on: "windows-11-arm64-preview"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
@@ -418,7 +442,11 @@ jobs:
- wheel-py3_13-cpu-build
- get-label-type
runs-on: "windows-11-arm64-preview"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
diff --git a/.github/workflows/generated-windows-binary-libtorch-debug-main.yml b/.github/workflows/generated-windows-binary-libtorch-debug-main.yml
index 3df2c65440a5..ef6eff32d3ae 100644
--- a/.github/workflows/generated-windows-binary-libtorch-debug-main.yml
+++ b/.github/workflows/generated-windows-binary-libtorch-debug-main.yml
@@ -28,7 +28,11 @@ jobs:
get-label-type:
if: github.repository_owner == 'pytorch'
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
triggering_actor: ${{ github.triggering_actor }}
issue_owner: ${{ github.event.pull_request.user.login || github.event.issue.user.login }}
@@ -38,7 +42,11 @@ jobs:
if: ${{ github.repository_owner == 'pytorch' }}
needs: get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: libtorch
@@ -51,7 +59,11 @@ jobs:
LIBTORCH_VARIANT: shared-with-deps
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
+<<<<<<< HEAD
DESIRED_PYTHON: "3.10"
+=======
+ DESIRED_PYTHON: "3.9"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
steps:
# NOTE: These environment variables are put here so that they can be applied on every job equally
# They are also here because setting them at a workflow level doesn't give us access to the
@@ -77,7 +89,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -152,7 +168,11 @@ jobs:
- libtorch-cpu-shared-with-deps-debug-build
- get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: libtorch
@@ -165,7 +185,11 @@ jobs:
LIBTORCH_VARIANT: shared-with-deps
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
+<<<<<<< HEAD
DESIRED_PYTHON: "3.10"
+=======
+ DESIRED_PYTHON: "3.9"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
steps:
- name: Display EC2 information
shell: bash
@@ -182,7 +206,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/generated-windows-binary-libtorch-debug-nightly.yml b/.github/workflows/generated-windows-binary-libtorch-debug-nightly.yml
index f4413a86c657..740452e7eb6a 100644
--- a/.github/workflows/generated-windows-binary-libtorch-debug-nightly.yml
+++ b/.github/workflows/generated-windows-binary-libtorch-debug-nightly.yml
@@ -35,7 +35,11 @@ jobs:
get-label-type:
if: github.repository_owner == 'pytorch'
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
triggering_actor: ${{ github.triggering_actor }}
issue_owner: ${{ github.event.pull_request.user.login || github.event.issue.user.login }}
@@ -45,7 +49,11 @@ jobs:
if: ${{ github.repository_owner == 'pytorch' }}
needs: get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: libtorch
@@ -58,7 +66,11 @@ jobs:
LIBTORCH_VARIANT: shared-with-deps
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
+<<<<<<< HEAD
DESIRED_PYTHON: "3.10"
+=======
+ DESIRED_PYTHON: "3.9"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
steps:
# NOTE: These environment variables are put here so that they can be applied on every job equally
# They are also here because setting them at a workflow level doesn't give us access to the
@@ -84,7 +96,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -159,7 +175,11 @@ jobs:
- libtorch-cpu-shared-with-deps-debug-build
- get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: libtorch
@@ -172,7 +192,11 @@ jobs:
LIBTORCH_VARIANT: shared-with-deps
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
+<<<<<<< HEAD
DESIRED_PYTHON: "3.10"
+=======
+ DESIRED_PYTHON: "3.9"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
steps:
- name: Display EC2 information
shell: bash
@@ -189,7 +213,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -281,7 +309,11 @@ jobs:
LIBTORCH_VARIANT: shared-with-deps
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
+<<<<<<< HEAD
DESIRED_PYTHON: "3.10"
+=======
+ DESIRED_PYTHON: "3.9"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
build_name: libtorch-cpu-shared-with-deps-debug
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
@@ -290,21 +322,33 @@ jobs:
if: ${{ github.repository_owner == 'pytorch' }}
needs: get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: libtorch
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu126
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.6"
+=======
+ GPU_ARCH_VERSION: 12.6
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
LIBTORCH_CONFIG: debug
LIBTORCH_VARIANT: shared-with-deps
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
+<<<<<<< HEAD
DESIRED_PYTHON: "3.10"
+=======
+ DESIRED_PYTHON: "3.9"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
steps:
# NOTE: These environment variables are put here so that they can be applied on every job equally
# They are also here because setting them at a workflow level doesn't give us access to the
@@ -330,7 +374,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -405,21 +453,33 @@ jobs:
- libtorch-cuda12_6-shared-with-deps-debug-build
- get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.g4dn.xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: libtorch
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu126
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.6"
+=======
+ GPU_ARCH_VERSION: 12.6
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
LIBTORCH_CONFIG: debug
LIBTORCH_VARIANT: shared-with-deps
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
+<<<<<<< HEAD
DESIRED_PYTHON: "3.10"
+=======
+ DESIRED_PYTHON: "3.9"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
steps:
- name: Display EC2 information
shell: bash
@@ -436,7 +496,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -523,13 +587,21 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu126
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.6"
+=======
+ GPU_ARCH_VERSION: 12.6
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
LIBTORCH_CONFIG: debug
LIBTORCH_VARIANT: shared-with-deps
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
+<<<<<<< HEAD
DESIRED_PYTHON: "3.10"
+=======
+ DESIRED_PYTHON: "3.9"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
build_name: libtorch-cuda12_6-shared-with-deps-debug
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
@@ -538,21 +610,33 @@ jobs:
if: ${{ github.repository_owner == 'pytorch' }}
needs: get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: libtorch
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu128
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.8"
+=======
+ GPU_ARCH_VERSION: 12.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
LIBTORCH_CONFIG: debug
LIBTORCH_VARIANT: shared-with-deps
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
+<<<<<<< HEAD
DESIRED_PYTHON: "3.10"
+=======
+ DESIRED_PYTHON: "3.9"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
steps:
# NOTE: These environment variables are put here so that they can be applied on every job equally
# They are also here because setting them at a workflow level doesn't give us access to the
@@ -578,7 +662,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -653,21 +741,33 @@ jobs:
- libtorch-cuda12_8-shared-with-deps-debug-build
- get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.g4dn.xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: libtorch
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu128
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.8"
+=======
+ GPU_ARCH_VERSION: 12.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
LIBTORCH_CONFIG: debug
LIBTORCH_VARIANT: shared-with-deps
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
+<<<<<<< HEAD
DESIRED_PYTHON: "3.10"
+=======
+ DESIRED_PYTHON: "3.9"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
steps:
- name: Display EC2 information
shell: bash
@@ -684,7 +784,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -771,36 +875,61 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu128
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.8"
+=======
+ GPU_ARCH_VERSION: 12.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
LIBTORCH_CONFIG: debug
LIBTORCH_VARIANT: shared-with-deps
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
+<<<<<<< HEAD
DESIRED_PYTHON: "3.10"
+=======
+ DESIRED_PYTHON: "3.9"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
build_name: libtorch-cuda12_8-shared-with-deps-debug
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
+<<<<<<< HEAD
libtorch-cuda13_0-shared-with-deps-debug-build:
if: ${{ github.repository_owner == 'pytorch' }}
needs: get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
timeout-minutes: 360
+=======
+ libtorch-cuda12_9-shared-with-deps-debug-build:
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs: get-label-type
+ runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: libtorch
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu130
GPU_ARCH_VERSION: "13.0"
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
LIBTORCH_CONFIG: debug
LIBTORCH_VARIANT: shared-with-deps
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
+<<<<<<< HEAD
DESIRED_PYTHON: "3.10"
+=======
+ DESIRED_PYTHON: "3.9"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
steps:
# NOTE: These environment variables are put here so that they can be applied on every job equally
# They are also here because setting them at a workflow level doesn't give us access to the
@@ -826,7 +955,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -877,7 +1010,11 @@ jobs:
- uses: actions/upload-artifact@v4.4.0
if: always()
with:
+<<<<<<< HEAD
name: libtorch-cuda13_0-shared-with-deps-debug
+=======
+ name: libtorch-cuda12_9-shared-with-deps-debug
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
retention-days: 14
if-no-files-found: error
path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
@@ -895,6 +1032,7 @@ jobs:
run: |
.github\scripts\kill_active_ssh_sessions.ps1
+<<<<<<< HEAD
libtorch-cuda13_0-shared-with-deps-debug-test: # Testing
if: ${{ github.repository_owner == 'pytorch' }}
needs:
@@ -902,20 +1040,38 @@ jobs:
- get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.g4dn.xlarge"
timeout-minutes: 360
+=======
+ libtorch-cuda12_9-shared-with-deps-debug-test: # Testing
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs:
+ - libtorch-cuda12_9-shared-with-deps-debug-build
+ - get-label-type
+ runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.g4dn.xlarge"
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: libtorch
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu130
GPU_ARCH_VERSION: "13.0"
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
LIBTORCH_CONFIG: debug
LIBTORCH_VARIANT: shared-with-deps
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
+<<<<<<< HEAD
DESIRED_PYTHON: "3.10"
+=======
+ DESIRED_PYTHON: "3.9"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
steps:
- name: Display EC2 information
shell: bash
@@ -932,7 +1088,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -984,7 +1144,11 @@ jobs:
- uses: actions/download-artifact@v4.1.7
name: Download Build Artifacts
with:
+<<<<<<< HEAD
name: libtorch-cuda13_0-shared-with-deps-debug
+=======
+ name: libtorch-cuda12_9-shared-with-deps-debug
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
- name: Populate binary env
shell: bash
@@ -1007,26 +1171,44 @@ jobs:
if: always()
run: |
.github\scripts\kill_active_ssh_sessions.ps1
+<<<<<<< HEAD
libtorch-cuda13_0-shared-with-deps-debug-upload: # Uploading
+=======
+ libtorch-cuda12_9-shared-with-deps-debug-upload: # Uploading
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ github.repository_owner == 'pytorch' }}
permissions:
id-token: write
contents: read
+<<<<<<< HEAD
needs: libtorch-cuda13_0-shared-with-deps-debug-test
+=======
+ needs: libtorch-cuda12_9-shared-with-deps-debug-test
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: libtorch
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu130
GPU_ARCH_VERSION: "13.0"
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
LIBTORCH_CONFIG: debug
LIBTORCH_VARIANT: shared-with-deps
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
+<<<<<<< HEAD
DESIRED_PYTHON: "3.10"
build_name: libtorch-cuda13_0-shared-with-deps-debug
+=======
+ DESIRED_PYTHON: "3.9"
+ build_name: libtorch-cuda12_9-shared-with-deps-debug
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
diff --git a/.github/workflows/generated-windows-binary-libtorch-release-main.yml b/.github/workflows/generated-windows-binary-libtorch-release-main.yml
index ef94d6212af3..6cc90db6a776 100644
--- a/.github/workflows/generated-windows-binary-libtorch-release-main.yml
+++ b/.github/workflows/generated-windows-binary-libtorch-release-main.yml
@@ -28,7 +28,11 @@ jobs:
get-label-type:
if: github.repository_owner == 'pytorch'
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
triggering_actor: ${{ github.triggering_actor }}
issue_owner: ${{ github.event.pull_request.user.login || github.event.issue.user.login }}
@@ -38,7 +42,11 @@ jobs:
if: ${{ github.repository_owner == 'pytorch' }}
needs: get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: libtorch
@@ -51,7 +59,11 @@ jobs:
LIBTORCH_VARIANT: shared-with-deps
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
+<<<<<<< HEAD
DESIRED_PYTHON: "3.10"
+=======
+ DESIRED_PYTHON: "3.9"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
steps:
# NOTE: These environment variables are put here so that they can be applied on every job equally
# They are also here because setting them at a workflow level doesn't give us access to the
@@ -77,7 +89,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -152,7 +168,11 @@ jobs:
- libtorch-cpu-shared-with-deps-release-build
- get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge.nonephemeral"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: libtorch
@@ -165,7 +185,11 @@ jobs:
LIBTORCH_VARIANT: shared-with-deps
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
+<<<<<<< HEAD
DESIRED_PYTHON: "3.10"
+=======
+ DESIRED_PYTHON: "3.9"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
steps:
- name: Display EC2 information
shell: bash
@@ -182,7 +206,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/generated-windows-binary-libtorch-release-nightly.yml b/.github/workflows/generated-windows-binary-libtorch-release-nightly.yml
index 8f4ec6e0b205..50e8123e049b 100644
--- a/.github/workflows/generated-windows-binary-libtorch-release-nightly.yml
+++ b/.github/workflows/generated-windows-binary-libtorch-release-nightly.yml
@@ -35,7 +35,11 @@ jobs:
get-label-type:
if: github.repository_owner == 'pytorch'
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
triggering_actor: ${{ github.triggering_actor }}
issue_owner: ${{ github.event.pull_request.user.login || github.event.issue.user.login }}
@@ -45,7 +49,11 @@ jobs:
if: ${{ github.repository_owner == 'pytorch' }}
needs: get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: libtorch
@@ -58,7 +66,11 @@ jobs:
LIBTORCH_VARIANT: shared-with-deps
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
+<<<<<<< HEAD
DESIRED_PYTHON: "3.10"
+=======
+ DESIRED_PYTHON: "3.9"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
steps:
# NOTE: These environment variables are put here so that they can be applied on every job equally
# They are also here because setting them at a workflow level doesn't give us access to the
@@ -84,7 +96,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -159,7 +175,11 @@ jobs:
- libtorch-cpu-shared-with-deps-release-build
- get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: libtorch
@@ -172,7 +192,11 @@ jobs:
LIBTORCH_VARIANT: shared-with-deps
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
+<<<<<<< HEAD
DESIRED_PYTHON: "3.10"
+=======
+ DESIRED_PYTHON: "3.9"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
steps:
- name: Display EC2 information
shell: bash
@@ -189,7 +213,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -281,7 +309,11 @@ jobs:
LIBTORCH_VARIANT: shared-with-deps
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
+<<<<<<< HEAD
DESIRED_PYTHON: "3.10"
+=======
+ DESIRED_PYTHON: "3.9"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
build_name: libtorch-cpu-shared-with-deps-release
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
@@ -290,21 +322,33 @@ jobs:
if: ${{ github.repository_owner == 'pytorch' }}
needs: get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: libtorch
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu126
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.6"
+=======
+ GPU_ARCH_VERSION: 12.6
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
LIBTORCH_CONFIG: release
LIBTORCH_VARIANT: shared-with-deps
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
+<<<<<<< HEAD
DESIRED_PYTHON: "3.10"
+=======
+ DESIRED_PYTHON: "3.9"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
steps:
# NOTE: These environment variables are put here so that they can be applied on every job equally
# They are also here because setting them at a workflow level doesn't give us access to the
@@ -330,7 +374,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -405,21 +453,33 @@ jobs:
- libtorch-cuda12_6-shared-with-deps-release-build
- get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.g4dn.xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: libtorch
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu126
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.6"
+=======
+ GPU_ARCH_VERSION: 12.6
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
LIBTORCH_CONFIG: release
LIBTORCH_VARIANT: shared-with-deps
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
+<<<<<<< HEAD
DESIRED_PYTHON: "3.10"
+=======
+ DESIRED_PYTHON: "3.9"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
steps:
- name: Display EC2 information
shell: bash
@@ -436,7 +496,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -523,13 +587,21 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu126
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.6"
+=======
+ GPU_ARCH_VERSION: 12.6
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
LIBTORCH_CONFIG: release
LIBTORCH_VARIANT: shared-with-deps
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
+<<<<<<< HEAD
DESIRED_PYTHON: "3.10"
+=======
+ DESIRED_PYTHON: "3.9"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
build_name: libtorch-cuda12_6-shared-with-deps-release
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
@@ -538,21 +610,33 @@ jobs:
if: ${{ github.repository_owner == 'pytorch' }}
needs: get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: libtorch
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu128
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.8"
+=======
+ GPU_ARCH_VERSION: 12.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
LIBTORCH_CONFIG: release
LIBTORCH_VARIANT: shared-with-deps
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
+<<<<<<< HEAD
DESIRED_PYTHON: "3.10"
+=======
+ DESIRED_PYTHON: "3.9"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
steps:
# NOTE: These environment variables are put here so that they can be applied on every job equally
# They are also here because setting them at a workflow level doesn't give us access to the
@@ -578,7 +662,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -653,21 +741,33 @@ jobs:
- libtorch-cuda12_8-shared-with-deps-release-build
- get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.g4dn.xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: libtorch
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu128
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.8"
+=======
+ GPU_ARCH_VERSION: 12.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
LIBTORCH_CONFIG: release
LIBTORCH_VARIANT: shared-with-deps
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
+<<<<<<< HEAD
DESIRED_PYTHON: "3.10"
+=======
+ DESIRED_PYTHON: "3.9"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
steps:
- name: Display EC2 information
shell: bash
@@ -684,7 +784,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -771,36 +875,61 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu128
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.8"
+=======
+ GPU_ARCH_VERSION: 12.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
LIBTORCH_CONFIG: release
LIBTORCH_VARIANT: shared-with-deps
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
+<<<<<<< HEAD
DESIRED_PYTHON: "3.10"
+=======
+ DESIRED_PYTHON: "3.9"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
build_name: libtorch-cuda12_8-shared-with-deps-release
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
+<<<<<<< HEAD
libtorch-cuda13_0-shared-with-deps-release-build:
if: ${{ github.repository_owner == 'pytorch' }}
needs: get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
timeout-minutes: 360
+=======
+ libtorch-cuda12_9-shared-with-deps-release-build:
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs: get-label-type
+ runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: libtorch
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu130
GPU_ARCH_VERSION: "13.0"
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
LIBTORCH_CONFIG: release
LIBTORCH_VARIANT: shared-with-deps
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
+<<<<<<< HEAD
DESIRED_PYTHON: "3.10"
+=======
+ DESIRED_PYTHON: "3.9"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
steps:
# NOTE: These environment variables are put here so that they can be applied on every job equally
# They are also here because setting them at a workflow level doesn't give us access to the
@@ -826,7 +955,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -877,7 +1010,11 @@ jobs:
- uses: actions/upload-artifact@v4.4.0
if: always()
with:
+<<<<<<< HEAD
name: libtorch-cuda13_0-shared-with-deps-release
+=======
+ name: libtorch-cuda12_9-shared-with-deps-release
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
retention-days: 14
if-no-files-found: error
path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
@@ -895,6 +1032,7 @@ jobs:
run: |
.github\scripts\kill_active_ssh_sessions.ps1
+<<<<<<< HEAD
libtorch-cuda13_0-shared-with-deps-release-test: # Testing
if: ${{ github.repository_owner == 'pytorch' }}
needs:
@@ -902,20 +1040,38 @@ jobs:
- get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.g4dn.xlarge"
timeout-minutes: 360
+=======
+ libtorch-cuda12_9-shared-with-deps-release-test: # Testing
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs:
+ - libtorch-cuda12_9-shared-with-deps-release-build
+ - get-label-type
+ runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.g4dn.xlarge"
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: libtorch
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu130
GPU_ARCH_VERSION: "13.0"
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
LIBTORCH_CONFIG: release
LIBTORCH_VARIANT: shared-with-deps
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
+<<<<<<< HEAD
DESIRED_PYTHON: "3.10"
+=======
+ DESIRED_PYTHON: "3.9"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
steps:
- name: Display EC2 information
shell: bash
@@ -932,7 +1088,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -984,7 +1144,11 @@ jobs:
- uses: actions/download-artifact@v4.1.7
name: Download Build Artifacts
with:
+<<<<<<< HEAD
name: libtorch-cuda13_0-shared-with-deps-release
+=======
+ name: libtorch-cuda12_9-shared-with-deps-release
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
- name: Populate binary env
shell: bash
@@ -1007,26 +1171,44 @@ jobs:
if: always()
run: |
.github\scripts\kill_active_ssh_sessions.ps1
+<<<<<<< HEAD
libtorch-cuda13_0-shared-with-deps-release-upload: # Uploading
+=======
+ libtorch-cuda12_9-shared-with-deps-release-upload: # Uploading
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ github.repository_owner == 'pytorch' }}
permissions:
id-token: write
contents: read
+<<<<<<< HEAD
needs: libtorch-cuda13_0-shared-with-deps-release-test
+=======
+ needs: libtorch-cuda12_9-shared-with-deps-release-test
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: libtorch
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu130
GPU_ARCH_VERSION: "13.0"
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
LIBTORCH_CONFIG: release
LIBTORCH_VARIANT: shared-with-deps
# This is a dummy value for libtorch to work correctly with our batch scripts
# without this value pip does not get installed for some reason
+<<<<<<< HEAD
DESIRED_PYTHON: "3.10"
build_name: libtorch-cuda13_0-shared-with-deps-release
+=======
+ DESIRED_PYTHON: "3.9"
+ build_name: libtorch-cuda12_9-shared-with-deps-release
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
diff --git a/.github/workflows/generated-windows-binary-wheel-nightly.yml b/.github/workflows/generated-windows-binary-wheel-nightly.yml
index bca8d4843463..4dc97a4ab94f 100644
--- a/.github/workflows/generated-windows-binary-wheel-nightly.yml
+++ b/.github/workflows/generated-windows-binary-wheel-nightly.yml
@@ -35,17 +35,1203 @@ jobs:
get-label-type:
if: github.repository_owner == 'pytorch'
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
triggering_actor: ${{ github.triggering_actor }}
issue_owner: ${{ github.event.pull_request.user.login || github.event.issue.user.login }}
curr_branch: ${{ github.head_ref || github.ref_name }}
curr_ref_type: ${{ github.ref_type }}
+<<<<<<< HEAD
+=======
+ wheel-py3_9-cpu-build:
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs: get-label-type
+ runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+ timeout-minutes: 300
+ env:
+ PYTORCH_ROOT: ${{ github.workspace }}/pytorch
+ PACKAGE_TYPE: wheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: cpu
+ GPU_ARCH_TYPE: cpu
+ SKIP_ALL_TESTS: 1
+ DESIRED_PYTHON: "3.9"
+ steps:
+ # NOTE: These environment variables are put here so that they can be applied on every job equally
+ # They are also here because setting them at a workflow level doesn't give us access to the
+ # runner.temp variable, which we need.
+ - name: Populate binary env
+ shell: bash
+ run: |
+ echo "BINARY_ENV_FILE=${RUNNER_TEMP}/env" >> "${GITHUB_ENV}"
+ echo "PYTORCH_FINAL_PACKAGE_DIR=${RUNNER_TEMP}/artifacts" >> "${GITHUB_ENV}"
+ echo "WIN_PACKAGE_WORK_DIR=${RUNNER_TEMP}"
+ - name: Display EC2 information
+ shell: bash
+ run: |
+ set -euo pipefail
+ function get_ec2_metadata() {
+ # Pulled from instance metadata endpoint for EC2
+ # see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html
+ category=$1
+ 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}"
+ }
+ echo "ami-id: $(get_ec2_metadata ami-id)"
+ echo "instance-id: $(get_ec2_metadata instance-id)"
+ echo "instance-type: $(get_ec2_metadata instance-type)"
+ echo "system info $(uname -a)"
+ - name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+ continue-on-error: true
+ with:
+ github-secret: ${{ secrets.GITHUB_TOKEN }}
+ - name: Enable git long paths and symlinks on Windows and disable fsmonitor daemon
+ shell: bash
+ run: |
+ git config --global core.longpaths true
+ git config --global core.symlinks true
+
+ # https://git-scm.com/docs/git-fsmonitor--daemon. The daemon could lock
+ # the directory on Windows and prevent GHA from checking out as reported
+ # in https://github.com/actions/checkout/issues/1018
+ git config --global core.fsmonitor false
+ # Needed for binary builds, see: https://github.com/pytorch/pytorch/issues/73339#issuecomment-1058981560
+ - name: Enable long paths on Windows
+ shell: powershell
+ run: |
+ Set-ItemProperty -Path "HKLM:\\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1
+ # Since it's just a defensive command, the workflow should continue even the command fails. This step can be
+ # removed once Windows Defender is removed from the AMI
+ - name: Disables Windows Defender scheduled and real-time scanning for files in directories used by PyTorch
+ continue-on-error: true
+ shell: powershell
+ run: |
+ Add-MpPreference -ExclusionPath $(Get-Location).tostring(),$Env:TEMP -ErrorAction Ignore
+ # Let's both exclude the path and disable Windows Defender completely just to be sure
+ # that it doesn't interfere
+ Set-MpPreference -DisableRealtimeMonitoring $True -ErrorAction Ignore
+ - name: Checkout PyTorch
+ uses: actions/checkout@v4
+ with:
+ submodules: recursive
+ path: pytorch
+ show-progress: false
+ - name: Clean PyTorch checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: pytorch
+ - name: Populate binary env
+ shell: bash
+ run: |
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_populate_env.sh"
+ - name: Build PyTorch binary
+ shell: bash
+ run: |
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_windows_build.sh"
+ - uses: actions/upload-artifact@v4.4.0
+ if: always()
+ with:
+ name: wheel-py3_9-cpu
+ retention-days: 14
+ if-no-files-found: error
+ path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
+ - name: Wait until all sessions have drained
+ shell: powershell
+ working-directory: pytorch
+ if: always()
+ timeout-minutes: 120
+ run: |
+ .github\scripts\wait_for_ssh_to_drain.ps1
+ - name: Kill active ssh sessions if still around (Useful if workflow was cancelled)
+ shell: powershell
+ working-directory: pytorch
+ if: always()
+ run: |
+ .github\scripts\kill_active_ssh_sessions.ps1
+
+ wheel-py3_9-cpu-test: # Testing
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs:
+ - wheel-py3_9-cpu-build
+ - get-label-type
+ runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+ timeout-minutes: 300
+ env:
+ PYTORCH_ROOT: ${{ github.workspace }}/pytorch
+ PACKAGE_TYPE: wheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: cpu
+ GPU_ARCH_TYPE: cpu
+ SKIP_ALL_TESTS: 1
+ DESIRED_PYTHON: "3.9"
+ steps:
+ - name: Display EC2 information
+ shell: bash
+ run: |
+ set -euo pipefail
+ function get_ec2_metadata() {
+ # Pulled from instance metadata endpoint for EC2
+ # see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html
+ category=$1
+ 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}"
+ }
+ echo "ami-id: $(get_ec2_metadata ami-id)"
+ echo "instance-id: $(get_ec2_metadata instance-id)"
+ echo "instance-type: $(get_ec2_metadata instance-type)"
+ echo "system info $(uname -a)"
+ - name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+ continue-on-error: true
+ with:
+ github-secret: ${{ secrets.GITHUB_TOKEN }}
+ - name: Enable git long paths and symlinks on Windows and disable fsmonitor daemon
+ shell: bash
+ run: |
+ git config --global core.longpaths true
+ git config --global core.symlinks true
+
+ # https://git-scm.com/docs/git-fsmonitor--daemon. The daemon could lock
+ # the directory on Windows and prevent GHA from checking out as reported
+ # in https://github.com/actions/checkout/issues/1018
+ git config --global core.fsmonitor false
+ # Needed for binary builds, see: https://github.com/pytorch/pytorch/issues/73339#issuecomment-1058981560
+ - name: Enable long paths on Windows
+ shell: powershell
+ run: |
+ Set-ItemProperty -Path "HKLM:\\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1
+ # Since it's just a defensive command, the workflow should continue even the command fails. This step can be
+ # removed once Windows Defender is removed from the AMI
+ - name: Disables Windows Defender scheduled and real-time scanning for files in directories used by PyTorch
+ continue-on-error: true
+ shell: powershell
+ run: |
+ Add-MpPreference -ExclusionPath $(Get-Location).tostring(),$Env:TEMP -ErrorAction Ignore
+ # Let's both exclude the path and disable Windows Defender completely just to be sure
+ # that it doesn't interfere
+ Set-MpPreference -DisableRealtimeMonitoring $True -ErrorAction Ignore
+ - name: Checkout PyTorch
+ uses: actions/checkout@v4
+ with:
+ submodules: recursive
+ path: pytorch
+ show-progress: false
+ - name: Clean PyTorch checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: pytorch
+ # NOTE: These environment variables are put here so that they can be applied on every job equally
+ # They are also here because setting them at a workflow level doesn't give us access to the
+ # runner.temp variable, which we need.
+ - name: Populate binary env
+ shell: bash
+ run: |
+ echo "BINARY_ENV_FILE=${RUNNER_TEMP}/env" >> "${GITHUB_ENV}"
+ echo "PYTORCH_FINAL_PACKAGE_DIR=${RUNNER_TEMP}/artifacts" >> "${GITHUB_ENV}"
+ echo "WIN_PACKAGE_WORK_DIR=${RUNNER_TEMP}"
+ - uses: actions/download-artifact@v4.1.7
+ name: Download Build Artifacts
+ with:
+ name: wheel-py3_9-cpu
+ path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
+ - name: Populate binary env
+ shell: bash
+ run: |
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_populate_env.sh"
+ - name: Test PyTorch binary
+ shell: bash
+ run: |
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_windows_test.sh"
+ - name: Wait until all sessions have drained
+ shell: powershell
+ working-directory: pytorch
+ if: always()
+ timeout-minutes: 120
+ run: |
+ .github\scripts\wait_for_ssh_to_drain.ps1
+ - name: Kill active ssh sessions if still around (Useful if workflow was cancelled)
+ shell: powershell
+ working-directory: pytorch
+ if: always()
+ run: |
+ .github\scripts\kill_active_ssh_sessions.ps1
+ wheel-py3_9-cpu-upload: # Uploading
+ if: ${{ github.repository_owner == 'pytorch' }}
+ permissions:
+ id-token: write
+ contents: read
+ needs: wheel-py3_9-cpu-test
+ with:
+ PYTORCH_ROOT: ${{ github.workspace }}/pytorch
+ PACKAGE_TYPE: wheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: cpu
+ GPU_ARCH_TYPE: cpu
+ DESIRED_PYTHON: "3.9"
+ build_name: wheel-py3_9-cpu
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ uses: ./.github/workflows/_binary-upload.yml
+ wheel-py3_9-cuda12_6-build:
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs: get-label-type
+ runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+ timeout-minutes: 300
+ env:
+ PYTORCH_ROOT: ${{ github.workspace }}/pytorch
+ PACKAGE_TYPE: wheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: cu126
+ GPU_ARCH_VERSION: 12.6
+ GPU_ARCH_TYPE: cuda
+ SKIP_ALL_TESTS: 1
+ DESIRED_PYTHON: "3.9"
+ steps:
+ # NOTE: These environment variables are put here so that they can be applied on every job equally
+ # They are also here because setting them at a workflow level doesn't give us access to the
+ # runner.temp variable, which we need.
+ - name: Populate binary env
+ shell: bash
+ run: |
+ echo "BINARY_ENV_FILE=${RUNNER_TEMP}/env" >> "${GITHUB_ENV}"
+ echo "PYTORCH_FINAL_PACKAGE_DIR=${RUNNER_TEMP}/artifacts" >> "${GITHUB_ENV}"
+ echo "WIN_PACKAGE_WORK_DIR=${RUNNER_TEMP}"
+ - name: Display EC2 information
+ shell: bash
+ run: |
+ set -euo pipefail
+ function get_ec2_metadata() {
+ # Pulled from instance metadata endpoint for EC2
+ # see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html
+ category=$1
+ 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}"
+ }
+ echo "ami-id: $(get_ec2_metadata ami-id)"
+ echo "instance-id: $(get_ec2_metadata instance-id)"
+ echo "instance-type: $(get_ec2_metadata instance-type)"
+ echo "system info $(uname -a)"
+ - name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+ continue-on-error: true
+ with:
+ github-secret: ${{ secrets.GITHUB_TOKEN }}
+ - name: Enable git long paths and symlinks on Windows and disable fsmonitor daemon
+ shell: bash
+ run: |
+ git config --global core.longpaths true
+ git config --global core.symlinks true
+
+ # https://git-scm.com/docs/git-fsmonitor--daemon. The daemon could lock
+ # the directory on Windows and prevent GHA from checking out as reported
+ # in https://github.com/actions/checkout/issues/1018
+ git config --global core.fsmonitor false
+ # Needed for binary builds, see: https://github.com/pytorch/pytorch/issues/73339#issuecomment-1058981560
+ - name: Enable long paths on Windows
+ shell: powershell
+ run: |
+ Set-ItemProperty -Path "HKLM:\\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1
+ # Since it's just a defensive command, the workflow should continue even the command fails. This step can be
+ # removed once Windows Defender is removed from the AMI
+ - name: Disables Windows Defender scheduled and real-time scanning for files in directories used by PyTorch
+ continue-on-error: true
+ shell: powershell
+ run: |
+ Add-MpPreference -ExclusionPath $(Get-Location).tostring(),$Env:TEMP -ErrorAction Ignore
+ # Let's both exclude the path and disable Windows Defender completely just to be sure
+ # that it doesn't interfere
+ Set-MpPreference -DisableRealtimeMonitoring $True -ErrorAction Ignore
+ - name: Checkout PyTorch
+ uses: actions/checkout@v4
+ with:
+ submodules: recursive
+ path: pytorch
+ show-progress: false
+ - name: Clean PyTorch checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: pytorch
+ - name: Populate binary env
+ shell: bash
+ run: |
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_populate_env.sh"
+ - name: Build PyTorch binary
+ shell: bash
+ run: |
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_windows_build.sh"
+ - uses: actions/upload-artifact@v4.4.0
+ if: always()
+ with:
+ name: wheel-py3_9-cuda12_6
+ retention-days: 14
+ if-no-files-found: error
+ path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
+ - name: Wait until all sessions have drained
+ shell: powershell
+ working-directory: pytorch
+ if: always()
+ timeout-minutes: 120
+ run: |
+ .github\scripts\wait_for_ssh_to_drain.ps1
+ - name: Kill active ssh sessions if still around (Useful if workflow was cancelled)
+ shell: powershell
+ working-directory: pytorch
+ if: always()
+ run: |
+ .github\scripts\kill_active_ssh_sessions.ps1
+
+ wheel-py3_9-cuda12_6-test: # Testing
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs:
+ - wheel-py3_9-cuda12_6-build
+ - get-label-type
+ runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.g4dn.xlarge"
+ timeout-minutes: 300
+ env:
+ PYTORCH_ROOT: ${{ github.workspace }}/pytorch
+ PACKAGE_TYPE: wheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: cu126
+ GPU_ARCH_VERSION: 12.6
+ GPU_ARCH_TYPE: cuda
+ SKIP_ALL_TESTS: 1
+ DESIRED_PYTHON: "3.9"
+ steps:
+ - name: Display EC2 information
+ shell: bash
+ run: |
+ set -euo pipefail
+ function get_ec2_metadata() {
+ # Pulled from instance metadata endpoint for EC2
+ # see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html
+ category=$1
+ 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}"
+ }
+ echo "ami-id: $(get_ec2_metadata ami-id)"
+ echo "instance-id: $(get_ec2_metadata instance-id)"
+ echo "instance-type: $(get_ec2_metadata instance-type)"
+ echo "system info $(uname -a)"
+ - name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+ continue-on-error: true
+ with:
+ github-secret: ${{ secrets.GITHUB_TOKEN }}
+ - name: Enable git long paths and symlinks on Windows and disable fsmonitor daemon
+ shell: bash
+ run: |
+ git config --global core.longpaths true
+ git config --global core.symlinks true
+
+ # https://git-scm.com/docs/git-fsmonitor--daemon. The daemon could lock
+ # the directory on Windows and prevent GHA from checking out as reported
+ # in https://github.com/actions/checkout/issues/1018
+ git config --global core.fsmonitor false
+ # Needed for binary builds, see: https://github.com/pytorch/pytorch/issues/73339#issuecomment-1058981560
+ - name: Enable long paths on Windows
+ shell: powershell
+ run: |
+ Set-ItemProperty -Path "HKLM:\\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1
+ # Since it's just a defensive command, the workflow should continue even the command fails. This step can be
+ # removed once Windows Defender is removed from the AMI
+ - name: Disables Windows Defender scheduled and real-time scanning for files in directories used by PyTorch
+ continue-on-error: true
+ shell: powershell
+ run: |
+ Add-MpPreference -ExclusionPath $(Get-Location).tostring(),$Env:TEMP -ErrorAction Ignore
+ # Let's both exclude the path and disable Windows Defender completely just to be sure
+ # that it doesn't interfere
+ Set-MpPreference -DisableRealtimeMonitoring $True -ErrorAction Ignore
+ - name: Checkout PyTorch
+ uses: actions/checkout@v4
+ with:
+ submodules: recursive
+ path: pytorch
+ show-progress: false
+ - name: Clean PyTorch checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: pytorch
+ # NOTE: These environment variables are put here so that they can be applied on every job equally
+ # They are also here because setting them at a workflow level doesn't give us access to the
+ # runner.temp variable, which we need.
+ - name: Populate binary env
+ shell: bash
+ run: |
+ echo "BINARY_ENV_FILE=${RUNNER_TEMP}/env" >> "${GITHUB_ENV}"
+ echo "PYTORCH_FINAL_PACKAGE_DIR=${RUNNER_TEMP}/artifacts" >> "${GITHUB_ENV}"
+ echo "WIN_PACKAGE_WORK_DIR=${RUNNER_TEMP}"
+ - uses: actions/download-artifact@v4.1.7
+ name: Download Build Artifacts
+ with:
+ name: wheel-py3_9-cuda12_6
+ path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
+ - name: Populate binary env
+ shell: bash
+ run: |
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_populate_env.sh"
+ - name: Test PyTorch binary
+ shell: bash
+ run: |
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_windows_test.sh"
+ - name: Wait until all sessions have drained
+ shell: powershell
+ working-directory: pytorch
+ if: always()
+ timeout-minutes: 120
+ run: |
+ .github\scripts\wait_for_ssh_to_drain.ps1
+ - name: Kill active ssh sessions if still around (Useful if workflow was cancelled)
+ shell: powershell
+ working-directory: pytorch
+ if: always()
+ run: |
+ .github\scripts\kill_active_ssh_sessions.ps1
+ wheel-py3_9-cuda12_6-upload: # Uploading
+ if: ${{ github.repository_owner == 'pytorch' }}
+ permissions:
+ id-token: write
+ contents: read
+ needs: wheel-py3_9-cuda12_6-test
+ with:
+ PYTORCH_ROOT: ${{ github.workspace }}/pytorch
+ PACKAGE_TYPE: wheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: cu126
+ GPU_ARCH_VERSION: 12.6
+ GPU_ARCH_TYPE: cuda
+ DESIRED_PYTHON: "3.9"
+ build_name: wheel-py3_9-cuda12_6
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ uses: ./.github/workflows/_binary-upload.yml
+ wheel-py3_9-cuda12_8-build:
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs: get-label-type
+ runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+ timeout-minutes: 300
+ env:
+ PYTORCH_ROOT: ${{ github.workspace }}/pytorch
+ PACKAGE_TYPE: wheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: cu128
+ GPU_ARCH_VERSION: 12.8
+ GPU_ARCH_TYPE: cuda
+ SKIP_ALL_TESTS: 1
+ DESIRED_PYTHON: "3.9"
+ steps:
+ # NOTE: These environment variables are put here so that they can be applied on every job equally
+ # They are also here because setting them at a workflow level doesn't give us access to the
+ # runner.temp variable, which we need.
+ - name: Populate binary env
+ shell: bash
+ run: |
+ echo "BINARY_ENV_FILE=${RUNNER_TEMP}/env" >> "${GITHUB_ENV}"
+ echo "PYTORCH_FINAL_PACKAGE_DIR=${RUNNER_TEMP}/artifacts" >> "${GITHUB_ENV}"
+ echo "WIN_PACKAGE_WORK_DIR=${RUNNER_TEMP}"
+ - name: Display EC2 information
+ shell: bash
+ run: |
+ set -euo pipefail
+ function get_ec2_metadata() {
+ # Pulled from instance metadata endpoint for EC2
+ # see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html
+ category=$1
+ 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}"
+ }
+ echo "ami-id: $(get_ec2_metadata ami-id)"
+ echo "instance-id: $(get_ec2_metadata instance-id)"
+ echo "instance-type: $(get_ec2_metadata instance-type)"
+ echo "system info $(uname -a)"
+ - name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+ continue-on-error: true
+ with:
+ github-secret: ${{ secrets.GITHUB_TOKEN }}
+ - name: Enable git long paths and symlinks on Windows and disable fsmonitor daemon
+ shell: bash
+ run: |
+ git config --global core.longpaths true
+ git config --global core.symlinks true
+
+ # https://git-scm.com/docs/git-fsmonitor--daemon. The daemon could lock
+ # the directory on Windows and prevent GHA from checking out as reported
+ # in https://github.com/actions/checkout/issues/1018
+ git config --global core.fsmonitor false
+ # Needed for binary builds, see: https://github.com/pytorch/pytorch/issues/73339#issuecomment-1058981560
+ - name: Enable long paths on Windows
+ shell: powershell
+ run: |
+ Set-ItemProperty -Path "HKLM:\\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1
+ # Since it's just a defensive command, the workflow should continue even the command fails. This step can be
+ # removed once Windows Defender is removed from the AMI
+ - name: Disables Windows Defender scheduled and real-time scanning for files in directories used by PyTorch
+ continue-on-error: true
+ shell: powershell
+ run: |
+ Add-MpPreference -ExclusionPath $(Get-Location).tostring(),$Env:TEMP -ErrorAction Ignore
+ # Let's both exclude the path and disable Windows Defender completely just to be sure
+ # that it doesn't interfere
+ Set-MpPreference -DisableRealtimeMonitoring $True -ErrorAction Ignore
+ - name: Checkout PyTorch
+ uses: actions/checkout@v4
+ with:
+ submodules: recursive
+ path: pytorch
+ show-progress: false
+ - name: Clean PyTorch checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: pytorch
+ - name: Populate binary env
+ shell: bash
+ run: |
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_populate_env.sh"
+ - name: Build PyTorch binary
+ shell: bash
+ run: |
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_windows_build.sh"
+ - uses: actions/upload-artifact@v4.4.0
+ if: always()
+ with:
+ name: wheel-py3_9-cuda12_8
+ retention-days: 14
+ if-no-files-found: error
+ path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
+ - name: Wait until all sessions have drained
+ shell: powershell
+ working-directory: pytorch
+ if: always()
+ timeout-minutes: 120
+ run: |
+ .github\scripts\wait_for_ssh_to_drain.ps1
+ - name: Kill active ssh sessions if still around (Useful if workflow was cancelled)
+ shell: powershell
+ working-directory: pytorch
+ if: always()
+ run: |
+ .github\scripts\kill_active_ssh_sessions.ps1
+
+ wheel-py3_9-cuda12_8-test: # Testing
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs:
+ - wheel-py3_9-cuda12_8-build
+ - get-label-type
+ runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.g4dn.xlarge"
+ timeout-minutes: 300
+ env:
+ PYTORCH_ROOT: ${{ github.workspace }}/pytorch
+ PACKAGE_TYPE: wheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: cu128
+ GPU_ARCH_VERSION: 12.8
+ GPU_ARCH_TYPE: cuda
+ SKIP_ALL_TESTS: 1
+ DESIRED_PYTHON: "3.9"
+ steps:
+ - name: Display EC2 information
+ shell: bash
+ run: |
+ set -euo pipefail
+ function get_ec2_metadata() {
+ # Pulled from instance metadata endpoint for EC2
+ # see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html
+ category=$1
+ 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}"
+ }
+ echo "ami-id: $(get_ec2_metadata ami-id)"
+ echo "instance-id: $(get_ec2_metadata instance-id)"
+ echo "instance-type: $(get_ec2_metadata instance-type)"
+ echo "system info $(uname -a)"
+ - name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+ continue-on-error: true
+ with:
+ github-secret: ${{ secrets.GITHUB_TOKEN }}
+ - name: Enable git long paths and symlinks on Windows and disable fsmonitor daemon
+ shell: bash
+ run: |
+ git config --global core.longpaths true
+ git config --global core.symlinks true
+
+ # https://git-scm.com/docs/git-fsmonitor--daemon. The daemon could lock
+ # the directory on Windows and prevent GHA from checking out as reported
+ # in https://github.com/actions/checkout/issues/1018
+ git config --global core.fsmonitor false
+ # Needed for binary builds, see: https://github.com/pytorch/pytorch/issues/73339#issuecomment-1058981560
+ - name: Enable long paths on Windows
+ shell: powershell
+ run: |
+ Set-ItemProperty -Path "HKLM:\\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1
+ # Since it's just a defensive command, the workflow should continue even the command fails. This step can be
+ # removed once Windows Defender is removed from the AMI
+ - name: Disables Windows Defender scheduled and real-time scanning for files in directories used by PyTorch
+ continue-on-error: true
+ shell: powershell
+ run: |
+ Add-MpPreference -ExclusionPath $(Get-Location).tostring(),$Env:TEMP -ErrorAction Ignore
+ # Let's both exclude the path and disable Windows Defender completely just to be sure
+ # that it doesn't interfere
+ Set-MpPreference -DisableRealtimeMonitoring $True -ErrorAction Ignore
+ - name: Checkout PyTorch
+ uses: actions/checkout@v4
+ with:
+ submodules: recursive
+ path: pytorch
+ show-progress: false
+ - name: Clean PyTorch checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: pytorch
+ # NOTE: These environment variables are put here so that they can be applied on every job equally
+ # They are also here because setting them at a workflow level doesn't give us access to the
+ # runner.temp variable, which we need.
+ - name: Populate binary env
+ shell: bash
+ run: |
+ echo "BINARY_ENV_FILE=${RUNNER_TEMP}/env" >> "${GITHUB_ENV}"
+ echo "PYTORCH_FINAL_PACKAGE_DIR=${RUNNER_TEMP}/artifacts" >> "${GITHUB_ENV}"
+ echo "WIN_PACKAGE_WORK_DIR=${RUNNER_TEMP}"
+ - uses: actions/download-artifact@v4.1.7
+ name: Download Build Artifacts
+ with:
+ name: wheel-py3_9-cuda12_8
+ path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
+ - name: Populate binary env
+ shell: bash
+ run: |
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_populate_env.sh"
+ - name: Test PyTorch binary
+ shell: bash
+ run: |
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_windows_test.sh"
+ - name: Wait until all sessions have drained
+ shell: powershell
+ working-directory: pytorch
+ if: always()
+ timeout-minutes: 120
+ run: |
+ .github\scripts\wait_for_ssh_to_drain.ps1
+ - name: Kill active ssh sessions if still around (Useful if workflow was cancelled)
+ shell: powershell
+ working-directory: pytorch
+ if: always()
+ run: |
+ .github\scripts\kill_active_ssh_sessions.ps1
+ wheel-py3_9-cuda12_8-upload: # Uploading
+ if: ${{ github.repository_owner == 'pytorch' }}
+ permissions:
+ id-token: write
+ contents: read
+ needs: wheel-py3_9-cuda12_8-test
+ with:
+ PYTORCH_ROOT: ${{ github.workspace }}/pytorch
+ PACKAGE_TYPE: wheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: cu128
+ GPU_ARCH_VERSION: 12.8
+ GPU_ARCH_TYPE: cuda
+ DESIRED_PYTHON: "3.9"
+ build_name: wheel-py3_9-cuda12_8
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ uses: ./.github/workflows/_binary-upload.yml
+ wheel-py3_9-cuda12_9-build:
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs: get-label-type
+ runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+ timeout-minutes: 300
+ env:
+ PYTORCH_ROOT: ${{ github.workspace }}/pytorch
+ PACKAGE_TYPE: wheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+ GPU_ARCH_TYPE: cuda
+ SKIP_ALL_TESTS: 1
+ DESIRED_PYTHON: "3.9"
+ steps:
+ # NOTE: These environment variables are put here so that they can be applied on every job equally
+ # They are also here because setting them at a workflow level doesn't give us access to the
+ # runner.temp variable, which we need.
+ - name: Populate binary env
+ shell: bash
+ run: |
+ echo "BINARY_ENV_FILE=${RUNNER_TEMP}/env" >> "${GITHUB_ENV}"
+ echo "PYTORCH_FINAL_PACKAGE_DIR=${RUNNER_TEMP}/artifacts" >> "${GITHUB_ENV}"
+ echo "WIN_PACKAGE_WORK_DIR=${RUNNER_TEMP}"
+ - name: Display EC2 information
+ shell: bash
+ run: |
+ set -euo pipefail
+ function get_ec2_metadata() {
+ # Pulled from instance metadata endpoint for EC2
+ # see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html
+ category=$1
+ 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}"
+ }
+ echo "ami-id: $(get_ec2_metadata ami-id)"
+ echo "instance-id: $(get_ec2_metadata instance-id)"
+ echo "instance-type: $(get_ec2_metadata instance-type)"
+ echo "system info $(uname -a)"
+ - name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+ continue-on-error: true
+ with:
+ github-secret: ${{ secrets.GITHUB_TOKEN }}
+ - name: Enable git long paths and symlinks on Windows and disable fsmonitor daemon
+ shell: bash
+ run: |
+ git config --global core.longpaths true
+ git config --global core.symlinks true
+
+ # https://git-scm.com/docs/git-fsmonitor--daemon. The daemon could lock
+ # the directory on Windows and prevent GHA from checking out as reported
+ # in https://github.com/actions/checkout/issues/1018
+ git config --global core.fsmonitor false
+ # Needed for binary builds, see: https://github.com/pytorch/pytorch/issues/73339#issuecomment-1058981560
+ - name: Enable long paths on Windows
+ shell: powershell
+ run: |
+ Set-ItemProperty -Path "HKLM:\\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1
+ # Since it's just a defensive command, the workflow should continue even the command fails. This step can be
+ # removed once Windows Defender is removed from the AMI
+ - name: Disables Windows Defender scheduled and real-time scanning for files in directories used by PyTorch
+ continue-on-error: true
+ shell: powershell
+ run: |
+ Add-MpPreference -ExclusionPath $(Get-Location).tostring(),$Env:TEMP -ErrorAction Ignore
+ # Let's both exclude the path and disable Windows Defender completely just to be sure
+ # that it doesn't interfere
+ Set-MpPreference -DisableRealtimeMonitoring $True -ErrorAction Ignore
+ - name: Checkout PyTorch
+ uses: actions/checkout@v4
+ with:
+ submodules: recursive
+ path: pytorch
+ show-progress: false
+ - name: Clean PyTorch checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: pytorch
+ - name: Populate binary env
+ shell: bash
+ run: |
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_populate_env.sh"
+ - name: Build PyTorch binary
+ shell: bash
+ run: |
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_windows_build.sh"
+ - uses: actions/upload-artifact@v4.4.0
+ if: always()
+ with:
+ name: wheel-py3_9-cuda12_9
+ retention-days: 14
+ if-no-files-found: error
+ path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
+ - name: Wait until all sessions have drained
+ shell: powershell
+ working-directory: pytorch
+ if: always()
+ timeout-minutes: 120
+ run: |
+ .github\scripts\wait_for_ssh_to_drain.ps1
+ - name: Kill active ssh sessions if still around (Useful if workflow was cancelled)
+ shell: powershell
+ working-directory: pytorch
+ if: always()
+ run: |
+ .github\scripts\kill_active_ssh_sessions.ps1
+
+ wheel-py3_9-cuda12_9-test: # Testing
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs:
+ - wheel-py3_9-cuda12_9-build
+ - get-label-type
+ runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.g4dn.xlarge"
+ timeout-minutes: 300
+ env:
+ PYTORCH_ROOT: ${{ github.workspace }}/pytorch
+ PACKAGE_TYPE: wheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+ GPU_ARCH_TYPE: cuda
+ SKIP_ALL_TESTS: 1
+ DESIRED_PYTHON: "3.9"
+ steps:
+ - name: Display EC2 information
+ shell: bash
+ run: |
+ set -euo pipefail
+ function get_ec2_metadata() {
+ # Pulled from instance metadata endpoint for EC2
+ # see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html
+ category=$1
+ 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}"
+ }
+ echo "ami-id: $(get_ec2_metadata ami-id)"
+ echo "instance-id: $(get_ec2_metadata instance-id)"
+ echo "instance-type: $(get_ec2_metadata instance-type)"
+ echo "system info $(uname -a)"
+ - name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+ continue-on-error: true
+ with:
+ github-secret: ${{ secrets.GITHUB_TOKEN }}
+ - name: Enable git long paths and symlinks on Windows and disable fsmonitor daemon
+ shell: bash
+ run: |
+ git config --global core.longpaths true
+ git config --global core.symlinks true
+
+ # https://git-scm.com/docs/git-fsmonitor--daemon. The daemon could lock
+ # the directory on Windows and prevent GHA from checking out as reported
+ # in https://github.com/actions/checkout/issues/1018
+ git config --global core.fsmonitor false
+ # Needed for binary builds, see: https://github.com/pytorch/pytorch/issues/73339#issuecomment-1058981560
+ - name: Enable long paths on Windows
+ shell: powershell
+ run: |
+ Set-ItemProperty -Path "HKLM:\\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1
+ # Since it's just a defensive command, the workflow should continue even the command fails. This step can be
+ # removed once Windows Defender is removed from the AMI
+ - name: Disables Windows Defender scheduled and real-time scanning for files in directories used by PyTorch
+ continue-on-error: true
+ shell: powershell
+ run: |
+ Add-MpPreference -ExclusionPath $(Get-Location).tostring(),$Env:TEMP -ErrorAction Ignore
+ # Let's both exclude the path and disable Windows Defender completely just to be sure
+ # that it doesn't interfere
+ Set-MpPreference -DisableRealtimeMonitoring $True -ErrorAction Ignore
+ - name: Checkout PyTorch
+ uses: actions/checkout@v4
+ with:
+ submodules: recursive
+ path: pytorch
+ show-progress: false
+ - name: Clean PyTorch checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: pytorch
+ # NOTE: These environment variables are put here so that they can be applied on every job equally
+ # They are also here because setting them at a workflow level doesn't give us access to the
+ # runner.temp variable, which we need.
+ - name: Populate binary env
+ shell: bash
+ run: |
+ echo "BINARY_ENV_FILE=${RUNNER_TEMP}/env" >> "${GITHUB_ENV}"
+ echo "PYTORCH_FINAL_PACKAGE_DIR=${RUNNER_TEMP}/artifacts" >> "${GITHUB_ENV}"
+ echo "WIN_PACKAGE_WORK_DIR=${RUNNER_TEMP}"
+ - uses: actions/download-artifact@v4.1.7
+ name: Download Build Artifacts
+ with:
+ name: wheel-py3_9-cuda12_9
+ path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
+ - name: Populate binary env
+ shell: bash
+ run: |
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_populate_env.sh"
+ - name: Test PyTorch binary
+ shell: bash
+ run: |
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_windows_test.sh"
+ - name: Wait until all sessions have drained
+ shell: powershell
+ working-directory: pytorch
+ if: always()
+ timeout-minutes: 120
+ run: |
+ .github\scripts\wait_for_ssh_to_drain.ps1
+ - name: Kill active ssh sessions if still around (Useful if workflow was cancelled)
+ shell: powershell
+ working-directory: pytorch
+ if: always()
+ run: |
+ .github\scripts\kill_active_ssh_sessions.ps1
+ wheel-py3_9-cuda12_9-upload: # Uploading
+ if: ${{ github.repository_owner == 'pytorch' }}
+ permissions:
+ id-token: write
+ contents: read
+ needs: wheel-py3_9-cuda12_9-test
+ with:
+ PYTORCH_ROOT: ${{ github.workspace }}/pytorch
+ PACKAGE_TYPE: wheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+ GPU_ARCH_TYPE: cuda
+ DESIRED_PYTHON: "3.9"
+ build_name: wheel-py3_9-cuda12_9
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ uses: ./.github/workflows/_binary-upload.yml
+ wheel-py3_9-xpu-build:
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs: get-label-type
+ runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+ timeout-minutes: 300
+ env:
+ PYTORCH_ROOT: ${{ github.workspace }}/pytorch
+ PACKAGE_TYPE: wheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: xpu
+ GPU_ARCH_TYPE: xpu
+ SKIP_ALL_TESTS: 1
+ DESIRED_PYTHON: "3.9"
+ PYTORCH_EXTRA_INSTALL_REQUIREMENTS: intel-cmplr-lib-rt==2025.1.1 | intel-cmplr-lib-ur==2025.1.1 | intel-cmplr-lic-rt==2025.1.1 | intel-sycl-rt==2025.1.1 | oneccl-devel==2021.15.2; platform_system == 'Linux' and platform_machine == 'x86_64' | oneccl==2021.15.2; platform_system == 'Linux' and platform_machine == 'x86_64' | impi-rt==2021.15.0; platform_system == 'Linux' and platform_machine == 'x86_64' | onemkl-sycl-blas==2025.1.0 | onemkl-sycl-dft==2025.1.0 | onemkl-sycl-lapack==2025.1.0 | onemkl-sycl-rng==2025.1.0 | onemkl-sycl-sparse==2025.1.0 | dpcpp-cpp-rt==2025.1.1 | intel-opencl-rt==2025.1.1 | mkl==2025.1.0 | intel-openmp==2025.1.1 | tbb==2022.1.0 | tcmlib==1.3.0 | umf==0.10.0 | intel-pti==0.12.3
+ steps:
+ # NOTE: These environment variables are put here so that they can be applied on every job equally
+ # They are also here because setting them at a workflow level doesn't give us access to the
+ # runner.temp variable, which we need.
+ - name: Populate binary env
+ shell: bash
+ run: |
+ echo "BINARY_ENV_FILE=${RUNNER_TEMP}/env" >> "${GITHUB_ENV}"
+ echo "PYTORCH_FINAL_PACKAGE_DIR=${RUNNER_TEMP}/artifacts" >> "${GITHUB_ENV}"
+ echo "WIN_PACKAGE_WORK_DIR=${RUNNER_TEMP}"
+ - name: Display EC2 information
+ shell: bash
+ run: |
+ set -euo pipefail
+ function get_ec2_metadata() {
+ # Pulled from instance metadata endpoint for EC2
+ # see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html
+ category=$1
+ 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}"
+ }
+ echo "ami-id: $(get_ec2_metadata ami-id)"
+ echo "instance-id: $(get_ec2_metadata instance-id)"
+ echo "instance-type: $(get_ec2_metadata instance-type)"
+ echo "system info $(uname -a)"
+ - name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+ continue-on-error: true
+ with:
+ github-secret: ${{ secrets.GITHUB_TOKEN }}
+ - name: Enable git long paths and symlinks on Windows and disable fsmonitor daemon
+ shell: bash
+ run: |
+ git config --global core.longpaths true
+ git config --global core.symlinks true
+
+ # https://git-scm.com/docs/git-fsmonitor--daemon. The daemon could lock
+ # the directory on Windows and prevent GHA from checking out as reported
+ # in https://github.com/actions/checkout/issues/1018
+ git config --global core.fsmonitor false
+ # Needed for binary builds, see: https://github.com/pytorch/pytorch/issues/73339#issuecomment-1058981560
+ - name: Enable long paths on Windows
+ shell: powershell
+ run: |
+ Set-ItemProperty -Path "HKLM:\\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1
+ # Since it's just a defensive command, the workflow should continue even the command fails. This step can be
+ # removed once Windows Defender is removed from the AMI
+ - name: Disables Windows Defender scheduled and real-time scanning for files in directories used by PyTorch
+ continue-on-error: true
+ shell: powershell
+ run: |
+ Add-MpPreference -ExclusionPath $(Get-Location).tostring(),$Env:TEMP -ErrorAction Ignore
+ # Let's both exclude the path and disable Windows Defender completely just to be sure
+ # that it doesn't interfere
+ Set-MpPreference -DisableRealtimeMonitoring $True -ErrorAction Ignore
+ - name: Checkout PyTorch
+ uses: actions/checkout@v4
+ with:
+ submodules: recursive
+ path: pytorch
+ show-progress: false
+ - name: Clean PyTorch checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: pytorch
+ - name: Populate binary env
+ shell: bash
+ run: |
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_populate_env.sh"
+ - name: Build PyTorch binary
+ shell: bash
+ run: |
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_windows_build.sh"
+ - uses: actions/upload-artifact@v4.4.0
+ if: always()
+ with:
+ name: wheel-py3_9-xpu
+ retention-days: 14
+ if-no-files-found: error
+ path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
+ - name: Wait until all sessions have drained
+ shell: powershell
+ working-directory: pytorch
+ if: always()
+ timeout-minutes: 120
+ run: |
+ .github\scripts\wait_for_ssh_to_drain.ps1
+ - name: Kill active ssh sessions if still around (Useful if workflow was cancelled)
+ shell: powershell
+ working-directory: pytorch
+ if: always()
+ run: |
+ .github\scripts\kill_active_ssh_sessions.ps1
+
+ wheel-py3_9-xpu-test: # Testing
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs:
+ - wheel-py3_9-xpu-build
+ - get-label-type
+ runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+ timeout-minutes: 300
+ env:
+ PYTORCH_ROOT: ${{ github.workspace }}/pytorch
+ PACKAGE_TYPE: wheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: xpu
+ GPU_ARCH_TYPE: xpu
+ SKIP_ALL_TESTS: 1
+ DESIRED_PYTHON: "3.9"
+ steps:
+ - name: Display EC2 information
+ shell: bash
+ run: |
+ set -euo pipefail
+ function get_ec2_metadata() {
+ # Pulled from instance metadata endpoint for EC2
+ # see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html
+ category=$1
+ 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}"
+ }
+ echo "ami-id: $(get_ec2_metadata ami-id)"
+ echo "instance-id: $(get_ec2_metadata instance-id)"
+ echo "instance-type: $(get_ec2_metadata instance-type)"
+ echo "system info $(uname -a)"
+ - name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+ continue-on-error: true
+ with:
+ github-secret: ${{ secrets.GITHUB_TOKEN }}
+ - name: Enable git long paths and symlinks on Windows and disable fsmonitor daemon
+ shell: bash
+ run: |
+ git config --global core.longpaths true
+ git config --global core.symlinks true
+
+ # https://git-scm.com/docs/git-fsmonitor--daemon. The daemon could lock
+ # the directory on Windows and prevent GHA from checking out as reported
+ # in https://github.com/actions/checkout/issues/1018
+ git config --global core.fsmonitor false
+ # Needed for binary builds, see: https://github.com/pytorch/pytorch/issues/73339#issuecomment-1058981560
+ - name: Enable long paths on Windows
+ shell: powershell
+ run: |
+ Set-ItemProperty -Path "HKLM:\\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1
+ # Since it's just a defensive command, the workflow should continue even the command fails. This step can be
+ # removed once Windows Defender is removed from the AMI
+ - name: Disables Windows Defender scheduled and real-time scanning for files in directories used by PyTorch
+ continue-on-error: true
+ shell: powershell
+ run: |
+ Add-MpPreference -ExclusionPath $(Get-Location).tostring(),$Env:TEMP -ErrorAction Ignore
+ # Let's both exclude the path and disable Windows Defender completely just to be sure
+ # that it doesn't interfere
+ Set-MpPreference -DisableRealtimeMonitoring $True -ErrorAction Ignore
+ - name: Checkout PyTorch
+ uses: actions/checkout@v4
+ with:
+ submodules: recursive
+ path: pytorch
+ show-progress: false
+ - name: Clean PyTorch checkout
+ run: |
+ # Remove any artifacts from the previous checkouts
+ git clean -fxd
+ working-directory: pytorch
+ # NOTE: These environment variables are put here so that they can be applied on every job equally
+ # They are also here because setting them at a workflow level doesn't give us access to the
+ # runner.temp variable, which we need.
+ - name: Populate binary env
+ shell: bash
+ run: |
+ echo "BINARY_ENV_FILE=${RUNNER_TEMP}/env" >> "${GITHUB_ENV}"
+ echo "PYTORCH_FINAL_PACKAGE_DIR=${RUNNER_TEMP}/artifacts" >> "${GITHUB_ENV}"
+ echo "WIN_PACKAGE_WORK_DIR=${RUNNER_TEMP}"
+ - uses: actions/download-artifact@v4.1.7
+ name: Download Build Artifacts
+ with:
+ name: wheel-py3_9-xpu
+ path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
+ - name: Populate binary env
+ shell: bash
+ run: |
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_populate_env.sh"
+ - name: Test PyTorch binary
+ shell: bash
+ run: |
+ "${PYTORCH_ROOT}/.circleci/scripts/binary_windows_test.sh"
+ - name: Wait until all sessions have drained
+ shell: powershell
+ working-directory: pytorch
+ if: always()
+ timeout-minutes: 120
+ run: |
+ .github\scripts\wait_for_ssh_to_drain.ps1
+ - name: Kill active ssh sessions if still around (Useful if workflow was cancelled)
+ shell: powershell
+ working-directory: pytorch
+ if: always()
+ run: |
+ .github\scripts\kill_active_ssh_sessions.ps1
+ wheel-py3_9-xpu-upload: # Uploading
+ if: ${{ github.repository_owner == 'pytorch' }}
+ permissions:
+ id-token: write
+ contents: read
+ needs: wheel-py3_9-xpu-test
+ with:
+ PYTORCH_ROOT: ${{ github.workspace }}/pytorch
+ PACKAGE_TYPE: wheel
+ # TODO: This is a legacy variable that we eventually want to get rid of in
+ # favor of GPU_ARCH_VERSION
+ DESIRED_CUDA: xpu
+ GPU_ARCH_TYPE: xpu
+ DESIRED_PYTHON: "3.9"
+ build_name: wheel-py3_9-xpu
+ secrets:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ uses: ./.github/workflows/_binary-upload.yml
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
wheel-py3_10-cpu-build:
if: ${{ github.repository_owner == 'pytorch' }}
needs: get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
@@ -80,7 +1266,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -155,7 +1345,11 @@ jobs:
- wheel-py3_10-cpu-build
- get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
@@ -181,7 +1375,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -278,14 +1476,22 @@ jobs:
if: ${{ github.repository_owner == 'pytorch' }}
needs: get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu126
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.6"
+=======
+ GPU_ARCH_VERSION: 12.6
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.10"
@@ -314,7 +1520,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -389,14 +1599,22 @@ jobs:
- wheel-py3_10-cuda12_6-build
- get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.g4dn.xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu126
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.6"
+=======
+ GPU_ARCH_VERSION: 12.6
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.10"
@@ -416,7 +1634,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -503,7 +1725,11 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu126
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.6"
+=======
+ GPU_ARCH_VERSION: 12.6
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
DESIRED_PYTHON: "3.10"
build_name: wheel-py3_10-cuda12_6
@@ -514,14 +1740,22 @@ jobs:
if: ${{ github.repository_owner == 'pytorch' }}
needs: get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu128
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.8"
+=======
+ GPU_ARCH_VERSION: 12.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.10"
@@ -550,7 +1784,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -625,14 +1863,22 @@ jobs:
- wheel-py3_10-cuda12_8-build
- get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.g4dn.xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu128
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.8"
+=======
+ GPU_ARCH_VERSION: 12.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.10"
@@ -652,7 +1898,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -739,25 +1989,42 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu128
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.8"
+=======
+ GPU_ARCH_VERSION: 12.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
DESIRED_PYTHON: "3.10"
build_name: wheel-py3_10-cuda12_8
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
+<<<<<<< HEAD
wheel-py3_10-cuda13_0-build:
if: ${{ github.repository_owner == 'pytorch' }}
needs: get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
timeout-minutes: 360
+=======
+ wheel-py3_10-cuda12_9-build:
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs: get-label-type
+ runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu130
GPU_ARCH_VERSION: "13.0"
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.10"
@@ -786,7 +2053,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -837,7 +2108,11 @@ jobs:
- uses: actions/upload-artifact@v4.4.0
if: always()
with:
+<<<<<<< HEAD
name: wheel-py3_10-cuda13_0
+=======
+ name: wheel-py3_10-cuda12_9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
retention-days: 14
if-no-files-found: error
path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
@@ -855,6 +2130,7 @@ jobs:
run: |
.github\scripts\kill_active_ssh_sessions.ps1
+<<<<<<< HEAD
wheel-py3_10-cuda13_0-test: # Testing
if: ${{ github.repository_owner == 'pytorch' }}
needs:
@@ -862,13 +2138,27 @@ jobs:
- get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.g4dn.xlarge"
timeout-minutes: 360
+=======
+ wheel-py3_10-cuda12_9-test: # Testing
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs:
+ - wheel-py3_10-cuda12_9-build
+ - get-label-type
+ runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.g4dn.xlarge"
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu130
GPU_ARCH_VERSION: "13.0"
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.10"
@@ -888,7 +2178,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -940,7 +2234,11 @@ jobs:
- uses: actions/download-artifact@v4.1.7
name: Download Build Artifacts
with:
+<<<<<<< HEAD
name: wheel-py3_10-cuda13_0
+=======
+ name: wheel-py3_10-cuda12_9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
- name: Populate binary env
shell: bash
@@ -963,22 +2261,38 @@ jobs:
if: always()
run: |
.github\scripts\kill_active_ssh_sessions.ps1
+<<<<<<< HEAD
wheel-py3_10-cuda13_0-upload: # Uploading
+=======
+ wheel-py3_10-cuda12_9-upload: # Uploading
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ github.repository_owner == 'pytorch' }}
permissions:
id-token: write
contents: read
+<<<<<<< HEAD
needs: wheel-py3_10-cuda13_0-test
+=======
+ needs: wheel-py3_10-cuda12_9-test
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu130
GPU_ARCH_VERSION: "13.0"
GPU_ARCH_TYPE: cuda
DESIRED_PYTHON: "3.10"
build_name: wheel-py3_10-cuda13_0
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+ GPU_ARCH_TYPE: cuda
+ DESIRED_PYTHON: "3.10"
+ build_name: wheel-py3_10-cuda12_9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
@@ -986,7 +2300,11 @@ jobs:
if: ${{ github.repository_owner == 'pytorch' }}
needs: get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
@@ -996,7 +2314,11 @@ jobs:
GPU_ARCH_TYPE: xpu
SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.10"
+<<<<<<< HEAD
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: intel-cmplr-lib-rt==2025.2.1 | intel-cmplr-lib-ur==2025.2.1 | intel-cmplr-lic-rt==2025.2.1 | intel-sycl-rt==2025.2.1 | oneccl-devel==2021.16.1; platform_system == 'Linux' and platform_machine == 'x86_64' | oneccl==2021.16.1; platform_system == 'Linux' and platform_machine == 'x86_64' | impi-rt==2021.16.1; platform_system == 'Linux' and platform_machine == 'x86_64' | onemkl-sycl-blas==2025.2.0 | onemkl-sycl-dft==2025.2.0 | onemkl-sycl-lapack==2025.2.0 | onemkl-sycl-rng==2025.2.0 | onemkl-sycl-sparse==2025.2.0 | dpcpp-cpp-rt==2025.2.1 | intel-opencl-rt==2025.2.1 | mkl==2025.2.0 | intel-openmp==2025.2.1 | tbb==2022.2.0 | tcmlib==1.4.0 | umf==0.11.0 | intel-pti==0.13.1
+=======
+ PYTORCH_EXTRA_INSTALL_REQUIREMENTS: intel-cmplr-lib-rt==2025.1.1 | intel-cmplr-lib-ur==2025.1.1 | intel-cmplr-lic-rt==2025.1.1 | intel-sycl-rt==2025.1.1 | oneccl-devel==2021.15.2; platform_system == 'Linux' and platform_machine == 'x86_64' | oneccl==2021.15.2; platform_system == 'Linux' and platform_machine == 'x86_64' | impi-rt==2021.15.0; platform_system == 'Linux' and platform_machine == 'x86_64' | onemkl-sycl-blas==2025.1.0 | onemkl-sycl-dft==2025.1.0 | onemkl-sycl-lapack==2025.1.0 | onemkl-sycl-rng==2025.1.0 | onemkl-sycl-sparse==2025.1.0 | dpcpp-cpp-rt==2025.1.1 | intel-opencl-rt==2025.1.1 | mkl==2025.1.0 | intel-openmp==2025.1.1 | tbb==2022.1.0 | tcmlib==1.3.0 | umf==0.10.0 | intel-pti==0.12.3
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
steps:
# NOTE: These environment variables are put here so that they can be applied on every job equally
# They are also here because setting them at a workflow level doesn't give us access to the
@@ -1022,7 +2344,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -1097,7 +2423,11 @@ jobs:
- wheel-py3_10-xpu-build
- get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
@@ -1123,7 +2453,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -1220,7 +2554,11 @@ jobs:
if: ${{ github.repository_owner == 'pytorch' }}
needs: get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
@@ -1255,7 +2593,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -1330,7 +2672,11 @@ jobs:
- wheel-py3_11-cpu-build
- get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
@@ -1356,7 +2702,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -1453,14 +2803,22 @@ jobs:
if: ${{ github.repository_owner == 'pytorch' }}
needs: get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu126
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.6"
+=======
+ GPU_ARCH_VERSION: 12.6
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.11"
@@ -1489,7 +2847,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -1564,14 +2926,22 @@ jobs:
- wheel-py3_11-cuda12_6-build
- get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.g4dn.xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu126
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.6"
+=======
+ GPU_ARCH_VERSION: 12.6
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.11"
@@ -1591,7 +2961,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -1678,7 +3052,11 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu126
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.6"
+=======
+ GPU_ARCH_VERSION: 12.6
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
DESIRED_PYTHON: "3.11"
build_name: wheel-py3_11-cuda12_6
@@ -1689,14 +3067,22 @@ jobs:
if: ${{ github.repository_owner == 'pytorch' }}
needs: get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu128
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.8"
+=======
+ GPU_ARCH_VERSION: 12.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.11"
@@ -1725,7 +3111,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -1800,14 +3190,22 @@ jobs:
- wheel-py3_11-cuda12_8-build
- get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.g4dn.xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu128
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.8"
+=======
+ GPU_ARCH_VERSION: 12.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.11"
@@ -1827,7 +3225,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -1914,25 +3316,42 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu128
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.8"
+=======
+ GPU_ARCH_VERSION: 12.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
DESIRED_PYTHON: "3.11"
build_name: wheel-py3_11-cuda12_8
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
+<<<<<<< HEAD
wheel-py3_11-cuda13_0-build:
if: ${{ github.repository_owner == 'pytorch' }}
needs: get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
timeout-minutes: 360
+=======
+ wheel-py3_11-cuda12_9-build:
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs: get-label-type
+ runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu130
GPU_ARCH_VERSION: "13.0"
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.11"
@@ -1961,7 +3380,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -2012,7 +3435,11 @@ jobs:
- uses: actions/upload-artifact@v4.4.0
if: always()
with:
+<<<<<<< HEAD
name: wheel-py3_11-cuda13_0
+=======
+ name: wheel-py3_11-cuda12_9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
retention-days: 14
if-no-files-found: error
path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
@@ -2030,6 +3457,7 @@ jobs:
run: |
.github\scripts\kill_active_ssh_sessions.ps1
+<<<<<<< HEAD
wheel-py3_11-cuda13_0-test: # Testing
if: ${{ github.repository_owner == 'pytorch' }}
needs:
@@ -2037,13 +3465,27 @@ jobs:
- get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.g4dn.xlarge"
timeout-minutes: 360
+=======
+ wheel-py3_11-cuda12_9-test: # Testing
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs:
+ - wheel-py3_11-cuda12_9-build
+ - get-label-type
+ runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.g4dn.xlarge"
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu130
GPU_ARCH_VERSION: "13.0"
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.11"
@@ -2063,7 +3505,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -2115,7 +3561,11 @@ jobs:
- uses: actions/download-artifact@v4.1.7
name: Download Build Artifacts
with:
+<<<<<<< HEAD
name: wheel-py3_11-cuda13_0
+=======
+ name: wheel-py3_11-cuda12_9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
- name: Populate binary env
shell: bash
@@ -2138,22 +3588,38 @@ jobs:
if: always()
run: |
.github\scripts\kill_active_ssh_sessions.ps1
+<<<<<<< HEAD
wheel-py3_11-cuda13_0-upload: # Uploading
+=======
+ wheel-py3_11-cuda12_9-upload: # Uploading
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ github.repository_owner == 'pytorch' }}
permissions:
id-token: write
contents: read
+<<<<<<< HEAD
needs: wheel-py3_11-cuda13_0-test
+=======
+ needs: wheel-py3_11-cuda12_9-test
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu130
GPU_ARCH_VERSION: "13.0"
GPU_ARCH_TYPE: cuda
DESIRED_PYTHON: "3.11"
build_name: wheel-py3_11-cuda13_0
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+ GPU_ARCH_TYPE: cuda
+ DESIRED_PYTHON: "3.11"
+ build_name: wheel-py3_11-cuda12_9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
@@ -2161,7 +3627,11 @@ jobs:
if: ${{ github.repository_owner == 'pytorch' }}
needs: get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
@@ -2171,7 +3641,11 @@ jobs:
GPU_ARCH_TYPE: xpu
SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.11"
+<<<<<<< HEAD
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: intel-cmplr-lib-rt==2025.2.1 | intel-cmplr-lib-ur==2025.2.1 | intel-cmplr-lic-rt==2025.2.1 | intel-sycl-rt==2025.2.1 | oneccl-devel==2021.16.1; platform_system == 'Linux' and platform_machine == 'x86_64' | oneccl==2021.16.1; platform_system == 'Linux' and platform_machine == 'x86_64' | impi-rt==2021.16.1; platform_system == 'Linux' and platform_machine == 'x86_64' | onemkl-sycl-blas==2025.2.0 | onemkl-sycl-dft==2025.2.0 | onemkl-sycl-lapack==2025.2.0 | onemkl-sycl-rng==2025.2.0 | onemkl-sycl-sparse==2025.2.0 | dpcpp-cpp-rt==2025.2.1 | intel-opencl-rt==2025.2.1 | mkl==2025.2.0 | intel-openmp==2025.2.1 | tbb==2022.2.0 | tcmlib==1.4.0 | umf==0.11.0 | intel-pti==0.13.1
+=======
+ PYTORCH_EXTRA_INSTALL_REQUIREMENTS: intel-cmplr-lib-rt==2025.1.1 | intel-cmplr-lib-ur==2025.1.1 | intel-cmplr-lic-rt==2025.1.1 | intel-sycl-rt==2025.1.1 | oneccl-devel==2021.15.2; platform_system == 'Linux' and platform_machine == 'x86_64' | oneccl==2021.15.2; platform_system == 'Linux' and platform_machine == 'x86_64' | impi-rt==2021.15.0; platform_system == 'Linux' and platform_machine == 'x86_64' | onemkl-sycl-blas==2025.1.0 | onemkl-sycl-dft==2025.1.0 | onemkl-sycl-lapack==2025.1.0 | onemkl-sycl-rng==2025.1.0 | onemkl-sycl-sparse==2025.1.0 | dpcpp-cpp-rt==2025.1.1 | intel-opencl-rt==2025.1.1 | mkl==2025.1.0 | intel-openmp==2025.1.1 | tbb==2022.1.0 | tcmlib==1.3.0 | umf==0.10.0 | intel-pti==0.12.3
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
steps:
# NOTE: These environment variables are put here so that they can be applied on every job equally
# They are also here because setting them at a workflow level doesn't give us access to the
@@ -2197,7 +3671,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -2272,7 +3750,11 @@ jobs:
- wheel-py3_11-xpu-build
- get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
@@ -2298,7 +3780,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -2395,7 +3881,11 @@ jobs:
if: ${{ github.repository_owner == 'pytorch' }}
needs: get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
@@ -2430,7 +3920,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -2505,7 +3999,11 @@ jobs:
- wheel-py3_12-cpu-build
- get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
@@ -2531,7 +4029,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -2628,14 +4130,22 @@ jobs:
if: ${{ github.repository_owner == 'pytorch' }}
needs: get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu126
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.6"
+=======
+ GPU_ARCH_VERSION: 12.6
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.12"
@@ -2664,7 +4174,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -2739,14 +4253,22 @@ jobs:
- wheel-py3_12-cuda12_6-build
- get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.g4dn.xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu126
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.6"
+=======
+ GPU_ARCH_VERSION: 12.6
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.12"
@@ -2766,7 +4288,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -2853,7 +4379,11 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu126
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.6"
+=======
+ GPU_ARCH_VERSION: 12.6
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
DESIRED_PYTHON: "3.12"
build_name: wheel-py3_12-cuda12_6
@@ -2864,14 +4394,22 @@ jobs:
if: ${{ github.repository_owner == 'pytorch' }}
needs: get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu128
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.8"
+=======
+ GPU_ARCH_VERSION: 12.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.12"
@@ -2900,7 +4438,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -2975,14 +4517,22 @@ jobs:
- wheel-py3_12-cuda12_8-build
- get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.g4dn.xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu128
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.8"
+=======
+ GPU_ARCH_VERSION: 12.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.12"
@@ -3002,7 +4552,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -3089,25 +4643,42 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu128
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.8"
+=======
+ GPU_ARCH_VERSION: 12.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
DESIRED_PYTHON: "3.12"
build_name: wheel-py3_12-cuda12_8
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
+<<<<<<< HEAD
wheel-py3_12-cuda13_0-build:
if: ${{ github.repository_owner == 'pytorch' }}
needs: get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
timeout-minutes: 360
+=======
+ wheel-py3_12-cuda12_9-build:
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs: get-label-type
+ runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu130
GPU_ARCH_VERSION: "13.0"
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.12"
@@ -3136,7 +4707,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -3187,7 +4762,11 @@ jobs:
- uses: actions/upload-artifact@v4.4.0
if: always()
with:
+<<<<<<< HEAD
name: wheel-py3_12-cuda13_0
+=======
+ name: wheel-py3_12-cuda12_9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
retention-days: 14
if-no-files-found: error
path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
@@ -3205,6 +4784,7 @@ jobs:
run: |
.github\scripts\kill_active_ssh_sessions.ps1
+<<<<<<< HEAD
wheel-py3_12-cuda13_0-test: # Testing
if: ${{ github.repository_owner == 'pytorch' }}
needs:
@@ -3212,13 +4792,27 @@ jobs:
- get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.g4dn.xlarge"
timeout-minutes: 360
+=======
+ wheel-py3_12-cuda12_9-test: # Testing
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs:
+ - wheel-py3_12-cuda12_9-build
+ - get-label-type
+ runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.g4dn.xlarge"
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu130
GPU_ARCH_VERSION: "13.0"
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.12"
@@ -3238,7 +4832,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -3290,7 +4888,11 @@ jobs:
- uses: actions/download-artifact@v4.1.7
name: Download Build Artifacts
with:
+<<<<<<< HEAD
name: wheel-py3_12-cuda13_0
+=======
+ name: wheel-py3_12-cuda12_9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
- name: Populate binary env
shell: bash
@@ -3313,22 +4915,38 @@ jobs:
if: always()
run: |
.github\scripts\kill_active_ssh_sessions.ps1
+<<<<<<< HEAD
wheel-py3_12-cuda13_0-upload: # Uploading
+=======
+ wheel-py3_12-cuda12_9-upload: # Uploading
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ github.repository_owner == 'pytorch' }}
permissions:
id-token: write
contents: read
+<<<<<<< HEAD
needs: wheel-py3_12-cuda13_0-test
+=======
+ needs: wheel-py3_12-cuda12_9-test
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu130
GPU_ARCH_VERSION: "13.0"
GPU_ARCH_TYPE: cuda
DESIRED_PYTHON: "3.12"
build_name: wheel-py3_12-cuda13_0
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+ GPU_ARCH_TYPE: cuda
+ DESIRED_PYTHON: "3.12"
+ build_name: wheel-py3_12-cuda12_9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
@@ -3336,7 +4954,11 @@ jobs:
if: ${{ github.repository_owner == 'pytorch' }}
needs: get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
@@ -3346,7 +4968,11 @@ jobs:
GPU_ARCH_TYPE: xpu
SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.12"
+<<<<<<< HEAD
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: intel-cmplr-lib-rt==2025.2.1 | intel-cmplr-lib-ur==2025.2.1 | intel-cmplr-lic-rt==2025.2.1 | intel-sycl-rt==2025.2.1 | oneccl-devel==2021.16.1; platform_system == 'Linux' and platform_machine == 'x86_64' | oneccl==2021.16.1; platform_system == 'Linux' and platform_machine == 'x86_64' | impi-rt==2021.16.1; platform_system == 'Linux' and platform_machine == 'x86_64' | onemkl-sycl-blas==2025.2.0 | onemkl-sycl-dft==2025.2.0 | onemkl-sycl-lapack==2025.2.0 | onemkl-sycl-rng==2025.2.0 | onemkl-sycl-sparse==2025.2.0 | dpcpp-cpp-rt==2025.2.1 | intel-opencl-rt==2025.2.1 | mkl==2025.2.0 | intel-openmp==2025.2.1 | tbb==2022.2.0 | tcmlib==1.4.0 | umf==0.11.0 | intel-pti==0.13.1
+=======
+ PYTORCH_EXTRA_INSTALL_REQUIREMENTS: intel-cmplr-lib-rt==2025.1.1 | intel-cmplr-lib-ur==2025.1.1 | intel-cmplr-lic-rt==2025.1.1 | intel-sycl-rt==2025.1.1 | oneccl-devel==2021.15.2; platform_system == 'Linux' and platform_machine == 'x86_64' | oneccl==2021.15.2; platform_system == 'Linux' and platform_machine == 'x86_64' | impi-rt==2021.15.0; platform_system == 'Linux' and platform_machine == 'x86_64' | onemkl-sycl-blas==2025.1.0 | onemkl-sycl-dft==2025.1.0 | onemkl-sycl-lapack==2025.1.0 | onemkl-sycl-rng==2025.1.0 | onemkl-sycl-sparse==2025.1.0 | dpcpp-cpp-rt==2025.1.1 | intel-opencl-rt==2025.1.1 | mkl==2025.1.0 | intel-openmp==2025.1.1 | tbb==2022.1.0 | tcmlib==1.3.0 | umf==0.10.0 | intel-pti==0.12.3
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
steps:
# NOTE: These environment variables are put here so that they can be applied on every job equally
# They are also here because setting them at a workflow level doesn't give us access to the
@@ -3372,7 +4998,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -3447,7 +5077,11 @@ jobs:
- wheel-py3_12-xpu-build
- get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
@@ -3473,7 +5107,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -3570,7 +5208,11 @@ jobs:
if: ${{ github.repository_owner == 'pytorch' }}
needs: get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
@@ -3605,7 +5247,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -3680,7 +5326,11 @@ jobs:
- wheel-py3_13-cpu-build
- get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
@@ -3706,7 +5356,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -3803,14 +5457,22 @@ jobs:
if: ${{ github.repository_owner == 'pytorch' }}
needs: get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu126
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.6"
+=======
+ GPU_ARCH_VERSION: 12.6
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.13"
@@ -3839,7 +5501,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -3914,14 +5580,22 @@ jobs:
- wheel-py3_13-cuda12_6-build
- get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.g4dn.xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu126
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.6"
+=======
+ GPU_ARCH_VERSION: 12.6
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.13"
@@ -3941,7 +5615,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -4028,7 +5706,11 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu126
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.6"
+=======
+ GPU_ARCH_VERSION: 12.6
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
DESIRED_PYTHON: "3.13"
build_name: wheel-py3_13-cuda12_6
@@ -4039,14 +5721,22 @@ jobs:
if: ${{ github.repository_owner == 'pytorch' }}
needs: get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu128
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.8"
+=======
+ GPU_ARCH_VERSION: 12.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.13"
@@ -4075,7 +5765,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -4150,14 +5844,22 @@ jobs:
- wheel-py3_13-cuda12_8-build
- get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.g4dn.xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu128
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.8"
+=======
+ GPU_ARCH_VERSION: 12.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.13"
@@ -4177,7 +5879,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -4264,25 +5970,42 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu128
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.8"
+=======
+ GPU_ARCH_VERSION: 12.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
DESIRED_PYTHON: "3.13"
build_name: wheel-py3_13-cuda12_8
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
+<<<<<<< HEAD
wheel-py3_13-cuda13_0-build:
if: ${{ github.repository_owner == 'pytorch' }}
needs: get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
timeout-minutes: 360
+=======
+ wheel-py3_13-cuda12_9-build:
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs: get-label-type
+ runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu130
GPU_ARCH_VERSION: "13.0"
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.13"
@@ -4311,7 +6034,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -4362,7 +6089,11 @@ jobs:
- uses: actions/upload-artifact@v4.4.0
if: always()
with:
+<<<<<<< HEAD
name: wheel-py3_13-cuda13_0
+=======
+ name: wheel-py3_13-cuda12_9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
retention-days: 14
if-no-files-found: error
path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
@@ -4380,6 +6111,7 @@ jobs:
run: |
.github\scripts\kill_active_ssh_sessions.ps1
+<<<<<<< HEAD
wheel-py3_13-cuda13_0-test: # Testing
if: ${{ github.repository_owner == 'pytorch' }}
needs:
@@ -4387,13 +6119,27 @@ jobs:
- get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.g4dn.xlarge"
timeout-minutes: 360
+=======
+ wheel-py3_13-cuda12_9-test: # Testing
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs:
+ - wheel-py3_13-cuda12_9-build
+ - get-label-type
+ runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.g4dn.xlarge"
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu130
GPU_ARCH_VERSION: "13.0"
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.13"
@@ -4413,7 +6159,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -4465,7 +6215,11 @@ jobs:
- uses: actions/download-artifact@v4.1.7
name: Download Build Artifacts
with:
+<<<<<<< HEAD
name: wheel-py3_13-cuda13_0
+=======
+ name: wheel-py3_13-cuda12_9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
- name: Populate binary env
shell: bash
@@ -4488,22 +6242,38 @@ jobs:
if: always()
run: |
.github\scripts\kill_active_ssh_sessions.ps1
+<<<<<<< HEAD
wheel-py3_13-cuda13_0-upload: # Uploading
+=======
+ wheel-py3_13-cuda12_9-upload: # Uploading
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ github.repository_owner == 'pytorch' }}
permissions:
id-token: write
contents: read
+<<<<<<< HEAD
needs: wheel-py3_13-cuda13_0-test
+=======
+ needs: wheel-py3_13-cuda12_9-test
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu130
GPU_ARCH_VERSION: "13.0"
GPU_ARCH_TYPE: cuda
DESIRED_PYTHON: "3.13"
build_name: wheel-py3_13-cuda13_0
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+ GPU_ARCH_TYPE: cuda
+ DESIRED_PYTHON: "3.13"
+ build_name: wheel-py3_13-cuda12_9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
@@ -4511,7 +6281,11 @@ jobs:
if: ${{ github.repository_owner == 'pytorch' }}
needs: get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
@@ -4521,7 +6295,11 @@ jobs:
GPU_ARCH_TYPE: xpu
SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.13"
+<<<<<<< HEAD
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: intel-cmplr-lib-rt==2025.2.1 | intel-cmplr-lib-ur==2025.2.1 | intel-cmplr-lic-rt==2025.2.1 | intel-sycl-rt==2025.2.1 | oneccl-devel==2021.16.1; platform_system == 'Linux' and platform_machine == 'x86_64' | oneccl==2021.16.1; platform_system == 'Linux' and platform_machine == 'x86_64' | impi-rt==2021.16.1; platform_system == 'Linux' and platform_machine == 'x86_64' | onemkl-sycl-blas==2025.2.0 | onemkl-sycl-dft==2025.2.0 | onemkl-sycl-lapack==2025.2.0 | onemkl-sycl-rng==2025.2.0 | onemkl-sycl-sparse==2025.2.0 | dpcpp-cpp-rt==2025.2.1 | intel-opencl-rt==2025.2.1 | mkl==2025.2.0 | intel-openmp==2025.2.1 | tbb==2022.2.0 | tcmlib==1.4.0 | umf==0.11.0 | intel-pti==0.13.1
+=======
+ PYTORCH_EXTRA_INSTALL_REQUIREMENTS: intel-cmplr-lib-rt==2025.1.1 | intel-cmplr-lib-ur==2025.1.1 | intel-cmplr-lic-rt==2025.1.1 | intel-sycl-rt==2025.1.1 | oneccl-devel==2021.15.2; platform_system == 'Linux' and platform_machine == 'x86_64' | oneccl==2021.15.2; platform_system == 'Linux' and platform_machine == 'x86_64' | impi-rt==2021.15.0; platform_system == 'Linux' and platform_machine == 'x86_64' | onemkl-sycl-blas==2025.1.0 | onemkl-sycl-dft==2025.1.0 | onemkl-sycl-lapack==2025.1.0 | onemkl-sycl-rng==2025.1.0 | onemkl-sycl-sparse==2025.1.0 | dpcpp-cpp-rt==2025.1.1 | intel-opencl-rt==2025.1.1 | mkl==2025.1.0 | intel-openmp==2025.1.1 | tbb==2022.1.0 | tcmlib==1.3.0 | umf==0.10.0 | intel-pti==0.12.3
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
steps:
# NOTE: These environment variables are put here so that they can be applied on every job equally
# They are also here because setting them at a workflow level doesn't give us access to the
@@ -4547,7 +6325,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -4622,7 +6404,11 @@ jobs:
- wheel-py3_13-xpu-build
- get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
@@ -4648,7 +6434,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -4745,7 +6535,11 @@ jobs:
if: ${{ github.repository_owner == 'pytorch' }}
needs: get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
@@ -4780,7 +6574,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -4855,7 +6653,11 @@ jobs:
- wheel-py3_13t-cpu-build
- get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
@@ -4881,7 +6683,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -4978,14 +6784,22 @@ jobs:
if: ${{ github.repository_owner == 'pytorch' }}
needs: get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu126
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.6"
+=======
+ GPU_ARCH_VERSION: 12.6
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.13t"
@@ -5014,7 +6828,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -5089,14 +6907,22 @@ jobs:
- wheel-py3_13t-cuda12_6-build
- get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.g4dn.xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu126
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.6"
+=======
+ GPU_ARCH_VERSION: 12.6
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.13t"
@@ -5116,7 +6942,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -5203,7 +7033,11 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu126
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.6"
+=======
+ GPU_ARCH_VERSION: 12.6
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
DESIRED_PYTHON: "3.13t"
build_name: wheel-py3_13t-cuda12_6
@@ -5214,14 +7048,22 @@ jobs:
if: ${{ github.repository_owner == 'pytorch' }}
needs: get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu128
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.8"
+=======
+ GPU_ARCH_VERSION: 12.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.13t"
@@ -5250,7 +7092,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -5325,14 +7171,22 @@ jobs:
- wheel-py3_13t-cuda12_8-build
- get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.g4dn.xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu128
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.8"
+=======
+ GPU_ARCH_VERSION: 12.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.13t"
@@ -5352,7 +7206,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -5439,25 +7297,42 @@ jobs:
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
DESIRED_CUDA: cu128
+<<<<<<< HEAD
GPU_ARCH_VERSION: "12.8"
+=======
+ GPU_ARCH_VERSION: 12.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
DESIRED_PYTHON: "3.13t"
build_name: wheel-py3_13t-cuda12_8
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
+<<<<<<< HEAD
wheel-py3_13t-cuda13_0-build:
if: ${{ github.repository_owner == 'pytorch' }}
needs: get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
timeout-minutes: 360
+=======
+ wheel-py3_13t-cuda12_9-build:
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs: get-label-type
+ runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu130
GPU_ARCH_VERSION: "13.0"
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.13t"
@@ -5486,7 +7361,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -5537,7 +7416,11 @@ jobs:
- uses: actions/upload-artifact@v4.4.0
if: always()
with:
+<<<<<<< HEAD
name: wheel-py3_13t-cuda13_0
+=======
+ name: wheel-py3_13t-cuda12_9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
retention-days: 14
if-no-files-found: error
path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
@@ -5555,6 +7438,7 @@ jobs:
run: |
.github\scripts\kill_active_ssh_sessions.ps1
+<<<<<<< HEAD
wheel-py3_13t-cuda13_0-test: # Testing
if: ${{ github.repository_owner == 'pytorch' }}
needs:
@@ -5562,13 +7446,27 @@ jobs:
- get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.g4dn.xlarge"
timeout-minutes: 360
+=======
+ wheel-py3_13t-cuda12_9-test: # Testing
+ if: ${{ github.repository_owner == 'pytorch' }}
+ needs:
+ - wheel-py3_13t-cuda12_9-build
+ - get-label-type
+ runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.g4dn.xlarge"
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu130
GPU_ARCH_VERSION: "13.0"
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
GPU_ARCH_TYPE: cuda
SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.13t"
@@ -5588,7 +7486,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -5640,7 +7542,11 @@ jobs:
- uses: actions/download-artifact@v4.1.7
name: Download Build Artifacts
with:
+<<<<<<< HEAD
name: wheel-py3_13t-cuda13_0
+=======
+ name: wheel-py3_13t-cuda12_9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
path: "${{ env.PYTORCH_FINAL_PACKAGE_DIR }}"
- name: Populate binary env
shell: bash
@@ -5663,22 +7569,38 @@ jobs:
if: always()
run: |
.github\scripts\kill_active_ssh_sessions.ps1
+<<<<<<< HEAD
wheel-py3_13t-cuda13_0-upload: # Uploading
+=======
+ wheel-py3_13t-cuda12_9-upload: # Uploading
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ github.repository_owner == 'pytorch' }}
permissions:
id-token: write
contents: read
+<<<<<<< HEAD
needs: wheel-py3_13t-cuda13_0-test
+=======
+ needs: wheel-py3_13t-cuda12_9-test
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
# TODO: This is a legacy variable that we eventually want to get rid of in
# favor of GPU_ARCH_VERSION
+<<<<<<< HEAD
DESIRED_CUDA: cu130
GPU_ARCH_VERSION: "13.0"
GPU_ARCH_TYPE: cuda
DESIRED_PYTHON: "3.13t"
build_name: wheel-py3_13t-cuda13_0
+=======
+ DESIRED_CUDA: cu129
+ GPU_ARCH_VERSION: 12.9
+ GPU_ARCH_TYPE: cuda
+ DESIRED_PYTHON: "3.13t"
+ build_name: wheel-py3_13t-cuda12_9
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
@@ -5686,7 +7608,11 @@ jobs:
if: ${{ github.repository_owner == 'pytorch' }}
needs: get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
@@ -5696,7 +7622,11 @@ jobs:
GPU_ARCH_TYPE: xpu
SKIP_ALL_TESTS: 1
DESIRED_PYTHON: "3.13t"
+<<<<<<< HEAD
PYTORCH_EXTRA_INSTALL_REQUIREMENTS: intel-cmplr-lib-rt==2025.2.1 | intel-cmplr-lib-ur==2025.2.1 | intel-cmplr-lic-rt==2025.2.1 | intel-sycl-rt==2025.2.1 | oneccl-devel==2021.16.1; platform_system == 'Linux' and platform_machine == 'x86_64' | oneccl==2021.16.1; platform_system == 'Linux' and platform_machine == 'x86_64' | impi-rt==2021.16.1; platform_system == 'Linux' and platform_machine == 'x86_64' | onemkl-sycl-blas==2025.2.0 | onemkl-sycl-dft==2025.2.0 | onemkl-sycl-lapack==2025.2.0 | onemkl-sycl-rng==2025.2.0 | onemkl-sycl-sparse==2025.2.0 | dpcpp-cpp-rt==2025.2.1 | intel-opencl-rt==2025.2.1 | mkl==2025.2.0 | intel-openmp==2025.2.1 | tbb==2022.2.0 | tcmlib==1.4.0 | umf==0.11.0 | intel-pti==0.13.1
+=======
+ PYTORCH_EXTRA_INSTALL_REQUIREMENTS: intel-cmplr-lib-rt==2025.1.1 | intel-cmplr-lib-ur==2025.1.1 | intel-cmplr-lic-rt==2025.1.1 | intel-sycl-rt==2025.1.1 | oneccl-devel==2021.15.2; platform_system == 'Linux' and platform_machine == 'x86_64' | oneccl==2021.15.2; platform_system == 'Linux' and platform_machine == 'x86_64' | impi-rt==2021.15.0; platform_system == 'Linux' and platform_machine == 'x86_64' | onemkl-sycl-blas==2025.1.0 | onemkl-sycl-dft==2025.1.0 | onemkl-sycl-lapack==2025.1.0 | onemkl-sycl-rng==2025.1.0 | onemkl-sycl-sparse==2025.1.0 | dpcpp-cpp-rt==2025.1.1 | intel-opencl-rt==2025.1.1 | mkl==2025.1.0 | intel-openmp==2025.1.1 | tbb==2022.1.0 | tcmlib==1.3.0 | umf==0.10.0 | intel-pti==0.12.3
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
steps:
# NOTE: These environment variables are put here so that they can be applied on every job equally
# They are also here because setting them at a workflow level doesn't give us access to the
@@ -5722,7 +7652,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -5797,7 +7731,11 @@ jobs:
- wheel-py3_13t-xpu-build
- get-label-type
runs-on: "${{ needs.get-label-type.outputs.label-type }}windows.4xlarge"
+<<<<<<< HEAD
timeout-minutes: 360
+=======
+ timeout-minutes: 300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
env:
PYTORCH_ROOT: ${{ github.workspace }}/pytorch
PACKAGE_TYPE: wheel
@@ -5823,7 +7761,11 @@ jobs:
echo "instance-type: $(get_ec2_metadata instance-type)"
echo "system info $(uname -a)"
- name: "[FB EMPLOYEES] Enable SSH (Click me for login details)"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-ssh@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
continue-on-error: true
with:
github-secret: ${{ secrets.GITHUB_TOKEN }}
@@ -5916,6 +7858,7 @@ jobs:
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
+<<<<<<< HEAD
wheel-py3_14-cpu-build:
if: ${{ github.repository_owner == 'pytorch' }}
needs: get-label-type
@@ -8266,3 +10209,5 @@ jobs:
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
uses: ./.github/workflows/_binary-upload.yml
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/.github/workflows/h100-distributed.yml b/.github/workflows/h100-distributed.yml
index 8996add88383..0281289b40b7 100644
--- a/.github/workflows/h100-distributed.yml
+++ b/.github/workflows/h100-distributed.yml
@@ -8,23 +8,33 @@ on:
push:
tags:
- ciflow/h100-distributed/*
+<<<<<<< HEAD
schedule:
- cron: 46 8 * * * # about 1:46am PDT
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}-${{ github.event_name == 'workflow_dispatch' }}-${{ github.event_name == 'schedule' }}
cancel-in-progress: true
+<<<<<<< HEAD
permissions:
id-token: write
contents: read
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
jobs:
get-label-type:
if: github.repository_owner == 'pytorch'
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
triggering_actor: ${{ github.triggering_actor }}
issue_owner: ${{ github.event.pull_request.user.login || github.event.issue.user.login }}
diff --git a/.github/workflows/inductor-micro-benchmark-x86.yml b/.github/workflows/inductor-micro-benchmark-x86.yml
index c6cc075e6b27..ce2b5f9bdec1 100644
--- a/.github/workflows/inductor-micro-benchmark-x86.yml
+++ b/.github/workflows/inductor-micro-benchmark-x86.yml
@@ -13,6 +13,7 @@ concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref_name }}-${{ github.ref_type == 'branch' && github.sha }}-${{ github.event_name == 'workflow_dispatch' }}-${{ github.event_name == 'schedule' }}
cancel-in-progress: true
+<<<<<<< HEAD
permissions:
id-token: write
contents: read
@@ -25,6 +26,18 @@ jobs:
with:
build-environment: linux-jammy-py3.9-gcc11
docker-image-name: ci-image:pytorch-linux-jammy-py3-gcc11-inductor-benchmarks
+=======
+permissions: read-all
+
+jobs:
+ linux-jammy-cpu-py3_9-gcc11-inductor-build:
+ if: ${{ (github.event_name != 'schedule' || github.repository == 'pytorch/pytorch') && github.repository_owner == 'pytorch' }}
+ name: linux-jammy-cpu-py3.9-gcc11-inductor
+ uses: ./.github/workflows/_linux-build.yml
+ with:
+ build-environment: linux-jammy-py3.9-gcc11
+ docker-image-name: ci-image:pytorch-linux-jammy-py3.9-gcc11-inductor-benchmarks
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# Use metal host for benchmark jobs
test-matrix: |
{ include: [
@@ -32,6 +45,7 @@ jobs:
]}
secrets: inherit
+<<<<<<< HEAD
inductor-micro-benchmark-test:
name: inductor-micro-benchmark-test
uses: ./.github/workflows/_linux-test.yml
@@ -40,5 +54,15 @@ jobs:
build-environment: linux-jammy-py3.9-gcc11
docker-image: ${{ needs.inductor-build.outputs.docker-image }}
test-matrix: ${{ needs.inductor-build.outputs.test-matrix }}
+=======
+ linux-jammy-cpu-py3_9-gcc11-inductor-micro-benchmark-test:
+ name: linux-jammy-cpu-py3.9-gcc11-inductor
+ uses: ./.github/workflows/_linux-test.yml
+ needs: linux-jammy-cpu-py3_9-gcc11-inductor-build
+ with:
+ build-environment: linux-jammy-py3.9-gcc11
+ docker-image: ${{ needs.linux-jammy-cpu-py3_9-gcc11-inductor-build.outputs.docker-image }}
+ test-matrix: ${{ needs.linux-jammy-cpu-py3_9-gcc11-inductor-build.outputs.test-matrix }}
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
timeout-minutes: 720
secrets: inherit
diff --git a/.github/workflows/inductor-micro-benchmark.yml b/.github/workflows/inductor-micro-benchmark.yml
index 842094e0eb48..397a41fce1fe 100644
--- a/.github/workflows/inductor-micro-benchmark.yml
+++ b/.github/workflows/inductor-micro-benchmark.yml
@@ -13,14 +13,22 @@ concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref_name }}-${{ github.ref_type == 'branch' && github.sha }}-${{ github.event_name == 'workflow_dispatch' }}-${{ github.event_name == 'schedule' }}
cancel-in-progress: true
+<<<<<<< HEAD
permissions:
id-token: write
contents: read
+=======
+permissions: read-all
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
jobs:
get-default-label-prefix:
name: get-default-label-prefix
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ (github.event_name != 'schedule' || github.repository == 'pytorch/pytorch') && github.repository_owner == 'pytorch' }}
with:
triggering_actor: ${{ github.triggering_actor }}
diff --git a/.github/workflows/inductor-nightly.yml b/.github/workflows/inductor-nightly.yml
index 7502381de93d..f1a0682c5573 100644
--- a/.github/workflows/inductor-nightly.yml
+++ b/.github/workflows/inductor-nightly.yml
@@ -16,14 +16,22 @@ concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}-${{ github.event_name == 'workflow_dispatch' }}
cancel-in-progress: true
+<<<<<<< HEAD
permissions:
id-token: write
contents: read
+=======
+permissions: read-all
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
jobs:
get-default-label-prefix:
name: get-default-label-prefix
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ (github.event_name != 'schedule' || github.repository == 'pytorch/pytorch') && github.repository_owner == 'pytorch' }}
with:
triggering_actor: ${{ github.triggering_actor }}
@@ -32,6 +40,7 @@ jobs:
curr_ref_type: ${{ github.ref_type }}
opt_out_experiments: lf
+<<<<<<< HEAD
nightly-dynamo-benchmarks-build:
name: nightly-dynamo-benchmarks-build
uses: ./.github/workflows/_linux-build.yml
@@ -39,6 +48,15 @@ jobs:
with:
build-environment: linux-jammy-py3.10-gcc11-build
docker-image-name: ci-image:pytorch-linux-jammy-py3-gcc11-inductor-benchmarks
+=======
+ linux-jammy-cpu-py3_9-gcc11-nightly-dynamo-benchmarks-build:
+ name: linux-jammy-cpu-py3.9-gcc11-nightly-dynamo-benchmarks
+ uses: ./.github/workflows/_linux-build.yml
+ needs: get-default-label-prefix
+ with:
+ build-environment: linux-jammy-py3.9-gcc11-build
+ docker-image-name: ci-image:pytorch-linux-jammy-py3.9-gcc11-inductor-benchmarks
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
runner_prefix: "${{ needs.get-default-label-prefix.outputs.label-type }}"
test-matrix: |
{ include: [
@@ -48,6 +66,7 @@ jobs:
{ config: "dynamic_cpu_max_autotune_inductor_amp_freezing_torchbench", shard: 1, num_shards: 2, runner: "linux.8xlarge.amx" },
{ config: "dynamic_cpu_max_autotune_inductor_amp_freezing_torchbench", shard: 2, num_shards: 2, runner: "linux.8xlarge.amx" },
]}
+<<<<<<< HEAD
build-additional-packages: "vision audio torchao"
secrets: inherit
@@ -59,5 +78,17 @@ jobs:
build-environment: linux-jammy-py3.10-gcc11-build
docker-image: ${{ needs.nightly-dynamo-benchmarks-build.outputs.docker-image }}
test-matrix: ${{ needs.nightly-dynamo-benchmarks-build.outputs.test-matrix }}
+=======
+ secrets: inherit
+
+ linux-jammy-cpu-py3_9-gcc11-nightly-dynamo-benchmarks-test:
+ name: linux-jammy-cpu-py3.9-gcc11-nightly-dynamo-benchmarks
+ uses: ./.github/workflows/_linux-test.yml
+ needs: linux-jammy-cpu-py3_9-gcc11-nightly-dynamo-benchmarks-build
+ with:
+ build-environment: linux-jammy-py3.9-gcc11-build
+ docker-image: ${{ needs.linux-jammy-cpu-py3_9-gcc11-nightly-dynamo-benchmarks-build.outputs.docker-image }}
+ test-matrix: ${{ needs.linux-jammy-cpu-py3_9-gcc11-nightly-dynamo-benchmarks-build.outputs.test-matrix }}
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
timeout-minutes: 720
secrets: inherit
diff --git a/.github/workflows/inductor-perf-compare.yml b/.github/workflows/inductor-perf-compare.yml
index 35217f72bf1a..16cd9d2dfa6d 100644
--- a/.github/workflows/inductor-perf-compare.yml
+++ b/.github/workflows/inductor-perf-compare.yml
@@ -10,15 +10,23 @@ concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref_name }}-${{ github.ref_type == 'branch' && github.sha }}-${{ github.event_name == 'workflow_dispatch' }}
cancel-in-progress: true
+<<<<<<< HEAD
permissions:
id-token: write
contents: read
+=======
+permissions: read-all
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
jobs:
get-default-label-prefix:
if: github.repository_owner == 'pytorch'
name: get-default-label-prefix
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
triggering_actor: ${{ github.triggering_actor }}
issue_owner: ${{ github.event.pull_request.user.login || github.event.issue.user.login }}
@@ -43,7 +51,10 @@ jobs:
{ config: "inductor_timm_perf_compare", shard: 2, num_shards: 2, runner: "linux.aws.a100" },
{ config: "inductor_torchbench_perf_compare", shard: 1, num_shards: 1, runner: "linux.aws.a100" },
]}
+<<<<<<< HEAD
build-additional-packages: "vision audio fbgemm torchao"
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets: inherit
test:
diff --git a/.github/workflows/inductor-perf-test-nightly-aarch64.yml b/.github/workflows/inductor-perf-test-nightly-aarch64.yml
index 9e3165fe11ea..b96fe8032c88 100644
--- a/.github/workflows/inductor-perf-test-nightly-aarch64.yml
+++ b/.github/workflows/inductor-perf-test-nightly-aarch64.yml
@@ -48,14 +48,22 @@ concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref_name }}-${{ github.ref_type == 'branch' && github.sha }}-${{ github.event_name == 'workflow_dispatch' }}-${{ github.event_name == 'schedule' }}
cancel-in-progress: true
+<<<<<<< HEAD
permissions:
id-token: write
contents: read
+=======
+permissions: read-all
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
jobs:
get-label-type:
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ (github.event_name != 'schedule' || github.repository == 'pytorch/pytorch') && github.repository_owner == 'pytorch' }}
with:
triggering_actor: ${{ github.triggering_actor }}
@@ -116,7 +124,10 @@ jobs:
{ config: "inductor_torchbench_perf_cpu_aarch64", shard: 15, num_shards: 15, runner: "linux.arm64.m7g.metal" },
]}
selected-test-configs: ${{ inputs.benchmark_configs }}
+<<<<<<< HEAD
build-additional-packages: "vision audio torchao"
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets: inherit
diff --git a/.github/workflows/inductor-perf-test-nightly-h100.yml b/.github/workflows/inductor-perf-test-nightly-h100.yml
index 7e323fa5a92e..336bebe553c2 100644
--- a/.github/workflows/inductor-perf-test-nightly-h100.yml
+++ b/.github/workflows/inductor-perf-test-nightly-h100.yml
@@ -2,7 +2,11 @@ name: inductor-perf-nightly-h100
on:
schedule:
+<<<<<<< HEAD
- cron: 15 0,12 * * 1-6
+=======
+ - cron: 15 0,4,8,12,16,20 * * 1-6
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- cron: 0 7 * * 0
# NB: GitHub has an upper limit of 10 inputs here, so before we can sort it
# out, let try to run torchao cudagraphs_low_precision as part of cudagraphs
@@ -58,6 +62,7 @@ on:
required: false
type: string
default: inductor_huggingface_perf_cuda_h100,inductor_timm_perf_cuda_h100,inductor_torchbench_perf_cuda_h100
+<<<<<<< HEAD
pull_request:
# Changing these files guarantees that this workflow needs to be run
paths:
@@ -71,11 +76,23 @@ concurrency:
permissions:
id-token: write
contents: read
+=======
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref_name }}-${{ github.ref_type == 'branch' && github.sha }}-${{ github.event_name == 'workflow_dispatch' }}-${{ github.event_name == 'schedule' }}
+ cancel-in-progress: true
+
+permissions: read-all
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
jobs:
get-label-type:
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ (github.event_name != 'schedule' || github.repository == 'pytorch/pytorch') && github.repository_owner == 'pytorch' }}
with:
triggering_actor: ${{ github.triggering_actor }}
@@ -84,17 +101,26 @@ jobs:
curr_ref_type: ${{ github.ref_type }}
opt_out_experiments: lf
+<<<<<<< HEAD
build:
name: build
+=======
+ # NB: Keep this in sync with trunk.yml
+ build:
+ name: cuda12.8-py3.10-gcc9-sm90
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
uses: ./.github/workflows/_linux-build.yml
needs: get-label-type
with:
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+<<<<<<< HEAD
# Use a bigger runner here because CUDA_ARCH 9.0 is only built for H100
# or newer GPUs, so it doesn't benefit much from existing compiler cache
# from trunk. Also use a memory-intensive runner here because memory is
# usually the bottleneck
runner: linux.12xlarge.memory
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
build-environment: linux-jammy-cuda12.8-py3.10-gcc9-sm90
docker-image-name: ci-image:pytorch-linux-jammy-cuda12.8-cudnn9-py3-gcc9-inductor-benchmarks
cuda-arch-list: '9.0'
@@ -123,6 +149,7 @@ jobs:
{ config: "inductor_torchbench_perf_cuda_h100", shard: 9, num_shards: 9, runner: "linux.aws.h100" },
]}
selected-test-configs: ${{ inputs.benchmark_configs }}
+<<<<<<< HEAD
build-additional-packages: "vision audio fbgemm torchao"
secrets: inherit
@@ -131,6 +158,15 @@ jobs:
uses: ./.github/workflows/_linux-test.yml
needs: build
if: github.event.schedule == '15 0,12 * * 1-6'
+=======
+ secrets: inherit
+
+ test-periodically:
+ name: cuda12.8-py3.10-gcc9-sm90
+ uses: ./.github/workflows/_linux-test.yml
+ needs: build
+ if: github.event.schedule == '15 0,4,8,12,16,20 * * 1-6'
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
build-environment: linux-jammy-cuda12.8-py3.10-gcc9-sm90
dashboard-tag: training-true-inference-true-default-true-dynamic-true-cudagraphs-true-cppwrapper-true-aotinductor-true-freezing_cudagraphs-true-cudagraphs_low_precision-true
@@ -144,7 +180,11 @@ jobs:
secrets: inherit
test-weekly:
+<<<<<<< HEAD
name: test-weekly
+=======
+ name: cuda12.8-py3.10-gcc9-sm90
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
uses: ./.github/workflows/_linux-test.yml
needs: build
if: github.event.schedule == '0 7 * * 0'
@@ -161,6 +201,7 @@ jobs:
secrets: inherit
test:
+<<<<<<< HEAD
name: test
uses: ./.github/workflows/_linux-test.yml
needs: build
@@ -170,6 +211,15 @@ jobs:
with:
build-environment: linux-jammy-cuda12.8-py3.10-gcc9-sm90
dashboard-tag: training-${{ inputs.training || 'true' }}-inference-${{ inputs.inference || 'true' }}-default-${{ inputs.default || 'true' }}-dynamic-${{ inputs.dynamic || 'true' }}-cudagraphs-${{ inputs.cudagraphs || 'true' }}-cppwrapper-${{ inputs.cppwrapper || 'false' }}-aotinductor-${{ inputs.aotinductor || 'false' }}-maxautotune-${{ inputs.maxautotune || 'false' }}-freezing_cudagraphs-${{ inputs.freezing_cudagraphs || 'false' }}-cudagraphs_low_precision-${{ inputs.cudagraphs || 'false' }}
+=======
+ name: cuda12.8-py3.10-gcc9-sm90
+ uses: ./.github/workflows/_linux-test.yml
+ needs: build
+ if: github.event_name == 'workflow_dispatch'
+ with:
+ build-environment: linux-jammy-cuda12.8-py3.10-gcc9-sm90
+ dashboard-tag: training-${{ inputs.training }}-inference-${{ inputs.inference }}-default-${{ inputs.default }}-dynamic-${{ inputs.dynamic }}-cudagraphs-${{ inputs.cudagraphs }}-cppwrapper-${{ inputs.cppwrapper }}-aotinductor-${{ inputs.aotinductor }}-maxautotune-${{ inputs.maxautotune }}-freezing_cudagraphs-${{ inputs.freezing_cudagraphs }}-cudagraphs_low_precision-${{ inputs.cudagraphs }}
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
docker-image: ${{ needs.build.outputs.docker-image }}
test-matrix: ${{ needs.build.outputs.test-matrix }}
timeout-minutes: 720
diff --git a/.github/workflows/inductor-perf-test-nightly-macos.yml b/.github/workflows/inductor-perf-test-nightly-macos.yml
index c3b9a4229924..b1615aee436e 100644
--- a/.github/workflows/inductor-perf-test-nightly-macos.yml
+++ b/.github/workflows/inductor-perf-test-nightly-macos.yml
@@ -48,9 +48,12 @@ jobs:
{ config: "perf_smoketest", shard: 1, num_shards: 3, runner: "macos-m2-15" },
{ config: "perf_smoketest", shard: 2, num_shards: 3, runner: "macos-m2-15" },
{ config: "perf_smoketest", shard: 3, num_shards: 3, runner: "macos-m2-15" },
+<<<<<<< HEAD
{ config: "aot_inductor_perf_smoketest", shard: 1, num_shards: 3, runner: "macos-m2-15" },
{ config: "aot_inductor_perf_smoketest", shard: 2, num_shards: 3, runner: "macos-m2-15" },
{ config: "aot_inductor_perf_smoketest", shard: 3, num_shards: 3, runner: "macos-m2-15" },
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
]}
secrets: inherit
diff --git a/.github/workflows/inductor-perf-test-nightly-rocm.yml b/.github/workflows/inductor-perf-test-nightly-rocm.yml
index dddf68091fdb..382344facb9c 100644
--- a/.github/workflows/inductor-perf-test-nightly-rocm.yml
+++ b/.github/workflows/inductor-perf-test-nightly-rocm.yml
@@ -5,7 +5,11 @@ on:
tags:
- ciflow/inductor-perf-test-nightly-rocm/*
schedule:
+<<<<<<< HEAD
- cron: 0 7 * * 0,3
+=======
+ - cron: 0 7 * * 0
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# NB: GitHub has an upper limit of 10 inputs here, so before we can sort it
# out, let try to run torchao cudagraphs_low_precision as part of cudagraphs
workflow_dispatch:
@@ -70,7 +74,11 @@ permissions: read-all
jobs:
get-label-type:
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ (github.event_name != 'schedule' || github.repository == 'pytorch/pytorch') && github.repository_owner == 'pytorch' }}
with:
triggering_actor: ${{ github.triggering_actor }}
@@ -85,6 +93,7 @@ jobs:
uses: ./.github/workflows/_linux-build.yml
with:
build-environment: linux-jammy-rocm-py3_10
+<<<<<<< HEAD
docker-image-name: ci-image:pytorch-linux-jammy-rocm-n-py3-benchmarks
test-matrix: |
{ include: [
@@ -105,6 +114,23 @@ jobs:
{ config: "inductor_torchbench_perf_rocm", shard: 6, num_shards: 8, runner: "linux.rocm.gpu.gfx942.1" },
{ config: "inductor_torchbench_perf_rocm", shard: 7, num_shards: 8, runner: "linux.rocm.gpu.gfx942.1" },
{ config: "inductor_torchbench_perf_rocm", shard: 8, num_shards: 8, runner: "linux.rocm.gpu.gfx942.1" },
+=======
+ docker-image-name: ci-image:pytorch-linux-jammy-rocm-n-py3
+ test-matrix: |
+ { include: [
+ { config: "inductor_huggingface_perf_rocm", shard: 1, num_shards: 3, runner: "linux.rocm.gpu.mi300.2" },
+ { config: "inductor_huggingface_perf_rocm", shard: 2, num_shards: 3, runner: "linux.rocm.gpu.mi300.2" },
+ { config: "inductor_huggingface_perf_rocm", shard: 3, num_shards: 3, runner: "linux.rocm.gpu.mi300.2" },
+ { config: "inductor_timm_perf_rocm", shard: 1, num_shards: 5, runner: "linux.rocm.gpu.mi300.2" },
+ { config: "inductor_timm_perf_rocm", shard: 2, num_shards: 5, runner: "linux.rocm.gpu.mi300.2" },
+ { config: "inductor_timm_perf_rocm", shard: 3, num_shards: 5, runner: "linux.rocm.gpu.mi300.2" },
+ { config: "inductor_timm_perf_rocm", shard: 4, num_shards: 5, runner: "linux.rocm.gpu.mi300.2" },
+ { config: "inductor_timm_perf_rocm", shard: 5, num_shards: 5, runner: "linux.rocm.gpu.mi300.2" },
+ { config: "inductor_torchbench_perf_rocm", shard: 1, num_shards: 4, runner: "linux.rocm.gpu.mi300.2" },
+ { config: "inductor_torchbench_perf_rocm", shard: 2, num_shards: 4, runner: "linux.rocm.gpu.mi300.2" },
+ { config: "inductor_torchbench_perf_rocm", shard: 3, num_shards: 4, runner: "linux.rocm.gpu.mi300.2" },
+ { config: "inductor_torchbench_perf_rocm", shard: 4, num_shards: 4, runner: "linux.rocm.gpu.mi300.2" },
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
]}
secrets: inherit
diff --git a/.github/workflows/inductor-perf-test-nightly-x86-zen.yml b/.github/workflows/inductor-perf-test-nightly-x86-zen.yml
index 8057b1042676..544b78b03e11 100644
--- a/.github/workflows/inductor-perf-test-nightly-x86-zen.yml
+++ b/.github/workflows/inductor-perf-test-nightly-x86-zen.yml
@@ -47,20 +47,32 @@ on:
description: The list of configs used the benchmark
required: false
type: string
+<<<<<<< HEAD
default: inductor_huggingface_perf_cpu_x86_zen,inductor_timm_perf_cpu_x86_zen,inductor_torchbench_perf_cpu_x86_zen
+=======
+ default: inductor_huggingface_perf_zen_cpu_x86,inductor_timm_perf_zen_cpu_x86,inductor_torchbench_perf_zen_cpu_x86
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref_name }}-${{ github.ref_type == 'branch' && github.sha }}-${{ github.event_name == 'workflow_dispatch' }}-${{ github.event_name == 'schedule' }}
cancel-in-progress: true
+<<<<<<< HEAD
permissions:
id-token: write
contents: read
+=======
+permissions: read-all
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
jobs:
get-label-type:
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ (github.event_name != 'schedule' || github.repository == 'pytorch/pytorch') && github.repository_owner == 'pytorch' }}
with:
triggering_actor: ${{ github.triggering_actor }}
@@ -69,12 +81,18 @@ jobs:
curr_ref_type: ${{ github.ref_type }}
opt_out_experiments: lf
+<<<<<<< HEAD
inductor-build:
name: inductor-build
+=======
+ linux-jammy-zen-cpu-py3_9-gcc11-inductor-build:
+ name: linux-jammy-zen-cpu-py3.9-gcc11-inductor
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
uses: ./.github/workflows/_linux-build.yml
needs: get-label-type
with:
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+<<<<<<< HEAD
build-environment: linux-jammy-py3.10-gcc11-build
docker-image-name: ci-image:pytorch-linux-jammy-py3-gcc11-inductor-benchmarks
test-matrix: |
@@ -91,10 +109,29 @@ jobs:
{ config: "inductor_torchbench_perf_cpu_x86_zen", shard: 2, num_shards: 4, runner: "linux.24xlarge.amd" },
{ config: "inductor_torchbench_perf_cpu_x86_zen", shard: 3, num_shards: 4, runner: "linux.24xlarge.amd" },
{ config: "inductor_torchbench_perf_cpu_x86_zen", shard: 4, num_shards: 4, runner: "linux.24xlarge.amd" },
+=======
+ build-environment: linux-jammy-py3.9-gcc11-build
+ docker-image-name: ci-image:pytorch-linux-jammy-py3.9-gcc11-inductor-benchmarks
+ test-matrix: |
+ { include: [
+ { config: "inductor_huggingface_perf_zen_cpu_x86", shard: 1, num_shards: 3, runner: "linux.24xlarge.amd" },
+ { config: "inductor_huggingface_perf_zen_cpu_x86", shard: 2, num_shards: 3, runner: "linux.24xlarge.amd" },
+ { config: "inductor_huggingface_perf_zen_cpu_x86", shard: 3, num_shards: 3, runner: "linux.24xlarge.amd" },
+ { config: "inductor_timm_perf_zen_cpu_x86", shard: 1, num_shards: 5, runner: "linux.24xlarge.amd" },
+ { config: "inductor_timm_perf_zen_cpu_x86", shard: 2, num_shards: 5, runner: "linux.24xlarge.amd" },
+ { config: "inductor_timm_perf_zen_cpu_x86", shard: 3, num_shards: 5, runner: "linux.24xlarge.amd" },
+ { config: "inductor_timm_perf_zen_cpu_x86", shard: 4, num_shards: 5, runner: "linux.24xlarge.amd" },
+ { config: "inductor_timm_perf_zen_cpu_x86", shard: 5, num_shards: 5, runner: "linux.24xlarge.amd" },
+ { config: "inductor_torchbench_perf_zen_cpu_x86", shard: 1, num_shards: 4, runner: "linux.24xlarge.amd" },
+ { config: "inductor_torchbench_perf_zen_cpu_x86", shard: 2, num_shards: 4, runner: "linux.24xlarge.amd" },
+ { config: "inductor_torchbench_perf_zen_cpu_x86", shard: 3, num_shards: 4, runner: "linux.24xlarge.amd" },
+ { config: "inductor_torchbench_perf_zen_cpu_x86", shard: 4, num_shards: 4, runner: "linux.24xlarge.amd" },
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
]}
selected-test-configs: ${{ inputs.benchmark_configs }}
secrets: inherit
+<<<<<<< HEAD
inductor-test-nightly:
name: inductor-test-nightly
uses: ./.github/workflows/_linux-test.yml
@@ -105,6 +142,18 @@ jobs:
dashboard-tag: training-false-inference-true-default-true-dynamic-true-cppwrapper-true-aotinductor-true
docker-image: ${{ needs.inductor-build.outputs.docker-image }}
test-matrix: ${{ needs.inductor-build.outputs.test-matrix }}
+=======
+ linux-jammy-zen-cpu-py3_9-gcc11-inductor-test-nightly:
+ name: linux-jammy-zen-cpu-py3.9-gcc11-inductor
+ uses: ./.github/workflows/_linux-test.yml
+ needs: linux-jammy-zen-cpu-py3_9-gcc11-inductor-build
+ if: github.event.schedule == '0 7 * * *'
+ with:
+ build-environment: linux-jammy-py3.9-gcc11-build
+ dashboard-tag: training-false-inference-true-default-true-dynamic-true-cppwrapper-true-aotinductor-true
+ docker-image: ${{ needs.linux-jammy-zen-cpu-py3_9-gcc11-inductor-build.outputs.docker-image }}
+ test-matrix: ${{ needs.linux-jammy-zen-cpu-py3_9-gcc11-inductor-build.outputs.test-matrix }}
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
timeout-minutes: 720
# disable monitor in perf tests
disable-monitor: false
@@ -112,6 +161,7 @@ jobs:
monitor-data-collect-interval: 4
secrets: inherit
+<<<<<<< HEAD
inductor-test:
name: inductor-test
uses: ./.github/workflows/_linux-test.yml
@@ -122,6 +172,19 @@ jobs:
dashboard-tag: training-${{ inputs.training }}-inference-${{ inputs.inference }}-default-${{ inputs.default }}-dynamic-${{ inputs.dynamic }}-cppwrapper-${{ inputs.cppwrapper }}-aotinductor-${{ inputs.aotinductor }}
docker-image: ${{ needs.inductor-build.outputs.docker-image }}
test-matrix: ${{ needs.inductor-build.outputs.test-matrix }}
+=======
+
+ linux-jammy-zen-cpu-py3_9-gcc11-inductor-test:
+ name: linux-jammy-zen-cpu-py3.9-gcc11-inductor
+ uses: ./.github/workflows/_linux-test.yml
+ needs: linux-jammy-zen-cpu-py3_9-gcc11-inductor-build
+ if: github.event_name == 'workflow_dispatch'
+ with:
+ build-environment: linux-jammy-py3.9-gcc11-build
+ dashboard-tag: training-${{ inputs.training }}-inference-${{ inputs.inference }}-default-${{ inputs.default }}-dynamic-${{ inputs.dynamic }}-cppwrapper-${{ inputs.cppwrapper }}-aotinductor-${{ inputs.aotinductor }}
+ docker-image: ${{ needs.linux-jammy-zen-cpu-py3_9-gcc11-inductor-build.outputs.docker-image }}
+ test-matrix: ${{ needs.linux-jammy-zen-cpu-py3_9-gcc11-inductor-build.outputs.test-matrix }}
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
timeout-minutes: 720
# disable monitor in perf tests
disable-monitor: false
diff --git a/.github/workflows/inductor-perf-test-nightly-x86.yml b/.github/workflows/inductor-perf-test-nightly-x86.yml
index b68e9ad95ca4..dbc82851fc5e 100644
--- a/.github/workflows/inductor-perf-test-nightly-x86.yml
+++ b/.github/workflows/inductor-perf-test-nightly-x86.yml
@@ -1,9 +1,12 @@
name: inductor-perf-nightly-x86
on:
+<<<<<<< HEAD
pull_request:
paths:
- .github/workflows/inductor-perf-test-nightly-x86.yml
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
schedule:
# - cron: 0 7 * * 1-6
# - cron: 0 7 * * 0
@@ -43,11 +46,14 @@ on:
required: false
type: boolean
default: false
+<<<<<<< HEAD
freezing:
description: Run freezing?
required: false
type: boolean
default: true
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
benchmark_configs:
description: The list of configs used the benchmark
required: false
@@ -55,17 +61,28 @@ on:
default: inductor_huggingface_perf_cpu_x86,inductor_timm_perf_cpu_x86,inductor_torchbench_perf_cpu_x86
concurrency:
+<<<<<<< HEAD
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}-${{ github.event_name == 'workflow_dispatch' }}-${{ github.ref_type == 'branch' && github.sha }}-${{ github.event_name == 'schedule' }}
cancel-in-progress: true
permissions:
id-token: write
contents: read
+=======
+ group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref_name }}-${{ github.ref_type == 'branch' && github.sha }}-${{ github.event_name == 'workflow_dispatch' }}-${{ github.event_name == 'schedule' }}
+ cancel-in-progress: true
+
+permissions: read-all
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
jobs:
get-label-type:
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ (github.event_name != 'schedule' || github.repository == 'pytorch/pytorch') && github.repository_owner == 'pytorch' }}
with:
triggering_actor: ${{ github.triggering_actor }}
@@ -74,14 +91,24 @@ jobs:
curr_ref_type: ${{ github.ref_type }}
opt_out_experiments: lf
+<<<<<<< HEAD
inductor-build:
name: inductor-build
+=======
+ linux-jammy-cpu-py3_9-gcc11-inductor-build:
+ name: linux-jammy-cpu-py3.9-gcc11-inductor
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
uses: ./.github/workflows/_linux-build.yml
needs: get-label-type
with:
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+<<<<<<< HEAD
build-environment: linux-jammy-py3.10-gcc11-build
docker-image-name: ci-image:pytorch-linux-jammy-py3-gcc11-inductor-benchmarks
+=======
+ build-environment: linux-jammy-py3.9-gcc11-build
+ docker-image-name: ci-image:pytorch-linux-jammy-py3.9-gcc11-inductor-benchmarks
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
test-matrix: |
{ include: [
{ config: "inductor_huggingface_perf_cpu_x86", shard: 1, num_shards: 3, runner: "linux.24xl.spr-metal" },
@@ -98,6 +125,7 @@ jobs:
{ config: "inductor_torchbench_perf_cpu_x86", shard: 4, num_shards: 4, runner: "linux.24xl.spr-metal" },
]}
selected-test-configs: ${{ inputs.benchmark_configs }}
+<<<<<<< HEAD
build-additional-packages: "vision audio torchao"
secrets: inherit
@@ -111,6 +139,21 @@ jobs:
dashboard-tag: training-false-inference-true-default-true-dynamic-true-cppwrapper-true-aotinductor-true-freezing-true
docker-image: ${{ needs.inductor-build.outputs.docker-image }}
test-matrix: ${{ needs.inductor-build.outputs.test-matrix }}
+=======
+ secrets: inherit
+
+
+ linux-jammy-cpu-py3_9-gcc11-inductor-test-nightly:
+ name: linux-jammy-cpu-py3.9-gcc11-inductor
+ uses: ./.github/workflows/_linux-test.yml
+ needs: linux-jammy-cpu-py3_9-gcc11-inductor-build
+ if: github.event.schedule == '0 7 * * *'
+ with:
+ build-environment: linux-jammy-py3.9-gcc11-build
+ dashboard-tag: training-false-inference-true-default-true-dynamic-true-cppwrapper-true-aotinductor-true
+ docker-image: ${{ needs.linux-jammy-cpu-py3_9-gcc11-inductor-build.outputs.docker-image }}
+ test-matrix: ${{ needs.linux-jammy-cpu-py3_9-gcc11-inductor-build.outputs.test-matrix }}
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
timeout-minutes: 720
# disable monitor in perf tests
disable-monitor: false
@@ -118,6 +161,7 @@ jobs:
monitor-data-collect-interval: 4
secrets: inherit
+<<<<<<< HEAD
inductor-test:
name: inductor-test
uses: ./.github/workflows/_linux-test.yml
@@ -128,6 +172,19 @@ jobs:
dashboard-tag: training-${{ inputs.training }}-inference-${{ inputs.inference }}-default-${{ inputs.default }}-dynamic-${{ inputs.dynamic }}-cppwrapper-${{ inputs.cppwrapper }}-aotinductor-${{ inputs.aotinductor }}-freezing-${{ inputs.freezing }}
docker-image: ${{ needs.inductor-build.outputs.docker-image }}
test-matrix: ${{ needs.inductor-build.outputs.test-matrix }}
+=======
+
+ linux-jammy-cpu-py3_9-gcc11-inductor-test:
+ name: linux-jammy-cpu-py3.9-gcc11-inductor
+ uses: ./.github/workflows/_linux-test.yml
+ needs: linux-jammy-cpu-py3_9-gcc11-inductor-build
+ if: github.event_name == 'workflow_dispatch'
+ with:
+ build-environment: linux-jammy-py3.9-gcc11-build
+ dashboard-tag: training-${{ inputs.training }}-inference-${{ inputs.inference }}-default-${{ inputs.default }}-dynamic-${{ inputs.dynamic }}-cppwrapper-${{ inputs.cppwrapper }}-aotinductor-${{ inputs.aotinductor }}
+ docker-image: ${{ needs.linux-jammy-cpu-py3_9-gcc11-inductor-build.outputs.docker-image }}
+ test-matrix: ${{ needs.linux-jammy-cpu-py3_9-gcc11-inductor-build.outputs.test-matrix }}
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
timeout-minutes: 720
# disable monitor in perf tests
disable-monitor: false
diff --git a/.github/workflows/inductor-perf-test-nightly.yml b/.github/workflows/inductor-perf-test-nightly.yml
index 7c573d4d2571..1bb52eaf381f 100644
--- a/.github/workflows/inductor-perf-test-nightly.yml
+++ b/.github/workflows/inductor-perf-test-nightly.yml
@@ -63,14 +63,22 @@ concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref_name }}-${{ github.ref_type == 'branch' && github.sha }}-${{ github.event_name == 'workflow_dispatch' }}-${{ github.event_name == 'schedule' }}
cancel-in-progress: true
+<<<<<<< HEAD
permissions:
id-token: write
contents: read
+=======
+permissions: read-all
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
jobs:
get-label-type:
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ (github.event_name != 'schedule' || github.repository == 'pytorch/pytorch') && github.repository_owner == 'pytorch' }}
with:
triggering_actor: ${{ github.triggering_actor }}
@@ -79,14 +87,21 @@ jobs:
curr_ref_type: ${{ github.ref_type }}
opt_out_experiments: lf
+<<<<<<< HEAD
+=======
+ # NB: Keep this in sync with trunk.yml
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
build:
name: cuda12.8-py3.10-gcc9-sm80
uses: ./.github/workflows/_linux-build.yml
needs: get-label-type
with:
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+<<<<<<< HEAD
# Every bit to make perf run faster helps
runner: linux.12xlarge.memory
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
build-environment: linux-jammy-cuda12.8-py3.10-gcc9-sm80
docker-image-name: ci-image:pytorch-linux-jammy-cuda12.8-cudnn9-py3-gcc9-inductor-benchmarks
cuda-arch-list: '8.0'
@@ -113,7 +128,10 @@ jobs:
{ config: "cachebench", shard: 2, num_shards: 2, runner: "linux.aws.a100" },
]}
selected-test-configs: ${{ inputs.benchmark_configs }}
+<<<<<<< HEAD
build-additional-packages: "vision audio fbgemm torchao"
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets: inherit
test-nightly:
diff --git a/.github/workflows/inductor-periodic.yml b/.github/workflows/inductor-periodic.yml
index b17ebb84d5d3..a97f3e797329 100644
--- a/.github/workflows/inductor-periodic.yml
+++ b/.github/workflows/inductor-periodic.yml
@@ -15,14 +15,22 @@ concurrency:
cancel-in-progress: true
+<<<<<<< HEAD
permissions:
id-token: write
contents: read
+=======
+permissions: read-all
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
jobs:
get-default-label-prefix:
name: get-default-label-prefix
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ (github.event_name != 'schedule' || github.repository == 'pytorch/pytorch') && github.repository_owner == 'pytorch' }}
with:
triggering_actor: ${{ github.triggering_actor }}
@@ -31,8 +39,13 @@ jobs:
curr_ref_type: ${{ github.ref_type }}
opt_out_experiments: lf
+<<<<<<< HEAD
periodic-dynamo-benchmarks-build:
name: periodic-dynamo-benchmarks-build
+=======
+ linux-jammy-cuda12_8-py3_10-gcc9-periodic-dynamo-benchmarks-build:
+ name: cuda12.8-py3.10-gcc9-sm86-periodic-dynamo-benchmarks
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
uses: ./.github/workflows/_linux-build.yml
needs: get-default-label-prefix
with:
@@ -57,6 +70,7 @@ jobs:
{ config: "dynamic_aot_eager_huggingface", shard: 1, num_shards: 1, runner: "linux.g5.4xlarge.nvidia.gpu" },
{ config: "dynamic_aot_eager_timm", shard: 1, num_shards: 2, runner: "linux.g5.4xlarge.nvidia.gpu" },
{ config: "dynamic_aot_eager_timm", shard: 2, num_shards: 2, runner: "linux.g5.4xlarge.nvidia.gpu" },
+<<<<<<< HEAD
{ config: "dynamic_inductor_huggingface", shard: 1, num_shards: 1, runner: "linux.g5.4xlarge.nvidia.gpu" },
{ config: "dynamic_inductor_timm", shard: 1, num_shards: 2, runner: "linux.g5.4xlarge.nvidia.gpu" },
{ config: "dynamic_inductor_timm", shard: 2, num_shards: 2, runner: "linux.g5.4xlarge.nvidia.gpu" },
@@ -124,6 +138,64 @@ jobs:
inductor-smoke-build:
name: inductor-smoke-build
+=======
+ ]}
+ secrets: inherit
+
+ linux-jammy-cuda12_8-py3_10-gcc9-periodic-dynamo-benchmarks-test:
+ name: cuda12.8-py3.10-gcc9-sm86-periodic-dynamo-benchmarks
+ uses: ./.github/workflows/_linux-test.yml
+ needs: linux-jammy-cuda12_8-py3_10-gcc9-periodic-dynamo-benchmarks-build
+ with:
+ build-environment: linux-jammy-cuda12.8-py3.10-gcc9-sm86
+ docker-image: ${{ needs.linux-jammy-cuda12_8-py3_10-gcc9-periodic-dynamo-benchmarks-build.outputs.docker-image }}
+ test-matrix: ${{ needs.linux-jammy-cuda12_8-py3_10-gcc9-periodic-dynamo-benchmarks-build.outputs.test-matrix }}
+ secrets: inherit
+
+ linux-jammy-rocm-py3_10-periodic-dynamo-benchmarks-build:
+ if: github.repository_owner == 'pytorch'
+ name: rocm-py3_10-periodic-dynamo-benchmarks
+ uses: ./.github/workflows/_linux-build.yml
+ with:
+ build-environment: linux-jammy-rocm-py3_10
+ docker-image-name: ci-image:pytorch-linux-jammy-rocm-n-py3
+ sync-tag: rocm-build
+ test-matrix: |
+ { include: [
+ { config: "dynamo_eager_torchbench", shard: 1, num_shards: 2, runner: "linux.rocm.gpu.mi300.2" },
+ { config: "dynamo_eager_torchbench", shard: 2, num_shards: 2, runner: "linux.rocm.gpu.mi300.2" },
+ { config: "dynamo_eager_huggingface", shard: 1, num_shards: 1, runner: "linux.rocm.gpu.mi300.2" },
+ { config: "dynamo_eager_timm", shard: 1, num_shards: 2, runner: "linux.rocm.gpu.mi300.2" },
+ { config: "dynamo_eager_timm", shard: 2, num_shards: 2, runner: "linux.rocm.gpu.mi300.2" },
+ { config: "aot_eager_torchbench", shard: 1, num_shards: 2, runner: "linux.rocm.gpu.mi300.2" },
+ { config: "aot_eager_torchbench", shard: 2, num_shards: 2, runner: "linux.rocm.gpu.mi300.2" },
+ { config: "aot_eager_huggingface", shard: 1, num_shards: 1, runner: "linux.rocm.gpu.mi300.2" },
+ { config: "aot_eager_timm", shard: 1, num_shards: 2, runner: "linux.rocm.gpu.mi300.2" },
+ { config: "aot_eager_timm", shard: 2, num_shards: 2, runner: "linux.rocm.gpu.mi300.2" },
+ { config: "dynamic_aot_eager_torchbench", shard: 1, num_shards: 2, runner: "linux.rocm.gpu.mi300.2" },
+ { config: "dynamic_aot_eager_torchbench", shard: 2, num_shards: 2, runner: "linux.rocm.gpu.mi300.2" },
+ { config: "dynamic_aot_eager_huggingface", shard: 1, num_shards: 1, runner: "linux.rocm.gpu.mi300.2" },
+ { config: "dynamic_aot_eager_timm", shard: 1, num_shards: 2, runner: "linux.rocm.gpu.mi300.2" },
+ { config: "dynamic_aot_eager_timm", shard: 2, num_shards: 2, runner: "linux.rocm.gpu.mi300.2" },
+ ]}
+ secrets: inherit
+
+ linux-jammy-rocm-py3_10-periodic-dynamo-benchmarks-test:
+ permissions:
+ id-token: write
+ contents: read
+ name: rocm-py3_10-periodic-dynamo-benchmarks
+ uses: ./.github/workflows/_rocm-test.yml
+ needs: linux-jammy-rocm-py3_10-periodic-dynamo-benchmarks-build
+ with:
+ build-environment: linux-jammy-rocm-py3_10
+ docker-image: ${{ needs.linux-jammy-rocm-py3_10-periodic-dynamo-benchmarks-build.outputs.docker-image }}
+ test-matrix: ${{ needs.linux-jammy-rocm-py3_10-periodic-dynamo-benchmarks-build.outputs.test-matrix }}
+ secrets: inherit
+
+ linux-jammy-cuda12_8-py3_10-gcc9-inductor-smoke-build:
+ name: cuda12.8-py3.10-gcc9-sm80
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
uses: ./.github/workflows/_linux-build.yml
needs:
- get-default-label-prefix
@@ -136,6 +208,7 @@ jobs:
{ include: [
{ config: "inductor_torchbench_smoketest_perf", shard: 1, num_shards: 1, runner: "linux.aws.a100" },
]}
+<<<<<<< HEAD
build-additional-packages: "vision audio fbgemm torchao"
secrets: inherit
@@ -156,6 +229,27 @@ jobs:
with:
build-environment: linux-jammy-py3.10-gcc11-build
docker-image-name: ci-image:pytorch-linux-jammy-py3-gcc11-inductor-benchmarks
+=======
+ secrets: inherit
+
+ linux-jammy-cuda12_8-py3_10-gcc9-inductor-smoke-test:
+ name: cuda12.8-py3.10-gcc9-sm80
+ uses: ./.github/workflows/_linux-test.yml
+ needs: linux-jammy-cuda12_8-py3_10-gcc9-inductor-smoke-build
+ with:
+ build-environment: linux-jammy-cuda12.8-py3.10-gcc9-sm80
+ docker-image: ${{ needs.linux-jammy-cuda12_8-py3_10-gcc9-inductor-smoke-build.outputs.docker-image }}
+ test-matrix: ${{ needs.linux-jammy-cuda12_8-py3_10-gcc9-inductor-smoke-build.outputs.test-matrix }}
+ secrets: inherit
+
+ linux-jammy-cpu-py3_9-gcc11-periodic-dynamo-benchmarks-build:
+ name: linux-jammy-cpu-py3.9-gcc11-periodic-dynamo-benchmarks
+ uses: ./.github/workflows/_linux-build.yml
+ needs: get-default-label-prefix
+ with:
+ build-environment: linux-jammy-py3.9-gcc11-build
+ docker-image-name: ci-image:pytorch-linux-jammy-py3.9-gcc11-inductor-benchmarks
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
runner_prefix: "${{ needs.get-default-label-prefix.outputs.label-type }}"
test-matrix: |
{ include: [
@@ -170,6 +264,69 @@ jobs:
{ config: "cpu_inductor_freezing_avx2_torchbench", shard: 2, num_shards: 2, runner: "linux.10xlarge.avx2" },
{ config: "cpu_inductor_freezing_avx2_timm", shard: 1, num_shards: 2, runner: "linux.10xlarge.avx2" },
{ config: "cpu_inductor_freezing_avx2_timm", shard: 2, num_shards: 2, runner: "linux.10xlarge.avx2" },
+<<<<<<< HEAD
+=======
+ ]}
+ secrets: inherit
+
+ linux-jammy-cpu-py3_9-gcc11-periodic-dynamo-benchmarks-test:
+ name: linux-jammy-cpu-py3.9-gcc11-periodic-dynamo-benchmarks
+ uses: ./.github/workflows/_linux-test.yml
+ needs: linux-jammy-cpu-py3_9-gcc11-periodic-dynamo-benchmarks-build
+ with:
+ build-environment: linux-jammy-py3.9-gcc11-build
+ docker-image: ${{ needs.linux-jammy-cpu-py3_9-gcc11-periodic-dynamo-benchmarks-build.outputs.docker-image }}
+ test-matrix: ${{ needs.linux-jammy-cpu-py3_9-gcc11-periodic-dynamo-benchmarks-build.outputs.test-matrix }}
+ secrets: inherit
+
+
+ linux-jammy-cuda12_8-py3_10-gcc9-inductor-build:
+ name: cuda12.8-py3.10-gcc9-sm86
+ uses: ./.github/workflows/_linux-build.yml
+ needs: get-default-label-prefix
+ with:
+ build-environment: linux-jammy-cuda12.8-py3.10-gcc9-sm86
+ docker-image-name: ci-image:pytorch-linux-jammy-cuda12.8-cudnn9-py3-gcc9-inductor-benchmarks
+ cuda-arch-list: '8.6'
+ runner_prefix: "${{ needs.get-default-label-prefix.outputs.label-type }}"
+ sync-tag: linux-jammy-cuda12_8-py3_10-gcc9-inductor-build
+ test-matrix: |
+ { include: [
+ { config: "dynamic_inductor_huggingface", shard: 1, num_shards: 1, runner: "linux.g5.4xlarge.nvidia.gpu" },
+ { config: "dynamic_inductor_timm", shard: 1, num_shards: 2, runner: "linux.g5.4xlarge.nvidia.gpu" },
+ { config: "dynamic_inductor_timm", shard: 2, num_shards: 2, runner: "linux.g5.4xlarge.nvidia.gpu" },
+ { config: "dynamic_inductor_torchbench", shard: 1, num_shards: 2, runner: "linux.g5.4xlarge.nvidia.gpu" },
+ { config: "dynamic_inductor_torchbench", shard: 2, num_shards: 2, runner: "linux.g5.4xlarge.nvidia.gpu" },
+ { config: "aot_inductor_huggingface", shard: 1, num_shards: 1, runner: "linux.g5.4xlarge.nvidia.gpu" },
+ { config: "aot_inductor_timm", shard: 1, num_shards: 2, runner: "linux.g5.4xlarge.nvidia.gpu" },
+ { config: "aot_inductor_timm", shard: 2, num_shards: 2, runner: "linux.g5.4xlarge.nvidia.gpu" },
+ { config: "aot_inductor_torchbench", shard: 1, num_shards: 2, runner: "linux.g5.4xlarge.nvidia.gpu" },
+ { config: "aot_inductor_torchbench", shard: 2, num_shards: 2, runner: "linux.g5.4xlarge.nvidia.gpu" },
+ ]}
+ secrets: inherit
+
+ linux-jammy-cuda12_8-py3_10-gcc9-inductor-test:
+ name: cuda12.8-py3.10-gcc9-sm86
+ uses: ./.github/workflows/_linux-test.yml
+ needs: linux-jammy-cuda12_8-py3_10-gcc9-inductor-build
+ with:
+ build-environment: linux-jammy-cuda12.8-py3.10-gcc9-sm86
+ docker-image: ${{ needs.linux-jammy-cuda12_8-py3_10-gcc9-inductor-build.outputs.docker-image }}
+ test-matrix: ${{ needs.linux-jammy-cuda12_8-py3_10-gcc9-inductor-build.outputs.test-matrix }}
+ secrets: inherit
+
+ linux-jammy-cpu-py3_9-gcc11-inductor-build:
+ name: linux-jammy-cpu-py3.9-gcc11-inductor
+ uses: ./.github/workflows/_linux-build.yml
+ needs: get-default-label-prefix
+ with:
+ build-environment: linux-jammy-py3.9-gcc11-build
+ docker-image-name: ci-image:pytorch-linux-jammy-py3.9-gcc11-inductor-benchmarks
+ runner_prefix: "${{ needs.get-default-label-prefix.outputs.label-type }}"
+ sync-tag: linux-jammy-cpu-py3_9-gcc11-inductor-build
+ test-matrix: |
+ { include: [
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
{ config: "cpu_inductor_freezing_huggingface", shard: 1, num_shards: 1, runner: "linux.8xlarge.amx" },
{ config: "cpu_inductor_freezing_timm", shard: 1, num_shards: 2, runner: "linux.8xlarge.amx" },
{ config: "cpu_inductor_freezing_timm", shard: 2, num_shards: 2, runner: "linux.8xlarge.amx" },
@@ -192,6 +349,7 @@ jobs:
{ config: "dynamic_cpu_aot_inductor_amp_freezing_torchbench", shard: 1, num_shards: 2, runner: "linux.8xlarge.amx" },
{ config: "dynamic_cpu_aot_inductor_amp_freezing_torchbench", shard: 2, num_shards: 2, runner: "linux.8xlarge.amx" },
]}
+<<<<<<< HEAD
build-additional-packages: "vision audio torchao"
secrets: inherit
@@ -203,4 +361,16 @@ jobs:
build-environment: linux-jammy-py3.10-gcc11-build
docker-image: ${{ needs.periodic-dynamo-benchmarks-cpu-build.outputs.docker-image }}
test-matrix: ${{ needs.periodic-dynamo-benchmarks-cpu-build.outputs.test-matrix }}
+=======
+ secrets: inherit
+
+ linux-jammy-cpu-py3_9-gcc11-inductor-test:
+ name: linux-jammy-cpu-py3.9-gcc11-inductor
+ uses: ./.github/workflows/_linux-test.yml
+ needs: linux-jammy-cpu-py3_9-gcc11-inductor-build
+ with:
+ build-environment: linux-jammy-py3.9-gcc11-build
+ docker-image: ${{ needs.linux-jammy-cpu-py3_9-gcc11-inductor-build.outputs.docker-image }}
+ test-matrix: ${{ needs.linux-jammy-cpu-py3_9-gcc11-inductor-build.outputs.test-matrix }}
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets: inherit
diff --git a/.github/workflows/inductor-rocm-mi300.yml b/.github/workflows/inductor-rocm-mi300.yml
index 369eee791dd6..0d2b9e1f27c9 100644
--- a/.github/workflows/inductor-rocm-mi300.yml
+++ b/.github/workflows/inductor-rocm-mi300.yml
@@ -28,7 +28,11 @@ jobs:
get-label-type:
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ (github.event_name != 'schedule' || github.repository == 'pytorch/pytorch') && github.repository_owner == 'pytorch' }}
with:
triggering_actor: ${{ github.triggering_actor }}
@@ -47,8 +51,13 @@ jobs:
docker-image-name: ci-image:pytorch-linux-jammy-rocm-n-py3
test-matrix: |
{ include: [
+<<<<<<< HEAD
{ config: "inductor", shard: 1, num_shards: 2, runner: "linux.rocm.gpu.gfx942.1" },
{ config: "inductor", shard: 2, num_shards: 2, runner: "linux.rocm.gpu.gfx942.1" },
+=======
+ { config: "inductor", shard: 1, num_shards: 2, runner: "linux.rocm.gpu.mi300.2" },
+ { config: "inductor", shard: 2, num_shards: 2, runner: "linux.rocm.gpu.mi300.2" },
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
]}
secrets: inherit
diff --git a/.github/workflows/inductor-rocm.yml b/.github/workflows/inductor-rocm.yml
index 87d78b600f44..35c30fe637ec 100644
--- a/.github/workflows/inductor-rocm.yml
+++ b/.github/workflows/inductor-rocm.yml
@@ -7,6 +7,10 @@ on:
- release/*
tags:
- ciflow/inductor-rocm/*
+<<<<<<< HEAD
+=======
+ - ciflow/inductor/*
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
workflow_dispatch:
concurrency:
@@ -20,7 +24,11 @@ permissions:
jobs:
get-label-type:
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ (github.event_name != 'schedule' || github.repository == 'pytorch/pytorch') && github.repository_owner == 'pytorch' }}
with:
triggering_actor: ${{ github.triggering_actor }}
diff --git a/.github/workflows/inductor-unittest.yml b/.github/workflows/inductor-unittest.yml
index 31ca8e6faa3b..48a3c23bcde2 100644
--- a/.github/workflows/inductor-unittest.yml
+++ b/.github/workflows/inductor-unittest.yml
@@ -12,14 +12,22 @@ concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref_name }}-${{ github.ref_type == 'branch' && github.sha }}-${{ github.event_name == 'workflow_dispatch' }}-unittest
cancel-in-progress: true
+<<<<<<< HEAD
permissions:
id-token: write
contents: read
+=======
+permissions: read-all
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
jobs:
get-label-type:
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ (github.event_name != 'schedule' || github.repository == 'pytorch/pytorch') && github.repository_owner == 'pytorch' }}
with:
triggering_actor: ${{ github.triggering_actor }}
@@ -28,8 +36,13 @@ jobs:
curr_ref_type: ${{ github.ref_type }}
opt_out_experiments: lf
+<<<<<<< HEAD
inductor-build:
name: inductor-build
+=======
+ linux-jammy-cuda12_8-py3_10-gcc9-inductor-build:
+ name: cuda12.8-py3.10-gcc9-sm86
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
uses: ./.github/workflows/_linux-build.yml
needs: get-label-type
with:
@@ -47,6 +60,7 @@ jobs:
]}
secrets: inherit
+<<<<<<< HEAD
inductor-test:
name: inductor-test
uses: ./.github/workflows/_linux-test.yml
@@ -59,6 +73,46 @@ jobs:
inductor-halide-build:
name: inductor-halide-build
+=======
+ linux-jammy-cuda12_8-py3_10-gcc9-inductor-test:
+ name: cuda12.8-py3.10-gcc9-sm86
+ uses: ./.github/workflows/_linux-test.yml
+ needs: linux-jammy-cuda12_8-py3_10-gcc9-inductor-build
+ with:
+ build-environment: linux-jammy-cuda12.8-py3.10-gcc9-sm86
+ docker-image: ${{ needs.linux-jammy-cuda12_8-py3_10-gcc9-inductor-build.outputs.docker-image }}
+ test-matrix: ${{ needs.linux-jammy-cuda12_8-py3_10-gcc9-inductor-build.outputs.test-matrix }}
+ secrets: inherit
+
+ linux-jammy-cuda12_8-py3_12-gcc9-inductor-build:
+ name: cuda12.8-py3.12-gcc9-sm86
+ uses: ./.github/workflows/_linux-build.yml
+ needs: get-label-type
+ with:
+ build-environment: linux-jammy-cuda12.8-py3.12-gcc9-sm86
+ docker-image-name: ci-image:pytorch-linux-jammy-cuda12.8-cudnn9-py3.12-gcc9-inductor-benchmarks
+ cuda-arch-list: '8.6'
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ test-matrix: |
+ { include: [
+ { config: "inductor", shard: 1, num_shards: 2, runner: "${{ needs.get-label-type.outputs.label-type }}linux.g5.4xlarge.nvidia.gpu" },
+ { config: "inductor", shard: 2, num_shards: 2, runner: "${{ needs.get-label-type.outputs.label-type }}linux.g5.4xlarge.nvidia.gpu" },
+ ]}
+ secrets: inherit
+
+ linux-jammy-cuda12_8-py3_12-gcc9-inductor-test:
+ name: cuda12.8-py3.12-gcc9-sm86
+ uses: ./.github/workflows/_linux-test.yml
+ needs: linux-jammy-cuda12_8-py3_12-gcc9-inductor-build
+ with:
+ build-environment: linux-jammy-cuda12.8-py3.12-gcc9-sm86
+ docker-image: ${{ needs.linux-jammy-cuda12_8-py3_12-gcc9-inductor-build.outputs.docker-image }}
+ test-matrix: ${{ needs.linux-jammy-cuda12_8-py3_12-gcc9-inductor-build.outputs.test-matrix }}
+ secrets: inherit
+
+ linux-jammy-cpu-py3_12-inductor-halide-build:
+ name: linux-jammy-cpu-py3.12-gcc11-inductor-halide
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
uses: ./.github/workflows/_linux-build.yml
needs: get-label-type
with:
@@ -71,6 +125,7 @@ jobs:
]}
secrets: inherit
+<<<<<<< HEAD
inductor-halide-test:
name: inductor-halide-test
uses: ./.github/workflows/_linux-test.yml
@@ -83,6 +138,20 @@ jobs:
inductor-triton-cpu-build:
name: inductor-triton-cpu-build
+=======
+ linux-jammy-cpu-py3_12-inductor-halide-test:
+ name: linux-jammy-cpu-py3.12-gcc11-inductor-halide
+ uses: ./.github/workflows/_linux-test.yml
+ needs: linux-jammy-cpu-py3_12-inductor-halide-build
+ with:
+ build-environment: linux-jammy-py3.12-gcc11
+ docker-image: ${{ needs.linux-jammy-cpu-py3_12-inductor-halide-build.outputs.docker-image }}
+ test-matrix: ${{ needs.linux-jammy-cpu-py3_12-inductor-halide-build.outputs.test-matrix }}
+ secrets: inherit
+
+ linux-jammy-cpu-py3_12-inductor-triton-cpu-build:
+ name: linux-jammy-cpu-py3.12-gcc11-inductor-triton-cpu
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
uses: ./.github/workflows/_linux-build.yml
needs: get-label-type
with:
@@ -95,6 +164,7 @@ jobs:
]}
secrets: inherit
+<<<<<<< HEAD
inductor-triton-cpu-test:
name: linux-jammy-cpu-py3.12-gcc11-inductor-triton-cpu
uses: ./.github/workflows/_linux-test.yml
@@ -112,6 +182,25 @@ jobs:
with:
build-environment: linux-jammy-py3.10-gcc11-build
docker-image-name: ci-image:pytorch-linux-jammy-py3-gcc11-inductor-benchmarks
+=======
+ linux-jammy-cpu-py3_12-inductor-triton-cpu-test:
+ name: linux-jammy-cpu-py3.12-gcc11-inductor-triton-cpu
+ uses: ./.github/workflows/_linux-test.yml
+ needs: linux-jammy-cpu-py3_12-inductor-triton-cpu-build
+ with:
+ build-environment: linux-jammy-py3.12-gcc11
+ docker-image: ${{ needs.linux-jammy-cpu-py3_12-inductor-triton-cpu-build.outputs.docker-image }}
+ test-matrix: ${{ needs.linux-jammy-cpu-py3_12-inductor-triton-cpu-build.outputs.test-matrix }}
+ secrets: inherit
+
+ linux-jammy-cpu-py3_9-gcc11-inductor-build:
+ name: linux-jammy-cpu-py3.9-gcc11-inductor
+ uses: ./.github/workflows/_linux-build.yml
+ needs: get-label-type
+ with:
+ build-environment: linux-jammy-py3.9-gcc11-build
+ docker-image-name: ci-image:pytorch-linux-jammy-py3.9-gcc11-inductor-benchmarks
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
test-matrix: |
{ include: [
@@ -122,6 +211,7 @@ jobs:
]}
secrets: inherit
+<<<<<<< HEAD
inductor-cpu-test:
name: inductor-cpu-test
uses: ./.github/workflows/_linux-test.yml
@@ -130,4 +220,39 @@ jobs:
build-environment: linux-jammy-py3.10-gcc11-build
docker-image: ${{ needs.inductor-cpu-build.outputs.docker-image }}
test-matrix: ${{ needs.inductor-cpu-build.outputs.test-matrix }}
+=======
+ linux-jammy-cpu-py3_9-gcc11-inductor-test:
+ name: linux-jammy-cpu-py3.9-gcc11-inductor
+ uses: ./.github/workflows/_linux-test.yml
+ needs: linux-jammy-cpu-py3_9-gcc11-inductor-build
+ with:
+ build-environment: linux-jammy-py3.9-gcc11-build
+ docker-image: ${{ needs.linux-jammy-cpu-py3_9-gcc11-inductor-build.outputs.docker-image }}
+ test-matrix: ${{ needs.linux-jammy-cpu-py3_9-gcc11-inductor-build.outputs.test-matrix }}
+ secrets: inherit
+
+ linux-jammy-cuda12_8-py3_13-gcc9-inductor-build:
+ name: cuda12.8-py3.13-gcc9-sm86
+ uses: ./.github/workflows/_linux-build.yml
+ needs: get-label-type
+ with:
+ build-environment: linux-jammy-cuda12.8-py3.13-gcc9-sm86
+ docker-image-name: ci-image:pytorch-linux-jammy-cuda12.8-cudnn9-py3.13-gcc9-inductor-benchmarks
+ cuda-arch-list: '8.6'
+ test-matrix: |
+ { include: [
+ { config: "inductor", shard: 1, num_shards: 2, runner: "${{ needs.get-label-type.outputs.label-type }}linux.g5.4xlarge.nvidia.gpu" },
+ { config: "inductor", shard: 2, num_shards: 2, runner: "${{ needs.get-label-type.outputs.label-type }}linux.g5.4xlarge.nvidia.gpu" },
+ ]}
+ secrets: inherit
+
+ linux-jammy-cuda12_8-py3_13-gcc9-inductor-test:
+ name: cuda12.8-py3.13-gcc9-sm86
+ uses: ./.github/workflows/_linux-test.yml
+ needs: linux-jammy-cuda12_8-py3_13-gcc9-inductor-build
+ with:
+ build-environment: linux-jammy-cuda12.8-py3.13-gcc9-sm86
+ docker-image: ${{ needs.linux-jammy-cuda12_8-py3_13-gcc9-inductor-build.outputs.docker-image }}
+ test-matrix: ${{ needs.linux-jammy-cuda12_8-py3_13-gcc9-inductor-build.outputs.test-matrix }}
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets: inherit
diff --git a/.github/workflows/inductor.yml b/.github/workflows/inductor.yml
index a70929dd868d..c0385d136927 100644
--- a/.github/workflows/inductor.yml
+++ b/.github/workflows/inductor.yml
@@ -22,9 +22,13 @@ concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref_name }}-${{ github.ref_type == 'branch' && github.sha }}-${{ github.event_name == 'workflow_dispatch' }}
cancel-in-progress: true
+<<<<<<< HEAD
permissions:
id-token: write
contents: read
+=======
+permissions: read-all
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
jobs:
unit-test:
@@ -35,7 +39,11 @@ jobs:
get-label-type:
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ (github.event_name != 'schedule' || github.repository == 'pytorch/pytorch') && github.repository_owner == 'pytorch' }}
with:
triggering_actor: ${{ github.triggering_actor }}
@@ -44,8 +52,13 @@ jobs:
curr_ref_type: ${{ github.ref_type }}
opt_out_experiments: lf
+<<<<<<< HEAD
inductor-build:
name: inductor-build
+=======
+ linux-jammy-cuda12_8-py3_10-gcc9-inductor-build:
+ name: cuda12.8-py3.10-gcc9-sm86
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
uses: ./.github/workflows/_linux-build.yml
needs: get-label-type
with:
@@ -53,6 +66,10 @@ jobs:
docker-image-name: ci-image:pytorch-linux-jammy-cuda12.8-cudnn9-py3-gcc9-inductor-benchmarks
cuda-arch-list: '8.6'
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+<<<<<<< HEAD
+=======
+ sync-tag: linux-jammy-cuda12_8-py3_10-gcc9-inductor-build
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
test-matrix: |
{ include: [
{ config: "inductor_huggingface", shard: 1, num_shards: 1, runner: "${{ needs.get-label-type.outputs.label-type }}linux.g5.4xlarge.nvidia.gpu" },
@@ -61,6 +78,7 @@ jobs:
{ config: "inductor_torchbench", shard: 1, num_shards: 2, runner: "${{ needs.get-label-type.outputs.label-type }}linux.g5.4xlarge.nvidia.gpu" },
{ config: "inductor_torchbench", shard: 2, num_shards: 2, runner: "${{ needs.get-label-type.outputs.label-type }}linux.g5.4xlarge.nvidia.gpu" },
]}
+<<<<<<< HEAD
build-additional-packages: "vision audio fbgemm torchao"
secrets: inherit
@@ -82,6 +100,29 @@ jobs:
build-environment: linux-jammy-py3.10-gcc11-build
docker-image-name: ci-image:pytorch-linux-jammy-py3-gcc11-inductor-benchmarks
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+=======
+ secrets: inherit
+
+ linux-jammy-cuda12_8-py3_10-gcc9-inductor-test:
+ name: cuda12.8-py3.10-gcc9-sm86
+ uses: ./.github/workflows/_linux-test.yml
+ needs: linux-jammy-cuda12_8-py3_10-gcc9-inductor-build
+ with:
+ build-environment: linux-jammy-cuda12.8-py3.10-gcc9-sm86
+ docker-image: ${{ needs.linux-jammy-cuda12_8-py3_10-gcc9-inductor-build.outputs.docker-image }}
+ test-matrix: ${{ needs.linux-jammy-cuda12_8-py3_10-gcc9-inductor-build.outputs.test-matrix }}
+ secrets: inherit
+
+ linux-jammy-cpu-py3_9-gcc11-inductor-build:
+ name: linux-jammy-cpu-py3.9-gcc11-inductor
+ uses: ./.github/workflows/_linux-build.yml
+ needs: get-label-type
+ with:
+ build-environment: linux-jammy-py3.9-gcc11-build
+ docker-image-name: ci-image:pytorch-linux-jammy-py3.9-gcc11-inductor-benchmarks
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ sync-tag: linux-jammy-cpu-py3_9-gcc11-inductor-build
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
test-matrix: |
{ include: [
{ config: "cpu_inductor_torchbench", shard: 1, num_shards: 2, runner: "${{ needs.get-label-type.outputs.label-type }}linux.8xlarge.amx" },
@@ -93,6 +134,7 @@ jobs:
{ config: "dynamic_cpu_inductor_torchbench", shard: 2, num_shards: 2, runner: "${{ needs.get-label-type.outputs.label-type }}linux.8xlarge.amx" },
{ config: "inductor_torchbench_cpu_smoketest_perf", shard: 1, num_shards: 1, runner: "${{ needs.get-label-type.outputs.label-type }}linux.24xl.spr-metal" },
]}
+<<<<<<< HEAD
build-additional-packages: "vision audio torchao"
secrets: inherit
@@ -104,4 +146,16 @@ jobs:
build-environment: linux-jammy-py3.10-gcc11-build
docker-image: ${{ needs.inductor-cpu-build.outputs.docker-image }}
test-matrix: ${{ needs.inductor-cpu-build.outputs.test-matrix }}
+=======
+ secrets: inherit
+
+ linux-jammy-cpu-py3_9-gcc11-inductor-test:
+ name: linux-jammy-cpu-py3.9-gcc11-inductor
+ uses: ./.github/workflows/_linux-test.yml
+ needs: linux-jammy-cpu-py3_9-gcc11-inductor-build
+ with:
+ build-environment: linux-jammy-py3.9-gcc11-build
+ docker-image: ${{ needs.linux-jammy-cpu-py3_9-gcc11-inductor-build.outputs.docker-image }}
+ test-matrix: ${{ needs.linux-jammy-cpu-py3_9-gcc11-inductor-build.outputs.test-matrix }}
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets: inherit
diff --git a/.github/workflows/lint-autoformat.yml b/.github/workflows/lint-autoformat.yml
index f64c9973d698..25a85ce64f02 100644
--- a/.github/workflows/lint-autoformat.yml
+++ b/.github/workflows/lint-autoformat.yml
@@ -13,7 +13,11 @@ jobs:
if: ${{ github.repository_owner == 'pytorch' && contains(github.event.pull_request.labels.*.name, 'autoformat') }}
steps:
- name: Checkout pytorch
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.9
+=======
+ uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
submodules: true
fetch-depth: 0
diff --git a/.github/workflows/lint-bc.yml b/.github/workflows/lint-bc.yml
index 98adf44aefd8..fbf6afdb58b8 100644
--- a/.github/workflows/lint-bc.yml
+++ b/.github/workflows/lint-bc.yml
@@ -20,7 +20,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Run BC Lint Action
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/bc-lint@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/bc-lint@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
repo: ${{ github.event.pull_request.head.repo.full_name }}
base_sha: ${{ github.event.pull_request.base.sha }}
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
index 534c15824715..7993423774be 100644
--- a/.github/workflows/lint.yml
+++ b/.github/workflows/lint.yml
@@ -21,12 +21,17 @@ jobs:
get-label-type:
if: github.repository_owner == 'pytorch'
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
triggering_actor: ${{ github.triggering_actor }}
issue_owner: ${{ github.event.pull_request.user.login || github.event.issue.user.login }}
curr_branch: ${{ github.head_ref || github.ref_name }}
+<<<<<<< HEAD
get-changed-files:
if: github.repository_owner == 'pytorch'
name: Get changed files
@@ -54,12 +59,22 @@ jobs:
timeout: 120
runner: "${{ needs.get-label-type.outputs.label-type }}linux.2xlarge"
docker-image: ci-image:pytorch-linux-jammy-cuda12.8-cudnn9-py3.10-linter
+=======
+ lintrunner-clang:
+ uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@release/2.8
+ needs: get-label-type
+ with:
+ timeout: 120
+ runner: "${{ needs.get-label-type.outputs.label-type }}linux.2xlarge"
+ docker-image: ci-image:pytorch-linux-jammy-cuda12.8-cudnn9-py3.9-linter
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# NB: A shallow checkout won't work here because calculate-docker-image requires a full checkout
# to run git rev-parse HEAD~:.ci/docker when a new image is needed
fetch-depth: 0
submodules: true
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
script: |
+<<<<<<< HEAD
CHANGED_FILES="${{ needs.get-changed-files.outputs.changed-files }}"
if [ "$CHANGED_FILES" = "*" ]; then
export ADDITIONAL_LINTRUNNER_ARGS="--take CLANGTIDY,CLANGFORMAT --all-files"
@@ -102,12 +117,26 @@ jobs:
timeout: 120
runner: "${{ needs.get-label-type.outputs.label-type }}linux.2xlarge"
docker-image: ci-image:pytorch-linux-jammy-linter
+=======
+ export ADDITIONAL_LINTRUNNER_ARGS="--take CLANGTIDY,CLANGFORMAT --all-files"
+ export CLANG=1
+ .github/scripts/lintrunner.sh
+
+ lintrunner-noclang:
+ uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@release/2.8
+ needs: get-label-type
+ with:
+ timeout: 120
+ runner: "${{ needs.get-label-type.outputs.label-type }}linux.2xlarge"
+ docker-image: ci-image:pytorch-linux-jammy-cuda12.8-cudnn9-py3.9-linter
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# NB: A shallow checkout won't work here because calculate-docker-image requires a full checkout
# to run git rev-parse HEAD~:.ci/docker when a new image is needed
fetch-depth: 0
submodules: true
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
script: |
+<<<<<<< HEAD
CHANGED_FILES="${{ needs.get-changed-files.outputs.changed-files }}"
echo "Running all other linters"
if [ "$CHANGED_FILES" = '*' ]; then
@@ -118,6 +147,13 @@ jobs:
quick-checks:
uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@release/2.9
+=======
+ export ADDITIONAL_LINTRUNNER_ARGS="--skip CLANGTIDY,CLANGFORMAT --all-files"
+ .github/scripts/lintrunner.sh
+
+ quick-checks:
+ uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
needs: get-label-type
with:
timeout: 120
@@ -157,7 +193,11 @@ jobs:
if: github.event_name == 'pull_request' && !contains(github.event.pull_request.labels.*.name, 'skip-pr-sanity-checks')
steps:
- name: Checkout PyTorch
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.9
+=======
+ uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
submodules: false
fetch-depth: -1
@@ -170,7 +210,11 @@ jobs:
bash .github/scripts/pr-sanity-check.sh
workflow-checks:
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@release/2.9
+=======
+ uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
needs: get-label-type
with:
timeout: 120
@@ -181,7 +225,11 @@ jobs:
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
script: |
# Regenerate workflows
+<<<<<<< HEAD
export RELEASE_VERSION_TAG=2.9
+=======
+ export RELEASE_VERSION_TAG=2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
.github/scripts/generate_ci_workflows.py
RC=0
@@ -191,7 +239,11 @@ jobs:
echo 'As shown by the above diff, the committed .github/workflows'
echo 'are not up to date according to .github/templates.'
echo 'Please run this command, commit, and push again to your PR:'
+<<<<<<< HEAD
echo export RELEASE_VERSION_TAG=2.9
+=======
+ echo
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
echo ' .github/scripts/generate_ci_workflows.py'
echo
echo 'If running that command does nothing, you may need to rebase'
@@ -205,7 +257,11 @@ jobs:
exit $RC
toc:
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@release/2.9
+=======
+ uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
needs: get-label-type
with:
timeout: 120
@@ -241,7 +297,11 @@ jobs:
test-tools:
name: Test tools
if: ${{ github.repository == 'pytorch/pytorch' }}
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@release/2.9
+=======
+ uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
needs: get-label-type
with:
timeout: 120
@@ -261,6 +321,7 @@ jobs:
runs-on: linux.24_04.4x
steps:
- name: Checkout PyTorch
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.9
with:
submodules: false
@@ -269,6 +330,16 @@ jobs:
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
with:
python-version: '3.10'
+=======
+ uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.8
+ with:
+ submodules: false
+ fetch-depth: 1
+ - name: Setup Python 3.9
+ uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
+ with:
+ python-version: '3.9'
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
architecture: x64
cache: pip
- name: Install dependencies
@@ -298,7 +369,11 @@ jobs:
# [see note: pytorch repo ref]
# deep clone (fetch-depth 0) required, to allow us to use git log
- name: Checkout PyTorch
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.9
+=======
+ uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
submodules: false
fetch-depth: 1
@@ -318,7 +393,10 @@ jobs:
check-latest: false
cache: pip
cache-dependency-path: |
+<<<<<<< HEAD
**/requirements-build.txt
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
**/requirements.txt
- name: Setup Min Python version
if: matrix.test_type != 'older_python_version'
@@ -329,7 +407,10 @@ jobs:
check-latest: false
cache: pip
cache-dependency-path: |
+<<<<<<< HEAD
**/requirements-build.txt
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
**/requirements.txt
- name: Install torch
if: matrix.test_type == 'with_torch'
diff --git a/.github/workflows/linux-aarch64.yml b/.github/workflows/linux-aarch64.yml
index 357347f78138..7dc7f8df8418 100644
--- a/.github/workflows/linux-aarch64.yml
+++ b/.github/workflows/linux-aarch64.yml
@@ -19,7 +19,11 @@ jobs:
get-label-type:
if: github.repository_owner == 'pytorch'
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
triggering_actor: ${{ github.triggering_actor }}
issue_owner: ${{ github.event.pull_request.user.login || github.event.issue.user.login }}
diff --git a/.github/workflows/llm_td_retrieval.yml b/.github/workflows/llm_td_retrieval.yml
index 292f0a956c35..2f19eb6bb9a0 100644
--- a/.github/workflows/llm_td_retrieval.yml
+++ b/.github/workflows/llm_td_retrieval.yml
@@ -12,7 +12,11 @@ jobs:
name: get-label-type
# Don't run on forked repos
if: github.repository_owner == 'pytorch'
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
triggering_actor: ${{ github.triggering_actor }}
issue_owner: ${{ github.event.pull_request.user.login || github.event.issue.user.login }}
@@ -116,5 +120,9 @@ jobs:
AWS_REGION: ""
- name: Teardown Linux
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/teardown-linux@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/teardown-linux@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: always()
diff --git a/.github/workflows/mac-mps.yml b/.github/workflows/mac-mps.yml
index c80599fe8998..87477dda1e2e 100644
--- a/.github/workflows/mac-mps.yml
+++ b/.github/workflows/mac-mps.yml
@@ -28,6 +28,10 @@ jobs:
# than our AWS macos-m1-14 runners
test-matrix: |
{ include: [
+<<<<<<< HEAD
+=======
+ { config: "test_mps", shard: 1, num_shards: 1, runner: "macos-m1-13" },
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
{ config: "test_mps", shard: 1, num_shards: 1, runner: "macos-m1-14" },
{ config: "test_mps", shard: 1, num_shards: 1, runner: "macos-m2-15" },
]}
diff --git a/.github/workflows/nightly-s3-uploads.yml b/.github/workflows/nightly-s3-uploads.yml
index 1cafca0e0c85..b1afd9f74156 100644
--- a/.github/workflows/nightly-s3-uploads.yml
+++ b/.github/workflows/nightly-s3-uploads.yml
@@ -23,7 +23,11 @@ jobs:
environment: upload-stats
steps:
- name: Checkout PyTorch
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.9
+=======
+ uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
fetch-depth: 1
submodules: false
diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml
index eddb21ea2ca5..3bfac12d436f 100644
--- a/.github/workflows/nightly.yml
+++ b/.github/workflows/nightly.yml
@@ -19,7 +19,11 @@ concurrency:
jobs:
get-label-type:
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ (github.event_name != 'schedule' || github.repository == 'pytorch/pytorch') && github.repository_owner == 'pytorch' }}
with:
triggering_actor: ${{ github.triggering_actor }}
@@ -42,8 +46,13 @@ jobs:
needs: get-label-type
with:
runner: "${{ needs.get-label-type.outputs.label-type }}linux.2xlarge"
+<<<<<<< HEAD
build-environment: linux-jammy-py3.10-gcc11
docker-image-name: ci-image:pytorch-linux-jammy-py3.10-gcc11
+=======
+ build-environment: linux-jammy-py3.9-gcc11
+ docker-image-name: ci-image:pytorch-linux-jammy-py3.9-gcc11
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets: inherit
docs-push:
@@ -54,7 +63,11 @@ jobs:
- get-label-type
with:
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+<<<<<<< HEAD
build-environment: linux-jammy-py3.10-gcc11
+=======
+ build-environment: linux-jammy-py3.9-gcc11
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
docker-image: ${{ needs.docs-build.outputs.docker-image }}
push: ${{ github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' || startsWith(github.event.ref, 'refs/tags/v') }}
run-doxygen: true
@@ -75,24 +88,38 @@ jobs:
repo-owner: pytorch
branch: main
pin-folder: .github/ci_commit_pins
+<<<<<<< HEAD
# executorch jobs are disabled since it needs some manual work for the hash update
# - repo-name: executorch
# repo-owner: pytorch
# branch: main
# pin-folder: .ci/docker/ci_commit_pins
+=======
+ - repo-name: executorch
+ repo-owner: pytorch
+ branch: main
+ pin-folder: .ci/docker/ci_commit_pins
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- repo-name: triton
repo-owner: triton-lang
branch: main
pin-folder: .ci/docker/ci_commit_pins
+<<<<<<< HEAD
- repo-name: vllm
repo-owner: vllm-project
branch: main
pin-folder: .github/ci_commit_pins
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# Allow this to be triggered on either a schedule or on workflow_dispatch to allow for easier testing
if: github.repository_owner == 'pytorch' && (github.event_name == 'schedule' || github.event_name == 'workflow_dispatch')
steps:
- name: "${{ matrix.repo-owner }}/${{ matrix.repo-name }} update-commit-hash"
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/update-commit-hash@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/update-commit-hash@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
repo-owner: ${{ matrix.repo-owner }}
repo-name: ${{ matrix.repo-name }}
diff --git a/.github/workflows/nitpicker.yml b/.github/workflows/nitpicker.yml
index 242f021e46fa..b5d2c3a5af96 100644
--- a/.github/workflows/nitpicker.yml
+++ b/.github/workflows/nitpicker.yml
@@ -19,7 +19,11 @@ jobs:
if: ${{ github.event.pull_request.number != 26921 && github.repository_owner == 'pytorch' }}
steps:
- name: Checkout PyTorch
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.9
+=======
+ uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- uses: ethanis/nitpicker@v1
with:
nitpicks: '.github/nitpicks.yml'
diff --git a/.github/workflows/operator_benchmark.yml b/.github/workflows/operator_benchmark.yml
index dcdc2cd0ba24..4b9bcf35a836 100644
--- a/.github/workflows/operator_benchmark.yml
+++ b/.github/workflows/operator_benchmark.yml
@@ -14,15 +14,19 @@ on:
schedule:
# Run at 07:00 UTC every Sunday
- cron: 0 7 * * 0
+<<<<<<< HEAD
pull_request:
paths:
- benchmarks/operator_benchmark/**
- .github/workflows/operator_benchmark.yml
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}-${{ github.event_name == 'workflow_dispatch' }}
cancel-in-progress: true
+<<<<<<< HEAD
permissions:
id-token: write
contents: read
@@ -35,12 +39,25 @@ jobs:
with:
build-environment: linux-jammy-py3.10-gcc11-build
docker-image-name: ci-image:pytorch-linux-jammy-py3-gcc11-inductor-benchmarks
+=======
+permissions: read-all
+
+jobs:
+ linux-jammy-cpu-py3_9-gcc11-opbenchmark-build:
+ if: github.repository_owner == 'pytorch'
+ name: linux-jammy-cpu-py3.9-gcc11-opbenchmark
+ uses: ./.github/workflows/_linux-build.yml
+ with:
+ build-environment: linux-jammy-py3.9-gcc11-build
+ docker-image-name: ci-image:pytorch-linux-jammy-py3.9-gcc11-inductor-benchmarks
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
test-matrix: |
{ include: [
{ config: "cpu_operator_benchmark_short", shard: 1, num_shards: 1, runner: "linux.12xlarge" },
]}
secrets: inherit
+<<<<<<< HEAD
opbenchmark-on-demand-build:
if: ${{ github.event_name == 'workflow_dispatch' && github.repository_owner == 'pytorch' }}
name: opbenchmark-on-demand-build
@@ -48,12 +65,22 @@ jobs:
with:
build-environment: linux-jammy-py3.10-gcc11-build
docker-image-name: ci-image:pytorch-linux-jammy-py3-gcc11-inductor-benchmarks
+=======
+ linux-jammy-cpu-py3_9-gcc11-opbenchmark-on-demand-build:
+ if: ${{ github.event_name == 'workflow_dispatch' && github.repository_owner == 'pytorch' }}
+ name: linux-jammy-cpu-py3.9-gcc11-opbenchmark
+ uses: ./.github/workflows/_linux-build.yml
+ with:
+ build-environment: linux-jammy-py3.9-gcc11-build
+ docker-image-name: ci-image:pytorch-linux-jammy-py3.9-gcc11-inductor-benchmarks
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
test-matrix: |
{ include: [
{ config: "cpu_operator_benchmark_${{ inputs.test_mode }}", shard: 1, num_shards: 1, runner: "linux.12xlarge" },
]}
secrets: inherit
+<<<<<<< HEAD
opbenchmark-test:
name: opbenchmark-test
uses: ./.github/workflows/_linux-test.yml
@@ -62,4 +89,14 @@ jobs:
build-environment: linux-jammy-py3.10-gcc11-build
docker-image: ${{ needs.opbenchmark-build.outputs.docker-image }}
test-matrix: ${{ needs.opbenchmark-build.outputs.test-matrix }}
+=======
+ linux-jammy-cpu-py3_9-gcc11-opbenchmark-test:
+ name: linux-jammy-cpu-py3.9-gcc11-opbenchmark
+ uses: ./.github/workflows/_linux-test.yml
+ needs: linux-jammy-cpu-py3_9-gcc11-opbenchmark-build
+ with:
+ build-environment: linux-jammy-py3.9-gcc11-build
+ docker-image: ${{ needs.linux-jammy-cpu-py3_9-gcc11-opbenchmark-build.outputs.docker-image }}
+ test-matrix: ${{ needs.linux-jammy-cpu-py3_9-gcc11-opbenchmark-build.outputs.test-matrix }}
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets: inherit
diff --git a/.github/workflows/periodic-rocm-mi300.yml b/.github/workflows/periodic-rocm-mi300.yml
index 850c98b3fa81..d17236c0e6da 100644
--- a/.github/workflows/periodic-rocm-mi300.yml
+++ b/.github/workflows/periodic-rocm-mi300.yml
@@ -41,7 +41,11 @@ jobs:
get-label-type:
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: (github.event_name != 'schedule' || github.repository == 'pytorch/pytorch') && github.repository_owner == 'pytorch'
with:
triggering_actor: ${{ github.triggering_actor }}
@@ -59,9 +63,15 @@ jobs:
docker-image-name: ci-image:pytorch-linux-jammy-rocm-n-py3
test-matrix: |
{ include: [
+<<<<<<< HEAD
{ config: "distributed", shard: 1, num_shards: 3, runner: "linux.rocm.gpu.gfx942.4", owners: ["module:rocm", "oncall:distributed"] },
{ config: "distributed", shard: 2, num_shards: 3, runner: "linux.rocm.gpu.gfx942.4", owners: ["module:rocm", "oncall:distributed"] },
{ config: "distributed", shard: 3, num_shards: 3, runner: "linux.rocm.gpu.gfx942.4", owners: ["module:rocm", "oncall:distributed"] },
+=======
+ { config: "distributed", shard: 1, num_shards: 3, runner: "linux.rocm.gpu.mi300.4", owners: ["module:rocm", "oncall:distributed"] },
+ { config: "distributed", shard: 2, num_shards: 3, runner: "linux.rocm.gpu.mi300.4", owners: ["module:rocm", "oncall:distributed"] },
+ { config: "distributed", shard: 3, num_shards: 3, runner: "linux.rocm.gpu.mi300.4", owners: ["module:rocm", "oncall:distributed"] },
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
]}
secrets: inherit
diff --git a/.github/workflows/periodic.yml b/.github/workflows/periodic.yml
index 418699cb5f5a..69deba048a9c 100644
--- a/.github/workflows/periodic.yml
+++ b/.github/workflows/periodic.yml
@@ -20,9 +20,13 @@ concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref_name }}-${{ github.ref_type == 'branch' && github.sha }}-${{ github.event_name == 'workflow_dispatch' }}-${{ github.event_name == 'schedule' }}-${{ github.event.schedule }}
cancel-in-progress: true
+<<<<<<< HEAD
permissions:
id-token: write
contents: read
+=======
+permissions: read-all
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
jobs:
llm-td:
@@ -43,7 +47,11 @@ jobs:
get-label-type:
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: (github.event_name != 'schedule' || github.repository == 'pytorch/pytorch') && github.repository_owner == 'pytorch'
with:
triggering_actor: ${{ github.triggering_actor }}
@@ -51,6 +59,7 @@ jobs:
curr_branch: ${{ github.head_ref || github.ref_name }}
curr_ref_type: ${{ github.ref_type }}
+<<<<<<< HEAD
linux-jammy-cuda12_4-py3_10-gcc11-build:
name: linux-jammy-cuda12.4-py3.10-gcc11
uses: ./.github/workflows/_linux-build.yml
@@ -82,6 +91,8 @@ jobs:
test-matrix: ${{ needs.linux-jammy-cuda12_4-py3_10-gcc11-build.outputs.test-matrix }}
secrets: inherit
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
linux-jammy-cuda12_8-py3_10-gcc11-build:
name: linux-jammy-cuda12.8-py3.10-gcc11
uses: ./.github/workflows/_linux-build.yml
@@ -127,6 +138,10 @@ jobs:
{ config: "multigpu", shard: 1, num_shards: 2, runner: "${{ needs.get-label-type.outputs.label-type }}linux.g5.12xlarge.nvidia.gpu", owners: ["oncall:distributed"] },
{ config: "multigpu", shard: 2, num_shards: 2, runner: "${{ needs.get-label-type.outputs.label-type }}linux.g5.12xlarge.nvidia.gpu", owners: ["oncall:distributed"] },
]}
+<<<<<<< HEAD
+=======
+ build-with-debug: false
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets: inherit
linux-jammy-cuda12_8-py3_9-gcc9-test:
@@ -147,6 +162,10 @@ jobs:
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
build-environment: linux-jammy-cuda12.8-py3.10-gcc9-debug
docker-image-name: ci-image:pytorch-linux-jammy-cuda12.8-cudnn9-py3-gcc9
+<<<<<<< HEAD
+=======
+ build-with-debug: true
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
test-matrix: |
{ include: [
{ config: "default", shard: 1, num_shards: 7, runner: "${{ needs.get-label-type.outputs.label-type }}linux.4xlarge.nvidia.gpu", owners: ["oncall:debug-build"] },
@@ -171,6 +190,7 @@ jobs:
test-matrix: ${{ needs.linux-jammy-cuda12_8-py3_10-gcc9-debug-build.outputs.test-matrix }}
secrets: inherit
+<<<<<<< HEAD
linux-jammy-cuda13_0-py3_10-gcc11-build:
name: linux-jammy-cuda13.0-py3.10-gcc11
uses: ./.github/workflows/_linux-build.yml
@@ -203,6 +223,8 @@ jobs:
test-matrix: ${{ needs.linux-jammy-cuda13_0-py3_10-gcc11-build.outputs.test-matrix }}
secrets: inherit
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
linux-jammy-rocm-py3_10-build:
name: linux-jammy-rocm-py3.10
uses: ./.github/workflows/_linux-build.yml
diff --git a/.github/workflows/pull.yml b/.github/workflows/pull.yml
index f884fee53fc7..e20fe43b9bb3 100644
--- a/.github/workflows/pull.yml
+++ b/.github/workflows/pull.yml
@@ -19,9 +19,13 @@ concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}-${{ github.event_name == 'workflow_dispatch' }}-${{ github.event_name == 'schedule' }}
cancel-in-progress: true
+<<<<<<< HEAD
permissions:
id-token: write
contents: read
+=======
+permissions: read-all
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
jobs:
llm-td:
@@ -42,21 +46,35 @@ jobs:
get-label-type:
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ (github.event_name != 'schedule' || github.repository == 'pytorch/pytorch') && github.repository_owner == 'pytorch' }}
with:
triggering_actor: ${{ github.triggering_actor }}
issue_owner: ${{ github.event.pull_request.user.login || github.event.issue.user.login }}
curr_branch: ${{ github.head_ref || github.ref_name }}
+<<<<<<< HEAD
linux-jammy-py3_10-gcc11-build:
name: linux-jammy-py3.10-gcc11
+=======
+ linux-jammy-py3_9-gcc11-build:
+ name: linux-jammy-py3.9-gcc11
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
uses: ./.github/workflows/_linux-build.yml
needs: get-label-type
with:
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+<<<<<<< HEAD
build-environment: linux-jammy-py3.10-gcc11
docker-image-name: ci-image:pytorch-linux-jammy-py3.10-gcc11
+=======
+ build-environment: linux-jammy-py3.9-gcc11
+ docker-image-name: ci-image:pytorch-linux-jammy-py3.9-gcc11
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
test-matrix: |
{ include: [
{ config: "default", shard: 1, num_shards: 5, runner: "${{ needs.get-label-type.outputs.label-type }}linux.2xlarge" },
@@ -73,6 +91,7 @@ jobs:
]}
secrets: inherit
+<<<<<<< HEAD
linux-jammy-py3_10-gcc11-test:
name: linux-jammy-py3.10-gcc11
uses: ./.github/workflows/_linux-test.yml
@@ -83,11 +102,24 @@ jobs:
build-environment: linux-jammy-py3.10-gcc11
docker-image: ${{ needs.linux-jammy-py3_10-gcc11-build.outputs.docker-image }}
test-matrix: ${{ needs.linux-jammy-py3_10-gcc11-build.outputs.test-matrix }}
+=======
+ linux-jammy-py3_9-gcc11-test:
+ name: linux-jammy-py3.9-gcc11
+ uses: ./.github/workflows/_linux-test.yml
+ needs:
+ - linux-jammy-py3_9-gcc11-build
+ - target-determination
+ with:
+ build-environment: linux-jammy-py3.9-gcc11
+ docker-image: ${{ needs.linux-jammy-py3_9-gcc11-build.outputs.docker-image }}
+ test-matrix: ${{ needs.linux-jammy-py3_9-gcc11-build.outputs.test-matrix }}
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets: inherit
linux-docs:
name: linux-docs
uses: ./.github/workflows/_docs.yml
+<<<<<<< HEAD
needs: linux-jammy-py3_10-gcc11-build
with:
build-environment: linux-jammy-py3.10-gcc11
@@ -96,26 +128,51 @@ jobs:
linux-jammy-py3_10-gcc11-no-ops:
name: linux-jammy-py3.10-gcc11-no-ops
+=======
+ needs: linux-jammy-py3_9-gcc11-build
+ with:
+ build-environment: linux-jammy-py3.9-gcc11
+ docker-image: ${{ needs.linux-jammy-py3_9-gcc11-build.outputs.docker-image }}
+ secrets: inherit
+
+ linux-jammy-py3_9-gcc11-no-ops:
+ name: linux-jammy-py3.9-gcc11-no-ops
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
uses: ./.github/workflows/_linux-build.yml
needs: get-label-type
with:
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+<<<<<<< HEAD
build-environment: linux-jammy-py3.10-gcc11-no-ops
docker-image-name: ci-image:pytorch-linux-jammy-py3.10-gcc11
+=======
+ build-environment: linux-jammy-py3.9-gcc11-no-ops
+ docker-image-name: ci-image:pytorch-linux-jammy-py3.9-gcc11
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
test-matrix: |
{ include: [
{ config: "default", shard: 1, num_shards: 1 },
]}
secrets: inherit
+<<<<<<< HEAD
linux-jammy-py3_10-gcc11-pch:
name: linux-jammy-py3.10-gcc11-pch
+=======
+ linux-jammy-py3_9-gcc11-pch:
+ name: linux-jammy-py3.9-gcc11-pch
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
uses: ./.github/workflows/_linux-build.yml
needs: get-label-type
with:
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+<<<<<<< HEAD
build-environment: linux-jammy-py3.10-gcc11-pch
docker-image-name: ci-image:pytorch-linux-jammy-py3.10-gcc11
+=======
+ build-environment: linux-jammy-py3.9-gcc11-pch
+ docker-image-name: ci-image:pytorch-linux-jammy-py3.9-gcc11
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
test-matrix: |
{ include: [
{ config: "default", shard: 1, num_shards: 1 },
@@ -132,6 +189,7 @@ jobs:
docker-image-name: ci-image:pytorch-linux-jammy-py3-clang18-asan
test-matrix: |
{ include: [
+<<<<<<< HEAD
{ config: "default", shard: 1, num_shards: 7, runner: "${{ needs.get-label-type.outputs.label-type }}linux.4xlarge" },
{ config: "default", shard: 2, num_shards: 7, runner: "${{ needs.get-label-type.outputs.label-type }}linux.4xlarge" },
{ config: "default", shard: 3, num_shards: 7, runner: "${{ needs.get-label-type.outputs.label-type }}linux.4xlarge" },
@@ -139,10 +197,22 @@ jobs:
{ config: "default", shard: 5, num_shards: 7, runner: "${{ needs.get-label-type.outputs.label-type }}linux.4xlarge" },
{ config: "default", shard: 6, num_shards: 7, runner: "${{ needs.get-label-type.outputs.label-type }}linux.4xlarge" },
{ config: "default", shard: 7, num_shards: 7, runner: "${{ needs.get-label-type.outputs.label-type }}linux.4xlarge" },
+=======
+ { config: "default", shard: 1, num_shards: 6, runner: "${{ needs.get-label-type.outputs.label-type }}linux.4xlarge" },
+ { config: "default", shard: 2, num_shards: 6, runner: "${{ needs.get-label-type.outputs.label-type }}linux.4xlarge" },
+ { config: "default", shard: 3, num_shards: 6, runner: "${{ needs.get-label-type.outputs.label-type }}linux.4xlarge" },
+ { config: "default", shard: 4, num_shards: 6, runner: "${{ needs.get-label-type.outputs.label-type }}linux.4xlarge" },
+ { config: "default", shard: 5, num_shards: 6, runner: "${{ needs.get-label-type.outputs.label-type }}linux.4xlarge" },
+ { config: "default", shard: 6, num_shards: 6, runner: "${{ needs.get-label-type.outputs.label-type }}linux.4xlarge" },
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
]}
sync-tag: asan-build
secrets: inherit
+<<<<<<< HEAD
+=======
+
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
linux-jammy-py3_10-clang18-asan-test:
name: linux-jammy-py3.10-clang18-asan
uses: ./.github/workflows/_linux-test.yml
@@ -156,13 +226,22 @@ jobs:
sync-tag: asan-test
secrets: inherit
+<<<<<<< HEAD
linux-jammy-py3_10-clang12-onnx-build:
name: linux-jammy-py3.10-clang12-onnx
+=======
+ linux-jammy-py3_9-clang12-onnx-build:
+ name: linux-jammy-py3.9-clang12-onnx
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
uses: ./.github/workflows/_linux-build.yml
needs: get-label-type
with:
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+<<<<<<< HEAD
build-environment: linux-jammy-py3.10-clang12-onnx
+=======
+ build-environment: linux-jammy-py3.9-clang12-onnx
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
docker-image-name: ci-image:pytorch-linux-jammy-py3-clang12-onnx
test-matrix: |
{ include: [
@@ -171,6 +250,7 @@ jobs:
]}
secrets: inherit
+<<<<<<< HEAD
linux-jammy-py3_10-clang12-onnx-test:
name: linux-jammy-py3.10-clang12-onnx
uses: ./.github/workflows/_linux-test.yml
@@ -185,12 +265,33 @@ jobs:
linux-jammy-py3_10-clang12-build:
name: linux-jammy-py3.10-clang12
+=======
+ linux-jammy-py3_9-clang12-onnx-test:
+ name: linux-jammy-py3.9-clang12-onnx
+ uses: ./.github/workflows/_linux-test.yml
+ needs:
+ - linux-jammy-py3_9-clang12-onnx-build
+ - target-determination
+ with:
+ build-environment: linux-jammy-py3.9-clang12-onnx
+ docker-image: ${{ needs.linux-jammy-py3_9-clang12-onnx-build.outputs.docker-image }}
+ test-matrix: ${{ needs.linux-jammy-py3_9-clang12-onnx-build.outputs.test-matrix }}
+ secrets: inherit
+
+ linux-jammy-py3_9-clang12-build:
+ name: linux-jammy-py3.9-clang12
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
uses: ./.github/workflows/_linux-build.yml
needs: get-label-type
with:
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+<<<<<<< HEAD
build-environment: linux-jammy-py3.10-clang12
docker-image-name: ci-image:pytorch-linux-jammy-py3.10-clang12
+=======
+ build-environment: linux-jammy-py3.9-clang12
+ docker-image-name: ci-image:pytorch-linux-jammy-py3.9-clang12
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
test-matrix: |
{ include: [
{ config: "default", shard: 1, num_shards: 5, runner: "${{ needs.get-label-type.outputs.label-type }}linux.4xlarge" },
@@ -207,6 +308,7 @@ jobs:
]}
secrets: inherit
+<<<<<<< HEAD
linux-jammy-py3_10-clang12-test:
name: linux-jammy-py3.10-clang12
uses: ./.github/workflows/_linux-test.yml
@@ -217,6 +319,18 @@ jobs:
build-environment: linux-jammy-py3.10-clang12
docker-image: ${{ needs.linux-jammy-py3_10-clang12-build.outputs.docker-image }}
test-matrix: ${{ needs.linux-jammy-py3_10-clang12-build.outputs.test-matrix }}
+=======
+ linux-jammy-py3_9-clang12-test:
+ name: linux-jammy-py3.9-clang12
+ uses: ./.github/workflows/_linux-test.yml
+ needs:
+ - linux-jammy-py3_9-clang12-build
+ - target-determination
+ with:
+ build-environment: linux-jammy-py3.9-clang12
+ docker-image: ${{ needs.linux-jammy-py3_9-clang12-build.outputs.docker-image }}
+ test-matrix: ${{ needs.linux-jammy-py3_9-clang12-build.outputs.test-matrix }}
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets: inherit
linux-jammy-py3_13-clang12-build:
@@ -251,22 +365,138 @@ jobs:
build-environment: linux-jammy-py3.13-clang12
docker-image: ${{ needs.linux-jammy-py3_13-clang12-build.outputs.docker-image }}
test-matrix: ${{ needs.linux-jammy-py3_13-clang12-build.outputs.test-matrix }}
+<<<<<<< HEAD
secrets: inherit
linux-jammy-cuda12_8-cudnn9-py3_10-clang12-build:
name: linux-jammy-cuda12.8-cudnn9-py3.10-clang12
+=======
+ timeout-minutes: 600
+ secrets: inherit
+
+ linux-jammy-cuda12_8-py3_10-gcc11-build-distributed:
+ name: linux-jammy-cuda12.8-py3.10-gcc11-build-distributed
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
uses: ./.github/workflows/_linux-build.yml
needs: get-label-type
with:
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+<<<<<<< HEAD
build-environment: linux-jammy-cuda12.8-cudnn9-py3.10-clang12
docker-image-name: ci-image:pytorch-linux-jammy-cuda12.8-cudnn9-py3.10-clang12
+=======
+ build-environment: linux-jammy-cuda12.8-py3.10-gcc11-distributed
+ docker-image-name: ci-image:pytorch-linux-jammy-cuda12.8-cudnn9-py3-gcc11
+ cuda-arch-list: '7.5'
+ test-matrix: |
+ { include: [
+ { config: "distributed", shard: 1, num_shards: 3, runner: "${{ needs.get-label-type.outputs.label-type }}linux.g4dn.12xlarge.nvidia.gpu" },
+ { config: "distributed", shard: 2, num_shards: 3, runner: "${{ needs.get-label-type.outputs.label-type }}linux.g4dn.12xlarge.nvidia.gpu" },
+ { config: "distributed", shard: 3, num_shards: 3, runner: "${{ needs.get-label-type.outputs.label-type }}linux.g4dn.12xlarge.nvidia.gpu" },
+ ]}
+ secrets: inherit
+
+ linux-jammy-cuda12_8-py3_10-gcc11-test-distributed:
+ name: linux-jammy-cuda12.8-py3.10-gcc11-test
+ uses: ./.github/workflows/_linux-test.yml
+ needs:
+ - linux-jammy-cuda12_8-py3_10-gcc11-build-distributed
+ - target-determination
+ with:
+ timeout-minutes: 360
+ build-environment: linux-jammy-cuda12.8-py3.10-gcc11-distributed
+ docker-image: ${{ needs.linux-jammy-cuda12_8-py3_10-gcc11-build-distributed.outputs.docker-image }}
+ test-matrix: ${{ needs.linux-jammy-cuda12_8-py3_10-gcc11-build-distributed.outputs.test-matrix }}
+ secrets: inherit
+
+ linux-jammy-cuda12_8-py3_10-gcc11-build:
+ name: linux-jammy-cuda12.8-py3.10-gcc11
+ uses: ./.github/workflows/_linux-build.yml
+ needs: get-label-type
+ with:
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ build-environment: linux-jammy-cuda12.8-py3.10-gcc11
+ docker-image-name: ci-image:pytorch-linux-jammy-cuda12.8-cudnn9-py3-gcc11
+ test-matrix: |
+ { include: [
+ { config: "default", shard: 1, num_shards: 5, runner: "${{ needs.get-label-type.outputs.label-type }}linux.4xlarge.nvidia.gpu" },
+ { config: "default", shard: 2, num_shards: 5, runner: "${{ needs.get-label-type.outputs.label-type }}linux.4xlarge.nvidia.gpu" },
+ { config: "default", shard: 3, num_shards: 5, runner: "${{ needs.get-label-type.outputs.label-type }}linux.4xlarge.nvidia.gpu" },
+ { config: "default", shard: 4, num_shards: 5, runner: "${{ needs.get-label-type.outputs.label-type }}linux.4xlarge.nvidia.gpu" },
+ { config: "default", shard: 5, num_shards: 5, runner: "${{ needs.get-label-type.outputs.label-type }}linux.4xlarge.nvidia.gpu" },
+ ]}
+ secrets: inherit
+
+ linux-jammy-cuda12_8-py3_10-gcc11-test:
+ name: linux-jammy-cuda12.8-py3.10-gcc11
+ uses: ./.github/workflows/_linux-test.yml
+ needs:
+ - linux-jammy-cuda12_8-py3_10-gcc11-build
+ - target-determination
+ with:
+ timeout-minutes: 360
+ build-environment: linux-jammy-cuda12.8-py3.10-gcc11
+ docker-image: ${{ needs.linux-jammy-cuda12_8-py3_10-gcc11-build.outputs.docker-image }}
+ test-matrix: ${{ needs.linux-jammy-cuda12_8-py3_10-gcc11-build.outputs.test-matrix }}
+ secrets: inherit
+
+ linux-jammy-py3-clang12-mobile-build:
+ name: linux-jammy-py3-clang12-mobile-build
+ uses: ./.github/workflows/_linux-build.yml
+ needs: get-label-type
+ with:
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ build-environment: linux-jammy-py3-clang12-mobile-build
+ docker-image-name: ci-image:pytorch-linux-jammy-py3-clang15-asan
+ build-generates-artifacts: false
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
test-matrix: |
{ include: [
{ config: "default", shard: 1, num_shards: 1 },
]}
secrets: inherit
+<<<<<<< HEAD
+=======
+ linux-jammy-cuda12_8-cudnn9-py3_9-clang12-build:
+ name: linux-jammy-cuda12.8-cudnn9-py3.9-clang12
+ uses: ./.github/workflows/_linux-build.yml
+ needs: get-label-type
+ with:
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ build-environment: linux-jammy-cuda12.8-cudnn9-py3.9-clang12
+ docker-image-name: ci-image:pytorch-linux-jammy-cuda12.8-cudnn9-py3.9-clang12
+ test-matrix: |
+ { include: [
+ { config: "default", shard: 1, num_shards: 1 },
+ ]}
+ secrets: inherit
+
+ linux-jammy-py3_9-clang9-xla-build:
+ name: linux-jammy-py3_9-clang9-xla
+ uses: ./.github/workflows/_linux-build.yml
+ needs: get-label-type
+ with:
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ build-environment: linux-jammy-py3.9-clang9-xla
+ docker-image-name: 308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/xla_base:v1.3-lite
+ test-matrix: |
+ { include: [
+ { config: "xla", shard: 1, num_shards: 1, runner: "${{ needs.get-label-type.outputs.label-type }}linux.12xlarge" },
+ ]}
+ secrets: inherit
+
+ linux-jammy-py3_9-clang9-xla-test:
+ name: linux-jammy-py3_9-clang9-xla
+ uses: ./.github/workflows/_linux-test.yml
+ needs: linux-jammy-py3_9-clang9-xla-build
+ with:
+ build-environment: linux-jammy-py3.9-clang9-xla
+ docker-image: ${{ needs.linux-jammy-py3_9-clang9-xla-build.outputs.docker-image }}
+ test-matrix: ${{ needs.linux-jammy-py3_9-clang9-xla-build.outputs.test-matrix }}
+ secrets: inherit
+
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
linux-jammy-cpu-py3_10-gcc11-bazel-test:
name: linux-jammy-cpu-py3.10-gcc11-bazel-test
uses: ./.github/workflows/_bazel-build-test.yml
@@ -282,14 +512,24 @@ jobs:
]}
secrets: inherit
+<<<<<<< HEAD
linux-jammy-py3_10-gcc11-mobile-lightweight-dispatch-build:
name: linux-jammy-py3.10-gcc11-mobile-lightweight-dispatch-build
+=======
+ linux-jammy-py3_9-gcc11-mobile-lightweight-dispatch-build:
+ name: linux-jammy-py3.9-gcc11-mobile-lightweight-dispatch-build
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
uses: ./.github/workflows/_linux-build.yml
needs: get-label-type
with:
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+<<<<<<< HEAD
build-environment: linux-jammy-py3.10-gcc11-mobile-lightweight-dispatch-build
docker-image-name: ci-image:pytorch-linux-jammy-py3.10-gcc11
+=======
+ build-environment: linux-jammy-py3.9-gcc11-mobile-lightweight-dispatch-build
+ docker-image-name: ci-image:pytorch-linux-jammy-py3.9-gcc11
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
build-generates-artifacts: false
test-matrix: |
{ include: [
@@ -316,8 +556,43 @@ jobs:
]}
secrets: inherit
+<<<<<<< HEAD
linux-jammy-py3-clang12-executorch-build:
if: false # Docker build needs pin update
+=======
+ linux-jammy-cuda12_8-py3_10-gcc11-sm89-build:
+ name: linux-jammy-cuda12.8-py3.10-gcc11-sm89
+ uses: ./.github/workflows/_linux-build.yml
+ needs: get-label-type
+ with:
+ runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+ build-environment: linux-jammy-cuda12.8-py3.10-gcc11-sm89
+ docker-image-name: ci-image:pytorch-linux-jammy-cuda12.8-cudnn9-py3-gcc11
+ cuda-arch-list: 8.9
+ test-matrix: |
+ { include: [
+ { config: "default", shard: 1, num_shards: 5, runner: "${{ needs.get-label-type.outputs.label-type }}linux.g6.4xlarge.experimental.nvidia.gpu" },
+ { config: "default", shard: 2, num_shards: 5, runner: "${{ needs.get-label-type.outputs.label-type }}linux.g6.4xlarge.experimental.nvidia.gpu" },
+ { config: "default", shard: 3, num_shards: 5, runner: "${{ needs.get-label-type.outputs.label-type }}linux.g6.4xlarge.experimental.nvidia.gpu" },
+ { config: "default", shard: 4, num_shards: 5, runner: "${{ needs.get-label-type.outputs.label-type }}linux.g6.4xlarge.experimental.nvidia.gpu" },
+ { config: "default", shard: 5, num_shards: 5, runner: "${{ needs.get-label-type.outputs.label-type }}linux.g6.4xlarge.experimental.nvidia.gpu" },
+ ]}
+ secrets: inherit
+
+ linux-jammy-cuda12_8-py3_10-gcc11-sm89-test:
+ name: linux-jammy-cuda12.8-py3.10-gcc11-sm89
+ uses: ./.github/workflows/_linux-test.yml
+ needs:
+ - linux-jammy-cuda12_8-py3_10-gcc11-sm89-build
+ - target-determination
+ with:
+ build-environment: linux-jammy-cuda12.8-py3.10-gcc11-sm89
+ docker-image: ${{ needs.linux-jammy-cuda12_8-py3_10-gcc11-sm89-build.outputs.docker-image }}
+ test-matrix: ${{ needs.linux-jammy-cuda12_8-py3_10-gcc11-sm89-build.outputs.test-matrix }}
+ secrets: inherit
+
+ linux-jammy-py3-clang12-executorch-build:
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
name: linux-jammy-py3-clang12-executorch
uses: ./.github/workflows/_linux-build.yml
needs: get-label-type
@@ -367,6 +642,7 @@ jobs:
test-matrix: ${{ needs.linux-jammy-cuda12_8-py3_10-gcc9-inductor-build.outputs.test-matrix }}
secrets: inherit
+<<<<<<< HEAD
linux-jammy-xpu-n-py3_9-build:
name: linux-jammy-xpu-n-py3.9
uses: ./.github/workflows/_linux-build.yml
@@ -376,6 +652,17 @@ jobs:
runner_prefix: ${{ needs.get-label-type.outputs.label-type }}
build-environment: linux-jammy-xpu-n-py3.9
docker-image-name: ci-image:pytorch-linux-jammy-xpu-n-py3
+=======
+ linux-jammy-xpu-2025_1-py3_9-build:
+ name: linux-jammy-xpu-2025.1-py3.9
+ uses: ./.github/workflows/_linux-build.yml
+ needs: get-label-type
+ with:
+ sync-tag: linux-xpu-2025-1-build
+ runner_prefix: ${{ needs.get-label-type.outputs.label-type }}
+ build-environment: linux-jammy-xpu-2025.1-py3.9
+ docker-image-name: ci-image:pytorch-linux-jammy-xpu-2025.1-py3
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
test-matrix: |
{ include: [
{ config: "default", shard: 1, num_shards: 4, runner: "linux.idc.xpu" },
diff --git a/.github/workflows/revert.yml b/.github/workflows/revert.yml
index 226d773e4897..476691f003e6 100644
--- a/.github/workflows/revert.yml
+++ b/.github/workflows/revert.yml
@@ -26,7 +26,11 @@ jobs:
architecture: x64
check-latest: false
cache: pip
+<<<<<<< HEAD
- run: pip install pyyaml==6.0.2
+=======
+ - run: pip install pyyaml==6.0
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: Setup committer id
run: |
diff --git a/.github/workflows/rocm-mi300.yml b/.github/workflows/rocm-mi300.yml
index 51a807250f54..1c49cc5397a1 100644
--- a/.github/workflows/rocm-mi300.yml
+++ b/.github/workflows/rocm-mi300.yml
@@ -28,7 +28,11 @@ jobs:
get-label-type:
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ (github.event_name != 'schedule' || github.repository == 'pytorch/pytorch') && github.repository_owner == 'pytorch' }}
with:
triggering_actor: ${{ github.triggering_actor }}
@@ -36,13 +40,20 @@ jobs:
curr_branch: ${{ github.head_ref || github.ref_name }}
curr_ref_type: ${{ github.ref_type }}
+<<<<<<< HEAD
linux-noble-rocm-py3_12-build:
if: ${{ (github.event_name != 'schedule' || github.repository == 'pytorch/pytorch') && github.repository_owner == 'pytorch' }}
name: linux-noble-rocm-py3.12-mi300
+=======
+ linux-jammy-rocm-py3_10-build:
+ if: ${{ (github.event_name != 'schedule' || github.repository == 'pytorch/pytorch') && github.repository_owner == 'pytorch' }}
+ name: linux-jammy-rocm-py3.10-mi300
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
uses: ./.github/workflows/_linux-build.yml
needs: get-label-type
with:
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+<<<<<<< HEAD
build-environment: linux-noble-rocm-py3.12-mi300
docker-image-name: ci-image:pytorch-linux-noble-rocm-n-py3
sync-tag: rocm-build
@@ -70,4 +81,33 @@ jobs:
build-environment: linux-noble-rocm-py3.12-mi300
docker-image: ${{ needs.linux-noble-rocm-py3_12-build.outputs.docker-image }}
test-matrix: ${{ needs.linux-noble-rocm-py3_12-build.outputs.test-matrix }}
+=======
+ build-environment: linux-jammy-rocm-py3.10-mi300
+ docker-image-name: ci-image:pytorch-linux-jammy-rocm-n-py3
+ sync-tag: rocm-build
+ test-matrix: |
+ { include: [
+ { config: "default", shard: 1, num_shards: 6, runner: "linux.rocm.gpu.mi300.2" },
+ { config: "default", shard: 2, num_shards: 6, runner: "linux.rocm.gpu.mi300.2" },
+ { config: "default", shard: 3, num_shards: 6, runner: "linux.rocm.gpu.mi300.2" },
+ { config: "default", shard: 4, num_shards: 6, runner: "linux.rocm.gpu.mi300.2" },
+ { config: "default", shard: 5, num_shards: 6, runner: "linux.rocm.gpu.mi300.2" },
+ { config: "default", shard: 6, num_shards: 6, runner: "linux.rocm.gpu.mi300.2" },
+ ]}
+ secrets: inherit
+
+ linux-jammy-rocm-py3_10-test:
+ permissions:
+ id-token: write
+ contents: read
+ name: linux-jammy-rocm-py3.10-mi300
+ uses: ./.github/workflows/_rocm-test.yml
+ needs:
+ - linux-jammy-rocm-py3_10-build
+ - target-determination
+ with:
+ build-environment: linux-jammy-rocm-py3.10-mi300
+ docker-image: ${{ needs.linux-jammy-rocm-py3_10-build.outputs.docker-image }}
+ test-matrix: ${{ needs.linux-jammy-rocm-py3_10-build.outputs.test-matrix }}
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets: inherit
diff --git a/.github/workflows/s390x-periodic.yml b/.github/workflows/s390x-periodic.yml
index 405e3e1a581c..2723fa23dc2b 100644
--- a/.github/workflows/s390x-periodic.yml
+++ b/.github/workflows/s390x-periodic.yml
@@ -15,9 +15,13 @@ concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref_name }}-${{ github.ref_type == 'branch' && github.sha }}-${{ github.event_name == 'workflow_dispatch' }}-${{ github.event_name == 'schedule' }}-${{ github.event.schedule }}
cancel-in-progress: true
+<<<<<<< HEAD
permissions:
id-token: write
contents: read
+=======
+permissions: read-all
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
jobs:
llm-td:
diff --git a/.github/workflows/slow.yml b/.github/workflows/slow.yml
index 197a04054bfe..558b71f4c82a 100644
--- a/.github/workflows/slow.yml
+++ b/.github/workflows/slow.yml
@@ -18,9 +18,13 @@ concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref_name }}-${{ github.ref_type == 'branch' && github.sha }}-${{ github.event_name == 'workflow_dispatch' }}-${{ github.event_name == 'schedule' }}-${{ github.event.schedule }}
cancel-in-progress: true
+<<<<<<< HEAD
permissions:
id-token: write
contents: read
+=======
+permissions: read-all
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
jobs:
llm-td:
@@ -41,7 +45,11 @@ jobs:
get-label-type:
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ (github.event_name != 'schedule' || github.repository == 'pytorch/pytorch') && github.repository_owner == 'pytorch' }}
with:
triggering_actor: ${{ github.triggering_actor }}
@@ -78,14 +86,24 @@ jobs:
test-matrix: ${{ needs.linux-jammy-cuda12_8-py3_10-gcc11-sm86-build.outputs.test-matrix }}
secrets: inherit
+<<<<<<< HEAD
linux-jammy-py3_10-clang12-build:
name: linux-jammy-py3.10-clang12
+=======
+ linux-jammy-py3_9-clang12-build:
+ name: linux-jammy-py3.9-clang12
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
uses: ./.github/workflows/_linux-build.yml
needs: get-label-type
with:
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+<<<<<<< HEAD
build-environment: linux-jammy-py3.10-clang12
docker-image-name: ci-image:pytorch-linux-jammy-py3.10-clang12
+=======
+ build-environment: linux-jammy-py3.9-clang12
+ docker-image-name: ci-image:pytorch-linux-jammy-py3.9-clang12
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
test-matrix: |
{ include: [
{ config: "slow", shard: 1, num_shards: 2, runner: "linux.2xlarge" },
@@ -93,6 +111,7 @@ jobs:
]}
secrets: inherit
+<<<<<<< HEAD
linux-jammy-py3_10-clang12-test:
name: linux-jammy-py3.10-clang12
uses: ./.github/workflows/_linux-test.yml
@@ -103,6 +122,18 @@ jobs:
build-environment: linux-jammy-py3.10-clang12
docker-image: ${{ needs.linux-jammy-py3_10-clang12-build.outputs.docker-image }}
test-matrix: ${{ needs.linux-jammy-py3_10-clang12-build.outputs.test-matrix }}
+=======
+ linux-jammy-py3_9-clang12-test:
+ name: linux-jammy-py3.9-clang12
+ uses: ./.github/workflows/_linux-test.yml
+ needs:
+ - linux-jammy-py3_9-clang12-build
+ - target-determination
+ with:
+ build-environment: linux-jammy-py3.9-clang12
+ docker-image: ${{ needs.linux-jammy-py3_9-clang12-build.outputs.docker-image }}
+ test-matrix: ${{ needs.linux-jammy-py3_9-clang12-build.outputs.test-matrix }}
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secrets: inherit
linux-jammy-rocm-py3_10-build:
diff --git a/.github/workflows/target-determination-indexer.yml b/.github/workflows/target-determination-indexer.yml
index f5f29c9646f4..c387b4c667e8 100644
--- a/.github/workflows/target-determination-indexer.yml
+++ b/.github/workflows/target-determination-indexer.yml
@@ -13,7 +13,11 @@ jobs:
get-label-type:
if: github.repository_owner == 'pytorch'
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
triggering_actor: ${{ github.triggering_actor }}
issue_owner: ${{ github.event.pull_request.user.login || github.event.issue.user.login }}
@@ -35,7 +39,11 @@ jobs:
- name: Calculate docker image
id: calculate-docker-image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/calculate-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-image-name: ci-image:pytorch-linux-jammy-cuda12.8-cudnn9-py3-gcc11
working-directory: pytorch
@@ -50,13 +58,21 @@ jobs:
echo "docker pull ghcr.io/pytorch/ci-image:${tag/:/-}"
- name: Pull docker image
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/pull-docker-image@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-image: ${{ steps.calculate-docker-image.outputs.docker-image }}
- name: Install nvidia driver, nvidia-docker runtime, set GPU_FLAG
id: install-nvidia-driver
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/setup-nvidia@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/setup-nvidia@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: Clone CodeLlama
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
@@ -149,7 +165,11 @@ jobs:
"s3://target-determinator-assets/indexes/latest/${ZIP_NAME}"
- name: Teardown Linux
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/teardown-linux@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/teardown-linux@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: always()
concurrency:
diff --git a/.github/workflows/target_determination.yml b/.github/workflows/target_determination.yml
index 3e9f848e9e09..87a543a2e9f3 100644
--- a/.github/workflows/target_determination.yml
+++ b/.github/workflows/target_determination.yml
@@ -9,7 +9,11 @@ jobs:
name: get-label-type
# Don't run on forked repos
if: github.repository_owner == 'pytorch'
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
triggering_actor: ${{ github.triggering_actor }}
issue_owner: ${{ github.event.pull_request.user.login || github.event.issue.user.login }}
@@ -27,7 +31,11 @@ jobs:
# checkout because when we run this action we don't *have* a local
# checkout. In other cases you should prefer a local checkout.
- name: Checkout PyTorch
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.9
+=======
+ uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
submodules: false
diff --git a/.github/workflows/test-check-binary.yml b/.github/workflows/test-check-binary.yml
index a13e1d027f13..522a9311b00f 100644
--- a/.github/workflows/test-check-binary.yml
+++ b/.github/workflows/test-check-binary.yml
@@ -15,7 +15,11 @@ jobs:
check_binary_linux_cpu:
if: github.repository_owner == 'pytorch'
name: Test check_binary.sh for Linux CPU
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@release/2.9
+=======
+ uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
docker-image: python:3.11
docker-build-dir: "skip-docker-build"
@@ -28,9 +32,15 @@ jobs:
check_binary_linux_cuda:
if: github.repository_owner == 'pytorch'
name: Test check_binary.sh for Linux CUDA
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@release/2.9
with:
runner: linux.g4dn.4xlarge.nvidia.gpu
+=======
+ uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@release/2.8
+ with:
+ runner: linux.4xlarge.nvidia.gpu
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
docker-image: python:3.11
docker-build-dir: "skip-docker-build"
script: |
diff --git a/.github/workflows/test-h100.yml b/.github/workflows/test-h100.yml
index d08d6033c47e..fb08ebc72cbc 100644
--- a/.github/workflows/test-h100.yml
+++ b/.github/workflows/test-h100.yml
@@ -4,10 +4,13 @@ on:
pull_request:
paths:
- .github/workflows/test-h100.yml
+<<<<<<< HEAD
- test/inductor/test_max_autotune.py
- torch/_inductor/kernel/mm.py
- torch/_inductor/kernel/mm_grouped.py
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
workflow_dispatch:
schedule:
- cron: 0 4,10,16,22 * * * # every 6 hours
@@ -19,16 +22,23 @@ concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}-${{ github.event_name == 'workflow_dispatch' }}-${{ github.event_name == 'schedule' }}
cancel-in-progress: true
+<<<<<<< HEAD
permissions:
id-token: write
contents: read
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
jobs:
get-label-type:
if: github.repository_owner == 'pytorch'
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
triggering_actor: ${{ github.triggering_actor }}
issue_owner: ${{ github.event.pull_request.user.login || github.event.issue.user.login }}
@@ -41,7 +51,11 @@ jobs:
needs: get-label-type
with:
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+<<<<<<< HEAD
runner: linux.12xlarge.memory
+=======
+ runner: "linux.12xlarge"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
build-environment: linux-jammy-cuda12.8-py3.10-gcc11-sm90
docker-image-name: ci-image:pytorch-linux-jammy-cuda12.8-cudnn9-py3-gcc11
cuda-arch-list: '9.0'
diff --git a/.github/workflows/torchbench.yml b/.github/workflows/torchbench.yml
index e4f0c692e976..5ab5a80c5022 100644
--- a/.github/workflows/torchbench.yml
+++ b/.github/workflows/torchbench.yml
@@ -10,15 +10,22 @@ concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref_name }}-${{ github.ref_type == 'branch' && github.sha }}-${{ github.event_name == 'workflow_dispatch' }}-${{ github.event_name == 'schedule' }}
cancel-in-progress: true
+<<<<<<< HEAD
permissions:
id-token: write
contents: read
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
jobs:
get-default-label-prefix:
if: github.repository_owner == 'pytorch'
name: get-default-label-prefix
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
triggering_actor: ${{ github.triggering_actor }}
issue_owner: ${{ github.event.pull_request.user.login || github.event.issue.user.login }}
diff --git a/.github/workflows/trunk.yml b/.github/workflows/trunk.yml
index efc027ad2acb..cdacda4edcdd 100644
--- a/.github/workflows/trunk.yml
+++ b/.github/workflows/trunk.yml
@@ -16,9 +16,13 @@ concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref_name }}-${{ github.ref_type == 'branch' && github.sha }}-${{ github.event_name == 'workflow_dispatch' }}-${{ github.event_name == 'schedule' }}
cancel-in-progress: true
+<<<<<<< HEAD
permissions:
id-token: write
contents: read
+=======
+permissions: read-all
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
jobs:
llm-td:
@@ -39,7 +43,11 @@ jobs:
get-label-type:
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ (github.event_name != 'schedule' || github.repository == 'pytorch/pytorch') && github.repository_owner == 'pytorch' }}
with:
triggering_actor: ${{ github.triggering_actor }}
@@ -63,6 +71,7 @@ jobs:
]}
secrets: inherit
+<<<<<<< HEAD
linux-jammy-cuda12_8-py3_10-gcc11-build:
name: linux-jammy-cuda12.8-py3.10-gcc11
uses: ./.github/workflows/_linux-build.yml
@@ -100,6 +109,8 @@ jobs:
secrets: inherit
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# no-ops builds test USE_PER_OPERATOR_HEADERS=0 where ATen/ops is not generated
linux-jammy-cuda12_8-py3_10-gcc11-no-ops-build:
name: linux-jammy-cuda12.8-py3.10-gcc11-no-ops
@@ -131,6 +142,10 @@ jobs:
{ config: "default", shard: 1, num_shards: 3, runner: "macos-m1-stable" },
{ config: "default", shard: 2, num_shards: 3, runner: "macos-m1-stable" },
{ config: "default", shard: 3, num_shards: 3, runner: "macos-m1-stable" },
+<<<<<<< HEAD
+=======
+ { config: "mps", shard: 1, num_shards: 1, runner: "macos-m1-13" },
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
{ config: "mps", shard: 1, num_shards: 1, runner: "macos-m1-14" },
{ config: "mps", shard: 1, num_shards: 1, runner: "macos-m2-15" },
]}
@@ -201,9 +216,15 @@ jobs:
sync-tag: rocm-build
test-matrix: |
{ include: [
+<<<<<<< HEAD
{ config: "default", shard: 1, num_shards: 2, runner: "linux.rocm.gpu.gfx942.1" },
{ config: "default", shard: 2, num_shards: 2, runner: "linux.rocm.gpu.gfx942.1" },
{ config: "distributed", shard: 1, num_shards: 1, runner: "linux.rocm.gpu.gfx942.4" },
+=======
+ { config: "default", shard: 1, num_shards: 2, runner: "linux.rocm.gpu.2" },
+ { config: "default", shard: 2, num_shards: 2, runner: "linux.rocm.gpu.2" },
+ { config: "distributed", shard: 1, num_shards: 1, runner: "linux.rocm.gpu.4" },
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
]}
secrets: inherit
@@ -224,12 +245,22 @@ jobs:
tests-to-include: "test_nn test_torch test_cuda test_ops test_unary_ufuncs test_binary_ufuncs test_autograd inductor/test_torchinductor distributed/test_c10d_common distributed/test_c10d_nccl"
secrets: inherit
+<<<<<<< HEAD
inductor-build:
name: inductor-build
uses: ./.github/workflows/_linux-build.yml
needs: get-label-type
with:
build-environment: linux-jammy-cuda12.8-py3.12-gcc9-sm80
+=======
+ # NB: Keep this in sync with inductor-perf-test-nightly.yml
+ linux-jammy-cuda12_8-py3_10-gcc9-inductor-build:
+ name: cuda12.8-py3.10-gcc9-sm80
+ uses: ./.github/workflows/_linux-build.yml
+ needs: get-label-type
+ with:
+ build-environment: linux-jammy-cuda12.8-py3.10-gcc9-sm80
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
docker-image-name: ci-image:pytorch-linux-jammy-cuda12.8-cudnn9-py3-gcc9-inductor-benchmarks
cuda-arch-list: '8.0'
secrets: inherit
@@ -240,8 +271,13 @@ jobs:
needs: get-label-type
with:
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
+<<<<<<< HEAD
build-environment: linux-jammy-py3.10-gcc11
docker-image-name: ci-image:pytorch-linux-jammy-py3-gcc11-inductor-benchmarks
+=======
+ build-environment: linux-jammy-py3.9-gcc11
+ docker-image-name: ci-image:pytorch-linux-jammy-py3.9-gcc11
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
test-matrix: |
{ include: [
{ config: "verify_cachebench", shard: 1, num_shards: 1, runner: "${{ needs.get-label-type.outputs.label-type }}linux.2xlarge" },
@@ -255,7 +291,11 @@ jobs:
- verify-cachebench-cpu-build
- target-determination
with:
+<<<<<<< HEAD
build-environment: linux-jammy-py3.10-gcc11
+=======
+ build-environment: linux-jammy-py3.9-gcc11
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
docker-image: ${{ needs.verify-cachebench-cpu-build.outputs.docker-image }}
test-matrix: ${{ needs.verify-cachebench-cpu-build.outputs.test-matrix }}
secrets: inherit
diff --git a/.github/workflows/trymerge.yml b/.github/workflows/trymerge.yml
index 5c456c607c88..e18659f799f1 100644
--- a/.github/workflows/trymerge.yml
+++ b/.github/workflows/trymerge.yml
@@ -28,7 +28,11 @@ jobs:
check-latest: false
cache: pip
architecture: x64
+<<<<<<< HEAD
- run: pip install pyyaml==6.0.2
+=======
+ - run: pip install pyyaml==6.0
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: Setup committer id
run: |
@@ -59,6 +63,7 @@ jobs:
# on the PR appear in chronological order (timing issues can shuffle them around)
sleep 60
fi
+<<<<<<< HEAD
# Require a comment id for merge operations
if [ -z "${COMMENT_ID}" ]; then
@@ -72,6 +77,24 @@ jobs:
python3 .github/scripts/trymerge.py --ignore-current --comment-id "${COMMENT_ID}" "${PR_NUM}"
else
python3 .github/scripts/trymerge.py --comment-id "${COMMENT_ID}" "${PR_NUM}"
+=======
+ if [ -n "${FORCE}" ]; then
+ if [ -n "${COMMENT_ID}" ]; then
+ python3 .github/scripts/trymerge.py --force --comment-id "${COMMENT_ID}" "${PR_NUM}"
+ else
+ python3 .github/scripts/trymerge.py --force "${PR_NUM}"
+ fi
+ elif [ -n "${IGNORE_CURRENT}" ]; then
+ if [ -n "${COMMENT_ID}" ]; then
+ python3 .github/scripts/trymerge.py --ignore-current --comment-id "${COMMENT_ID}" "${PR_NUM}"
+ else
+ python3 .github/scripts/trymerge.py --ignore-current "${PR_NUM}"
+ fi
+ elif [ -n "${COMMENT_ID}" ]; then
+ python3 .github/scripts/trymerge.py --comment-id "${COMMENT_ID}" "${PR_NUM}"
+ else
+ python3 .github/scripts/trymerge.py "${PR_NUM}"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
fi
- name: Comment on Canceled
if: ${{ cancelled() && steps.checkout.outcome == 'success' }}
diff --git a/.github/workflows/tryrebase.yml b/.github/workflows/tryrebase.yml
index 1a8e00e4390b..43275303c3ac 100644
--- a/.github/workflows/tryrebase.yml
+++ b/.github/workflows/tryrebase.yml
@@ -25,7 +25,11 @@ jobs:
architecture: x64
check-latest: false
cache: pip
+<<<<<<< HEAD
- run: pip install pyyaml==6.0.2
+=======
+ - run: pip install pyyaml==6.0
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: Setup committer id
run: |
diff --git a/.github/workflows/unstable.yml b/.github/workflows/unstable.yml
index 5eeb8b19a325..07fa6a6e17cb 100644
--- a/.github/workflows/unstable.yml
+++ b/.github/workflows/unstable.yml
@@ -12,9 +12,13 @@ concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref_name }}-${{ github.ref_type == 'branch' && github.sha }}-${{ github.event_name == 'workflow_dispatch' }}
cancel-in-progress: true
+<<<<<<< HEAD
permissions:
id-token: write
contents: read
+=======
+permissions: read-all
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
jobs:
# There must be at least one job here to satisfy GitHub action workflow syntax
@@ -46,13 +50,18 @@ jobs:
get-label-type:
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if: ${{ (github.event_name != 'schedule' || github.repository == 'pytorch/pytorch') && github.repository_owner == 'pytorch' }}
with:
triggering_actor: ${{ github.triggering_actor }}
issue_owner: ${{ github.event.pull_request.user.login || github.event.issue.user.login }}
curr_branch: ${{ github.head_ref || github.ref_name }}
curr_ref_type: ${{ github.ref_type }}
+<<<<<<< HEAD
linux-jammy-py3_9-clang9-xla-build:
name: linux-jammy-py3_9-clang9-xla
@@ -77,3 +86,5 @@ jobs:
docker-image: ${{ needs.linux-jammy-py3_9-clang9-xla-build.outputs.docker-image }}
test-matrix: ${{ needs.linux-jammy-py3_9-clang9-xla-build.outputs.test-matrix }}
secrets: inherit
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/.github/workflows/update-viablestrict.yml b/.github/workflows/update-viablestrict.yml
index e3ca35d2d01d..4cd42f6e4f51 100644
--- a/.github/workflows/update-viablestrict.yml
+++ b/.github/workflows/update-viablestrict.yml
@@ -7,7 +7,11 @@ on:
concurrency:
group: ${{ github.workflow }}
+<<<<<<< HEAD
cancel-in-progress: true
+=======
+ cancel-in-progress: false
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
jobs:
do_update_viablestrict:
@@ -18,12 +22,20 @@ jobs:
environment: ${{ (github.event_name == 'schedule') && 'mergebot' || '' }}
steps:
- name: Update viable/strict
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/update-viablestrict@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/update-viablestrict@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
id: update_viablestrict
with:
repository: pytorch/pytorch
stable-branch: viable/strict
+<<<<<<< HEAD
requires: '[\"pull\", \"trunk\", \"lint\", \"^linux-binary-manywheel$\", \"^linux-binary-libtorch-release$\", \"linux-aarch64\"]'
+=======
+ requires: '[\"pull\", \"trunk\", \"lint\", \"linux-binary\"]'
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
secret-bot-token: ${{ secrets.MERGEBOT_TOKEN }}
clickhouse-url: ${{ secrets.CLICKHOUSE_URL }}
clickhouse-username: ${{ secrets.CLICKHOUSE_VIABLESTRICT_USERNAME }}
diff --git a/.github/workflows/update_pytorch_labels.yml b/.github/workflows/update_pytorch_labels.yml
index 535950b3c0b7..b7c9b016173f 100644
--- a/.github/workflows/update_pytorch_labels.yml
+++ b/.github/workflows/update_pytorch_labels.yml
@@ -17,7 +17,11 @@ jobs:
contents: read
steps:
- name: Checkout PyTorch
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.9
+=======
+ uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
fetch-depth: 1
submodules: false
diff --git a/.github/workflows/upload-test-stats-while-running.yml b/.github/workflows/upload-test-stats-while-running.yml
index 82c21467dc6a..038bed54e5f9 100644
--- a/.github/workflows/upload-test-stats-while-running.yml
+++ b/.github/workflows/upload-test-stats-while-running.yml
@@ -16,7 +16,11 @@ jobs:
runs-on: linux.2xlarge
steps:
- name: Checkout PyTorch
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.9
+=======
+ uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
fetch-depth: 1
submodules: false
diff --git a/.github/workflows/upload-test-stats.yml b/.github/workflows/upload-test-stats.yml
index 3cfc651b2a62..72ac9c1d140d 100644
--- a/.github/workflows/upload-test-stats.yml
+++ b/.github/workflows/upload-test-stats.yml
@@ -14,7 +14,10 @@ on:
- inductor-periodic
- rocm
- rocm-mi300
+<<<<<<< HEAD
- rocm-mi355
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- inductor-micro-benchmark
- inductor-micro-benchmark-x86
- inductor-cu124
@@ -58,7 +61,11 @@ jobs:
run: echo "${TRIGGERING_WORKFLOW}"
- name: Checkout PyTorch
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.9
+=======
+ uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- name: Configure aws credentials
uses: aws-actions/configure-aws-credentials@ececac1a45f3b08a01d2dd070d28d111c5fe6722 # v4.1.0
diff --git a/.github/workflows/upload-torch-dynamo-perf-stats.yml b/.github/workflows/upload-torch-dynamo-perf-stats.yml
index db3fc72e68e9..555c7dcd7832 100644
--- a/.github/workflows/upload-torch-dynamo-perf-stats.yml
+++ b/.github/workflows/upload-torch-dynamo-perf-stats.yml
@@ -32,7 +32,11 @@ jobs:
name: Upload dynamo performance stats for ${{ github.event.workflow_run.id }}, attempt ${{ github.event.workflow_run.run_attempt }}
steps:
- name: Checkout PyTorch
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.9
+=======
+ uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
submodules: false
fetch-depth: 1
diff --git a/.github/workflows/upload_test_stats_intermediate.yml b/.github/workflows/upload_test_stats_intermediate.yml
index 1764139fed25..5366f84b60fd 100644
--- a/.github/workflows/upload_test_stats_intermediate.yml
+++ b/.github/workflows/upload_test_stats_intermediate.yml
@@ -17,7 +17,11 @@ jobs:
environment: upload-stats
steps:
- name: Checkout PyTorch
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.9
+=======
+ uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
fetch-depth: 1
submodules: false
diff --git a/.github/workflows/weekly.yml b/.github/workflows/weekly.yml
index 2c534891c6e2..081d6d3a9345 100644
--- a/.github/workflows/weekly.yml
+++ b/.github/workflows/weekly.yml
@@ -22,7 +22,11 @@ jobs:
fetch-depth: 0
- name: update-xla-commit-hash
continue-on-error: true
+<<<<<<< HEAD
uses: pytorch/test-infra/.github/actions/update-commit-hash@release/2.9
+=======
+ uses: pytorch/test-infra/.github/actions/update-commit-hash@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
repo-name: xla
branch: master
diff --git a/.github/workflows/xpu.yml b/.github/workflows/xpu.yml
index 3a17bb9d70a1..cd20b01463ff 100644
--- a/.github/workflows/xpu.yml
+++ b/.github/workflows/xpu.yml
@@ -5,10 +5,13 @@ on:
tags:
- ciflow/xpu/*
workflow_dispatch:
+<<<<<<< HEAD
schedule:
# Run 3 times on weekdays and less frequently on weekends.
- cron: 45 0,8,16 * * 1-5
- cron: 45 4 * * 0,6
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref_name }}-${{ github.ref_type == 'branch' && github.sha }}-${{ github.event_name == 'workflow_dispatch' }}-${{ github.event_name == 'schedule' }}
@@ -19,13 +22,18 @@ jobs:
get-label-type:
if: github.repository_owner == 'pytorch'
name: get-label-type
+<<<<<<< HEAD
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.9
+=======
+ uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@release/2.8
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
with:
triggering_actor: ${{ github.triggering_actor }}
issue_owner: ${{ github.event.pull_request.user.login || github.event.issue.user.login }}
curr_branch: ${{ github.head_ref || github.ref_name }}
curr_ref_type: ${{ github.ref_type }}
+<<<<<<< HEAD
linux-jammy-xpu-n-1-py3_10-build:
name: linux-jammy-xpu-n-1-py3.10
uses: ./.github/workflows/_linux-build.yml
@@ -35,6 +43,17 @@ jobs:
runner_prefix: ${{ needs.get-label-type.outputs.label-type }}
build-environment: linux-jammy-xpu-n-1-py3.10
docker-image-name: ci-image:pytorch-linux-jammy-xpu-n-1-py3
+=======
+ linux-jammy-xpu-2025_0-py3_9-build:
+ name: linux-jammy-xpu-2025.0-py3.9
+ uses: ./.github/workflows/_linux-build.yml
+ needs: get-label-type
+ with:
+ sync-tag: linux-xpu-2025-0-build
+ runner_prefix: ${{ needs.get-label-type.outputs.label-type }}
+ build-environment: linux-jammy-xpu-2025.0-py3.9
+ docker-image-name: ci-image:pytorch-linux-jammy-xpu-2025.0-py3
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
runner: linux.12xlarge
test-matrix: |
{ include: [
@@ -47,6 +66,7 @@ jobs:
]}
secrets: inherit
+<<<<<<< HEAD
linux-jammy-xpu-n-py3_10-build:
name: linux-jammy-xpu-n-py3.10
uses: ./.github/workflows/_linux-build.yml
@@ -74,10 +94,38 @@ jobs:
name: linux-jammy-xpu-n-py3.10
uses: ./.github/workflows/_xpu-test.yml
needs: linux-jammy-xpu-n-py3_10-build
+=======
+ linux-jammy-xpu-2025_1-py3_9-build:
+ name: linux-jammy-xpu-2025.1-py3.9
+ uses: ./.github/workflows/_linux-build.yml
+ needs: get-label-type
+ with:
+ sync-tag: linux-xpu-2025-1-build
+ runner_prefix: ${{ needs.get-label-type.outputs.label-type }}
+ build-environment: linux-jammy-xpu-2025.1-py3.9
+ docker-image-name: ci-image:pytorch-linux-jammy-xpu-2025.1-py3
+ runner: linux.12xlarge
+ test-matrix: |
+ { include: [
+ { config: "default", shard: 1, num_shards: 6, runner: "linux.idc.xpu" },
+ { config: "default", shard: 2, num_shards: 6, runner: "linux.idc.xpu" },
+ { config: "default", shard: 3, num_shards: 6, runner: "linux.idc.xpu" },
+ { config: "default", shard: 4, num_shards: 6, runner: "linux.idc.xpu" },
+ { config: "default", shard: 5, num_shards: 6, runner: "linux.idc.xpu" },
+ { config: "default", shard: 6, num_shards: 6, runner: "linux.idc.xpu" },
+ ]}
+ secrets: inherit
+
+ linux-jammy-xpu-2025_1-py3_9-test:
+ name: linux-jammy-xpu-2025.1-py3.9
+ uses: ./.github/workflows/_xpu-test.yml
+ needs: linux-jammy-xpu-2025_1-py3_9-build
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
permissions:
id-token: write
contents: read
with:
+<<<<<<< HEAD
build-environment: linux-jammy-xpu-n-py3.10
docker-image: ${{ needs.linux-jammy-xpu-n-py3_10-build.outputs.docker-image }}
test-matrix: ${{ needs.linux-jammy-xpu-n-py3_10-build.outputs.test-matrix }}
@@ -89,11 +137,37 @@ jobs:
uses: ./.github/workflows/_win-build.yml
with:
build-environment: win-vs2022-xpu-n-1-py3
+=======
+ build-environment: linux-jammy-xpu-2025.1-py3.9
+ docker-image: ${{ needs.linux-jammy-xpu-2025_1-py3_9-build.outputs.docker-image }}
+ test-matrix: ${{ needs.linux-jammy-xpu-2025_1-py3_9-build.outputs.test-matrix }}
+ secrets: inherit
+
+ windows-xpu-2025_0-build:
+ if: github.repository_owner == 'pytorch'
+ name: win-vs2022-xpu-2025_0-py3
+ uses: ./.github/workflows/_win-build.yml
+ with:
+ build-environment: win-vs2022-xpu-py3
+ cuda-version: cpu
+ use-xpu: true
+ xpu-version: '2025.0'
+ vc-year: '2022'
+ secrets: inherit
+
+ windows-xpu-2025_1-build:
+ if: github.repository_owner == 'pytorch'
+ name: win-vs2022-xpu-2025_1-py3
+ uses: ./.github/workflows/_win-build.yml
+ with:
+ build-environment: win-vs2022-xpu-py3
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
cuda-version: cpu
use-xpu: true
xpu-version: '2025.1'
vc-year: '2022'
secrets: inherit
+<<<<<<< HEAD
windows-xpu-n-build:
if: github.repository_owner == 'pytorch'
@@ -106,3 +180,5 @@ jobs:
xpu-version: '2025.2'
vc-year: '2022'
secrets: inherit
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/.gitignore b/.gitignore
index f20486806796..47bb7a10d3c6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -32,7 +32,10 @@ coverage.xml
aten/build/
aten/src/ATen/Config.h
aten/src/ATen/cuda/CUDAConfig.h
+<<<<<<< HEAD
aten/src/ATen/hip/HIPConfig.h
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
benchmarks/.data
caffe2/cpp_test/
dist/
@@ -82,7 +85,10 @@ torch/return_types.pyi
torch/nn/functional.pyi
torch/utils/data/datapipes/datapipe.pyi
torch/csrc/autograd/generated/*
+<<<<<<< HEAD
torch/csrc/functionalization/generated/*
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
torch/csrc/lazy/generated/*.[!m]*
torch_compile_debug/
# Listed manually because some files in this directory are not generated
@@ -148,9 +154,12 @@ merge_record.json
torchgen/packaged/*
!torchgen/packaged/README.md
+<<<<<<< HEAD
# This file is injected by ROCm build scripts to bootstrap in torch/__init__.py.
torch/_rocm_init.py
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# IPython notebook checkpoints
.ipynb_checkpoints
diff --git a/.gitmodules b/.gitmodules
index 4eb6e511127d..b8457c3aad78 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -129,6 +129,9 @@
[submodule "third_party/flash-attention"]
path = third_party/flash-attention
url = https://github.com/Dao-AILab/flash-attention.git
+<<<<<<< HEAD
[submodule "third_party/aiter"]
path = third_party/aiter
url = https://github.com/ROCm/aiter.git
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/.lintrunner.toml b/.lintrunner.toml
index 944829fa3897..7a98ea90e076 100644
--- a/.lintrunner.toml
+++ b/.lintrunner.toml
@@ -39,6 +39,7 @@ init_command = [
'python3',
'tools/linter/adapters/pip_init.py',
'--dry-run={{DRYRUN}}',
+<<<<<<< HEAD
'flake8==7.3.0',
'flake8-bugbear==24.12.12',
'flake8-comprehensions==3.16.0',
@@ -49,6 +50,18 @@ init_command = [
'mccabe==0.7.0',
'pycodestyle==2.14.0',
'pyflakes==3.4.0',
+=======
+ 'flake8==6.1.0',
+ 'flake8-bugbear==23.3.23',
+ 'flake8-comprehensions==3.15.0',
+ 'flake8-executable==2.1.3',
+ 'flake8-logging-format==0.9.0',
+ 'flake8-pyi==23.3.1',
+ 'flake8-simplify==0.19.3',
+ 'mccabe==0.7.0',
+ 'pycodestyle==2.11.1',
+ 'pyflakes==3.1.0',
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
'torchfix==0.4.0 ; python_version >= "3.9" and python_version < "3.13"',
]
@@ -122,7 +135,10 @@ is_formatter = true
[[linter]]
code = 'MYPY'
include_patterns = [
+<<<<<<< HEAD
'setup.py',
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
'torch/**/*.py',
'torch/**/*.pyi',
'caffe2/**/*.py',
@@ -132,7 +148,11 @@ include_patterns = [
'test/test_complex.py',
'test/test_datapipe.py',
'test/test_futures.py',
+<<<<<<< HEAD
'test/test_numpy_interop.py',
+=======
+ # 'test/test_numpy_interop.py',
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
'test/test_torch.py',
'test/test_type_hints.py',
'test/test_type_info.py',
@@ -158,16 +178,27 @@ init_command = [
'mypy==1.16.0',
'sympy==1.13.3',
'types-requests==2.27.25',
+<<<<<<< HEAD
'types-pyyaml==6.0.2',
+=======
+ 'types-pyyaml==6.0.1',
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
'types-tabulate==0.8.8',
'types-protobuf==5.29.1.20250403',
'types-setuptools==79.0.0.20250422',
'types-jinja2==2.11.9',
'types-colorama==0.4.6',
+<<<<<<< HEAD
'filelock==3.18.0',
'junitparser==2.1.1',
'rich==14.1.0',
'pyyaml==6.0.2',
+=======
+ 'filelock==3.13.1',
+ 'junitparser==2.1.1',
+ 'rich==10.9.0',
+ 'pyyaml==6.0.1',
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
'optree==0.13.0',
'dataclasses-json==0.6.7',
'pandas==2.2.3',
@@ -231,8 +262,12 @@ include_patterns = [
'c10/**/*.cpp',
'c10/**/*.h',
'torch/*.h',
+<<<<<<< HEAD
'torch/_inductor/codegen/aoti_runtime/*.h',
'torch/_inductor/codegen/aoti_runtime/*.cpp',
+=======
+ 'torch/_inductor/codegen/aoti_runtime/interface.cpp',
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
'torch/csrc/*.h',
'torch/csrc/*.cpp',
'torch/csrc/**/*.h',
@@ -500,7 +535,11 @@ include_patterns = [
'**/*.h',
]
exclude_patterns = [
+<<<<<<< HEAD
'torch/headeronly/macros/Macros.h',
+=======
+ 'c10/macros/Macros.h',
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
]
command = [
'python3',
@@ -523,7 +562,11 @@ include_patterns = [
'**/*.h',
]
exclude_patterns = [
+<<<<<<< HEAD
'torch/headeronly/macros/Macros.h',
+=======
+ 'c10/macros/Macros.h',
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
]
command = [
'python3',
@@ -583,7 +626,11 @@ exclude_patterns = [
command = [
'python3',
'tools/linter/adapters/grep_linter.py',
+<<<<<<< HEAD
'--pattern=#include >>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
'--allowlist-pattern=#include ',
'--linter-name=PYBIND11_INCLUDE',
'--match-first-only',
@@ -1111,7 +1158,11 @@ init_command = [
'python3',
'tools/linter/adapters/pip_init.py',
'--dry-run={{DRYRUN}}',
+<<<<<<< HEAD
'pyyaml==6.0.2',
+=======
+ 'PyYAML==6.0.1',
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
]
[[linter]]
@@ -1133,7 +1184,11 @@ init_command = [
'python3',
'tools/linter/adapters/pip_init.py',
'--dry-run={{DRYRUN}}',
+<<<<<<< HEAD
'pyyaml==6.0.2',
+=======
+ 'PyYAML==6.0.1',
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
]
[[linter]]
@@ -1158,6 +1213,7 @@ exclude_patterns = [
'torch/_vendor/**',
'torch/_inductor/fx_passes/serialized_patterns/**',
'torch/_inductor/autoheuristic/artifacts/**',
+<<<<<<< HEAD
'torch/utils/model_dump/preact.mjs',
# These files are all grandfathered in, feel free to remove from this list
# as necessary
@@ -1165,6 +1221,31 @@ exclude_patterns = [
'aten/src/ATen/native/[a-pA-P]*/**',
'aten/src/ATen/[a-mA-M]*/**',
'test/**',
+=======
+ # These files are all grandfathered in, feel free to remove from this list
+ # as necessary
+ # NOTE: remove the patterns in the order they are listed
+ 'aten/**',
+ 'aten/src/ATen/native/**',
+ 'aten/src/ATen/native/q*/**',
+ 'aten/src/ATen/native/[a-pA-P]*/**',
+ 'aten/src/ATen/[a-mA-M]*/**',
+ 'test/**',
+ 'test/test_*',
+ 'test/[a-hA-h]*/**',
+ 'test/inductor/**',
+ 'test/dynamo/**',
+ 'test/distributed/**',
+ 'torch/**',
+ 'torch/_*/**',
+ 'torch/ao/**',
+ 'torch/fx/**',
+ 'torch/distributed/tensor/**',
+ 'torch/[j-o]*/**',
+ 'torch/utils/**',
+ 'torch/csrc/jit/**',
+ 'torch/csrc/jit/[a-o]*/**',
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
]
init_command = [
'python3',
@@ -1452,13 +1533,22 @@ init_command = [
'python3',
'tools/linter/adapters/pip_init.py',
'--dry-run={{DRYRUN}}',
+<<<<<<< HEAD
'usort==1.0.8.post1',
'isort==6.0.1',
'ruff==0.12.9', # sync with RUFF
+=======
+ '--no-black-binary',
+ 'black==23.12.1',
+ 'usort==1.0.8.post1',
+ 'isort==6.0.1',
+ 'ruff==0.11.13', # sync with RUFF
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
]
is_formatter = true
[[linter]]
+<<<<<<< HEAD
code = 'PYPROJECT'
command = [
'python3',
@@ -1503,6 +1593,8 @@ init_command = [
]
[[linter]]
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
code = 'COPYRIGHT'
include_patterns = ['**']
exclude_patterns = [
@@ -1589,7 +1681,11 @@ init_command = [
'python3',
'tools/linter/adapters/pip_init.py',
'--dry-run={{DRYRUN}}',
+<<<<<<< HEAD
'ruff==0.12.9', # sync with PYFMT
+=======
+ 'ruff==0.11.13', # sync with PYFMT
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
]
is_formatter = true
@@ -1598,10 +1694,14 @@ is_formatter = true
# the same line, merge conflicts should not arise in git or hg
[[linter]]
code = 'MERGE_CONFLICTLESS_CSV'
+<<<<<<< HEAD
include_patterns = [
'benchmarks/dynamo/ci_expected_accuracy/*.csv',
'benchmarks/dynamo/pr_time_benchmarks/expected_results.csv',
]
+=======
+include_patterns = ['benchmarks/dynamo/ci_expected_accuracy/*.csv']
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
command = [
'python3',
'tools/linter/adapters/no_merge_conflict_csv_linter.py',
@@ -1792,6 +1892,7 @@ include_patterns = [
'torch/header_only_apis.txt',
]
is_formatter = false
+<<<<<<< HEAD
[[linter]]
@@ -1801,3 +1902,5 @@ command = [
"python3",
"tools/linter/adapters/gb_registry_linter.py",
]
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/AGENTS.md b/AGENTS.md
index 3d5436a02a85..dd27ff6213af 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -1,4 +1,5 @@
- This is the only AGENTS.md, there are no recursive AGENTS.md
+<<<<<<< HEAD
- When you are working on a bug, first create a standalone file that
reproduces the bug and verify it fails in the expected way. Use this to
test if your changes work. Once the change is passing, find an appropriate
@@ -15,3 +16,5 @@
- git reset --hard $(cat /tmp/orig_work.txt) # NB: reset to the LOCAL branch, do NOT fetch
- git stash pop
- Resolve conflicts if necessary
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/BUILD.bazel b/BUILD.bazel
index f13da6bfbe43..b47bb0a308fd 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -91,8 +91,11 @@ generated_cpu_cpp = [
"aten/src/ATen/NativeMetaFunctions.h",
"aten/src/ATen/RegistrationDeclarations.h",
"aten/src/ATen/VmapGeneratedPlumbing.h",
+<<<<<<< HEAD
"aten/src/ATen/ViewMetaClasses.h",
"aten/src/ATen/ViewMetaClasses.cpp",
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
"aten/src/ATen/core/aten_interned_strings.h",
"aten/src/ATen/core/enum_tag.h",
"aten/src/ATen/core/TensorBody.h",
@@ -281,7 +284,10 @@ header_template_rule(
"@AT_BLAS_F2C@": "0",
"@AT_BLAS_USE_CBLAS_DOT@": "1",
"@AT_KLEIDIAI_ENABLED@": "0",
+<<<<<<< HEAD
"@AT_USE_EIGEN_SPARSE@": "0",
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
},
)
@@ -682,7 +688,10 @@ cc_library(
[
"torch/*.h",
"torch/csrc/**/*.h",
+<<<<<<< HEAD
"torch/nativert/**/*.h",
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
"torch/csrc/distributed/c10d/**/*.hpp",
"torch/lib/libshm/*.h",
],
@@ -749,7 +758,10 @@ cc_library(
"torch/csrc/distributed/c10d/symm_mem/CUDASymmetricMemory.cu",
"torch/csrc/distributed/c10d/symm_mem/CUDASymmetricMemoryOps.cu",
"torch/csrc/distributed/c10d/symm_mem/CUDASymmetricMemoryUtils.cpp",
+<<<<<<< HEAD
"torch/csrc/distributed/c10d/symm_mem/cuda_mem_pool.cpp",
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
"torch/csrc/distributed/c10d/symm_mem/intra_node_comm.cu",
],
)) + torch_sources,
@@ -1108,7 +1120,10 @@ test_suite(
"aten/src/ATen/templates/LazyNonNativeIr.h",
"aten/src/ATen/templates/RegisterDispatchKey.cpp",
"aten/src/ATen/templates/RegisterDispatchDefinitions.ini",
+<<<<<<< HEAD
"aten/src/ATen/templates/ViewMetaClassesPythonBinding.cpp",
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
"aten/src/ATen/native/native_functions.yaml",
"aten/src/ATen/native/tags.yaml",
"aten/src/ATen/native/ts_native_functions.yaml",
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ce7890f002d3..5a659f90ed3a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -239,9 +239,13 @@ option(USE_XPU "Use XPU" ON)
cmake_dependent_option(
BUILD_LAZY_CUDA_LINALG "Build cuda linalg ops as separate library" ON
"USE_CUDA AND LINUX AND BUILD_PYTHON" OFF)
+<<<<<<< HEAD
cmake_dependent_option(USE_ROCM "Use ROCm" ON "LINUX OR WIN32" OFF)
cmake_dependent_option(USE_ROCM_CK_GEMM "Use ROCm Composable Kernel for GEMMs" ON "USE_ROCM;NOT WIN32" OFF)
option(USE_ROCM_CK_SDPA "Use ROCm Composable Kernel for SDPA" OFF)
+=======
+cmake_dependent_option(USE_ROCM "Use ROCm" ON "LINUX" OFF)
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
option(CAFFE2_STATIC_LINK_CUDA "Statically link CUDA libraries" OFF)
cmake_dependent_option(USE_CUDNN "Use cuDNN" ON "USE_CUDA" OFF)
cmake_dependent_option(USE_STATIC_CUDNN "Use cuDNN static libraries" OFF
@@ -253,6 +257,10 @@ cmake_dependent_option(USE_CUFILE "Use cuFile" ON "USE_CUDA AND NOT WIN32" OFF)
option(USE_FBGEMM "Use FBGEMM (quantized 8-bit server operators)" ON)
option(USE_KINETO "Use Kineto profiling library" ON)
option(USE_CUPTI_SO "Use CUPTI as a shared library" ON)
+<<<<<<< HEAD
+=======
+option(USE_FAKELOWP "Use FakeLowp operators" OFF)
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
option(USE_GFLAGS "Use GFLAGS" OFF)
option(USE_GLOG "Use GLOG" OFF)
option(USE_LITE_PROTO "Use lite protobuf instead of full." OFF)
@@ -261,6 +269,7 @@ option(USE_PYTORCH_METAL "Use Metal for PyTorch iOS build" OFF)
option(USE_PYTORCH_METAL_EXPORT "Export Metal models on MacOSX desktop" OFF)
option(USE_NATIVE_ARCH "Use -march=native" OFF)
cmake_dependent_option(USE_MPS "Use MPS for macOS build" ON "MPS_FOUND" OFF)
+<<<<<<< HEAD
option(USE_DISTRIBUTED "Use distributed" ON)
cmake_dependent_option(USE_NCCL "Use NCCL" ON
"USE_DISTRIBUTED;USE_CUDA OR USE_ROCM;UNIX;NOT APPLE" OFF)
@@ -273,6 +282,16 @@ cmake_dependent_option(USE_SYSTEM_NCCL "Use system-wide NCCL" OFF "USE_NCCL"
OFF)
cmake_dependent_option(USE_NVSHMEM "Use NVSHMEM" ON
"USE_DISTRIBUTED;USE_CUDA OR USE_ROCM;UNIX;NOT APPLE" OFF)
+=======
+cmake_dependent_option(USE_NCCL "Use NCCL" ON
+ "USE_CUDA OR USE_ROCM;UNIX;NOT APPLE" OFF)
+cmake_dependent_option(USE_XCCL "Use XCCL" ON
+ "USE_XPU;UNIX;NOT APPLE" OFF)
+cmake_dependent_option(USE_RCCL "Use RCCL" ON USE_NCCL OFF)
+cmake_dependent_option(USE_STATIC_NCCL "Use static NCCL" OFF "USE_NCCL" OFF)
+cmake_dependent_option(USE_SYSTEM_NCCL "Use system-wide NCCL" OFF "USE_NCCL"
+ OFF)
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
option(USE_NNAPI "Use NNAPI" OFF)
option(USE_NNPACK "Use NNPACK" ON)
cmake_dependent_option(USE_NUMA "Use NUMA. Only available on Linux." ON "LINUX"
@@ -289,7 +308,10 @@ option(USE_PRECOMPILED_HEADERS "Use pre-compiled headers to accelerate build."
option(USE_PROF "Use profiling" OFF)
option(USE_PYTORCH_QNNPACK "Use ATen/QNNPACK (quantized 8-bit operators)" ON)
option(USE_SNPE "Use Qualcomm's SNPE library" OFF)
+<<<<<<< HEAD
option(USE_EIGEN_SPARSE "Use Eigen Sparse Matrices" OFF)
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
option(USE_SYSTEM_EIGEN_INSTALL
"Use system Eigen instead of the one under third_party" OFF)
cmake_dependent_option(
@@ -326,6 +348,10 @@ set(MKLDNN_ENABLE_CONCURRENT_EXEC ${USE_MKLDNN})
cmake_dependent_option(USE_MKLDNN_CBLAS "Use CBLAS in MKLDNN" OFF "USE_MKLDNN"
OFF)
option(USE_STATIC_MKL "Prefer to link with MKL statically (Unix only)" OFF)
+<<<<<<< HEAD
+=======
+option(USE_DISTRIBUTED "Use distributed" ON)
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
cmake_dependent_option(
USE_MPI "Use MPI for Caffe2. Only available if USE_DISTRIBUTED is on." ON
"USE_DISTRIBUTED" OFF)
@@ -567,7 +593,11 @@ if(MSVC)
set(CMAKE_NINJA_CMCLDEPS_RC OFF)
if(MSVC_Z7_OVERRIDE)
# CMake set debug flags to use /Z7
+<<<<<<< HEAD
set(CMAKE_MSVC_DEBUG_INFORMATION_FORMAT "$<$:Embedded>")
+=======
+ set(CMAKE_MSVC_DEBUG_INFORMATION_FORMAT Embedded)
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
endif()
foreach(
flag_var
@@ -837,11 +867,18 @@ include(ExternalProject)
# ---[ Dependencies ---[ FBGEMM doesn't work on x86 32bit and
# CMAKE_SYSTEM_PROCESSOR thinks its 64bit
+<<<<<<< HEAD
if(USE_FBGEMM AND NOT CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
message(WARNING
"x64 operating system is required for FBGEMM. "
"Not compiling with FBGEMM. "
"Turn this warning off by USE_FBGEMM=OFF.")
+=======
+if(USE_FBGEMM
+ AND((CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND CMAKE_SIZEOF_VOID_P EQUAL
+ 4)
+ OR CMAKE_SYSTEM_PROCESSOR STREQUAL "x86"))
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
set(USE_FBGEMM OFF)
endif()
@@ -873,9 +910,10 @@ cmake_dependent_option(
"Whether to build the flash_attention kernel for scaled dot product attention.\
Will be disabled if not supported by the platform"
ON
- "USE_CUDA OR USE_ROCM;NOT MSVC"
+ "(USE_CUDA AND NOT MSVC) OR USE_ROCM"
OFF)
+<<<<<<< HEAD
cmake_dependent_option(
USE_FBGEMM_GENAI
"Whether to build FBGEMM GenAI quantized GEMM kernels.\
@@ -895,6 +933,8 @@ if(USE_CUDA AND "$ENV{TORCH_CUDA_ARCH_LIST}" MATCHES "10.0a")
set(USE_FBGEMM_GENAI ON)
endif()
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# CAVEAT: Again, Flash Attention2 will error while building for sm52 while Mem
# Eff Attention won't
cmake_dependent_option(
@@ -908,7 +948,7 @@ cmake_dependent_option(
# USE_FLASH_ATTENTION -> USE_ROCM -> Dependencies.cmake -> aotriton.cmake
#
if(USE_ROCM)
- if(UNIX AND (USE_FLASH_ATTENTION OR USE_MEM_EFF_ATTENTION))
+ if(USE_FLASH_ATTENTION OR USE_MEM_EFF_ATTENTION)
include(cmake/External/aotriton.cmake)
endif()
endif()
@@ -928,10 +968,13 @@ if(USE_FBGEMM)
string(APPEND CMAKE_CXX_FLAGS " -DUSE_FBGEMM")
endif()
+<<<<<<< HEAD
if(USE_FBGEMM_GENAI)
string(APPEND CMAKE_CXX_FLAGS " -DUSE_FBGEMM_GENAI")
endif()
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if(USE_PYTORCH_QNNPACK)
string(APPEND CMAKE_CXX_FLAGS " -DUSE_PYTORCH_QNNPACK")
endif()
@@ -1208,7 +1251,11 @@ if(APPLE)
string(
APPEND
CMAKE_SHARED_LINKER_FLAGS
+<<<<<<< HEAD
" -weak_framework Foundation -weak_framework MetalPerformanceShaders -weak_framework MetalPerformanceShadersGraph -weak_framework Metal -weak_framework IOKit"
+=======
+ " -weak_framework Foundation -weak_framework MetalPerformanceShaders -weak_framework MetalPerformanceShadersGraph -weak_framework Metal"
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
)
# To suppress MPSGraph availability warnings
append_cxx_flag_if_supported("-Wno-unguarded-availability-new"
@@ -1217,6 +1264,13 @@ if(APPLE)
append_cxx_flag_if_supported("-Wno-missing-braces" CMAKE_CXX_FLAGS)
endif()
+<<<<<<< HEAD
+=======
+if(USE_XPU)
+ string(APPEND CMAKE_CXX_FLAGS " -DUSE_XPU")
+endif()
+
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if(EMSCRIPTEN)
string(
APPEND
@@ -1268,7 +1322,10 @@ if(USE_MIMALLOC AND USE_MIMALLOC_ON_MKL)
endif()
# ---[ Main build
+<<<<<<< HEAD
add_subdirectory(torch/headeronly) # headeronly headers
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
add_subdirectory(c10)
add_subdirectory(caffe2)
diff --git a/CODEOWNERS b/CODEOWNERS
index 1d91adacb062..ee66b0dca5f7 100644
--- a/CODEOWNERS
+++ b/CODEOWNERS
@@ -14,6 +14,10 @@
/torch/csrc/autograd/ @albanD @soulitzer
/torch/autograd/ @albanD @soulitzer
/tools/autograd/ @albanD @soulitzer
+<<<<<<< HEAD
+=======
+/torch/header_only_apis.txt @janeyx99
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
/torch/nn/ @albanD @jbschlosser @mikaylagawarecki
/torch/optim/ @albanD @janeyx99
/test/test_public_bindings.py @albanD
@@ -50,12 +54,21 @@ nn/qat/ @jerryzh168
/torch/csrc/distributed/c10d/Ops.* @kwen2501
# ONNX Export
+<<<<<<< HEAD
/torch/_dynamo/backends/onnxrt.py @titaiwangms @xadupre @justinchuby
/torch/csrc/jit/passes/onnx.h @titaiwangms @xadupre
/torch/csrc/jit/passes/onnx.cpp @titaiwangms @xadupre
/torch/csrc/jit/passes/onnx/ @titaiwangms @xadupre
/torch/onnx/ @titaiwangms @xadupre @justinchuby
/test/onnx/ @titaiwangms @xadupre @justinchuby
+=======
+/torch/_dynamo/backends/onnxrt.py @wschin
+/torch/csrc/jit/passes/onnx.h @titaiwangms @shubhambhokare1
+/torch/csrc/jit/passes/onnx.cpp @titaiwangms @shubhambhokare1
+/torch/csrc/jit/passes/onnx/ @titaiwangms @shubhambhokare1
+/torch/onnx/ @titaiwangms @shubhambhokare1 @justinchuby @wschin
+/test/onnx/ @titaiwangms @shubhambhokare1 @justinchuby @wschin
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# CI
/.ci @pytorch/pytorch-dev-infra
@@ -135,7 +148,11 @@ torch/profiler/ @sraikund16
test/functorch/test_aotdispatch.py @ezyang @Chillee
# Dataloader
+<<<<<<< HEAD
torch/utils/data/ @divyanshk @ramanishsingh @scotts
+=======
+torch/utils/data/ @divyanshk @ramanishsingh
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# hipify
torch/utils/hipify/ @jeffdaily @jithunnair-amd
@@ -164,7 +181,10 @@ caffe2/utils/hip @jeffdaily @jithunnair-amd
# torch.export
/torch/export/ @avikchaudhuri @tugsbayasgalan @zhxchen17 @ydwu4 @angelayi
/torch/_export/ @avikchaudhuri @tugsbayasgalan @zhxchen17 @ydwu4 @angelayi
+<<<<<<< HEAD
/torch/_export/serde/schema.py @SherlockNoMad @zhxchen17
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# Dynamic Shapes
/torch/fx/experimental/symbolic_shapes.py @bobrenjc93 @laithsakka
@@ -196,8 +216,11 @@ torch/backends/cudnn/ @eqy @syed-ahmed
/torch/utils/_cxx_pytree.py @XuehaiPan
/torch/utils/pytree/ @XuehaiPan
/torch/_dynamo/polyfills/pytree.py @XuehaiPan
+<<<<<<< HEAD
# Relating to libtorch ABI
/torch/csrc/stable/ @janeyx99 @mikaylagawarecki
/torch/headeronly/ @janeyx99
/torch/header_only_apis.txt @janeyx99
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 9d2b5d355391..9f5edc402748 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -88,6 +88,7 @@ source venv/bin/activate # or `& .\venv\Scripts\Activate.ps1` on Windows
* If you want to have no-op incremental rebuilds (which are fast), see [Make no-op build fast](#make-no-op-build-fast) below.
+<<<<<<< HEAD
* When installing with `python -m pip install -e . -v --no-build-isolation` (in contrast to `python -m pip install . -v --no-build-isolation`) Python runtime will use
the current local source-tree when importing `torch` package. (This is done by creating [`.egg-link`](https://wiki.python.org/moin/PythonPackagingTerminology#egg-link) file in `site-packages` folder)
This way you do not need to repeatedly install after modifying Python files (`.py`).
@@ -101,6 +102,22 @@ source venv/bin/activate # or `& .\venv\Scripts\Activate.ps1` on Windows
```
Afterwards rebuilding a library (for example to rebuild `libtorch_cpu.so` issue `ninja torch_cpu` from `build` folder),
would be sufficient to make change visible in `torch` package.
+=======
+* When installing with `python setup.py develop` (in contrast to `python setup.py install`) Python runtime will use
+ the current local source-tree when importing `torch` package. (This is done by creating [`.egg-link`](https://wiki.python.org/moin/PythonPackagingTerminology#egg-link) file in `site-packages` folder)
+ This way you do not need to repeatedly install after modifying Python files (`.py`).
+ However, you would need to reinstall if you modify Python interface (`.pyi`, `.pyi.in`) or
+ non-Python files (`.cpp`, `.cc`, `.cu`, `.h`, ...).
+
+
+ One way to avoid running `python setup.py develop` every time one makes a change to C++/CUDA/ObjectiveC files on Linux/Mac,
+ is to create a symbolic link from `build` folder to `torch/lib`, for example, by issuing following:
+ ```bash
+ pushd torch/lib; sh -c "ln -sf ../../build/lib/libtorch_cpu.* ."; popd
+ ```
+ Afterwards rebuilding a library (for example to rebuild `libtorch_cpu.so` issue `ninja torch_cpu` from `build` folder),
+ would be sufficient to make change visible in `torch` package.
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
To reinstall, first uninstall all existing PyTorch installs. You may need to run `pip
@@ -114,9 +131,15 @@ source venv/bin/activate # or `& .\venv\Scripts\Activate.ps1` on Windows
pip uninstall torch
```
+<<<<<<< HEAD
Next run `python setup.py clean`. After that, you can install in editable mode again.
* If you run into errors when running `python -m pip install -e . -v --no-build-isolation`, here are some debugging steps:
+=======
+ Next run `python setup.py clean`. After that, you can install in `develop` mode again.
+
+* If you run into errors when running `python setup.py develop`, here are some debugging steps:
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
1. Run `printf '#include \nint main() { printf("Hello World");}'|clang -x c -; ./a.out` to make sure
your CMake works and can compile this simple Hello World program without errors.
2. Nuke your `build` directory. The `setup.py` script compiles binaries into the `build` folder and caches many
@@ -129,6 +152,7 @@ source venv/bin/activate # or `& .\venv\Scripts\Activate.ps1` on Windows
git clean -xdf
python setup.py clean
git submodule update --init --recursive
+<<<<<<< HEAD
python -m pip install --group dev
python -m pip install --no-build-isolation -v -e .
```
@@ -143,6 +167,15 @@ source venv/bin/activate # or `& .\venv\Scripts\Activate.ps1` on Windows
python -m pip install --no-build-isolation -v -e .
```
+=======
+ python setup.py develop
+ ```
+ 4. The main step within `python setup.py develop` is running `make` from the `build` directory. If you want to
+ experiment with some environment variables, you can pass them into the command:
+ ```bash
+ ENV_KEY1=ENV_VAL1[, ENV_KEY2=ENV_VAL2]* python setup.py develop
+ ```
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
* If you run into issue running `git submodule update --init --recursive`. Please try the following:
- If you encounter an error such as
@@ -259,7 +292,10 @@ dependencies as well as the nightly binaries into the repo directory.
support for PyTorch.
* [tools](tools) - Code generation scripts for the PyTorch library.
See [README](tools/README.md) of this directory for more details.
+<<<<<<< HEAD
* [torchgen](torchgen) - contains the logic and tooling for generating PyTorch's low-level C++ and Python bindings from operator definitions, typically specified in native_functions.yaml
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
* [test](test) - Python unit tests for PyTorch Python frontend.
* [test_torch.py](test/test_torch.py) - Basic tests for PyTorch
functionality.
@@ -295,7 +331,11 @@ The following packages should be installed with `pip`:
- `pytest` - recommended to run tests more selectively
Running
```
+<<<<<<< HEAD
pip install --group dev
+=======
+pip install -r requirements.txt
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
```
will install these dependencies for you.
@@ -646,9 +686,15 @@ can be selected interactively with your mouse to zoom in on a particular part of
the program execution timeline. The `--native` command-line option tells
`py-spy` to record stack frame entries for PyTorch C++ code. To get line numbers
for C++ code it may be necessary to compile PyTorch in debug mode by prepending
+<<<<<<< HEAD
your `python -m pip install -e . -v --no-build-isolation` call to compile
PyTorch with `DEBUG=1`. Depending on your operating system it may also be
necessary to run `py-spy` with root privileges.
+=======
+your `setup.py develop` call to compile PyTorch with `DEBUG=1`. Depending on
+your operating system it may also be necessary to run `py-spy` with root
+privileges.
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
`py-spy` can also work in an `htop`-like "live profiling" mode and can be
tweaked to adjust the stack sampling rate, see the `py-spy` readme for more
@@ -656,10 +702,17 @@ details.
## Managing multiple build trees
+<<<<<<< HEAD
One downside to using `python -m pip install -e . -v --no-build-isolation` is
that your development version of PyTorch will be installed globally on your
account (e.g., if you run `import torch` anywhere else, the development version
will be used).
+=======
+One downside to using `python setup.py develop` is that your development
+version of PyTorch will be installed globally on your account (e.g., if
+you run `import torch` anywhere else, the development version will be
+used).
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
If you want to manage multiple builds of PyTorch, you can make use of
[venv environments](https://docs.python.org/3/library/venv.html) to maintain
@@ -670,7 +723,11 @@ specific build of PyTorch. To set one up:
python -m venv pytorch-myfeature
source pytorch-myfeature/bin/activate # or `& .\pytorch-myfeature\Scripts\Activate.ps1` on Windows
# if you run python now, torch will NOT be installed
+<<<<<<< HEAD
python -m pip install --no-build-isolation -v -e .
+=======
+python setup.py develop
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
```
## C++ development tips
@@ -708,9 +765,13 @@ variables `DEBUG`, `USE_DISTRIBUTED`, `USE_MKLDNN`, `USE_CUDA`, `USE_FLASH_ATTEN
For example:
```bash
+<<<<<<< HEAD
DEBUG=1 USE_DISTRIBUTED=0 USE_MKLDNN=0 USE_CUDA=0 BUILD_TEST=0 \
USE_FBGEMM=0 USE_NNPACK=0 USE_QNNPACK=0 USE_XNNPACK=0 \
python -m pip install --no-build-isolation -v -e .
+=======
+DEBUG=1 USE_DISTRIBUTED=0 USE_MKLDNN=0 USE_CUDA=0 BUILD_TEST=0 USE_FBGEMM=0 USE_NNPACK=0 USE_QNNPACK=0 USE_XNNPACK=0 python setup.py develop
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
```
For subsequent builds (i.e., when `build/CMakeCache.txt` exists), the build
@@ -720,7 +781,11 @@ options.
### Code completion and IDE support
+<<<<<<< HEAD
When using `python -m pip install -e . -v --no-build-isolation`, PyTorch will generate
+=======
+When using `python setup.py develop`, PyTorch will generate
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
a `compile_commands.json` file that can be used by many editors
to provide command completion and error highlighting for PyTorch's
C++ code. You need to `pip install ninja` to generate accurate
@@ -781,7 +846,11 @@ If not, you can define these variables on the command line before invoking `setu
export CMAKE_C_COMPILER_LAUNCHER=ccache
export CMAKE_CXX_COMPILER_LAUNCHER=ccache
export CMAKE_CUDA_COMPILER_LAUNCHER=ccache
+<<<<<<< HEAD
python -m pip install --no-build-isolation -v -e .
+=======
+python setup.py develop
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
```
#### Use a faster linker
@@ -794,7 +863,11 @@ If you are editing a single file and rebuilding in a tight loop, the time spent
Starting with CMake 3.29, you can specify the linker type using the [`CMAKE_LINKER_TYPE`](https://cmake.org/cmake/help/latest/variable/CMAKE_LINKER_TYPE.html) variable. For example, with `mold` installed:
```sh
+<<<<<<< HEAD
CMAKE_LINKER_TYPE=MOLD python -m pip install --no-build-isolation -v -e .
+=======
+CMAKE_LINKER_TYPE=MOLD python setup.py develop
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
```
#### Use pre-compiled headers
@@ -806,7 +879,11 @@ setting `USE_PRECOMPILED_HEADERS=1` either on first setup, or in the
`CMakeCache.txt` file.
```sh
+<<<<<<< HEAD
USE_PRECOMPILED_HEADERS=1 python -m pip install --no-build-isolation -v -e .
+=======
+USE_PRECOMPILED_HEADERS=1 python setup.py develop
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
```
This adds a build step where the compiler takes `` and essentially
@@ -829,7 +906,11 @@ A compiler-wrapper to fix this is provided in `tools/nvcc_fix_deps.py`. You can
this as a compiler launcher, similar to `ccache`
```bash
export CMAKE_CUDA_COMPILER_LAUNCHER="python;`pwd`/tools/nvcc_fix_deps.py;ccache"
+<<<<<<< HEAD
python -m pip install --no-build-isolation -v -e .
+=======
+python setup.py develop
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
```
### Rebuild few files with debug information
@@ -1180,7 +1261,11 @@ build_with_asan()
CFLAGS="-fsanitize=address -fno-sanitize-recover=all -shared-libasan -pthread" \
CXX_FLAGS="-pthread" \
USE_CUDA=0 USE_OPENMP=0 USE_DISTRIBUTED=0 DEBUG=1 \
+<<<<<<< HEAD
python -m pip install --no-build-isolation -v -e .
+=======
+ python setup.py develop
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
}
run_with_asan()
diff --git a/Dockerfile b/Dockerfile
index 331cf00593cb..dceb1b1bb966 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -33,7 +33,11 @@ RUN case ${TARGETPLATFORM} in \
*) MINICONDA_ARCH=x86_64 ;; \
esac && \
curl -fsSL -v -o ~/miniconda.sh -O "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-${MINICONDA_ARCH}.sh"
+<<<<<<< HEAD
COPY requirements.txt requirements-build.txt .
+=======
+COPY requirements.txt .
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# Manually invoke bash on miniconda script per https://github.com/conda/conda/issues/10431
RUN chmod +x ~/miniconda.sh && \
bash ~/miniconda.sh -b -p /opt/conda && \
@@ -47,6 +51,7 @@ WORKDIR /opt/pytorch
COPY . .
RUN git submodule update --init --recursive
+<<<<<<< HEAD
FROM conda as conda-installs
ARG PYTHON_VERSION=3.11
ARG CUDA_PATH=cu121
@@ -54,6 +59,28 @@ ARG INSTALL_CHANNEL=whl/nightly
# Automatically set by buildx
# pinning version of conda here see: https://github.com/pytorch/pytorch/issues/164574
RUN /opt/conda/bin/conda install -y python=${PYTHON_VERSION} conda=25.7.0
+=======
+FROM conda as build
+ARG CMAKE_VARS
+WORKDIR /opt/pytorch
+COPY --from=conda /opt/conda /opt/conda
+COPY --from=submodule-update /opt/pytorch /opt/pytorch
+RUN make triton
+RUN --mount=type=cache,target=/opt/ccache \
+ export eval ${CMAKE_VARS} && \
+ TORCH_CUDA_ARCH_LIST="7.0 7.2 7.5 8.0 8.6 8.7 8.9 9.0 9.0a" TORCH_NVCC_FLAGS="-Xfatbin -compress-all" \
+ CMAKE_PREFIX_PATH="$(dirname $(which conda))/../" \
+ python setup.py install
+
+FROM conda as conda-installs
+ARG PYTHON_VERSION=3.11
+ARG CUDA_PATH=cu121
+ARG CUDA_CHANNEL=nvidia
+ARG INSTALL_CHANNEL=whl/nightly
+# Automatically set by buildx
+RUN /opt/conda/bin/conda update -y -n base -c defaults conda
+RUN /opt/conda/bin/conda install -y python=${PYTHON_VERSION}
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
ARG TARGETPLATFORM
@@ -96,5 +123,9 @@ WORKDIR /workspace
FROM official as dev
# Should override the already installed version from the official-image stage
+<<<<<<< HEAD
COPY --from=conda /opt/conda /opt/conda
COPY --from=submodule-update /opt/pytorch /opt/pytorch
+=======
+COPY --from=build /opt/conda /opt/conda
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/MANIFEST.in b/MANIFEST.in
index ec00f251160b..01ed986a3d4d 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,3 +1,4 @@
+<<<<<<< HEAD
# Reference: https://setuptools.pypa.io/en/latest/userguide/miscellaneous.html
# Include source files in SDist
@@ -48,3 +49,36 @@ global-exclude *.o *.obj *.so *.a *.dylib *.pxd *.dll *.lib *.py[cod]
prune */.git
global-exclude .git *~ *.swp
+=======
+include MANIFEST.in
+include CMakeLists.txt
+include CITATION.cff
+include LICENSE
+include NOTICE
+include .gitmodules
+include build_variables.bzl
+include mypy.ini
+include requirements.txt
+include ufunc_defs.bzl
+include version.txt
+recursive-include android *.*
+recursive-include aten *.*
+recursive-include binaries *.*
+recursive-include c10 *.*
+recursive-include caffe2 *.*
+recursive-include cmake *.*
+recursive-include torch *.*
+recursive-include tools *.*
+recursive-include test *.*
+recursive-include docs *.*
+recursive-include ios *.*
+recursive-include third_party *
+recursive-include test *.*
+recursive-include benchmarks *.*
+recursive-include scripts *.*
+recursive-include mypy_plugins *.*
+recursive-include modules *.*
+recursive-include functorch *.*
+prune */__pycache__
+global-exclude *.o *.so *.dylib *.a .git *.pyc *.swp
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/Makefile b/Makefile
index 3db2b7aa44e7..3dc907d125f8 100644
--- a/Makefile
+++ b/Makefile
@@ -57,8 +57,12 @@ setup-env-cuda:
setup-env-rocm:
$(MAKE) setup-env PYTHON="$(PYTHON)" NIGHTLY_TOOL_OPTS="$(NIGHTLY_TOOL_OPTS) --rocm"
+<<<<<<< HEAD
.PHONY: setup-lint
setup-lint .lintbin/.lintrunner.sha256: requirements.txt pyproject.toml .lintrunner.toml
+=======
+.lintbin/.lintrunner.sha256: requirements.txt pyproject.toml .lintrunner.toml
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
@echo "Setting up lintrunner..."
$(PIP) install lintrunner
lintrunner init
@@ -66,6 +70,12 @@ setup-lint .lintbin/.lintrunner.sha256: requirements.txt pyproject.toml .lintrun
@mkdir -p .lintbin
@sha256sum requirements.txt pyproject.toml .lintrunner.toml > .lintbin/.lintrunner.sha256
+<<<<<<< HEAD
+=======
+.PHONY: setup-lint
+setup-lint: .lintbin/.lintrunner.sha256
+
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
.PHONY: lazy-setup-lint
lazy-setup-lint: .lintbin/.lintrunner.sha256
@if [ ! -x "$(shell command -v lintrunner)" ]; then \
diff --git a/README.md b/README.md
index 99e6dabd1618..79206f3c9747 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,8 @@
+<<<<<<< HEAD

+=======
+
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
--------------------------------------------------------------------------------
@@ -72,7 +76,11 @@ Elaborating Further:
If you use NumPy, then you have used Tensors (a.k.a. ndarray).
+<<<<<<< HEAD

+=======
+
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
PyTorch provides Tensors that can live either on the CPU or the GPU and accelerates the
computation by a huge amount.
@@ -99,7 +107,11 @@ from several research papers on this topic, as well as current and past work suc
While this technique is not unique to PyTorch, it's one of the fastest implementations of it to date.
You get the best of speed and flexibility for your crazy research.
+<<<<<<< HEAD

+=======
+
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
### Python First
@@ -200,7 +212,11 @@ If you want to compile with CUDA support, [select a supported version of CUDA fr
- [NVIDIA cuDNN](https://developer.nvidia.com/cudnn) v8.5 or above
- [Compiler](https://gist.github.com/ax3l/9489132) compatible with CUDA
+<<<<<<< HEAD
Note: You could refer to the [cuDNN Support Matrix](https://docs.nvidia.com/deeplearning/cudnn/backend/latest/reference/support-matrix.html) for cuDNN versions with the various supported CUDA, CUDA driver, and NVIDIA hardware.
+=======
+Note: You could refer to the [cuDNN Support Matrix](https://docs.nvidia.com/deeplearning/cudnn/backend/latest/reference/support-matrix.html) for cuDNN versions with the various supported CUDA, CUDA driver and NVIDIA hardware
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
If you want to disable CUDA support, export the environment variable `USE_CUDA=0`.
Other potentially useful environment variables may be found in `setup.py`. If
@@ -228,7 +244,10 @@ If you want to disable Intel GPU support, export the environment variable `USE_X
Other potentially useful environment variables may be found in `setup.py`.
#### Get the PyTorch Source
+<<<<<<< HEAD
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
```bash
git clone https://github.com/pytorch/pytorch
cd pytorch
@@ -242,8 +261,14 @@ git submodule update --init --recursive
**Common**
```bash
+<<<<<<< HEAD
# Run this command from the PyTorch directory after cloning the source code using the “Get the PyTorch Source“ section above
pip install --group dev
+=======
+conda install cmake ninja
+# Run this command from the PyTorch directory after cloning the source code using the “Get the PyTorch Source“ section below
+pip install -r requirements.txt
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
```
**On Linux**
@@ -275,6 +300,7 @@ conda install pkg-config libuv
pip install mkl-static mkl-include
# Add these packages if torch.distributed is needed.
# Distributed package support on Windows is a prototype feature and is subject to changes.
+<<<<<<< HEAD
conda install -c conda-forge libuv
```
@@ -284,22 +310,41 @@ conda install -c conda-forge libuv
If you're compiling for AMD ROCm then first run this command:
+=======
+conda install -c conda-forge libuv=1.39
+```
+
+#### Install PyTorch
+**On Linux**
+
+If you're compiling for AMD ROCm then first run this command:
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
```bash
# Only run this if you're compiling for ROCm
python tools/amd_build/build_amd.py
```
Install PyTorch
+<<<<<<< HEAD
```bash
export CMAKE_PREFIX_PATH="${CONDA_PREFIX:-'$(dirname $(which conda))/../'}:${CMAKE_PREFIX_PATH}"
python -m pip install --no-build-isolation -v -e .
+=======
+```bash
+export CMAKE_PREFIX_PATH="${CONDA_PREFIX:-'$(dirname $(which conda))/../'}:${CMAKE_PREFIX_PATH}"
+python setup.py develop
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
```
**On macOS**
```bash
+<<<<<<< HEAD
python -m pip install --no-build-isolation -v -e .
+=======
+python3 setup.py develop
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
```
**On Windows**
@@ -311,7 +356,11 @@ If you want to build legacy python code, please refer to [Building on legacy cod
In this mode PyTorch computations will run on your CPU, not your GPU.
```cmd
+<<<<<<< HEAD
python -m pip install --no-build-isolation -v -e .
+=======
+python setup.py develop
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
```
Note on OpenMP: The desired OpenMP implementation is Intel OpenMP (iomp). In order to link against iomp, you'll need to manually download the library and set up the building environment by tweaking `CMAKE_INCLUDE_PATH` and `LIB`. The instruction [here](https://github.com/pytorch/pytorch/blob/main/docs/source/notes/windows.rst#building-from-source) is an example for setting up both MKL and Intel OpenMP. Without these configurations for CMake, Microsoft Visual C OpenMP runtime (vcomp) will be used.
@@ -332,6 +381,10 @@ Additional libraries such as
You can refer to the [build_pytorch.bat](https://github.com/pytorch/pytorch/blob/main/.ci/pytorch/win-test-helpers/build_pytorch.bat) script for some other environment variables configurations
+<<<<<<< HEAD
+=======
+
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
```cmd
cmd
@@ -351,7 +404,12 @@ for /f "usebackq tokens=*" %i in (`"%ProgramFiles(x86)%\Microsoft Visual Studio\
:: [Optional] If you want to override the CUDA host compiler
set CUDAHOSTCXX=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\bin\HostX64\x64\cl.exe
+<<<<<<< HEAD
python -m pip install --no-build-isolation -v -e .
+=======
+python setup.py develop
+
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
```
**Intel GPU builds**
@@ -373,7 +431,11 @@ if defined CMAKE_PREFIX_PATH (
set "CMAKE_PREFIX_PATH=%CONDA_PREFIX%\Library"
)
+<<<<<<< HEAD
python -m pip install --no-build-isolation -v -e .
+=======
+python setup.py develop
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
```
##### Adjust Build Options (Optional)
@@ -383,7 +445,10 @@ the following. For example, adjusting the pre-detected directories for CuDNN or
with such a step.
On Linux
+<<<<<<< HEAD
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
```bash
export CMAKE_PREFIX_PATH="${CONDA_PREFIX:-'$(dirname $(which conda))/../'}:${CMAKE_PREFIX_PATH}"
CMAKE_ONLY=1 python setup.py build
@@ -391,10 +456,16 @@ ccmake build # or cmake-gui build
```
On macOS
+<<<<<<< HEAD
```bash
export CMAKE_PREFIX_PATH="${CONDA_PREFIX:-'$(dirname $(which conda))/../'}:${CMAKE_PREFIX_PATH}"
MACOSX_DEPLOYMENT_TARGET=11.0 CMAKE_ONLY=1 python setup.py build
+=======
+```bash
+export CMAKE_PREFIX_PATH="${CONDA_PREFIX:-'$(dirname $(which conda))/../'}:${CMAKE_PREFIX_PATH}"
+MACOSX_DEPLOYMENT_TARGET=10.9 CC=clang CXX=clang++ CMAKE_ONLY=1 python setup.py build
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
ccmake build # or cmake-gui build
```
@@ -517,7 +588,11 @@ on [our website](https://pytorch.org/get-started/previous-versions).
## Getting Started
+<<<<<<< HEAD
Three pointers to get you started:
+=======
+Three-pointers to get you started:
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
- [Tutorials: get you started with understanding and using PyTorch](https://pytorch.org/tutorials/)
- [Examples: easy to understand PyTorch code across all domains](https://github.com/pytorch/examples)
- [The API Reference](https://pytorch.org/docs/)
@@ -559,7 +634,11 @@ To learn more about making a contribution to Pytorch, please see our [Contributi
PyTorch is a community-driven project with several skillful engineers and researchers contributing to it.
+<<<<<<< HEAD
PyTorch is currently maintained by [Soumith Chintala](http://soumith.ch), [Gregory Chanan](https://github.com/gchanan), [Dmytro Dzhulgakov](https://github.com/dzhulgakov), [Edward Yang](https://github.com/ezyang), [Alban Desmaison](https://github.com/albanD), [Piotr Bialecki](https://github.com/ptrblck) and [Nikita Shulga](https://github.com/malfet) with major contributions coming from hundreds of talented individuals in various forms and means.
+=======
+PyTorch is currently maintained by [Soumith Chintala](http://soumith.ch), [Gregory Chanan](https://github.com/gchanan), [Dmytro Dzhulgakov](https://github.com/dzhulgakov), [Edward Yang](https://github.com/ezyang), and [Nikita Shulga](https://github.com/malfet) with major contributions coming from hundreds of talented individuals in various forms and means.
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
A non-exhaustive but growing list needs to mention: [Trevor Killeen](https://github.com/killeent), [Sasank Chilamkurthy](https://github.com/chsasank), [Sergey Zagoruyko](https://github.com/szagoruyko), [Adam Lerer](https://github.com/adamlerer), [Francisco Massa](https://github.com/fmassa), [Alykhan Tejani](https://github.com/alykhantejani), [Luca Antiga](https://github.com/lantiga), [Alban Desmaison](https://github.com/albanD), [Andreas Koepf](https://github.com/andreaskoepf), [James Bradbury](https://github.com/jekbradbury), [Zeming Lin](https://github.com/ebetica), [Yuandong Tian](https://github.com/yuandong-tian), [Guillaume Lample](https://github.com/glample), [Marat Dukhan](https://github.com/Maratyszcza), [Natalia Gimelshein](https://github.com/ngimel), [Christian Sarofeen](https://github.com/csarofeen), [Martin Raison](https://github.com/martinraison), [Edward Yang](https://github.com/ezyang), [Zachary Devito](https://github.com/zdevito).
Note: This project is unrelated to [hughperkins/pytorch](https://github.com/hughperkins/pytorch) with the same name. Hugh is a valuable contributor to the Torch community and has helped with many things Torch and PyTorch.
diff --git a/RELEASE.md b/RELEASE.md
index 047bb10161f7..df3f57b29d55 100644
--- a/RELEASE.md
+++ b/RELEASE.md
@@ -50,7 +50,10 @@ Following is the Release Compatibility Matrix for PyTorch releases:
| PyTorch version | Python | C++ | Stable CUDA | Experimental CUDA | Stable ROCm |
| --- | --- | --- | --- | --- | --- |
+<<<<<<< HEAD
| 2.8 | >=3.9, <=3.13, (3.13t experimental) | C++17 | CUDA 12.6 (CUDNN 9.10.2.21), CUDA 12.8 (CUDNN 9.10.2.21) | CUDA 12.9 (CUDNN 9.10.2.21) | ROCm 6.4 |
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
| 2.7 | >=3.9, <=3.13, (3.13t experimental) | C++17 | CUDA 11.8 (CUDNN 9.1.0.70), CUDA 12.6 (CUDNN 9.5.1.17) | CUDA 12.8 (CUDNN 9.7.1.26) | ROCm 6.3 |
| 2.6 | >=3.9, <=3.13, (3.13t experimental) | C++17 | CUDA 11.8, CUDA 12.4 (CUDNN 9.1.0.70) | CUDA 12.6 (CUDNN 9.5.1.17) | ROCm 6.2.4 |
| 2.5 | >=3.9, <=3.12, (3.13 experimental) | C++17 | CUDA 11.8, CUDA 12.1, CUDA 12.4, CUDNN 9.1.0.70 | None | ROCm 6.2 |
@@ -74,9 +77,15 @@ Following is the release cadence. All future dates below are tentative. For late
| 2.4 | Jun 2024 | Jul 2024 | Sept 2024 | Not planned |
| 2.5 | Sep 2024 | Oct 2024 | Nov 2024 | Not planned |
| 2.6 | Dec 2024 | Jan 2025 | Not planned | Not planned |
+<<<<<<< HEAD
| 2.7 | Mar 2025 | Apr 2025 | Jun 2025 | Not planned |
| 2.8 | Jun 2025 | Jul 2025 | (Aug 2025) | (Sep 2025) |
| 2.9 | Sept 2025 | Oct 2025 | (Nov 2025) | (Dec 2025) |
+=======
+| 2.7 | Mar 2025 | Apr 2025 | (May 2025) | (Jun 2025) |
+| 2.8 | Jun 2025 | Jul 2025 | (Aug 2025) | (Sep 2025) |
+| 2.9 | Aug 2025 | Oct 2025 | (Nov 2025) | (Dec 2025) |
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
| 2.10 | Dec 2025 | Jan 2026 | (Feb 2026) | (Mar 2026) |
| 2.11 | Mar 2026 | Apr 2026 | (Jun 2026) | (Jul 2026) |
diff --git a/android/README.md b/android/README.md
index f0c74750522d..102a795fed98 100644
--- a/android/README.md
+++ b/android/README.md
@@ -2,7 +2,11 @@
## Demo applications and tutorials
+<<<<<<< HEAD
Please refer to [meta-pytorch/executorch-examples](https://github.com/meta-pytorch/executorch-examples/tree/main/dl3/android/DeepLabV3Demo) for the Android demo app based on [ExecuTorch](https://github.com/pytorch/executorch).
+=======
+Please refer to [pytorch-labs/executorch-examples](https://github.com/pytorch-labs/executorch-examples/tree/main/dl3/android/DeepLabV3Demo) for the Android demo app based on [ExecuTorch](https://github.com/pytorch/executorch).
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
Please join our [Discord](https://discord.com/channels/1334270993966825602/1349854760299270284) for any questions.
diff --git a/aten/src/ATen/CMakeLists.txt b/aten/src/ATen/CMakeLists.txt
index 6c095680733f..124691d1c79d 100644
--- a/aten/src/ATen/CMakeLists.txt
+++ b/aten/src/ATen/CMakeLists.txt
@@ -96,8 +96,11 @@ file(GLOB native_mkldnn_cpp "native/mkldnn/*.cpp")
file(GLOB vulkan_cpp "vulkan/*.cpp")
file(GLOB native_vulkan_cpp "native/vulkan/*.cpp" "native/vulkan/api/*.cpp" "native/vulkan/impl/*.cpp" "native/vulkan/ops/*.cpp")
+<<<<<<< HEAD
file(GLOB native_eigen_cpp "native/sparse/eigen/*.cpp")
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# Metal
file(GLOB metal_h "metal/*.h")
file(GLOB metal_cpp "metal/*.cpp")
@@ -121,8 +124,11 @@ file(GLOB_RECURSE native_mps_cpp "native/mps/*.cpp")
file(GLOB_RECURSE native_mps_mm "native/mps/*.mm")
file(GLOB_RECURSE native_mps_metal "native/mps/*.metal")
file(GLOB_RECURSE native_mps_h "native/mps/*.h")
+<<<<<<< HEAD
file(GLOB_RECURSE native_sparse_mps_mm "native/sparse/mps/*.mm")
file(GLOB_RECURSE native_mps_sparse_metal "native/sparse/mps/*.metal")
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
file(GLOB native_sparse_cpp "native/sparse/*.cpp")
file(GLOB native_quantized_cpp
@@ -182,6 +188,7 @@ file(GLOB native_flash_attn_api_cpp "native/transformers/cuda/flash_attn/flash_a
file(GLOB flash_attention_hip_hip "native/transformers/hip/flash_attn/*.hip")
# if USE_FLASH_ATTENTION is set, ensure CK instances get generated
if(USE_FLASH_ATTENTION)
+<<<<<<< HEAD
if("$ENV{USE_CK_FLASH_ATTENTION}" STREQUAL "1")
message(STATUS "USE_CK_FLASH_ATTENTION is being deprecated. Please use USE_ROCM_CK_SDPA instead")
caffe2_update_option(USE_ROCM_CK_SDPA ON)
@@ -203,6 +210,24 @@ if(USE_FLASH_ATTENTION)
add_subdirectory(native/transformers/hip/flash_attn/ck/fav_v3)
file(GLOB flash_attention_v3_hip "native/transformers/hip/flash_attn/ck/fav_v3/*.hip")
list(APPEND native_transformers_hip_hip ${flash_attention_v3_hip})
+=======
+ if(DEFINED ENV{USE_CK_FLASH_ATTENTION})
+ set(USE_CK_FLASH_ATTENTION $ENV{USE_CK_FLASH_ATTENTION})
+ if(USE_CK_FLASH_ATTENTION STREQUAL "1")
+ if(DEFINED ENV{PYTORCH_ROCM_ARCH})
+ list(LENGTH PYTORCH_ROCM_ARCH NUM_ARCHS)
+ if(NUM_ARCHS GREATER 1)
+ message(WARNING "Building CK for multiple archs can increase build time considerably!
+ Consider setting PYTORCH_ROCM_ARCH env var value as the gfx arch you need to build for")
+ endif()
+ endif()
+ message(STATUS "USE_CK_FLASH_ATTENTION is set; building PyTorch with CK Flash Attention enabled")
+ message(STATUS "Generating CK kernel instances...")
+ add_subdirectory(native/transformers/hip/flash_attn/ck)
+ file(GLOB flash_attention_hip_ck_hip "native/transformers/hip/flash_attn/ck/*.hip")
+ list(APPEND native_transformers_hip_hip ${flash_attention_hip_ck_hip})
+ endif()
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
endif()
file(GLOB flash_attention_hip_aot_hip "native/transformers/hip/flash_attn/aot/*.hip")
file(GLOB flash_attention_src_hip_hip "native/transformers/hip/flash_attn/src/*.hip")
@@ -216,7 +241,11 @@ file(GLOB mem_eff_attention_cuda_cpp "native/transformers/cuda/mem_eff_attention
if(USE_CUDA AND (USE_FLASH_ATTENTION OR USE_MEM_EFF_ATTENTION))
add_library(flash_attention OBJECT EXCLUDE_FROM_ALL ${flash_attention_cuda_kernels_cu} ${flash_attention_cuda_cpp})
+<<<<<<< HEAD
target_include_directories(flash_attention SYSTEM PUBLIC
+=======
+ target_include_directories(flash_attention PUBLIC
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
${PROJECT_SOURCE_DIR}/third_party/flash-attention/csrc
${PROJECT_SOURCE_DIR}/third_party/flash-attention/include
${PROJECT_SOURCE_DIR}/third_party/cutlass/include
@@ -252,6 +281,7 @@ if(USE_MEM_EFF_ATTENTION)
list(APPEND ATen_ATTENTION_KERNEL_SRCS ${mem_eff_attention_cuda_kernels_cu})
endif()
+<<<<<<< HEAD
# FBGEMM GenAI
IF(USE_FBGEMM_GENAI)
set(FBGEMM_THIRD_PARTY ${PROJECT_SOURCE_DIR}/third_party/fbgemm/external/)
@@ -301,13 +331,14 @@ IF(USE_FBGEMM_GENAI)
# Add additional HIPCC compiler flags for performance
set(FBGEMM_GENAI_EXTRA_HIPCC_FLAGS
- -mllvm
- -amdgpu-coerce-illegal-types=1
-mllvm
-enable-post-misched=0
-mllvm
-greedy-reverse-local-assignment=1
-fhip-new-launch-api)
+ if(DEFINED ROCM_VERSION_DEV AND ROCM_VERSION_DEV VERSION_LESS "7.2.0")
+ list(PREPEND FBGEMM_GENAI_EXTRA_HIPCC_FLAGS -mllvm -amdgpu-coerce-illegal-types=1)
+ endif()
hip_add_library(
fbgemm_genai STATIC
@@ -329,6 +360,8 @@ IF(USE_FBGEMM_GENAI)
endif()
endif()
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# XNNPACK
file(GLOB native_xnnpack "native/xnnpack/*.cpp")
@@ -376,9 +409,12 @@ if(USE_VULKAN)
else()
set(all_cpu_cpp ${all_cpu_cpp} ${vulkan_cpp})
endif()
+<<<<<<< HEAD
if(USE_EIGEN_SPARSE)
set(all_cpu_cpp ${all_cpu_cpp} ${native_eigen_cpp})
endif()
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if(USE_MTIA)
set(ATen_MTIA_SRCS ${ATen_MTIA_SRCS} ${mtia_cpp} ${mtia_h} ${native_mtia_cpp} ${native_mtia_h})
@@ -457,6 +493,7 @@ if(USE_CUDA)
endif()
if(USE_ROCM)
+<<<<<<< HEAD
if((USE_FLASH_ATTENTION AND USE_ROCM_CK_SDPA) OR USE_ROCM_CK_GEMM)
# NOTE: The PyTorch build does not actually add_subdirectory
# third_party/composable_kernel or use it as a CMake library. What is used
@@ -486,13 +523,46 @@ if(USE_ROCM)
list(APPEND ATen_HIP_INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/../../../third_party/aiter/csrc/include)
_pytorch_rocm_generate_ck_conf()
endif()
+=======
+ # NOTE: The PyTorch build does not actually add_subdirectory
+ # third_party/composable_kernel or use it as a CMake library. What is used
+ # is header only, so this should be ok, except that the CMake build generates
+ # a ck/config.h. We just do that part here. Without this, the ck.h from the
+ # ROCM SDK may get accidentally used instead.
+ function(_pytorch_rocm_generate_ck_conf)
+ set(CK_ENABLE_INT8 "ON")
+ set(CK_ENABLE_FP16 "ON")
+ set(CK_ENABLE_FP32 "ON")
+ set(CK_ENABLE_FP64 "ON")
+ set(CK_ENABLE_BF16 "ON")
+ set(CK_ENABLE_FP8 "ON")
+ set(CK_ENABLE_BF8 "ON")
+ set(CK_USE_XDL "ON")
+ set(CK_USE_WMMA "ON")
+ configure_file(
+ "${Torch_SOURCE_DIR}/third_party/composable_kernel/include/ck/config.h.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/composable_kernel/ck/config.h"
+ )
+ endfunction()
+ list(APPEND ATen_HIP_INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/hip)
+ list(APPEND ATen_HIP_INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/../../../third_party/composable_kernel/include)
+ list(APPEND ATen_HIP_INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/../../../third_party/composable_kernel/library/include)
+ list(APPEND ATen_HIP_INCLUDE ${CMAKE_CURRENT_BINARY_DIR}/composable_kernel)
+ _pytorch_rocm_generate_ck_conf()
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# Next two lines are needed because TunableOp uses third-party/fmt
list(APPEND ATen_HIP_INCLUDE $)
list(APPEND ATen_HIP_DEPENDENCY_LIBS fmt::fmt-header-only)
+<<<<<<< HEAD
if(USE_FLASH_ATTENTION AND USE_ROCM_CK_SDPA)
list(APPEND ATen_HIP_INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/native/transformers/hip/flash_attn/ck)
endif()
+=======
+if(USE_FLASH_ATTENTION)
+ list(APPEND ATen_HIP_INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/native/transformers/hip/flash_attn/ck)
+endif()
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
list(APPEND ATen_HIP_SRCS
${ATen_HIP_SRCS}
${hip_hip}
@@ -502,13 +572,20 @@ if(USE_ROCM)
${native_quantized_hip_hip}
${native_transformers_hip_hip} ${native_transformers_src_hip_hip}
)
+<<<<<<< HEAD
if(NOT USE_ROCM_CK_GEMM)
+=======
+ if(WIN32) # Windows doesn't support Composable Kernels
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
file(GLOB native_hip_bgemm "native/hip/bgemm_kernels/*.hip")
file(GLOB native_hip_ck "native/hip/ck*.hip")
exclude(ATen_HIP_SRCS "${ATen_HIP_SRCS}"
${native_hip_bgemm} ${native_hip_ck})
endif()
+<<<<<<< HEAD
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# TODO: Codegen separate files for HIP and use those (s/cuda_generated_sources/hip_generated_sources)
list(APPEND all_hip_cpp
${native_nested_hip_cpp}
@@ -547,7 +624,11 @@ if(LAPACK_FOUND)
# would not need this at all), some of our libraries (magma in particular)
# backend to CPU BLAS/LAPACK implementations, and so it is very important
# we get the *right* implementation, because even if the symbols are the
+<<<<<<< HEAD
# same, LAPACK implementations may have different calling conventions.
+=======
+ # same, LAPACK implementions may have different calling conventions.
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
# This caused https://github.com/pytorch/pytorch/issues/7353
#
# We do NOT do this on Linux, since we just rely on torch_cpu to
@@ -668,6 +749,7 @@ if(USE_CUDA AND NOT USE_ROCM)
add_definitions(-DCUTE_SM90_EXTENDED_MMA_SHAPES_ENABLED)
list(APPEND ATen_CUDA_INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/../../../third_party/cutlass/include)
list(APPEND ATen_CUDA_INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/../../../third_party/cutlass/tools/util/include)
+<<<<<<< HEAD
# Add FBGEMM_GENAI include directories for torch_ops.h
if(USE_FBGEMM_GENAI)
@@ -693,6 +775,26 @@ if(USE_CUDA AND NOT USE_ROCM)
CUDA::cusolver_static
${CUDAToolkit_LIBRARY_DIR}/libcusolver_lapack_static.a # needed for libcusolver_static
)
+=======
+ if($ENV{ATEN_STATIC_CUDA})
+ list(APPEND ATen_CUDA_DEPENDENCY_LIBS
+ ${CUDA_LIBRARIES}
+ CUDA::cusparse_static
+ CUDA::cufft_static_nocallback
+ )
+ if(NOT BUILD_LAZY_CUDA_LINALG)
+ if(CUDA_VERSION_MAJOR LESS_EQUAL 11)
+ list(APPEND ATen_CUDA_DEPENDENCY_LIBS
+ CUDA::cusolver_static
+ ${CUDAToolkit_LIBRARY_DIR}/liblapack_static.a # needed for libcusolver_static
+ )
+ elseif(CUDA_VERSION_MAJOR GREATER_EQUAL 12)
+ list(APPEND ATen_CUDA_DEPENDENCY_LIBS
+ CUDA::cusolver_static
+ ${CUDAToolkit_LIBRARY_DIR}/libcusolver_lapack_static.a # needed for libcusolver_static
+ )
+ endif()
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
endif()
else()
list(APPEND ATen_CUDA_DEPENDENCY_LIBS
@@ -757,6 +859,7 @@ endif()
if(USE_MPS)
include(../../../cmake/Metal.cmake)
+<<<<<<< HEAD
set(ATen_MPS_SRCS ${ATen_MPS_SRCS} ${mps_cpp} ${mps_mm} ${mps_h} ${native_mps_cpp} ${native_mps_mm} ${native_mps_h} ${native_sparse_mps_mm})
if(CAN_COMPILE_METAL)
@@ -776,6 +879,31 @@ if(USE_MPS)
else()
file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/native/mps")
foreach(SHADER ${native_mps_metal} ${native_mps_sparse_metal})
+=======
+ set(ATen_MPS_SRCS ${ATen_MPS_SRCS} ${mps_cpp} ${mps_mm} ${mps_h} ${native_mps_cpp} ${native_mps_mm} ${native_mps_h})
+
+ if(CAN_COMPILE_METAL)
+ foreach(SHADER ${native_mps_metal})
+ cmake_path(GET SHADER STEM TGT_STEM)
+ string(CONCAT TGT_BASIC ${TGT_STEM} "_30.air")
+ string(CONCAT TGT_BFLOAT ${TGT_STEM} "_31.air")
+ list(APPEND AIR_BASIC ${TGT_BASIC})
+ list(APPEND AIR_BFLOAT ${TGT_BFLOAT})
+ metal_to_air(${SHADER} ${TGT_BASIC} "-std=metal3.0")
+ metal_to_air(${SHADER} ${TGT_BFLOAT} "-std=metal3.1")
+ endforeach()
+ air_to_metallib(kernels_basic.metallib ${AIR_BASIC})
+ air_to_metallib(kernels_bfloat.metallib ${AIR_BFLOAT})
+ add_custom_command(
+ COMMAND echo "// $$(date)" > metallib_dummy.cpp
+ DEPENDS kernels_basic.metallib kernels_bfloat.metallib
+ OUTPUT metallib_dummy.cpp
+ COMMENT "Updating metallibs timestamp")
+ add_custom_target(metallibs DEPENDS kernels_basic.metallib kernels_bfloat.metallib metallib_dummy.cpp)
+ else()
+ file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/native/mps")
+ foreach(SHADER ${native_mps_metal})
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
cmake_path(GET SHADER STEM TGT_STEM)
string(CONCAT SHADER_HDR_NAME "${CMAKE_CURRENT_BINARY_DIR}" /native/mps/ ${TGT_STEM} "_metallib.h")
metal_to_metallib_h(${SHADER} ${SHADER_HDR_NAME})
diff --git a/aten/src/ATen/CPUGeneratorImpl.cpp b/aten/src/ATen/CPUGeneratorImpl.cpp
index 44ad24b81755..f27391e7ee73 100644
--- a/aten/src/ATen/CPUGeneratorImpl.cpp
+++ b/aten/src/ATen/CPUGeneratorImpl.cpp
@@ -131,18 +131,36 @@ uint64_t CPUGeneratorImpl::seed() {
/**
* Sets the internal state of CPUGeneratorImpl. The new internal state
+<<<<<<< HEAD
* must be a strided CPU byte tensor and of the same size as CPUGeneratorImplState.
+=======
+ * must be a strided CPU byte tensor and of the same size as either
+ * CPUGeneratorImplStateLegacy (for legacy CPU generator state) or
+ * CPUGeneratorImplState (for new state).
+ *
+ * FIXME: Remove support of the legacy state in the future?
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
*/
void CPUGeneratorImpl::set_state(const c10::TensorImpl& new_state) {
using detail::CPUGeneratorImplState;
using detail::CPUGeneratorImplStateLegacy;
+<<<<<<< HEAD
static_assert(std::is_standard_layout_v, "CPUGeneratorImplState is not a PODType");
constexpr size_t size = sizeof(CPUGeneratorImplState);
+=======
+ static_assert(std::is_standard_layout_v, "CPUGeneratorImplStateLegacy is not a PODType");
+ static_assert(std::is_standard_layout_v, "CPUGeneratorImplState is not a PODType");
+
+ static const size_t size_legacy = sizeof(CPUGeneratorImplStateLegacy);
+ static const size_t size_current = sizeof(CPUGeneratorImplState);
+ static_assert(size_legacy != size_current, "CPUGeneratorImplStateLegacy and CPUGeneratorImplState can't be of the same size");
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
detail::check_rng_state(new_state);
at::mt19937 engine;
+<<<<<<< HEAD
auto new_state_size = new_state.numel();
TORCH_CHECK(new_state_size == size, "Expected a CPUGeneratorImplState of size ", size,
@@ -150,6 +168,51 @@ void CPUGeneratorImpl::set_state(const c10::TensorImpl& new_state) {
auto rng_state = new_state.data_ptr_impl();
auto legacy_pod = &(rng_state->legacy_pod);
+=======
+ auto float_normal_sample = std::optional();
+ auto double_normal_sample = std::optional();
+
+ // Construct the state of at::CPUGeneratorImpl based on input byte tensor size.
+ CPUGeneratorImplStateLegacy* legacy_pod{nullptr};
+ auto new_state_size = new_state.numel();
+ if (new_state_size == size_legacy) {
+ legacy_pod = (CPUGeneratorImplStateLegacy*)new_state.data();
+ // Note that in CPUGeneratorImplStateLegacy, we didn't have float version
+ // of normal sample and hence we leave the std::optional as is
+
+ // Update next_double_normal_sample.
+ // Note that CPUGeneratorImplStateLegacy stores two uniform values (normal_x, normal_y)
+ // and a rho value (normal_rho). These three values were redundant and in the new
+ // DistributionsHelper.h, we store the actual extra normal sample, rather than three
+ // intermediate values.
+ if (legacy_pod->normal_is_valid) {
+ auto r = legacy_pod->normal_rho;
+ auto theta = 2.0 * c10::pi * legacy_pod->normal_x;
+ // we return the sin version of the normal sample when in caching mode
+ double_normal_sample = std::optional(r * ::sin(theta));
+ }
+ } else if (new_state_size == size_current) {
+ auto rng_state = (CPUGeneratorImplState*)new_state.data();
+ legacy_pod = &rng_state->legacy_pod;
+ // update next_float_normal_sample
+ if (rng_state->is_next_float_normal_sample_valid) {
+ float_normal_sample = std::optional(rng_state->next_float_normal_sample);
+ }
+
+ // Update next_double_normal_sample.
+ // Note that in getRNGState, we now return the actual normal sample in normal_y
+ // and if it's valid in normal_is_valid. The redundant normal_x and normal_rho
+ // are squashed to 0.0.
+ if (legacy_pod->normal_is_valid) {
+ double_normal_sample = std::optional(legacy_pod->normal_y);
+ }
+ } else {
+ TORCH_CHECK(false, "Expected either a CPUGeneratorImplStateLegacy of size ", size_legacy,
+ " or a CPUGeneratorImplState of size ", size_current,
+ " but found the input RNG state size to be ", new_state_size);
+ }
+
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
// construct engine_
// Note that CPUGeneratorImplStateLegacy stored a state array of 64 bit uints, whereas in our
// redefined mt19937, we have changed to a state array of 32 bit uints. Hence, we are
@@ -163,12 +226,17 @@ void CPUGeneratorImpl::set_state(const c10::TensorImpl& new_state) {
engine.set_data(rng_data);
TORCH_CHECK(engine.is_valid(), "Invalid mt19937 state");
this->engine_ = engine;
+<<<<<<< HEAD
this->next_float_normal_sample_ = rng_state->is_next_float_normal_sample_valid
? std::optional(rng_state->next_float_normal_sample)
: std::optional();
this->next_double_normal_sample_ = legacy_pod->normal_is_valid
? std::optional(legacy_pod->normal_y)
: std::optional();
+=======
+ this->next_float_normal_sample_ = float_normal_sample;
+ this->next_double_normal_sample_ = double_normal_sample;
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
}
/**
diff --git a/aten/src/ATen/Config.h.in b/aten/src/ATen/Config.h.in
index 0bae6d4af6e5..c4475dc390fc 100644
--- a/aten/src/ATen/Config.h.in
+++ b/aten/src/ATen/Config.h.in
@@ -20,4 +20,7 @@
#define AT_BLAS_F2C() @AT_BLAS_F2C@
#define AT_BLAS_USE_CBLAS_DOT() @AT_BLAS_USE_CBLAS_DOT@
#define AT_KLEIDIAI_ENABLED() @AT_KLEIDIAI_ENABLED@
+<<<<<<< HEAD
#define AT_USE_EIGEN_SPARSE() @AT_USE_EIGEN_SPARSE@
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
diff --git a/aten/src/ATen/Context.cpp b/aten/src/ATen/Context.cpp
index 4d48084b0ab8..6ecbce44b60d 100644
--- a/aten/src/ATen/Context.cpp
+++ b/aten/src/ATen/Context.cpp
@@ -14,13 +14,18 @@
#include
#ifdef USE_FBGEMM
+<<<<<<< HEAD
C10_DIAGNOSTIC_PUSH_AND_IGNORED_IF_DEFINED("-Wextra-semi")
#include
C10_DIAGNOSTIC_POP()
+=======
+#include
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
#endif // USE_FBGEMM
#if defined(__aarch64__) && !defined(C10_MOBILE)
#include
#endif
+<<<<<<< HEAD
namespace at {
namespace {
@@ -86,6 +91,11 @@ void check_fp32_prec_backend_and_op(
}
} // namespace
+=======
+
+namespace at {
+
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
Context::Context() = default;
// TODO: This could be bad juju if someone calls globalContext() in the
@@ -179,8 +189,9 @@ void Context::setUserEnabledNNPACK(bool e) {
enabled_nnpack = e;
}
+<<<<<<< HEAD
bool Context::allowTF32CuDNN(const std::string& op) const {
- if (op.size() == 0){
+ if (op.empty()){
bool allow_tf32_rnn = float32Precision("cuda", "rnn") == "tf32";
bool allow_tf32_conv = float32Precision("cuda", "conv") == "tf32";
TORCH_CHECK(
@@ -194,14 +205,21 @@ bool Context::allowTF32CuDNN(const std::string& op) const {
return float32Precision("cuda", op) == "tf32";
}
warn_deprecated_fp32_precision_api();
+=======
+bool Context::allowTF32CuDNN() const {
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
return allow_tf32_cudnn;
}
void Context::setAllowTF32CuDNN(bool b) {
+<<<<<<< HEAD
setFloat32Precision("cuda", "rnn", b ? "tf32" : "none");
setFloat32Precision("cuda", "conv", b ? "tf32" : "none");
allow_tf32_cudnn = b;
warn_deprecated_fp32_precision_api();
+=======
+ allow_tf32_cudnn = b;
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
}
void Context::setSDPPriorityOrder(const std::vector& order) {
@@ -222,6 +240,7 @@ bool Context::allowTF32OneDNN() const {
return allow_tf32_onednn;
}
+<<<<<<< HEAD
// NOLINTNEXTLINE(clang-diagnostic-unused-parameter)
void Context::setAllowTF32OneDNN(bool b){
#ifdef USE_XPU
@@ -229,6 +248,14 @@ bool Context::allowTF32OneDNN() const {
#else
TORCH_WARN("TF32 acceleration on top of oneDNN is available for Intel GPUs. The current Torch version does not have Intel GPU Support.");
#endif
+=======
+void Context::setAllowTF32OneDNN(bool b){
+#ifdef USE_XPU
+ allow_tf32_onednn = b;
+#else
+ TORCH_WARN("TF32 acceleration on top of oneDNN is available for Intel GPUs. The current Torch version does not have Intel GPU Support.");
+#endif
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
}
bool Context::userEnabledFlashSDP() const {
@@ -281,9 +308,12 @@ bool Context::userEnabledOverrideableSDP() const {
static constexpr const auto cublas_config_var_name = "CUBLAS_WORKSPACE_CONFIG";
static constexpr const std::array cublas_deterministic_configs = {":4096:8", ":16:8"};
+<<<<<<< HEAD
+=======
#ifdef USE_ROCM
static constexpr const auto hipblaslt_allow_tf32 = "HIPBLASLT_ALLOW_TF32";
#endif
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
bool Context::checkCuBLASConfigDeterministic() {
// If using CUDA 10.2 or greater, need to make sure CuBLAS workspace config
@@ -334,6 +364,7 @@ void Context::setBenchmarkLimitCuDNN(int b) {
benchmark_limit_cudnn = b;
}
+<<<<<<< HEAD
bool Context::immediateMiopen() const {
return immediate_miopen;
}
@@ -343,12 +374,6 @@ void Context::setImmediateMiopen(bool b) {
}
bool Context::allowTF32CuBLAS() const {
-#ifdef USE_ROCM
- const auto allow_tf32 = c10::utils::check_env(hipblaslt_allow_tf32);
- if (allow_tf32 != true) {
- return false;
- }
-#endif
bool legacy_allow_tf32 = float32_matmul_precision != at::Float32MatmulPrecision::HIGHEST;
bool allow_tf32_new = float32Precision("cuda", "matmul") == "tf32";
TORCH_CHECK(
@@ -362,14 +387,6 @@ bool Context::allowTF32CuBLAS() const {
}
void Context::setAllowTF32CuBLAS(bool b) {
-#ifdef USE_ROCM
- const auto allow_tf32 = c10::utils::check_env(hipblaslt_allow_tf32);
- if (allow_tf32 != true) {
- C10_LOG_FIRST_N(INFO, 10) << "torch.backends.cuda.matmul.allow_tf32 is not supported on ROCm by default. "
- << "Please set environment variable HIPBLASLT_ALLOW_TF32=1 to enable it.";
- return;
- }
-#endif
float32_matmul_precision = b ? at::Float32MatmulPrecision::HIGH : at::Float32MatmulPrecision::HIGHEST;
setFloat32Precision("cuda", "matmul", b ? "tf32" : "ieee");
}
@@ -402,10 +419,41 @@ std::string Context::float32Precision(const std::string& backend, const std::str
precision = fp32_precision.find("generic")->second.find("all")->second;
bool valid_prec = validate_fp32_prec(backend, precision);
return valid_prec ? precision : "none";
+=======
+bool Context::allowTF32CuBLAS() const {
+#ifdef USE_ROCM
+ const auto allow_tf32 = c10::utils::check_env(hipblaslt_allow_tf32);
+ if (allow_tf32 != true) {
+ return false;
+ }
+#endif
+ return float32_matmul_precision != at::Float32MatmulPrecision::HIGHEST;
+}
+
+void Context::setAllowTF32CuBLAS(bool b) {
+#ifdef USE_ROCM
+ const auto allow_tf32 = c10::utils::check_env(hipblaslt_allow_tf32);
+ if (allow_tf32 != true) {
+ C10_LOG_FIRST_N(INFO, 10) << "torch.backends.cuda.matmul.allow_tf32 is not supported on ROCm by default. "
+ << "Please set environment variable HIPBLASLT_ALLOW_TF32=1 to enable it.";
+ return;
+ }
+#endif
+ float32_matmul_precision = b ? at::Float32MatmulPrecision::HIGH : at::Float32MatmulPrecision::HIGHEST;
+}
+
+Float32MatmulPrecision Context::float32MatmulPrecision() const {
+ return float32_matmul_precision;
+}
+
+void Context::setFloat32MatmulPrecision(Float32MatmulPrecision p) {
+ float32_matmul_precision = p;
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
}
void Context::setFloat32MatmulPrecision(const std::string &s) {
auto match = [this](const std::string & s_) {
+<<<<<<< HEAD
warn_deprecated_fp32_precision_api();
// TODO: consider if CuDNN field needs to also be set for potential future CuDNN ops like multi-headed attention
if (s_ == "highest") {
@@ -422,6 +470,17 @@ void Context::setFloat32MatmulPrecision(const std::string &s) {
float32_matmul_precision = at::Float32MatmulPrecision::MEDIUM;
setFloat32Precision("cuda", "matmul", "tf32");
setFloat32Precision("mkldnn", "matmul", "bf16");
+=======
+ // TODO: consider if CuDNN field needs to also be set for potential future CuDNN ops like multi-headed attention
+ if (s_ == "highest") {
+ float32_matmul_precision = at::Float32MatmulPrecision::HIGHEST;
+ return true;
+ } else if (s_ == "high") {
+ float32_matmul_precision = at::Float32MatmulPrecision::HIGH;
+ return true;
+ } else if (s_ == "medium") {
+ float32_matmul_precision = at::Float32MatmulPrecision::MEDIUM;
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
return true;
}
return false;
@@ -435,6 +494,7 @@ void Context::setFloat32MatmulPrecision(const std::string &s) {
"setFloat32MatmulPrecision call has no effect.");
}
+<<<<<<< HEAD
void Context::setFloat32Precision(const std::string& backend, const std::string& op, const std::string& p) {
check_fp32_prec_backend_and_op(backend, op);
if (validate_fp32_prec(backend, p)) {
@@ -443,7 +503,7 @@ void Context::setFloat32Precision(const std::string& backend, const std::string&
std::string msg;
auto iterp = _fp32_precisions.find(backend);
TORCH_CHECK(iterp != _fp32_precisions.end());
- for (auto p : iterp->second) {
+ for (const auto& p : iterp->second) {
msg += p;
msg += " ";
}
@@ -456,6 +516,8 @@ void Context::setFloat32Precision(const std::string& backend, const std::string&
}
}
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
at::LinalgBackend Context::linalgPreferredBackend() const {
return linalg_preferred_backend;
}
@@ -480,9 +542,12 @@ at::BlasBackend Context::blasPreferredBackend() {
// call site for blasPreferredBackend(), we set it to an actual value.
if (blas_preferred_backend == at::BlasBackend::Default) {
blas_preferred_backend = at::BlasBackend::Cublas;
+<<<<<<< HEAD
// This logic sits in the getter because it needs to validate
// values set via env vars such as TORCH_BLAS_PREFER_CUBLASLT
// which initialize the backend without calling the setter
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
#ifdef USE_ROCM
// AMD Instinct targets prefer hipblaslt
static const bool hipblaslt_preferred = []() {
@@ -491,6 +556,12 @@ at::BlasBackend Context::blasPreferredBackend() {
#if ROCM_VERSION >= 60400
"gfx1200", "gfx1201",
#endif
+<<<<<<< HEAD
+=======
+#if ROCM_VERSION >= 60402
+ "gfx1150", "gfx1151",
+#endif
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
#if ROCM_VERSION >= 60500
"gfx950"
#endif
@@ -512,6 +583,7 @@ at::BlasBackend Context::blasPreferredBackend() {
// hipblaslt support for all archs is not as complete as hipblas
if (blas_preferred_backend == at::BlasBackend::Cublaslt) {
static const bool hipblaslt_unsupported = []() {
+<<<<<<< HEAD
if(!hasCuBLASLt())
{
return true;
@@ -520,6 +592,15 @@ at::BlasBackend Context::blasPreferredBackend() {
"gfx90a", "gfx942",
#if ROCM_VERSION >= 60300
"gfx1100", "gfx1101", "gfx1200", "gfx1201", "gfx908",
+=======
+ static const std::vector archs = {
+ "gfx90a", "gfx942",
+#if ROCM_VERSION >= 60300
+ "gfx1100", "gfx1101", "gfx1200", "gfx1201",
+#endif
+#if ROCM_VERSION >= 60402
+ "gfx1150", "gfx1151",
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
#endif
#if ROCM_VERSION >= 60500
"gfx950"
@@ -541,6 +622,7 @@ at::BlasBackend Context::blasPreferredBackend() {
return blas_preferred_backend;
}
+<<<<<<< HEAD
bool Context::ckSupported() {
#ifdef USE_ROCM
static const std::vector supported_archs = {
@@ -559,6 +641,8 @@ bool Context::ckSupported() {
#endif
}
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
void Context::setBlasPreferredBackend(at::BlasBackend b) {
#ifdef _MSC_VER
TORCH_WARN_ONCE(
@@ -568,6 +652,7 @@ void Context::setBlasPreferredBackend(at::BlasBackend b) {
#else
TORCH_CHECK((b != at::BlasBackend::Cublaslt) || hasCuBLASLt(),
"Cannot set preferred backend to cuBLASLt if PyTorch has not been compiled with cuBLASLt.");
+<<<<<<< HEAD
#ifdef USE_ROCM
static const bool ckSupportedFlag = ckSupported();
static const bool hasCKGEMMFlag = hasCKGEMM();
@@ -576,6 +661,10 @@ void Context::setBlasPreferredBackend(at::BlasBackend b) {
"architecture supported for CK: ", ckSupportedFlag,
", PyTorch built with CK GEMM support: ", hasCKGEMMFlag);
#endif
+=======
+ TORCH_CHECK((b != at::BlasBackend::Ck) || hasROCM(),
+ "Cannot set preferred backend to Ck if PyTorch has not been compiled for ROCm.");
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if (b != at::BlasBackend::Default && b != at::BlasBackend::Cublas) {
TORCH_WARN_ONCE(
"torch.backends.cuda.preferred_blas_library is an experimental feature. "
@@ -587,6 +676,7 @@ void Context::setBlasPreferredBackend(at::BlasBackend b) {
#endif
}
+<<<<<<< HEAD
at::ROCmFABackend Context::getROCmFAPreferredBackend() {
#ifdef USE_ROCM
// Set potential "Default" value so we don't have to interpret at call sites.
@@ -610,10 +700,14 @@ at::ROCmFABackend Context::getROCmFAPreferredBackend() {
}
#endif
+=======
+at::ROCmFABackend Context::getROCmFAPreferredBackend() const {
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
return rocm_fa_preferred_backend;
}
void Context::setROCmFAPreferredBackend(at::ROCmFABackend b) {
+<<<<<<< HEAD
#ifdef USE_ROCM
static const bool hasCKSDPAFlag = hasCKSDPA();
static const bool ckSupportedFlag = ckSupported();
@@ -621,6 +715,32 @@ void Context::setROCmFAPreferredBackend(at::ROCmFABackend b) {
"Cannot set preferred SDPA backend to CK since following conditions are not true: ",
"architecture supported for CK: ", ckSupportedFlag,
", PyTorch built with CK SDPA support: ", hasCKSDPAFlag);
+=======
+
+ // TODO: add plumbing for hasCK for validity checking
+ TORCH_CHECK((b != at::ROCmFABackend::Ck) || hasROCM(),
+ "Cannot set preferred flash attention backend to Ck if PyTorch has not been compiled for ROCm.");
+#ifdef USE_ROCM
+ if(b == at::ROCmFABackend::Ck) {
+ static const bool ck_unsupported = []() {
+ static const std::vector archs = {
+ "gfx90a", "gfx942", "gfx950"
+ };
+ for (auto index: c10::irange(detail::getCUDAHooks().deviceCount())) {
+ if (!detail::getCUDAHooks().isGPUArch(archs, index)) {
+ TORCH_WARN_ONCE(
+ "Attempting to use CK on an unsupported architecture! Cannot set backend to CK");
+ return true;
+ }
+ }
+ return false;
+ }();
+ if(!ck_unsupported) rocm_fa_preferred_backend = b;
+ }
+ else {
+ rocm_fa_preferred_backend = b;
+ }
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
#endif
rocm_fa_preferred_backend = b;
}
@@ -698,6 +818,7 @@ bool Context::hasLAPACK() {
#endif
}
+<<<<<<< HEAD
bool Context::hasEigenSparse() {
#if AT_USE_EIGEN_SPARSE()
return true;
@@ -706,6 +827,8 @@ bool Context::hasEigenSparse() {
#endif
}
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
at::QEngine Context::qEngine() const {
static auto _quantized_engine = []() {
at::QEngine qengine = at::kNoQEngine;
@@ -729,14 +852,22 @@ at::QEngine Context::qEngine() const {
#endif
return qengine;
}();
+<<<<<<< HEAD
auto qt_engine = quantized_engine.load();
return qt_engine == at::QEngine::NoQEngine ? _quantized_engine : qt_engine;
+=======
+ return quantized_engine.value_or(_quantized_engine);
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
}
void Context::setQEngine(at::QEngine e) {
const auto& qengines = supportedQEngines();
if (std::find(qengines.begin(), qengines.end(), e) != qengines.end()) {
+<<<<<<< HEAD
quantized_engine.store(e);
+=======
+ quantized_engine = e;
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
return;
}
TORCH_CHECK(false, "quantized engine ", toString(e), " is not supported");
@@ -748,9 +879,23 @@ const std::vector& Context::supportedQEngines() {
// Engines are listed in priority order: later one wins
// By default we prefer FBGEMM if we're running on server side
// QNNPACK on server side has some issue, so we disable it by default.
+<<<<<<< HEAD
+#ifdef USE_PYTORCH_QNNPACK
+ engines.push_back(at::kQNNPACK);
+#endif
+=======
+#ifdef C10_MOBILE
+ engines.push_back(at::kNoQEngine);
+#ifdef USE_PYTORCH_QNNPACK
+ engines.push_back(at::kQNNPACK);
+#endif
+#else // C10_MOBILE
#ifdef USE_PYTORCH_QNNPACK
engines.push_back(at::kQNNPACK);
#endif
+ engines.push_back(at::kNoQEngine);
+#endif // C10_MOBILE
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
#if AT_MKLDNN_ENABLED()
engines.push_back(at::kONEDNN);
@@ -882,7 +1027,10 @@ void Context::setAllowFP16ReductionCPU(bool b) {
#if defined(__aarch64__) && !defined(C10_MOBILE)
if (!cpuinfo_initialize() || !cpuinfo_has_arm_fp16_arith())
#else
+<<<<<<< HEAD
// NOLINTNEXTLINE(facebook-hte-MissingBraces)
+=======
+>>>>>>> 5729657180 ([ROCm] Specialized binary elementwise broadcast kernel for mixed dtypes with float/bfloat16/half (#2791))
if (true)
#endif
TORCH_CHECK(false, "Float16 arithmetic is not supported by the CPU!");
diff --git a/aten/src/ATen/Context.h b/aten/src/ATen/Context.h
index 5cfa9b23e20a..887a1831eef9 100644
--- a/aten/src/ATen/Context.h
+++ b/aten/src/ATen/Context.h
@@ -28,7 +28,10 @@
#include
#include
+<<<<<<< HEAD
#include