@@ -22,94 +22,75 @@ set(CMAKE_CXX_STANDARD 14)
22
22
set (CMAKE_CXX_STANDARD_REQUIRED TRUE )
23
23
set (CMAKE_Swift_MODULE_DIRECTORY ${CMAKE_BINARY_DIR} /swift)
24
24
25
- option (BUILD_X10 "enable the x10 tensor library" OFF )
26
25
option (USE_BUNDLED_X10
27
26
"Use the x10 library bundled in the active Swift toolchain" OFF )
28
27
option (USE_BUNDLED_CTENSORFLOW
29
28
"Use the CTensorFlow module bundled in the active Swift toolchain" OFF )
30
29
31
- if (BUILD_X10)
32
- find_package (X10)
33
- if (NOT X10_FOUND AND NOT USE_BUNDLED_X10)
34
- include (ExternalProject)
30
+ find_package (X10)
31
+ if (NOT X10_FOUND AND NOT USE_BUNDLED_X10)
32
+ include (ExternalProject)
35
33
36
- if (CMAKE_SYSTEM_NAME STREQUAL Windows)
37
- set (VISIBILITY_FLAGS "" )
38
- else ()
39
- set (VISIBILITY_FLAGS --cxxopt=-fvisibility=hidden --cxxopt=-fvisibility-inlines-hidden)
40
- endif ()
34
+ if (CMAKE_SYSTEM_NAME STREQUAL Windows)
35
+ set (VISIBILITY_FLAGS "" )
36
+ else ()
37
+ set (VISIBILITY_FLAGS --cxxopt=-fvisibility=hidden --cxxopt=-fvisibility-inlines-hidden)
38
+ endif ()
41
39
42
- ExternalProject_Add(libtensorflow
43
- GIT_REPOSITORY
44
- git://github.com/tensorflow/tensorflow
45
- GIT_TAG
46
- r2.2
47
- UPDATE_DISCONNECTED
48
- TRUE
49
- CONFIGURE_COMMAND
50
- COMMAND
51
- ${CMAKE_COMMAND} -E create_symlink ${PROJECT_SOURCE_DIR} /Sources /CX10 <SOURCE_DIR>/swift_bindings
52
- COMMAND
53
- ${CMAKE_COMMAND} -E create_symlink ${PROJECT_SOURCE_DIR} /Sources /x10/xla_client <SOURCE_DIR>/tensorflow/compiler/xla/xla_client
54
- COMMAND
55
- ${CMAKE_COMMAND} -E create_symlink ${PROJECT_SOURCE_DIR} /Sources /x10/xla_tensor <SOURCE_DIR>/tensorflow/compiler/tf2xla/xla_tensor
56
- COMMAND
57
- # Note that the configure script is affected by the following environment variables:
58
- # TF_CUDA_VERSION
59
- # TF_NEED_CUDA
60
- # TF_CUDNN_VERSION
61
- # CUDA_TOOLKIT_PATH
62
- # CUDNN_INSTALL_PATH
63
- sh -c "yes '' | <SOURCE_DIR>/configure"
64
- BUILD_COMMAND
65
- COMMAND
66
- rm -rf <SOURCE_DIR>/bazel-bin # ${CMAKE_COMMAND} -E rm -Rrf <SOURCE_DIR>/bazel-bin
67
- COMMAND
68
- bazel build ${VISIBILITY_FLAGS} -c opt --define framework_shared_object=false //tensorflow/compiler/tf2xla/xla_tensor:x10 --nocheck_visibility
69
- COMMAND
70
- bazel shutdown
71
- INSTALL_COMMAND
72
- "" # we do not do any installation, we fetch out the artifacts manually
73
- BUILD_IN_SOURCE
74
- TRUE
75
- BUILD_BYPRODUCTS
76
- <SOURCE_DIR>/bazel-bin/tensorflow/compiler/tf2xla/xla_tensor/${CMAKE_SHARED_LIBRARY_PREFIX} x10${CMAKE_SHARED_LIBRARY_SUFFIX}
77
- USES_TERMINAL_BUILD
78
- TRUE
79
- STEP_TARGETS
80
- build )
81
- ExternalProject_Get_Property(libtensorflow SOURCE_DIR)
40
+ ExternalProject_Add(libtensorflow
41
+ GIT_REPOSITORY
42
+ git://github.com/tensorflow/tensorflow
43
+ GIT_TAG
44
+ r2.2
45
+ UPDATE_DISCONNECTED
46
+ TRUE
47
+ CONFIGURE_COMMAND
48
+ COMMAND
49
+ ${CMAKE_COMMAND} -E create_symlink ${PROJECT_SOURCE_DIR} /Sources /CX10 <SOURCE_DIR>/swift_bindings
50
+ COMMAND
51
+ ${CMAKE_COMMAND} -E create_symlink ${PROJECT_SOURCE_DIR} /Sources /x10/xla_client <SOURCE_DIR>/tensorflow/compiler/xla/xla_client
52
+ COMMAND
53
+ ${CMAKE_COMMAND} -E create_symlink ${PROJECT_SOURCE_DIR} /Sources /x10/xla_tensor <SOURCE_DIR>/tensorflow/compiler/tf2xla/xla_tensor
54
+ COMMAND
55
+ # Note that the configure script is affected by the following environment variables:
56
+ # TF_CUDA_VERSION
57
+ # TF_NEED_CUDA
58
+ # TF_CUDNN_VERSION
59
+ # CUDA_TOOLKIT_PATH
60
+ # CUDNN_INSTALL_PATH
61
+ sh -c "yes '' | <SOURCE_DIR>/configure"
62
+ BUILD_COMMAND
63
+ COMMAND
64
+ rm -rf <SOURCE_DIR>/bazel-bin # ${CMAKE_COMMAND} -E rm -Rrf <SOURCE_DIR>/bazel-bin
65
+ COMMAND
66
+ bazel build ${VISIBILITY_FLAGS} -c opt --define framework_shared_object=false //tensorflow/compiler/tf2xla/xla_tensor:x10 --nocheck_visibility
67
+ COMMAND
68
+ bazel shutdown
69
+ INSTALL_COMMAND
70
+ "" # we do not do any installation, we fetch out the artifacts manually
71
+ BUILD_IN_SOURCE
72
+ TRUE
73
+ BUILD_BYPRODUCTS
74
+ <SOURCE_DIR>/bazel-bin/tensorflow/compiler/tf2xla/xla_tensor/${CMAKE_SHARED_LIBRARY_PREFIX} x10${CMAKE_SHARED_LIBRARY_SUFFIX}
75
+ USES_TERMINAL_BUILD
76
+ TRUE
77
+ STEP_TARGETS
78
+ build )
79
+ ExternalProject_Get_Property(libtensorflow SOURCE_DIR)
82
80
83
- set (X10_LIBRARY ${SOURCE_DIR} /bazel-bin/tensorflow/compiler/tf2xla/xla_tensor/${CMAKE_SHARED_LIBRARY_PREFIX} x10${CMAKE_SHARED_LIBRARY_SUFFIX} )
84
- set (X10_INCLUDE_DIRS "${SOURCE_DIR} ;${SOURCE_DIR} /bazel-bin;${SOURCE_DIR} /bazel-libtensorflow/external/com_google_absl;${SOURCE_DIR} /bazel-libtensorflow/external/com_google_protobuf/src;${SOURCE_DIR} /bazel-libtensorflow/external/eigen_archive" )
85
- add_library (x10 IMPORTED UNKNOWN)
86
- set_target_properties (x10 PROPERTIES
87
- IMPORTED_LOCATION ${X10_LIBRARY}
88
- INTERFACE_INCLUDE_DIRECTORIES "${X10_INCLUDE_DIRS} " )
89
- add_dependencies (x10
90
- libtensorflow-build )
81
+ set (X10_LIBRARY ${SOURCE_DIR} /bazel-bin/tensorflow/compiler/tf2xla/xla_tensor/${CMAKE_SHARED_LIBRARY_PREFIX} x10${CMAKE_SHARED_LIBRARY_SUFFIX} )
82
+ set (X10_INCLUDE_DIRS "${SOURCE_DIR} ;${SOURCE_DIR} /bazel-bin;${SOURCE_DIR} /bazel-libtensorflow/external/com_google_absl;${SOURCE_DIR} /bazel-libtensorflow/external/com_google_protobuf/src;${SOURCE_DIR} /bazel-libtensorflow/external/eigen_archive" )
83
+ add_library (x10 IMPORTED UNKNOWN)
84
+ set_target_properties (x10 PROPERTIES
85
+ IMPORTED_LOCATION ${X10_LIBRARY}
86
+ INTERFACE_INCLUDE_DIRECTORIES "${X10_INCLUDE_DIRS} " )
87
+ add_dependencies (x10
88
+ libtensorflow-build )
91
89
92
- get_target_property (DIRECTORIES x10 INTERFACE_INCLUDE_DIRECTORIES )
93
- foreach (directory ${DIRECTORIES} )
94
- file (MAKE_DIRECTORY ${directory} )
95
- endforeach ()
96
- endif ()
97
- endif ()
98
-
99
- if (BUILD_X10)
100
- if (NOT X10_FOUND AND NOT USE_BUNDLED_X10)
101
- add_library (tensorflow UNKNOWN IMPORTED )
102
- set_target_properties (tensorflow PROPERTIES
103
- IMPORTED_LOCATION ${X10_LIBRARY}
104
- INTERFACE_INCLUDE_DIRECTORIES "${SOURCE_DIR} " )
105
- else ()
106
- add_library (tensorflow UNKNOWN IMPORTED )
107
- set_target_properties (tensorflow PROPERTIES
108
- IMPORTED_LOCATION ${X10_LIBRARY}
109
- INTERFACE_INCLUDE_DIRECTORIES "${X10_INCLUDE_DIRS} " )
110
- endif ()
111
- else ()
112
- find_package (TensorFlow REQUIRED)
90
+ get_target_property (DIRECTORIES x10 INTERFACE_INCLUDE_DIRECTORIES )
91
+ foreach (directory ${DIRECTORIES} )
92
+ file (MAKE_DIRECTORY ${directory} )
93
+ endforeach ()
113
94
endif ()
114
95
115
96
find_package (dispatch CONFIG QUIET )
@@ -126,7 +107,7 @@ if(BUILD_TESTING)
126
107
add_subdirectory (Tests)
127
108
endif ()
128
109
129
- if (BUILD_X10 AND NOT X10_FOUND AND NOT USE_BUNDLED_X10)
110
+ if (NOT X10_FOUND AND NOT USE_BUNDLED_X10)
130
111
get_swift_host_os(host_os)
131
112
install (FILES ${SOURCE_DIR} /bazel-bin/tensorflow/compiler/tf2xla/xla_tensor/${CMAKE_SHARED_LIBRARY_PREFIX} x10${CMAKE_SHARED_LIBRARY_SUFFIX}
132
113
DESTINATION lib/swift/${host_os} )
0 commit comments