diff options
author | A. Unique TensorFlower <gardener@tensorflow.org> | 2017-06-20 09:27:35 -0700 |
---|---|---|
committer | TensorFlower Gardener <gardener@tensorflow.org> | 2017-06-20 09:30:41 -0700 |
commit | 7f7af5c096be64900f985afe5d8049aae3ee0b9f (patch) | |
tree | b58c4de3a6fe343a49c80b1277d46a4f222f94c2 | |
parent | 36567a695c4e1c364c33717036d4d64d33db2ba4 (diff) |
Symlink files for cuda configuration one level below the BUILD file (i.e., one level under local_config_cuda/cuda).
PiperOrigin-RevId: 159570549
-rw-r--r-- | third_party/gpus/cuda/BUILD.tpl | 82 | ||||
-rw-r--r-- | third_party/gpus/cuda_configure.bzl | 17 |
2 files changed, 64 insertions, 35 deletions
diff --git a/third_party/gpus/cuda/BUILD.tpl b/third_party/gpus/cuda/BUILD.tpl index f7610dd7a9..2cca438d6d 100644 --- a/third_party/gpus/cuda/BUILD.tpl +++ b/third_party/gpus/cuda/BUILD.tpl @@ -40,20 +40,23 @@ config_setting( cc_library( name = "cuda_headers", hdrs = [ - "cuda_config.h", + "cuda/cuda_config.h", %{cuda_headers} ], includes = [ ".", - "include", + "cuda/include", ], visibility = ["//visibility:public"], ) cc_library( name = "cudart_static", - srcs = ["lib/%{cudart_static_lib}"], - includes = ["include"], + srcs = ["cuda/lib/%{cudart_static_lib}"], + includes = [ + ".", + "cuda/include", + ], linkopts = select({ ":freebsd": [], "//conditions:default": ["-ldl"], @@ -66,34 +69,46 @@ cc_library( cc_library( name = "cuda_driver", - srcs = ["lib/%{cuda_driver_lib}"], - includes = ["include"], + srcs = ["cuda/lib/%{cuda_driver_lib}"], + includes = [ + ".", + "cuda/include", + ], visibility = ["//visibility:public"], ) cc_library( name = "cudart", - srcs = ["lib/%{cudart_lib}"], - data = ["lib/%{cudart_lib}"], - includes = ["include"], + srcs = ["cuda/lib/%{cudart_lib}"], + data = ["cuda/lib/%{cudart_lib}"], + includes = [ + ".", + "cuda/include", + ], linkstatic = 1, visibility = ["//visibility:public"], ) cc_library( name = "cublas", - srcs = ["lib/%{cublas_lib}"], - data = ["lib/%{cublas_lib}"], - includes = ["include"], + srcs = ["cuda/lib/%{cublas_lib}"], + data = ["cuda/lib/%{cublas_lib}"], + includes = [ + ".", + "cuda/include", + ], linkstatic = 1, visibility = ["//visibility:public"], ) cc_library( name = "cusolver", - srcs = ["lib/%{cusolver_lib}"], - data = ["lib/%{cusolver_lib}"], - includes = ["include"], + srcs = ["cuda/lib/%{cusolver_lib}"], + data = ["cuda/lib/%{cusolver_lib}"], + includes = [ + ".", + "cuda/include", + ], linkstatic = 1, linkopts = ["-lgomp"], visibility = ["//visibility:public"], @@ -101,27 +116,36 @@ cc_library( cc_library( name = "cudnn", - srcs = ["lib/%{cudnn_lib}"], - data = ["lib/%{cudnn_lib}"], - includes = ["include"], + srcs = ["cuda/lib/%{cudnn_lib}"], + data = ["cuda/lib/%{cudnn_lib}"], + includes = [ + ".", + "cuda/include", + ], linkstatic = 1, visibility = ["//visibility:public"], ) cc_library( name = "cufft", - srcs = ["lib/%{cufft_lib}"], - data = ["lib/%{cufft_lib}"], - includes = ["include"], + srcs = ["cuda/lib/%{cufft_lib}"], + data = ["cuda/lib/%{cufft_lib}"], + includes = [ + ".", + "cuda/include", + ], linkstatic = 1, visibility = ["//visibility:public"], ) cc_library( name = "curand", - srcs = ["lib/%{curand_lib}"], - data = ["lib/%{curand_lib}"], - includes = ["include"], + srcs = ["cuda/lib/%{curand_lib}"], + data = ["cuda/lib/%{curand_lib}"], + includes = [ + ".", + "cuda/include", + ], linkstatic = 1, visibility = ["//visibility:public"], ) @@ -142,19 +166,23 @@ cc_library( cc_library( name = "cupti_headers", hdrs = [ - "cuda_config.h", + "cuda/cuda_config.h", ":cuda-extras", ], includes = [ ".", - "extras/CUPTI/include/", + "cuda/extras/CUPTI/include/", ], visibility = ["//visibility:public"], ) cc_library( name = "cupti_dsos", - data = ["lib/%{cupti_lib}"], + data = ["cuda/lib/%{cupti_lib}"], + includes = [ + ".", + "cuda/include", + ], visibility = ["//visibility:public"], ) diff --git a/third_party/gpus/cuda_configure.bzl b/third_party/gpus/cuda_configure.bzl index 83a377dde5..b2d59c446b 100644 --- a/third_party/gpus/cuda_configure.bzl +++ b/third_party/gpus/cuda_configure.bzl @@ -764,7 +764,7 @@ def _create_dummy_repository(repository_ctx): "CudaVersion(\"%s\")" % c for c in _DEFAULT_CUDA_COMPUTE_CAPABILITIES]), "%{cuda_toolkit_path}": _DEFAULT_CUDA_TOOLKIT_PATH, - }) + }, "cuda/cuda/cuda_config.h") # If cuda_configure is not configured to build with GPU support, and the user # attempts to build with --config=cuda, add a dummy build rule to intercept @@ -906,19 +906,19 @@ def _create_local_cuda_repository(repository_ctx): cuda_toolkit_path = cuda_config.cuda_toolkit_path cuda_include_path = cuda_toolkit_path + "/include" genrules = [_symlink_genrule_for_dir(repository_ctx, - cuda_include_path, "include", "cuda-include")] + cuda_include_path, "cuda/include", "cuda-include")] genrules.append(_symlink_genrule_for_dir(repository_ctx, - cuda_toolkit_path + "/nvvm", "nvvm", "cuda-nvvm")) + cuda_toolkit_path + "/nvvm", "cuda/nvvm", "cuda-nvvm")) genrules.append(_symlink_genrule_for_dir(repository_ctx, cuda_toolkit_path + "/extras/CUPTI/include", - "extras/CUPTI/include", "cuda-extras")) + "cuda/extras/CUPTI/include", "cuda-extras")) cuda_libs = _find_libs(repository_ctx, cuda_config) cuda_lib_src = [] cuda_lib_dest = [] for lib in cuda_libs.values(): cuda_lib_src.append(lib.path) - cuda_lib_dest.append("lib/" + lib.file_name) + cuda_lib_dest.append("cuda/lib/" + lib.file_name) genrules.append(_symlink_genrule_for_dir(repository_ctx, None, "", "cuda-lib", cuda_lib_src, cuda_lib_dest)) @@ -927,8 +927,9 @@ def _create_local_cuda_repository(repository_ctx): included_files = _read_dir(repository_ctx, cuda_include_path).replace( cuda_include_path, '').splitlines() if '/cudnn.h' not in included_files: - genrules.append(_symlink_genrule_for_dir(repository_ctx, None, "include/", - "cudnn-include", [cudnn_header_dir + "/cudnn.h"], ["cudnn.h"])) + genrules.append(_symlink_genrule_for_dir(repository_ctx, None, + "cuda/include/", "cudnn-include", [cudnn_header_dir + "/cudnn.h"], + ["cudnn.h"])) else: genrules.append( 'filegroup(\n' + @@ -1000,7 +1001,7 @@ def _create_local_cuda_repository(repository_ctx): ["CudaVersion(\"%s\")" % c for c in cuda_config.compute_capabilities]), "%{cuda_toolkit_path}": cuda_config.cuda_toolkit_path, - }) + }, "cuda/cuda/cuda_config.h") def _create_remote_cuda_repository(repository_ctx, remote_config_repo): """Creates pointers to a remotely configured repo set up to build with CUDA.""" |