Use CUDA language in generated CMakeLists.txt from cpp_builder.py (#155979)

The CMake CUDA module has been deprecated.

Pull Request resolved: https://github.com/pytorch/pytorch/pull/155979
Approved by: https://github.com/ezyang
This commit is contained in:
cyy
2025-06-14 06:52:51 +00:00
committed by PyTorch MergeBot
parent c843909d9e
commit 1393f71e07

View File

@ -1757,7 +1757,8 @@ class CppBuilder:
current_arch = _nvcc_arch_as_compile_option() current_arch = _nvcc_arch_as_compile_option()
contents += textwrap.dedent( contents += textwrap.dedent(
f""" f"""
find_package(CUDA REQUIRED) enable_language(CUDA)
find_package(CUDAToolkit REQUIRED)
find_program(OBJCOPY_EXECUTABLE objcopy) find_program(OBJCOPY_EXECUTABLE objcopy)
if(NOT OBJCOPY_EXECUTABLE) if(NOT OBJCOPY_EXECUTABLE)
@ -1785,7 +1786,7 @@ class CppBuilder:
# --- PTX to FATBIN Command & Target --- # --- PTX to FATBIN Command & Target ---
add_custom_command( add_custom_command(
OUTPUT ${{FATBIN_FILE}} OUTPUT ${{FATBIN_FILE}}
COMMAND ${{CUDA_NVCC_EXECUTABLE}} --fatbin ${{PTX_FILE}} -o ${{FATBIN_FILE}} ${{NVCC_GENCODE_FLAGS}} COMMAND ${{CUDAToolkit_NVCC_EXECUTABLE}} --fatbin ${{PTX_FILE}} -o ${{FATBIN_FILE}} ${{NVCC_GENCODE_FLAGS}}
-gencode arch=compute_80,code=compute_80 -gencode arch=compute_80,code=compute_80
-gencode arch=compute_{current_arch},code=sm_{current_arch} -gencode arch=compute_{current_arch},code=sm_{current_arch}
DEPENDS ${{PTX_FILE}} DEPENDS ${{PTX_FILE}}