|
|
|
@ -1,3 +1,22 @@
|
|
|
|
|
# windows treat symbolic file as a real file, which is different with unix
|
|
|
|
|
# We create a hidden file and compile it instead of origin source file.
|
|
|
|
|
function(windows_symbolic TARGET)
|
|
|
|
|
set(oneValueArgs "")
|
|
|
|
|
set(multiValueArgs SRCS DEPS)
|
|
|
|
|
cmake_parse_arguments(windows_symbolic "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
|
|
|
|
|
foreach(src ${windows_symbolic_SRCS})
|
|
|
|
|
get_filename_component(src ${src} NAME_WE)
|
|
|
|
|
if (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${src}.cc OR NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${src}.cu)
|
|
|
|
|
message(FATAL " ${src}.cc and ${src}.cu must exsits, and ${src}.cu must be symbolic file.")
|
|
|
|
|
endif()
|
|
|
|
|
add_custom_command(OUTPUT .${src}.cu
|
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E remove ${CMAKE_CURRENT_SOURCE_DIR}/.${src}.cu
|
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/${src}.cc" "${CMAKE_CURRENT_SOURCE_DIR}/.${src}.cu"
|
|
|
|
|
COMMENT "create hidden file of ${src}.cu")
|
|
|
|
|
add_custom_target(${TARGET} ALL DEPENDS .${src}.cu)
|
|
|
|
|
endforeach()
|
|
|
|
|
endfunction()
|
|
|
|
|
|
|
|
|
|
add_subdirectory(ir)
|
|
|
|
|
if (NOT WIN32)
|
|
|
|
|
add_subdirectory(details)
|
|
|
|
@ -11,7 +30,13 @@ nv_test(dim_test SRCS dim_test.cu DEPS ddim)
|
|
|
|
|
cc_library(data_type SRCS data_type.cc DEPS framework_proto ddim device_context)
|
|
|
|
|
cc_test(data_type_test SRCS data_type_test.cc DEPS data_type place tensor)
|
|
|
|
|
if(WITH_GPU)
|
|
|
|
|
nv_library(tensor SRCS tensor.cc tensor_util.cu DEPS place memory data_type device_context)
|
|
|
|
|
if (WIN32)
|
|
|
|
|
windows_symbolic(tensor_util SRCS tensor_util.cu)
|
|
|
|
|
nv_library(tensor SRCS tensor.cc .tensor_util.cu DEPS place memory data_type device_context)
|
|
|
|
|
add_dependencies(tensor tensor_util)
|
|
|
|
|
else()
|
|
|
|
|
nv_library(tensor SRCS tensor.cc tensor_util.cu DEPS place memory data_type device_context)
|
|
|
|
|
endif(WIN32)
|
|
|
|
|
else()
|
|
|
|
|
cc_library(tensor SRCS tensor.cc tensor_util.cc DEPS place memory data_type device_context)
|
|
|
|
|
endif()
|
|
|
|
@ -55,7 +80,13 @@ nv_test(data_device_transform_test SRCS data_device_transform_test.cu
|
|
|
|
|
DEPS operator op_registry device_context math_function)
|
|
|
|
|
|
|
|
|
|
if(WITH_GPU)
|
|
|
|
|
nv_library(data_type_transform SRCS data_type_transform.cu DEPS tensor)
|
|
|
|
|
if (WIN32)
|
|
|
|
|
windows_symbolic(hidden_file SRCS data_type_transform.cu)
|
|
|
|
|
nv_library(data_type_transform SRCS .data_type_transform.cu DEPS tensor)
|
|
|
|
|
add_dependencies(data_type_transform hidden_file)
|
|
|
|
|
else()
|
|
|
|
|
nv_library(data_type_transform SRCS data_type_transform.cu DEPS tensor)
|
|
|
|
|
endif(WIN32)
|
|
|
|
|
nv_test(data_type_transform_test SRCS data_type_transform_test.cc data_type_transform_test.cu DEPS data_type_transform)
|
|
|
|
|
else()
|
|
|
|
|
cc_library(data_type_transform SRCS data_type_transform.cc DEPS tensor)
|
|
|
|
|