|  |  |  | @ -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 PRE_BUILD  | 
			
		
	
		
			
				
					|  |  |  |  |           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,15 @@ 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 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. | 
			
		
	
		
			
				
					|  |  |  |  |       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) | 
			
		
	
	
		
			
				
					|  |  |  | 
 |