CMakeLists.txt 1.31 KB
Newer Older
1
# Copyright (c) 2022-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2
3
4
5
6
7
#
# See LICENSE for license information.

cmake_minimum_required(VERSION 3.18)

if(NOT DEFINED CMAKE_CUDA_ARCHITECTURES)
8
  set(CMAKE_CUDA_ARCHITECTURES 70 80 89 90)
9
10
11
12
13
14
15
16
endif()

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CUDA_STANDARD 17)
set(CMAKE_CUDA_STANDARD_REQUIRED ON)

project(transformer_engine LANGUAGES CUDA CXX)

17
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} --threads 4")
18
19
20
21
22
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
  set(CMAKE_CUDA_FLAGS_DEBUG "${CMAKE_CUDA_FLAGS_DEBUG} -G")
endif()

find_package(CUDAToolkit REQUIRED cublas nvToolsExt)
23
24
25
26
27
28
29
30
31
32
33
34

# Check for cuDNN frontend API
set(CUDNN_FRONTEND_INCLUDE_DIR
    "${CMAKE_SOURCE_DIR}/../3rdparty/cudnn-frontend/include")
if(NOT EXISTS "${CUDNN_FRONTEND_INCLUDE_DIR}")
    message(FATAL_ERROR
            "Could not find cuDNN frontend API. "
            "Try running 'git submodule update --init --recursive' "
            "within the Transformer Engine source.")
endif()
include(${CMAKE_SOURCE_DIR}/../3rdparty/cudnn-frontend/cmake/cuDNN.cmake)

35
find_package(Python COMPONENTS Interpreter Development.Module REQUIRED)
36
37
38
39

include_directories(${PROJECT_SOURCE_DIR})

add_subdirectory(common)
40
if(NVTE_WITH_USERBUFFERS)
Tim Moon's avatar
Tim Moon committed
41
    message(STATUS "userbuffers support enabled")
42
43
    add_subdirectory(pytorch/csrc/userbuffers)
endif()