@@ -10,6 +10,7 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
1010
1111set (NVFUSER_ROOT ${PROJECT_SOURCE_DIR} )
1212set (NVFUSER_SRCS_DIR "${NVFUSER_ROOT} /csrc" )
13+ set (NVFUSER_PYTHON_DIR "${NVFUSER_ROOT} /python" )
1314set (NVFUSER_THIRD_PARTY_DIR "${NVFUSER_ROOT} /third_party" )
1415
1516option (NVFUSER_STANDALONE_BUILD_WITH_UCC "" OFF )
@@ -289,13 +290,13 @@ endif()
289290
290291if (BUILD_PYTHON)
291292 list (APPEND NVFUSER_SRCS
292- ${NVFUSER_SRCS_DIR } /python_frontend/distributed_tensor.cpp
293- ${NVFUSER_SRCS_DIR } /python_frontend/fusion_cache.cpp
294- ${NVFUSER_SRCS_DIR } /python_frontend/fusion_definition.cpp
295- ${NVFUSER_SRCS_DIR } /python_frontend/fusion_state.cpp
296- ${NVFUSER_SRCS_DIR } /python_frontend/segmentation.cpp
297- ${NVFUSER_SRCS_DIR } /python_frontend/translation.cpp
298- ${NVFUSER_SRCS_DIR } /python_frontend/translation_utils.cpp
293+ ${NVFUSER_PYTHON_DIR } /python_frontend/distributed_tensor.cpp
294+ ${NVFUSER_PYTHON_DIR } /python_frontend/fusion_cache.cpp
295+ ${NVFUSER_PYTHON_DIR } /python_frontend/fusion_definition.cpp
296+ ${NVFUSER_PYTHON_DIR } /python_frontend/fusion_state.cpp
297+ ${NVFUSER_PYTHON_DIR } /python_frontend/segmentation.cpp
298+ ${NVFUSER_PYTHON_DIR } /python_frontend/translation.cpp
299+ ${NVFUSER_PYTHON_DIR } /python_frontend/translation_utils.cpp
299300 ${NVFUSER_SRCS_DIR} /serde/fusion_record.cpp
300301 )
301302endif ()
@@ -331,6 +332,7 @@ if(NOT MSVC)
331332endif ()
332333
333334target_compile_definitions (codegen_internal PRIVATE "-DTORCH_CUDA_BUILD_MAIN_LIB" )
335+ target_include_directories (codegen_internal PUBLIC ${NVFUSER_PYTHON_DIR} )
334336target_include_directories (codegen_internal SYSTEM PUBLIC
335337 ${CMAKE_SOURCE_DIR} /third_party/flatbuffers/include
336338 PRIVATE
@@ -457,31 +459,32 @@ if(BUILD_PYTHON)
457459 # nvfuser python API sources
458460 set (NVFUSER_PYTHON_SRCS)
459461 list (APPEND NVFUSER_PYTHON_SRCS
460- ${NVFUSER_SRCS_DIR } /python_frontend/multidevice_bindings.cpp
461- ${NVFUSER_SRCS_DIR } /python_frontend/python_bindings.cpp
462- ${NVFUSER_SRCS_DIR } /python_frontend/python_bindings_extension.cpp
463- ${NVFUSER_SRCS_DIR } /python_frontend/schedule_bindings.cpp
462+ ${NVFUSER_PYTHON_DIR } /python_frontend/multidevice_bindings.cpp
463+ ${NVFUSER_PYTHON_DIR } /python_frontend/python_bindings.cpp
464+ ${NVFUSER_PYTHON_DIR } /python_frontend/python_bindings_extension.cpp
465+ ${NVFUSER_PYTHON_DIR } /python_frontend/schedule_bindings.cpp
464466 )
465467
466468 add_library (nvf_py_internal OBJECT ${NVFUSER_PYTHON_SRCS} )
469+ target_include_directories (nvf_py_internal PUBLIC ${NVFUSER_PYTHON_DIR} )
467470 target_include_directories (nvf_py_internal SYSTEM INTERFACE
468471 ${CMAKE_SOURCE_DIR} /third_party/flatbuffers/include
469472 )
470473
471474 # setup python API version
472475 add_custom_command (
473- OUTPUT ${NVFUSER_ROOT } /nvfuser/version.py
476+ OUTPUT ${NVFUSER_PYTHON_DIR } /nvfuser/version.py
474477 COMMAND
475- "${PYTHON_EXECUTABLE} " -c \"from pathlib import Path\; Path('${NVFUSER_ROOT } /tools/gen_nvfuser_version.py') .touch() \"
478+ "${PYTHON_EXECUTABLE} " -c \"from pathlib import Path\; Path('${NVFUSER_PYTHON_DIR } /tools/gen_nvfuser_version.py') .touch() \"
476479 COMMAND
477- " ${PYTHON_EXECUTABLE} " ${NVFUSER_ROOT } /tools/gen_nvfuser_version.py
478- DEPENDS ${NVFUSER_ROOT } /tools/gen_nvfuser_version.py
479- DEPENDS ${NVFUSER_ROOT } /version.txt
480+ " ${PYTHON_EXECUTABLE} " ${NVFUSER_PYTHON_DIR } /tools/gen_nvfuser_version.py
481+ DEPENDS ${NVFUSER_PYTHON_DIR } /tools/gen_nvfuser_version.py
482+ DEPENDS ${NVFUSER_PYTHON_DIR } /version.txt
480483 WORKING_DIRECTORY ${NVFUSER_ROOT} /tools/
481484 )
482485 add_custom_target(
483486 gen_nvfuser_version ALL
484- DEPENDS ${NVFUSER_ROOT } /nvfuser/version.py
487+ DEPENDS ${NVFUSER_PYTHON_DIR } /nvfuser/version.py
485488 )
486489 add_dependencies(nvf_py_internal gen_nvfuser_version)
487490
@@ -738,9 +741,9 @@ if(BUILD_TEST)
738741 if(BUILD_PYTHON)
739742 set(PY_FRONTEND_TEST_SRCS)
740743 list(APPEND PY_FRONTEND_TEST_SRCS
741- ${NVFUSER_ROOT } /tests/cpp /python_frontend/test_nvfuser_fusion_cache.cpp
742- ${NVFUSER_ROOT } /tests/cpp /python_frontend/test_nvfuser_fusion_definition.cpp
743- ${NVFUSER_ROOT } /tests/cpp /python_frontend/test_nvfuser_fusion_record.cpp
744+ ${NVFUSER_PYTHON_DIR } /tests/python_frontend/test_nvfuser_fusion_cache.cpp
745+ ${NVFUSER_PYTHON_DIR } /tests/python_frontend/test_nvfuser_fusion_definition.cpp
746+ ${NVFUSER_PYTHON_DIR } /tests/python_frontend/test_nvfuser_fusion_record.cpp
744747 )
745748 add_test(test_python_frontend " ${PY_FRONTEND_TEST_SRCS} " "")
746749 list(APPEND TEST_BINARIES test_python_frontend)
0 commit comments