• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1load(":build_defs.bzl", "cuda_header_library")
2load("@bazel_skylib//:bzl_library.bzl", "bzl_library")
3
4licenses(["restricted"])  # MPL2, portions GPL v3, LGPL v3, BSD-like
5
6package(default_visibility = ["//visibility:public"])
7
8config_setting(
9    name = "using_nvcc",
10    values = {
11        "define": "using_cuda_nvcc=true",
12    },
13)
14
15config_setting(
16    name = "using_clang",
17    values = {
18        "define": "using_cuda_clang=true",
19    },
20)
21
22# Equivalent to using_clang && -c opt.
23config_setting(
24    name = "using_clang_opt",
25    values = {
26        "define": "using_cuda_clang=true",
27        "compilation_mode": "opt",
28    },
29)
30
31config_setting(
32    name = "darwin",
33    values = {"cpu": "darwin"},
34)
35
36config_setting(
37    name = "freebsd",
38    values = {"cpu": "freebsd"},
39)
40
41cuda_header_library(
42    name = "cuda_headers",
43    hdrs = [
44        "cuda/cuda_config.h",
45        ":cuda-include",
46    ],
47    include_prefix = "third_party/gpus",
48    includes = [
49        ".",  # required to include cuda/cuda/cuda_config.h as cuda/config.h
50        "cuda/include",
51    ],
52)
53
54cc_library(
55    name = "cudart_static",
56    srcs = ["cuda/lib/libcudart_static.a"],
57    linkopts = select({
58        ":freebsd": [],
59        "//conditions:default": ["-ldl"],
60    }) + [
61        "-lpthread",
62        "-lrt",
63    ],
64)
65
66cc_library(
67    name = "cuda_driver",
68    srcs = ["cuda/lib/libcuda.so"],
69)
70
71cc_library(
72    name = "cudart",
73    srcs = ["cuda/lib/libcudart.so.10.0"],
74    data = ["cuda/lib/libcudart.so.10.0"],
75    linkstatic = 1,
76)
77
78cuda_header_library(
79    name = "cublas_headers",
80    hdrs = [":cublas-include"],
81    include_prefix = "third_party/gpus/cuda/include",
82    includes = ["cublas/include"],
83    strip_include_prefix = "cublas/include",
84    deps = [":cuda_headers"],
85)
86
87cc_library(
88    name = "cublas",
89    srcs = ["cuda/lib/libcublas.so.10.0"],
90    data = ["cuda/lib/libcublas.so.10.0"],
91    linkstatic = 1,
92)
93
94cc_library(
95    name = "cusolver",
96    srcs = ["cuda/lib/libcusolver.so.10.0"],
97    data = ["cuda/lib/libcusolver.so.10.0"],
98    linkopts = ["-lgomp"],
99    linkstatic = 1,
100)
101
102cc_library(
103    name = "cudnn",
104    srcs = ["cuda/lib/libcudnn.so.7"],
105    data = ["cuda/lib/libcudnn.so.7"],
106    linkstatic = 1,
107)
108
109cc_library(
110    name = "cudnn_header",
111    hdrs = [":cudnn-include"],
112    include_prefix = "third_party/gpus/cudnn",
113    strip_include_prefix = "cudnn/include",
114    deps = [":cuda_headers"],
115)
116
117cc_library(
118    name = "cufft",
119    srcs = ["cuda/lib/libcufft.so.10.0"],
120    data = ["cuda/lib/libcufft.so.10.0"],
121    linkstatic = 1,
122)
123
124cc_library(
125    name = "curand",
126    srcs = ["cuda/lib/libcurand.so.10.0"],
127    data = ["cuda/lib/libcurand.so.10.0"],
128    linkstatic = 1,
129)
130
131cc_library(
132    name = "cuda",
133    deps = [
134        ":cublas",
135        ":cuda_headers",
136        ":cudart",
137        ":cudnn",
138        ":cufft",
139        ":curand",
140    ],
141)
142
143cuda_header_library(
144    name = "cupti_headers",
145    hdrs = [":cuda-extras"],
146    include_prefix = "third_party/gpus",
147    includes = ["cuda/extras/CUPTI/include/"],
148    deps = [":cuda_headers"],
149)
150
151cc_library(
152    name = "cupti_dsos",
153    data = ["cuda/lib/libcupti.so.10.0"],
154)
155
156cc_library(
157    name = "cusparse",
158    srcs = ["cuda/lib/libcusparse.so.10.0"],
159    data = ["cuda/lib/libcusparse.so.10.0"],
160    linkopts = ["-lgomp"],
161    linkstatic = 1,
162)
163
164cc_library(
165    name = "libdevice_root",
166    data = [":cuda-nvvm"],
167)
168
169bzl_library(
170    name = "build_defs_bzl",
171    srcs = ["build_defs.bzl"],
172    deps = [
173        "@bazel_skylib//lib:selects",
174    ],
175)
176
177genrule(
178    name = "cuda-include",
179    outs = [
180        "cuda/include/CL/cl.h",
181        "cuda/include/CL/cl.hpp",
182        "cuda/include/CL/cl_egl.h",
183        "cuda/include/CL/cl_ext.h",
184        "cuda/include/CL/cl_gl.h",
185        "cuda/include/CL/cl_gl_ext.h",
186        "cuda/include/CL/cl_platform.h",
187        "cuda/include/CL/opencl.h",
188        "cuda/include/builtin_types.h",
189        "cuda/include/channel_descriptor.h",
190        "cuda/include/common_functions.h",
191        "cuda/include/cooperative_groups.h",
192        "cuda/include/cooperative_groups_helpers.h",
193        "cuda/include/crt/common_functions.h",
194        "cuda/include/crt/device_double_functions.h",
195        "cuda/include/crt/device_double_functions.hpp",
196        "cuda/include/crt/device_functions.h",
197        "cuda/include/crt/device_functions.hpp",
198        "cuda/include/crt/func_macro.h",
199        "cuda/include/crt/host_config.h",
200        "cuda/include/crt/host_defines.h",
201        "cuda/include/crt/host_runtime.h",
202        "cuda/include/crt/math_functions.h",
203        "cuda/include/crt/math_functions.hpp",
204        "cuda/include/crt/mma.h",
205        "cuda/include/crt/mma.hpp",
206        "cuda/include/crt/nvfunctional",
207        "cuda/include/crt/sm_70_rt.h",
208        "cuda/include/crt/sm_70_rt.hpp",
209        "cuda/include/crt/storage_class.h",
210        "cuda/include/cuComplex.h",
211        "cuda/include/cublas.h",
212        "cuda/include/cublasXt.h",
213        "cuda/include/cublas_api.h",
214        "cuda/include/cublas_v2.h",
215        "cuda/include/cuda.h",
216        "cuda/include/cudaEGL.h",
217        "cuda/include/cudaGL.h",
218        "cuda/include/cudaProfiler.h",
219        "cuda/include/cudaVDPAU.h",
220        "cuda/include/cuda_device_runtime_api.h",
221        "cuda/include/cuda_egl_interop.h",
222        "cuda/include/cuda_fp16.h",
223        "cuda/include/cuda_fp16.hpp",
224        "cuda/include/cuda_gl_interop.h",
225        "cuda/include/cuda_occupancy.h",
226        "cuda/include/cuda_profiler_api.h",
227        "cuda/include/cuda_runtime.h",
228        "cuda/include/cuda_runtime_api.h",
229        "cuda/include/cuda_surface_types.h",
230        "cuda/include/cuda_texture_types.h",
231        "cuda/include/cuda_vdpau_interop.h",
232        "cuda/include/cudalibxt.h",
233        "cuda/include/cudart_platform.h",
234        "cuda/include/cudnn.h",
235        "cuda/include/cufft.h",
236        "cuda/include/cufftXt.h",
237        "cuda/include/cufftw.h",
238        "cuda/include/curand.h",
239        "cuda/include/curand_discrete.h",
240        "cuda/include/curand_discrete2.h",
241        "cuda/include/curand_globals.h",
242        "cuda/include/curand_kernel.h",
243        "cuda/include/curand_lognormal.h",
244        "cuda/include/curand_mrg32k3a.h",
245        "cuda/include/curand_mtgp32.h",
246        "cuda/include/curand_mtgp32_host.h",
247        "cuda/include/curand_mtgp32_kernel.h",
248        "cuda/include/curand_mtgp32dc_p_11213.h",
249        "cuda/include/curand_normal.h",
250        "cuda/include/curand_normal_static.h",
251        "cuda/include/curand_philox4x32_x.h",
252        "cuda/include/curand_poisson.h",
253        "cuda/include/curand_precalc.h",
254        "cuda/include/curand_uniform.h",
255        "cuda/include/cusolverDn.h",
256        "cuda/include/cusolverRf.h",
257        "cuda/include/cusolverSp.h",
258        "cuda/include/cusolverSp_LOWLEVEL_PREVIEW.h",
259        "cuda/include/cusolver_common.h",
260        "cuda/include/cusparse.h",
261        "cuda/include/cusparse_v2.h",
262        "cuda/include/device_atomic_functions.h",
263        "cuda/include/device_atomic_functions.hpp",
264        "cuda/include/device_double_functions.h",
265        "cuda/include/device_functions.h",
266        "cuda/include/device_launch_parameters.h",
267        "cuda/include/device_types.h",
268        "cuda/include/driver_functions.h",
269        "cuda/include/driver_types.h",
270        "cuda/include/fatBinaryCtl.h",
271        "cuda/include/fatbinary.h",
272        "cuda/include/host_config.h",
273        "cuda/include/host_defines.h",
274        "cuda/include/library_types.h",
275        "cuda/include/math_constants.h",
276        "cuda/include/math_functions.h",
277        "cuda/include/mma.h",
278        "cuda/include/npp.h",
279        "cuda/include/nppcore.h",
280        "cuda/include/nppdefs.h",
281        "cuda/include/nppi.h",
282        "cuda/include/nppi_arithmetic_and_logical_operations.h",
283        "cuda/include/nppi_color_conversion.h",
284        "cuda/include/nppi_compression_functions.h",
285        "cuda/include/nppi_computer_vision.h",
286        "cuda/include/nppi_data_exchange_and_initialization.h",
287        "cuda/include/nppi_filtering_functions.h",
288        "cuda/include/nppi_geometry_transforms.h",
289        "cuda/include/nppi_linear_transforms.h",
290        "cuda/include/nppi_morphological_operations.h",
291        "cuda/include/nppi_statistics_functions.h",
292        "cuda/include/nppi_support_functions.h",
293        "cuda/include/nppi_threshold_and_compare_operations.h",
294        "cuda/include/npps.h",
295        "cuda/include/npps_arithmetic_and_logical_operations.h",
296        "cuda/include/npps_conversion_functions.h",
297        "cuda/include/npps_filtering_functions.h",
298        "cuda/include/npps_initialization.h",
299        "cuda/include/npps_statistics_functions.h",
300        "cuda/include/npps_support_functions.h",
301        "cuda/include/nppversion.h",
302        "cuda/include/nvToolsExt.h",
303        "cuda/include/nvToolsExtCuda.h",
304        "cuda/include/nvToolsExtCudaRt.h",
305        "cuda/include/nvToolsExtMeta.h",
306        "cuda/include/nvToolsExtSync.h",
307        "cuda/include/nvblas.h",
308        "cuda/include/nvfunctional",
309        "cuda/include/nvgraph.h",
310        "cuda/include/nvjpeg.h",
311        "cuda/include/nvml.h",
312        "cuda/include/nvrtc.h",
313        "cuda/include/nvtx3/nvToolsExt.h",
314        "cuda/include/nvtx3/nvToolsExtCuda.h",
315        "cuda/include/nvtx3/nvToolsExtCudaRt.h",
316        "cuda/include/nvtx3/nvToolsExtOpenCL.h",
317        "cuda/include/nvtx3/nvToolsExtSync.h",
318        "cuda/include/nvtx3/nvtxDetail/nvtxImpl.h",
319        "cuda/include/nvtx3/nvtxDetail/nvtxImplCore.h",
320        "cuda/include/nvtx3/nvtxDetail/nvtxImplCudaRt_v3.h",
321        "cuda/include/nvtx3/nvtxDetail/nvtxImplCuda_v3.h",
322        "cuda/include/nvtx3/nvtxDetail/nvtxImplOpenCL_v3.h",
323        "cuda/include/nvtx3/nvtxDetail/nvtxImplSync_v3.h",
324        "cuda/include/nvtx3/nvtxDetail/nvtxInit.h",
325        "cuda/include/nvtx3/nvtxDetail/nvtxInitDecls.h",
326        "cuda/include/nvtx3/nvtxDetail/nvtxInitDefs.h",
327        "cuda/include/nvtx3/nvtxDetail/nvtxLinkOnce.h",
328        "cuda/include/nvtx3/nvtxDetail/nvtxTypes.h",
329        "cuda/include/sm_20_atomic_functions.h",
330        "cuda/include/sm_20_atomic_functions.hpp",
331        "cuda/include/sm_20_intrinsics.h",
332        "cuda/include/sm_20_intrinsics.hpp",
333        "cuda/include/sm_30_intrinsics.h",
334        "cuda/include/sm_30_intrinsics.hpp",
335        "cuda/include/sm_32_atomic_functions.h",
336        "cuda/include/sm_32_atomic_functions.hpp",
337        "cuda/include/sm_32_intrinsics.h",
338        "cuda/include/sm_32_intrinsics.hpp",
339        "cuda/include/sm_35_atomic_functions.h",
340        "cuda/include/sm_35_intrinsics.h",
341        "cuda/include/sm_60_atomic_functions.h",
342        "cuda/include/sm_60_atomic_functions.hpp",
343        "cuda/include/sm_61_intrinsics.h",
344        "cuda/include/sm_61_intrinsics.hpp",
345        "cuda/include/sobol_direction_vectors.h",
346        "cuda/include/surface_functions.h",
347        "cuda/include/surface_functions.hpp",
348        "cuda/include/surface_indirect_functions.h",
349        "cuda/include/surface_indirect_functions.hpp",
350        "cuda/include/surface_types.h",
351        "cuda/include/texture_fetch_functions.h",
352        "cuda/include/texture_fetch_functions.hpp",
353        "cuda/include/texture_indirect_functions.h",
354        "cuda/include/texture_indirect_functions.hpp",
355        "cuda/include/texture_types.h",
356        "cuda/include/thrust/adjacent_difference.h",
357        "cuda/include/thrust/advance.h",
358        "cuda/include/thrust/binary_search.h",
359        "cuda/include/thrust/complex.h",
360        "cuda/include/thrust/copy.h",
361        "cuda/include/thrust/count.h",
362        "cuda/include/thrust/detail/adjacent_difference.inl",
363        "cuda/include/thrust/detail/advance.inl",
364        "cuda/include/thrust/detail/alignment.h",
365        "cuda/include/thrust/detail/allocator/allocator_traits.h",
366        "cuda/include/thrust/detail/allocator/allocator_traits.inl",
367        "cuda/include/thrust/detail/allocator/copy_construct_range.h",
368        "cuda/include/thrust/detail/allocator/copy_construct_range.inl",
369        "cuda/include/thrust/detail/allocator/default_construct_range.h",
370        "cuda/include/thrust/detail/allocator/default_construct_range.inl",
371        "cuda/include/thrust/detail/allocator/destroy_range.h",
372        "cuda/include/thrust/detail/allocator/destroy_range.inl",
373        "cuda/include/thrust/detail/allocator/fill_construct_range.h",
374        "cuda/include/thrust/detail/allocator/fill_construct_range.inl",
375        "cuda/include/thrust/detail/allocator/malloc_allocator.h",
376        "cuda/include/thrust/detail/allocator/malloc_allocator.inl",
377        "cuda/include/thrust/detail/allocator/no_throw_allocator.h",
378        "cuda/include/thrust/detail/allocator/tagged_allocator.h",
379        "cuda/include/thrust/detail/allocator/tagged_allocator.inl",
380        "cuda/include/thrust/detail/allocator/temporary_allocator.h",
381        "cuda/include/thrust/detail/allocator/temporary_allocator.inl",
382        "cuda/include/thrust/detail/binary_search.inl",
383        "cuda/include/thrust/detail/complex/arithmetic.h",
384        "cuda/include/thrust/detail/complex/c99math.h",
385        "cuda/include/thrust/detail/complex/catrig.h",
386        "cuda/include/thrust/detail/complex/catrigf.h",
387        "cuda/include/thrust/detail/complex/ccosh.h",
388        "cuda/include/thrust/detail/complex/ccoshf.h",
389        "cuda/include/thrust/detail/complex/cexp.h",
390        "cuda/include/thrust/detail/complex/cexpf.h",
391        "cuda/include/thrust/detail/complex/clog.h",
392        "cuda/include/thrust/detail/complex/clogf.h",
393        "cuda/include/thrust/detail/complex/complex.inl",
394        "cuda/include/thrust/detail/complex/cpow.h",
395        "cuda/include/thrust/detail/complex/cproj.h",
396        "cuda/include/thrust/detail/complex/csinh.h",
397        "cuda/include/thrust/detail/complex/csinhf.h",
398        "cuda/include/thrust/detail/complex/csqrt.h",
399        "cuda/include/thrust/detail/complex/csqrtf.h",
400        "cuda/include/thrust/detail/complex/ctanh.h",
401        "cuda/include/thrust/detail/complex/ctanhf.h",
402        "cuda/include/thrust/detail/complex/math_private.h",
403        "cuda/include/thrust/detail/complex/stream.h",
404        "cuda/include/thrust/detail/config.h",
405        "cuda/include/thrust/detail/config/compiler.h",
406        "cuda/include/thrust/detail/config/compiler_fence.h",
407        "cuda/include/thrust/detail/config/config.h",
408        "cuda/include/thrust/detail/config/debug.h",
409        "cuda/include/thrust/detail/config/device_system.h",
410        "cuda/include/thrust/detail/config/exec_check_disable.h",
411        "cuda/include/thrust/detail/config/forceinline.h",
412        "cuda/include/thrust/detail/config/global_workarounds.h",
413        "cuda/include/thrust/detail/config/host_device.h",
414        "cuda/include/thrust/detail/config/host_system.h",
415        "cuda/include/thrust/detail/config/simple_defines.h",
416        "cuda/include/thrust/detail/contiguous_storage.h",
417        "cuda/include/thrust/detail/contiguous_storage.inl",
418        "cuda/include/thrust/detail/copy.h",
419        "cuda/include/thrust/detail/copy.inl",
420        "cuda/include/thrust/detail/copy_if.h",
421        "cuda/include/thrust/detail/copy_if.inl",
422        "cuda/include/thrust/detail/count.inl",
423        "cuda/include/thrust/detail/cstdint.h",
424        "cuda/include/thrust/detail/device_delete.inl",
425        "cuda/include/thrust/detail/device_free.inl",
426        "cuda/include/thrust/detail/device_malloc.inl",
427        "cuda/include/thrust/detail/device_new.inl",
428        "cuda/include/thrust/detail/device_ptr.inl",
429        "cuda/include/thrust/detail/device_reference.inl",
430        "cuda/include/thrust/detail/device_vector.inl",
431        "cuda/include/thrust/detail/dispatch/is_trivial_copy.h",
432        "cuda/include/thrust/detail/distance.inl",
433        "cuda/include/thrust/detail/equal.inl",
434        "cuda/include/thrust/detail/execute_with_allocator.h",
435        "cuda/include/thrust/detail/execution_policy.h",
436        "cuda/include/thrust/detail/extrema.inl",
437        "cuda/include/thrust/detail/fill.inl",
438        "cuda/include/thrust/detail/find.inl",
439        "cuda/include/thrust/detail/for_each.inl",
440        "cuda/include/thrust/detail/function.h",
441        "cuda/include/thrust/detail/functional.inl",
442        "cuda/include/thrust/detail/functional/actor.h",
443        "cuda/include/thrust/detail/functional/actor.inl",
444        "cuda/include/thrust/detail/functional/argument.h",
445        "cuda/include/thrust/detail/functional/composite.h",
446        "cuda/include/thrust/detail/functional/operators.h",
447        "cuda/include/thrust/detail/functional/operators/arithmetic_operators.h",
448        "cuda/include/thrust/detail/functional/operators/assignment_operator.h",
449        "cuda/include/thrust/detail/functional/operators/bitwise_operators.h",
450        "cuda/include/thrust/detail/functional/operators/compound_assignment_operators.h",
451        "cuda/include/thrust/detail/functional/operators/logical_operators.h",
452        "cuda/include/thrust/detail/functional/operators/operator_adaptors.h",
453        "cuda/include/thrust/detail/functional/operators/relational_operators.h",
454        "cuda/include/thrust/detail/functional/placeholder.h",
455        "cuda/include/thrust/detail/functional/value.h",
456        "cuda/include/thrust/detail/gather.inl",
457        "cuda/include/thrust/detail/generate.inl",
458        "cuda/include/thrust/detail/get_iterator_value.h",
459        "cuda/include/thrust/detail/host_vector.inl",
460        "cuda/include/thrust/detail/inner_product.inl",
461        "cuda/include/thrust/detail/integer_math.h",
462        "cuda/include/thrust/detail/integer_traits.h",
463        "cuda/include/thrust/detail/internal_functional.h",
464        "cuda/include/thrust/detail/logical.inl",
465        "cuda/include/thrust/detail/malloc_and_free.h",
466        "cuda/include/thrust/detail/merge.inl",
467        "cuda/include/thrust/detail/minmax.h",
468        "cuda/include/thrust/detail/mismatch.inl",
469        "cuda/include/thrust/detail/mpl/math.h",
470        "cuda/include/thrust/detail/numeric_traits.h",
471        "cuda/include/thrust/detail/overlapped_copy.h",
472        "cuda/include/thrust/detail/pair.inl",
473        "cuda/include/thrust/detail/partition.inl",
474        "cuda/include/thrust/detail/pointer.h",
475        "cuda/include/thrust/detail/pointer.inl",
476        "cuda/include/thrust/detail/preprocessor.h",
477        "cuda/include/thrust/detail/range/head_flags.h",
478        "cuda/include/thrust/detail/range/tail_flags.h",
479        "cuda/include/thrust/detail/raw_pointer_cast.h",
480        "cuda/include/thrust/detail/raw_reference_cast.h",
481        "cuda/include/thrust/detail/reduce.inl",
482        "cuda/include/thrust/detail/reference.h",
483        "cuda/include/thrust/detail/reference.inl",
484        "cuda/include/thrust/detail/reference_forward_declaration.h",
485        "cuda/include/thrust/detail/remove.inl",
486        "cuda/include/thrust/detail/replace.inl",
487        "cuda/include/thrust/detail/reverse.inl",
488        "cuda/include/thrust/detail/scan.inl",
489        "cuda/include/thrust/detail/scatter.inl",
490        "cuda/include/thrust/detail/seq.h",
491        "cuda/include/thrust/detail/sequence.inl",
492        "cuda/include/thrust/detail/set_operations.inl",
493        "cuda/include/thrust/detail/sort.inl",
494        "cuda/include/thrust/detail/static_assert.h",
495        "cuda/include/thrust/detail/static_map.h",
496        "cuda/include/thrust/detail/swap.h",
497        "cuda/include/thrust/detail/swap.inl",
498        "cuda/include/thrust/detail/swap_ranges.inl",
499        "cuda/include/thrust/detail/tabulate.inl",
500        "cuda/include/thrust/detail/temporary_array.h",
501        "cuda/include/thrust/detail/temporary_array.inl",
502        "cuda/include/thrust/detail/temporary_buffer.h",
503        "cuda/include/thrust/detail/transform.inl",
504        "cuda/include/thrust/detail/transform_reduce.inl",
505        "cuda/include/thrust/detail/transform_scan.inl",
506        "cuda/include/thrust/detail/trivial_sequence.h",
507        "cuda/include/thrust/detail/tuple.inl",
508        "cuda/include/thrust/detail/tuple_meta_transform.h",
509        "cuda/include/thrust/detail/tuple_transform.h",
510        "cuda/include/thrust/detail/type_traits.h",
511        "cuda/include/thrust/detail/type_traits/algorithm/intermediate_type_from_function_and_iterators.h",
512        "cuda/include/thrust/detail/type_traits/function_traits.h",
513        "cuda/include/thrust/detail/type_traits/has_member_function.h",
514        "cuda/include/thrust/detail/type_traits/has_nested_type.h",
515        "cuda/include/thrust/detail/type_traits/has_trivial_assign.h",
516        "cuda/include/thrust/detail/type_traits/is_call_possible.h",
517        "cuda/include/thrust/detail/type_traits/is_metafunction_defined.h",
518        "cuda/include/thrust/detail/type_traits/iterator/is_discard_iterator.h",
519        "cuda/include/thrust/detail/type_traits/iterator/is_output_iterator.h",
520        "cuda/include/thrust/detail/type_traits/minimum_type.h",
521        "cuda/include/thrust/detail/type_traits/pointer_traits.h",
522        "cuda/include/thrust/detail/type_traits/result_of_adaptable_function.h",
523        "cuda/include/thrust/detail/uninitialized_copy.inl",
524        "cuda/include/thrust/detail/uninitialized_fill.inl",
525        "cuda/include/thrust/detail/unique.inl",
526        "cuda/include/thrust/detail/use_default.h",
527        "cuda/include/thrust/detail/util/align.h",
528        "cuda/include/thrust/detail/util/blocking.h",
529        "cuda/include/thrust/detail/vector_base.h",
530        "cuda/include/thrust/detail/vector_base.inl",
531        "cuda/include/thrust/device_allocator.h",
532        "cuda/include/thrust/device_delete.h",
533        "cuda/include/thrust/device_free.h",
534        "cuda/include/thrust/device_malloc.h",
535        "cuda/include/thrust/device_malloc_allocator.h",
536        "cuda/include/thrust/device_new.h",
537        "cuda/include/thrust/device_new_allocator.h",
538        "cuda/include/thrust/device_ptr.h",
539        "cuda/include/thrust/device_reference.h",
540        "cuda/include/thrust/device_vector.h",
541        "cuda/include/thrust/distance.h",
542        "cuda/include/thrust/equal.h",
543        "cuda/include/thrust/execution_policy.h",
544        "cuda/include/thrust/extrema.h",
545        "cuda/include/thrust/fill.h",
546        "cuda/include/thrust/find.h",
547        "cuda/include/thrust/for_each.h",
548        "cuda/include/thrust/functional.h",
549        "cuda/include/thrust/gather.h",
550        "cuda/include/thrust/generate.h",
551        "cuda/include/thrust/host_vector.h",
552        "cuda/include/thrust/inner_product.h",
553        "cuda/include/thrust/iterator/constant_iterator.h",
554        "cuda/include/thrust/iterator/counting_iterator.h",
555        "cuda/include/thrust/iterator/detail/any_assign.h",
556        "cuda/include/thrust/iterator/detail/any_system_tag.h",
557        "cuda/include/thrust/iterator/detail/constant_iterator_base.h",
558        "cuda/include/thrust/iterator/detail/counting_iterator.inl",
559        "cuda/include/thrust/iterator/detail/device_system_tag.h",
560        "cuda/include/thrust/iterator/detail/discard_iterator_base.h",
561        "cuda/include/thrust/iterator/detail/distance_from_result.h",
562        "cuda/include/thrust/iterator/detail/host_system_tag.h",
563        "cuda/include/thrust/iterator/detail/is_iterator_category.h",
564        "cuda/include/thrust/iterator/detail/is_trivial_iterator.h",
565        "cuda/include/thrust/iterator/detail/iterator_adaptor_base.h",
566        "cuda/include/thrust/iterator/detail/iterator_category_to_system.h",
567        "cuda/include/thrust/iterator/detail/iterator_category_to_traversal.h",
568        "cuda/include/thrust/iterator/detail/iterator_category_with_system_and_traversal.h",
569        "cuda/include/thrust/iterator/detail/iterator_facade_category.h",
570        "cuda/include/thrust/iterator/detail/iterator_traits.inl",
571        "cuda/include/thrust/iterator/detail/iterator_traversal_tags.h",
572        "cuda/include/thrust/iterator/detail/join_iterator.h",
573        "cuda/include/thrust/iterator/detail/minimum_category.h",
574        "cuda/include/thrust/iterator/detail/minimum_system.h",
575        "cuda/include/thrust/iterator/detail/normal_iterator.h",
576        "cuda/include/thrust/iterator/detail/permutation_iterator_base.h",
577        "cuda/include/thrust/iterator/detail/retag.h",
578        "cuda/include/thrust/iterator/detail/reverse_iterator.inl",
579        "cuda/include/thrust/iterator/detail/reverse_iterator_base.h",
580        "cuda/include/thrust/iterator/detail/tagged_iterator.h",
581        "cuda/include/thrust/iterator/detail/transform_iterator.inl",
582        "cuda/include/thrust/iterator/detail/transform_output_iterator.inl",
583        "cuda/include/thrust/iterator/detail/tuple_of_iterator_references.h",
584        "cuda/include/thrust/iterator/detail/universal_categories.h",
585        "cuda/include/thrust/iterator/detail/zip_iterator.inl",
586        "cuda/include/thrust/iterator/detail/zip_iterator_base.h",
587        "cuda/include/thrust/iterator/discard_iterator.h",
588        "cuda/include/thrust/iterator/iterator_adaptor.h",
589        "cuda/include/thrust/iterator/iterator_categories.h",
590        "cuda/include/thrust/iterator/iterator_facade.h",
591        "cuda/include/thrust/iterator/iterator_traits.h",
592        "cuda/include/thrust/iterator/permutation_iterator.h",
593        "cuda/include/thrust/iterator/retag.h",
594        "cuda/include/thrust/iterator/reverse_iterator.h",
595        "cuda/include/thrust/iterator/transform_iterator.h",
596        "cuda/include/thrust/iterator/transform_output_iterator.h",
597        "cuda/include/thrust/iterator/zip_iterator.h",
598        "cuda/include/thrust/logical.h",
599        "cuda/include/thrust/memory.h",
600        "cuda/include/thrust/merge.h",
601        "cuda/include/thrust/mismatch.h",
602        "cuda/include/thrust/pair.h",
603        "cuda/include/thrust/partition.h",
604        "cuda/include/thrust/random.h",
605        "cuda/include/thrust/random/detail/discard_block_engine.inl",
606        "cuda/include/thrust/random/detail/linear_congruential_engine.inl",
607        "cuda/include/thrust/random/detail/linear_congruential_engine_discard.h",
608        "cuda/include/thrust/random/detail/linear_feedback_shift_engine.inl",
609        "cuda/include/thrust/random/detail/linear_feedback_shift_engine_wordmask.h",
610        "cuda/include/thrust/random/detail/mod.h",
611        "cuda/include/thrust/random/detail/normal_distribution.inl",
612        "cuda/include/thrust/random/detail/normal_distribution_base.h",
613        "cuda/include/thrust/random/detail/random_core_access.h",
614        "cuda/include/thrust/random/detail/subtract_with_carry_engine.inl",
615        "cuda/include/thrust/random/detail/uniform_int_distribution.inl",
616        "cuda/include/thrust/random/detail/uniform_real_distribution.inl",
617        "cuda/include/thrust/random/detail/xor_combine_engine.inl",
618        "cuda/include/thrust/random/detail/xor_combine_engine_max.h",
619        "cuda/include/thrust/random/discard_block_engine.h",
620        "cuda/include/thrust/random/linear_congruential_engine.h",
621        "cuda/include/thrust/random/linear_feedback_shift_engine.h",
622        "cuda/include/thrust/random/normal_distribution.h",
623        "cuda/include/thrust/random/subtract_with_carry_engine.h",
624        "cuda/include/thrust/random/uniform_int_distribution.h",
625        "cuda/include/thrust/random/uniform_real_distribution.h",
626        "cuda/include/thrust/random/xor_combine_engine.h",
627        "cuda/include/thrust/reduce.h",
628        "cuda/include/thrust/remove.h",
629        "cuda/include/thrust/replace.h",
630        "cuda/include/thrust/reverse.h",
631        "cuda/include/thrust/scan.h",
632        "cuda/include/thrust/scatter.h",
633        "cuda/include/thrust/sequence.h",
634        "cuda/include/thrust/set_operations.h",
635        "cuda/include/thrust/sort.h",
636        "cuda/include/thrust/swap.h",
637        "cuda/include/thrust/system/cpp/detail/adjacent_difference.h",
638        "cuda/include/thrust/system/cpp/detail/assign_value.h",
639        "cuda/include/thrust/system/cpp/detail/binary_search.h",
640        "cuda/include/thrust/system/cpp/detail/copy.h",
641        "cuda/include/thrust/system/cpp/detail/copy_if.h",
642        "cuda/include/thrust/system/cpp/detail/count.h",
643        "cuda/include/thrust/system/cpp/detail/equal.h",
644        "cuda/include/thrust/system/cpp/detail/execution_policy.h",
645        "cuda/include/thrust/system/cpp/detail/extrema.h",
646        "cuda/include/thrust/system/cpp/detail/fill.h",
647        "cuda/include/thrust/system/cpp/detail/find.h",
648        "cuda/include/thrust/system/cpp/detail/for_each.h",
649        "cuda/include/thrust/system/cpp/detail/gather.h",
650        "cuda/include/thrust/system/cpp/detail/generate.h",
651        "cuda/include/thrust/system/cpp/detail/get_value.h",
652        "cuda/include/thrust/system/cpp/detail/inner_product.h",
653        "cuda/include/thrust/system/cpp/detail/iter_swap.h",
654        "cuda/include/thrust/system/cpp/detail/logical.h",
655        "cuda/include/thrust/system/cpp/detail/malloc_and_free.h",
656        "cuda/include/thrust/system/cpp/detail/memory.inl",
657        "cuda/include/thrust/system/cpp/detail/merge.h",
658        "cuda/include/thrust/system/cpp/detail/mismatch.h",
659        "cuda/include/thrust/system/cpp/detail/par.h",
660        "cuda/include/thrust/system/cpp/detail/partition.h",
661        "cuda/include/thrust/system/cpp/detail/reduce.h",
662        "cuda/include/thrust/system/cpp/detail/reduce_by_key.h",
663        "cuda/include/thrust/system/cpp/detail/remove.h",
664        "cuda/include/thrust/system/cpp/detail/replace.h",
665        "cuda/include/thrust/system/cpp/detail/reverse.h",
666        "cuda/include/thrust/system/cpp/detail/scan.h",
667        "cuda/include/thrust/system/cpp/detail/scan_by_key.h",
668        "cuda/include/thrust/system/cpp/detail/scatter.h",
669        "cuda/include/thrust/system/cpp/detail/sequence.h",
670        "cuda/include/thrust/system/cpp/detail/set_operations.h",
671        "cuda/include/thrust/system/cpp/detail/sort.h",
672        "cuda/include/thrust/system/cpp/detail/swap_ranges.h",
673        "cuda/include/thrust/system/cpp/detail/tabulate.h",
674        "cuda/include/thrust/system/cpp/detail/temporary_buffer.h",
675        "cuda/include/thrust/system/cpp/detail/transform.h",
676        "cuda/include/thrust/system/cpp/detail/transform_reduce.h",
677        "cuda/include/thrust/system/cpp/detail/transform_scan.h",
678        "cuda/include/thrust/system/cpp/detail/uninitialized_copy.h",
679        "cuda/include/thrust/system/cpp/detail/uninitialized_fill.h",
680        "cuda/include/thrust/system/cpp/detail/unique.h",
681        "cuda/include/thrust/system/cpp/detail/unique_by_key.h",
682        "cuda/include/thrust/system/cpp/detail/vector.inl",
683        "cuda/include/thrust/system/cpp/execution_policy.h",
684        "cuda/include/thrust/system/cpp/memory.h",
685        "cuda/include/thrust/system/cpp/vector.h",
686        "cuda/include/thrust/system/cuda/config.h",
687        "cuda/include/thrust/system/cuda/detail/adjacent_difference.h",
688        "cuda/include/thrust/system/cuda/detail/assign_value.h",
689        "cuda/include/thrust/system/cuda/detail/binary_search.h",
690        "cuda/include/thrust/system/cuda/detail/copy.h",
691        "cuda/include/thrust/system/cuda/detail/copy_if.h",
692        "cuda/include/thrust/system/cuda/detail/core/agent_launcher.h",
693        "cuda/include/thrust/system/cuda/detail/core/alignment.h",
694        "cuda/include/thrust/system/cuda/detail/core/triple_chevron_launch.h",
695        "cuda/include/thrust/system/cuda/detail/core/util.h",
696        "cuda/include/thrust/system/cuda/detail/count.h",
697        "cuda/include/thrust/system/cuda/detail/cross_system.h",
698        "cuda/include/thrust/system/cuda/detail/cub/agent/agent_histogram.cuh",
699        "cuda/include/thrust/system/cuda/detail/cub/agent/agent_radix_sort_downsweep.cuh",
700        "cuda/include/thrust/system/cuda/detail/cub/agent/agent_radix_sort_upsweep.cuh",
701        "cuda/include/thrust/system/cuda/detail/cub/agent/agent_reduce.cuh",
702        "cuda/include/thrust/system/cuda/detail/cub/agent/agent_reduce_by_key.cuh",
703        "cuda/include/thrust/system/cuda/detail/cub/agent/agent_rle.cuh",
704        "cuda/include/thrust/system/cuda/detail/cub/agent/agent_scan.cuh",
705        "cuda/include/thrust/system/cuda/detail/cub/agent/agent_segment_fixup.cuh",
706        "cuda/include/thrust/system/cuda/detail/cub/agent/agent_select_if.cuh",
707        "cuda/include/thrust/system/cuda/detail/cub/agent/agent_spmv_orig.cuh",
708        "cuda/include/thrust/system/cuda/detail/cub/agent/single_pass_scan_operators.cuh",
709        "cuda/include/thrust/system/cuda/detail/cub/block/block_adjacent_difference.cuh",
710        "cuda/include/thrust/system/cuda/detail/cub/block/block_discontinuity.cuh",
711        "cuda/include/thrust/system/cuda/detail/cub/block/block_exchange.cuh",
712        "cuda/include/thrust/system/cuda/detail/cub/block/block_histogram.cuh",
713        "cuda/include/thrust/system/cuda/detail/cub/block/block_load.cuh",
714        "cuda/include/thrust/system/cuda/detail/cub/block/block_radix_rank.cuh",
715        "cuda/include/thrust/system/cuda/detail/cub/block/block_radix_sort.cuh",
716        "cuda/include/thrust/system/cuda/detail/cub/block/block_raking_layout.cuh",
717        "cuda/include/thrust/system/cuda/detail/cub/block/block_reduce.cuh",
718        "cuda/include/thrust/system/cuda/detail/cub/block/block_scan.cuh",
719        "cuda/include/thrust/system/cuda/detail/cub/block/block_shuffle.cuh",
720        "cuda/include/thrust/system/cuda/detail/cub/block/block_store.cuh",
721        "cuda/include/thrust/system/cuda/detail/cub/block/specializations/block_histogram_atomic.cuh",
722        "cuda/include/thrust/system/cuda/detail/cub/block/specializations/block_histogram_sort.cuh",
723        "cuda/include/thrust/system/cuda/detail/cub/block/specializations/block_reduce_raking.cuh",
724        "cuda/include/thrust/system/cuda/detail/cub/block/specializations/block_reduce_raking_commutative_only.cuh",
725        "cuda/include/thrust/system/cuda/detail/cub/block/specializations/block_reduce_warp_reductions.cuh",
726        "cuda/include/thrust/system/cuda/detail/cub/block/specializations/block_scan_raking.cuh",
727        "cuda/include/thrust/system/cuda/detail/cub/block/specializations/block_scan_warp_scans.cuh",
728        "cuda/include/thrust/system/cuda/detail/cub/block/specializations/block_scan_warp_scans2.cuh",
729        "cuda/include/thrust/system/cuda/detail/cub/block/specializations/block_scan_warp_scans3.cuh",
730        "cuda/include/thrust/system/cuda/detail/cub/cub.cuh",
731        "cuda/include/thrust/system/cuda/detail/cub/device/device_histogram.cuh",
732        "cuda/include/thrust/system/cuda/detail/cub/device/device_partition.cuh",
733        "cuda/include/thrust/system/cuda/detail/cub/device/device_radix_sort.cuh",
734        "cuda/include/thrust/system/cuda/detail/cub/device/device_reduce.cuh",
735        "cuda/include/thrust/system/cuda/detail/cub/device/device_run_length_encode.cuh",
736        "cuda/include/thrust/system/cuda/detail/cub/device/device_scan.cuh",
737        "cuda/include/thrust/system/cuda/detail/cub/device/device_segmented_radix_sort.cuh",
738        "cuda/include/thrust/system/cuda/detail/cub/device/device_segmented_reduce.cuh",
739        "cuda/include/thrust/system/cuda/detail/cub/device/device_select.cuh",
740        "cuda/include/thrust/system/cuda/detail/cub/device/device_spmv.cuh",
741        "cuda/include/thrust/system/cuda/detail/cub/device/dispatch/dispatch_histogram.cuh",
742        "cuda/include/thrust/system/cuda/detail/cub/device/dispatch/dispatch_radix_sort.cuh",
743        "cuda/include/thrust/system/cuda/detail/cub/device/dispatch/dispatch_reduce.cuh",
744        "cuda/include/thrust/system/cuda/detail/cub/device/dispatch/dispatch_reduce_by_key.cuh",
745        "cuda/include/thrust/system/cuda/detail/cub/device/dispatch/dispatch_rle.cuh",
746        "cuda/include/thrust/system/cuda/detail/cub/device/dispatch/dispatch_scan.cuh",
747        "cuda/include/thrust/system/cuda/detail/cub/device/dispatch/dispatch_select_if.cuh",
748        "cuda/include/thrust/system/cuda/detail/cub/device/dispatch/dispatch_spmv_orig.cuh",
749        "cuda/include/thrust/system/cuda/detail/cub/grid/grid_barrier.cuh",
750        "cuda/include/thrust/system/cuda/detail/cub/grid/grid_even_share.cuh",
751        "cuda/include/thrust/system/cuda/detail/cub/grid/grid_mapping.cuh",
752        "cuda/include/thrust/system/cuda/detail/cub/grid/grid_queue.cuh",
753        "cuda/include/thrust/system/cuda/detail/cub/host/mutex.cuh",
754        "cuda/include/thrust/system/cuda/detail/cub/iterator/arg_index_input_iterator.cuh",
755        "cuda/include/thrust/system/cuda/detail/cub/iterator/cache_modified_input_iterator.cuh",
756        "cuda/include/thrust/system/cuda/detail/cub/iterator/cache_modified_output_iterator.cuh",
757        "cuda/include/thrust/system/cuda/detail/cub/iterator/constant_input_iterator.cuh",
758        "cuda/include/thrust/system/cuda/detail/cub/iterator/counting_input_iterator.cuh",
759        "cuda/include/thrust/system/cuda/detail/cub/iterator/discard_output_iterator.cuh",
760        "cuda/include/thrust/system/cuda/detail/cub/iterator/tex_obj_input_iterator.cuh",
761        "cuda/include/thrust/system/cuda/detail/cub/iterator/tex_ref_input_iterator.cuh",
762        "cuda/include/thrust/system/cuda/detail/cub/iterator/transform_input_iterator.cuh",
763        "cuda/include/thrust/system/cuda/detail/cub/thread/thread_load.cuh",
764        "cuda/include/thrust/system/cuda/detail/cub/thread/thread_operators.cuh",
765        "cuda/include/thrust/system/cuda/detail/cub/thread/thread_reduce.cuh",
766        "cuda/include/thrust/system/cuda/detail/cub/thread/thread_scan.cuh",
767        "cuda/include/thrust/system/cuda/detail/cub/thread/thread_search.cuh",
768        "cuda/include/thrust/system/cuda/detail/cub/thread/thread_store.cuh",
769        "cuda/include/thrust/system/cuda/detail/cub/util_allocator.cuh",
770        "cuda/include/thrust/system/cuda/detail/cub/util_arch.cuh",
771        "cuda/include/thrust/system/cuda/detail/cub/util_debug.cuh",
772        "cuda/include/thrust/system/cuda/detail/cub/util_device.cuh",
773        "cuda/include/thrust/system/cuda/detail/cub/util_macro.cuh",
774        "cuda/include/thrust/system/cuda/detail/cub/util_namespace.cuh",
775        "cuda/include/thrust/system/cuda/detail/cub/util_ptx.cuh",
776        "cuda/include/thrust/system/cuda/detail/cub/util_type.cuh",
777        "cuda/include/thrust/system/cuda/detail/cub/warp/specializations/warp_reduce_shfl.cuh",
778        "cuda/include/thrust/system/cuda/detail/cub/warp/specializations/warp_reduce_smem.cuh",
779        "cuda/include/thrust/system/cuda/detail/cub/warp/specializations/warp_scan_shfl.cuh",
780        "cuda/include/thrust/system/cuda/detail/cub/warp/specializations/warp_scan_smem.cuh",
781        "cuda/include/thrust/system/cuda/detail/cub/warp/warp_reduce.cuh",
782        "cuda/include/thrust/system/cuda/detail/cub/warp/warp_scan.cuh",
783        "cuda/include/thrust/system/cuda/detail/equal.h",
784        "cuda/include/thrust/system/cuda/detail/error.inl",
785        "cuda/include/thrust/system/cuda/detail/execution_policy.h",
786        "cuda/include/thrust/system/cuda/detail/extrema.h",
787        "cuda/include/thrust/system/cuda/detail/fill.h",
788        "cuda/include/thrust/system/cuda/detail/find.h",
789        "cuda/include/thrust/system/cuda/detail/for_each.h",
790        "cuda/include/thrust/system/cuda/detail/gather.h",
791        "cuda/include/thrust/system/cuda/detail/generate.h",
792        "cuda/include/thrust/system/cuda/detail/get_value.h",
793        "cuda/include/thrust/system/cuda/detail/guarded_cuda_runtime_api.h",
794        "cuda/include/thrust/system/cuda/detail/guarded_driver_types.h",
795        "cuda/include/thrust/system/cuda/detail/inner_product.h",
796        "cuda/include/thrust/system/cuda/detail/internal/copy_cross_system.h",
797        "cuda/include/thrust/system/cuda/detail/internal/copy_device_to_device.h",
798        "cuda/include/thrust/system/cuda/detail/iter_swap.h",
799        "cuda/include/thrust/system/cuda/detail/logical.h",
800        "cuda/include/thrust/system/cuda/detail/malloc_and_free.h",
801        "cuda/include/thrust/system/cuda/detail/memory.inl",
802        "cuda/include/thrust/system/cuda/detail/merge.h",
803        "cuda/include/thrust/system/cuda/detail/mismatch.h",
804        "cuda/include/thrust/system/cuda/detail/par.h",
805        "cuda/include/thrust/system/cuda/detail/par_to_seq.h",
806        "cuda/include/thrust/system/cuda/detail/parallel_for.h",
807        "cuda/include/thrust/system/cuda/detail/partition.h",
808        "cuda/include/thrust/system/cuda/detail/reduce.h",
809        "cuda/include/thrust/system/cuda/detail/reduce_by_key.h",
810        "cuda/include/thrust/system/cuda/detail/remove.h",
811        "cuda/include/thrust/system/cuda/detail/replace.h",
812        "cuda/include/thrust/system/cuda/detail/reverse.h",
813        "cuda/include/thrust/system/cuda/detail/scan.h",
814        "cuda/include/thrust/system/cuda/detail/scan_by_key.h",
815        "cuda/include/thrust/system/cuda/detail/scatter.h",
816        "cuda/include/thrust/system/cuda/detail/sequence.h",
817        "cuda/include/thrust/system/cuda/detail/set_operations.h",
818        "cuda/include/thrust/system/cuda/detail/sort.h",
819        "cuda/include/thrust/system/cuda/detail/swap_ranges.h",
820        "cuda/include/thrust/system/cuda/detail/tabulate.h",
821        "cuda/include/thrust/system/cuda/detail/temporary_buffer.h",
822        "cuda/include/thrust/system/cuda/detail/terminate.h",
823        "cuda/include/thrust/system/cuda/detail/transform.h",
824        "cuda/include/thrust/system/cuda/detail/transform_reduce.h",
825        "cuda/include/thrust/system/cuda/detail/transform_scan.h",
826        "cuda/include/thrust/system/cuda/detail/uninitialized_copy.h",
827        "cuda/include/thrust/system/cuda/detail/uninitialized_fill.h",
828        "cuda/include/thrust/system/cuda/detail/unique.h",
829        "cuda/include/thrust/system/cuda/detail/unique_by_key.h",
830        "cuda/include/thrust/system/cuda/detail/util.h",
831        "cuda/include/thrust/system/cuda/detail/vector.inl",
832        "cuda/include/thrust/system/cuda/error.h",
833        "cuda/include/thrust/system/cuda/execution_policy.h",
834        "cuda/include/thrust/system/cuda/experimental/pinned_allocator.h",
835        "cuda/include/thrust/system/cuda/memory.h",
836        "cuda/include/thrust/system/cuda/vector.h",
837        "cuda/include/thrust/system/detail/adl/adjacent_difference.h",
838        "cuda/include/thrust/system/detail/adl/assign_value.h",
839        "cuda/include/thrust/system/detail/adl/binary_search.h",
840        "cuda/include/thrust/system/detail/adl/copy.h",
841        "cuda/include/thrust/system/detail/adl/copy_if.h",
842        "cuda/include/thrust/system/detail/adl/count.h",
843        "cuda/include/thrust/system/detail/adl/equal.h",
844        "cuda/include/thrust/system/detail/adl/extrema.h",
845        "cuda/include/thrust/system/detail/adl/fill.h",
846        "cuda/include/thrust/system/detail/adl/find.h",
847        "cuda/include/thrust/system/detail/adl/for_each.h",
848        "cuda/include/thrust/system/detail/adl/gather.h",
849        "cuda/include/thrust/system/detail/adl/generate.h",
850        "cuda/include/thrust/system/detail/adl/get_value.h",
851        "cuda/include/thrust/system/detail/adl/inner_product.h",
852        "cuda/include/thrust/system/detail/adl/iter_swap.h",
853        "cuda/include/thrust/system/detail/adl/logical.h",
854        "cuda/include/thrust/system/detail/adl/malloc_and_free.h",
855        "cuda/include/thrust/system/detail/adl/merge.h",
856        "cuda/include/thrust/system/detail/adl/mismatch.h",
857        "cuda/include/thrust/system/detail/adl/partition.h",
858        "cuda/include/thrust/system/detail/adl/reduce.h",
859        "cuda/include/thrust/system/detail/adl/reduce_by_key.h",
860        "cuda/include/thrust/system/detail/adl/remove.h",
861        "cuda/include/thrust/system/detail/adl/replace.h",
862        "cuda/include/thrust/system/detail/adl/reverse.h",
863        "cuda/include/thrust/system/detail/adl/scan.h",
864        "cuda/include/thrust/system/detail/adl/scan_by_key.h",
865        "cuda/include/thrust/system/detail/adl/scatter.h",
866        "cuda/include/thrust/system/detail/adl/sequence.h",
867        "cuda/include/thrust/system/detail/adl/set_operations.h",
868        "cuda/include/thrust/system/detail/adl/sort.h",
869        "cuda/include/thrust/system/detail/adl/swap_ranges.h",
870        "cuda/include/thrust/system/detail/adl/tabulate.h",
871        "cuda/include/thrust/system/detail/adl/temporary_buffer.h",
872        "cuda/include/thrust/system/detail/adl/transform.h",
873        "cuda/include/thrust/system/detail/adl/transform_reduce.h",
874        "cuda/include/thrust/system/detail/adl/transform_scan.h",
875        "cuda/include/thrust/system/detail/adl/uninitialized_copy.h",
876        "cuda/include/thrust/system/detail/adl/uninitialized_fill.h",
877        "cuda/include/thrust/system/detail/adl/unique.h",
878        "cuda/include/thrust/system/detail/adl/unique_by_key.h",
879        "cuda/include/thrust/system/detail/bad_alloc.h",
880        "cuda/include/thrust/system/detail/errno.h",
881        "cuda/include/thrust/system/detail/error_category.inl",
882        "cuda/include/thrust/system/detail/error_code.inl",
883        "cuda/include/thrust/system/detail/error_condition.inl",
884        "cuda/include/thrust/system/detail/generic/adjacent_difference.h",
885        "cuda/include/thrust/system/detail/generic/adjacent_difference.inl",
886        "cuda/include/thrust/system/detail/generic/advance.h",
887        "cuda/include/thrust/system/detail/generic/advance.inl",
888        "cuda/include/thrust/system/detail/generic/binary_search.h",
889        "cuda/include/thrust/system/detail/generic/binary_search.inl",
890        "cuda/include/thrust/system/detail/generic/copy.h",
891        "cuda/include/thrust/system/detail/generic/copy.inl",
892        "cuda/include/thrust/system/detail/generic/copy_if.h",
893        "cuda/include/thrust/system/detail/generic/copy_if.inl",
894        "cuda/include/thrust/system/detail/generic/count.h",
895        "cuda/include/thrust/system/detail/generic/count.inl",
896        "cuda/include/thrust/system/detail/generic/distance.h",
897        "cuda/include/thrust/system/detail/generic/distance.inl",
898        "cuda/include/thrust/system/detail/generic/equal.h",
899        "cuda/include/thrust/system/detail/generic/equal.inl",
900        "cuda/include/thrust/system/detail/generic/extrema.h",
901        "cuda/include/thrust/system/detail/generic/extrema.inl",
902        "cuda/include/thrust/system/detail/generic/fill.h",
903        "cuda/include/thrust/system/detail/generic/find.h",
904        "cuda/include/thrust/system/detail/generic/find.inl",
905        "cuda/include/thrust/system/detail/generic/for_each.h",
906        "cuda/include/thrust/system/detail/generic/gather.h",
907        "cuda/include/thrust/system/detail/generic/gather.inl",
908        "cuda/include/thrust/system/detail/generic/generate.h",
909        "cuda/include/thrust/system/detail/generic/generate.inl",
910        "cuda/include/thrust/system/detail/generic/inner_product.h",
911        "cuda/include/thrust/system/detail/generic/inner_product.inl",
912        "cuda/include/thrust/system/detail/generic/logical.h",
913        "cuda/include/thrust/system/detail/generic/memory.h",
914        "cuda/include/thrust/system/detail/generic/memory.inl",
915        "cuda/include/thrust/system/detail/generic/merge.h",
916        "cuda/include/thrust/system/detail/generic/merge.inl",
917        "cuda/include/thrust/system/detail/generic/mismatch.h",
918        "cuda/include/thrust/system/detail/generic/mismatch.inl",
919        "cuda/include/thrust/system/detail/generic/partition.h",
920        "cuda/include/thrust/system/detail/generic/partition.inl",
921        "cuda/include/thrust/system/detail/generic/reduce.h",
922        "cuda/include/thrust/system/detail/generic/reduce.inl",
923        "cuda/include/thrust/system/detail/generic/reduce_by_key.h",
924        "cuda/include/thrust/system/detail/generic/reduce_by_key.inl",
925        "cuda/include/thrust/system/detail/generic/remove.h",
926        "cuda/include/thrust/system/detail/generic/remove.inl",
927        "cuda/include/thrust/system/detail/generic/replace.h",
928        "cuda/include/thrust/system/detail/generic/replace.inl",
929        "cuda/include/thrust/system/detail/generic/reverse.h",
930        "cuda/include/thrust/system/detail/generic/reverse.inl",
931        "cuda/include/thrust/system/detail/generic/scalar/binary_search.h",
932        "cuda/include/thrust/system/detail/generic/scalar/binary_search.inl",
933        "cuda/include/thrust/system/detail/generic/scan.h",
934        "cuda/include/thrust/system/detail/generic/scan.inl",
935        "cuda/include/thrust/system/detail/generic/scan_by_key.h",
936        "cuda/include/thrust/system/detail/generic/scan_by_key.inl",
937        "cuda/include/thrust/system/detail/generic/scatter.h",
938        "cuda/include/thrust/system/detail/generic/scatter.inl",
939        "cuda/include/thrust/system/detail/generic/select_system.h",
940        "cuda/include/thrust/system/detail/generic/sequence.h",
941        "cuda/include/thrust/system/detail/generic/sequence.inl",
942        "cuda/include/thrust/system/detail/generic/set_operations.h",
943        "cuda/include/thrust/system/detail/generic/set_operations.inl",
944        "cuda/include/thrust/system/detail/generic/sort.h",
945        "cuda/include/thrust/system/detail/generic/sort.inl",
946        "cuda/include/thrust/system/detail/generic/swap_ranges.h",
947        "cuda/include/thrust/system/detail/generic/swap_ranges.inl",
948        "cuda/include/thrust/system/detail/generic/tabulate.h",
949        "cuda/include/thrust/system/detail/generic/tabulate.inl",
950        "cuda/include/thrust/system/detail/generic/tag.h",
951        "cuda/include/thrust/system/detail/generic/temporary_buffer.h",
952        "cuda/include/thrust/system/detail/generic/temporary_buffer.inl",
953        "cuda/include/thrust/system/detail/generic/transform.h",
954        "cuda/include/thrust/system/detail/generic/transform.inl",
955        "cuda/include/thrust/system/detail/generic/transform_reduce.h",
956        "cuda/include/thrust/system/detail/generic/transform_reduce.inl",
957        "cuda/include/thrust/system/detail/generic/transform_scan.h",
958        "cuda/include/thrust/system/detail/generic/transform_scan.inl",
959        "cuda/include/thrust/system/detail/generic/type_traits.h",
960        "cuda/include/thrust/system/detail/generic/uninitialized_copy.h",
961        "cuda/include/thrust/system/detail/generic/uninitialized_copy.inl",
962        "cuda/include/thrust/system/detail/generic/uninitialized_fill.h",
963        "cuda/include/thrust/system/detail/generic/uninitialized_fill.inl",
964        "cuda/include/thrust/system/detail/generic/unique.h",
965        "cuda/include/thrust/system/detail/generic/unique.inl",
966        "cuda/include/thrust/system/detail/generic/unique_by_key.h",
967        "cuda/include/thrust/system/detail/generic/unique_by_key.inl",
968        "cuda/include/thrust/system/detail/internal/decompose.h",
969        "cuda/include/thrust/system/detail/sequential/adjacent_difference.h",
970        "cuda/include/thrust/system/detail/sequential/assign_value.h",
971        "cuda/include/thrust/system/detail/sequential/binary_search.h",
972        "cuda/include/thrust/system/detail/sequential/copy.h",
973        "cuda/include/thrust/system/detail/sequential/copy.inl",
974        "cuda/include/thrust/system/detail/sequential/copy_backward.h",
975        "cuda/include/thrust/system/detail/sequential/copy_if.h",
976        "cuda/include/thrust/system/detail/sequential/count.h",
977        "cuda/include/thrust/system/detail/sequential/equal.h",
978        "cuda/include/thrust/system/detail/sequential/execution_policy.h",
979        "cuda/include/thrust/system/detail/sequential/extrema.h",
980        "cuda/include/thrust/system/detail/sequential/fill.h",
981        "cuda/include/thrust/system/detail/sequential/find.h",
982        "cuda/include/thrust/system/detail/sequential/for_each.h",
983        "cuda/include/thrust/system/detail/sequential/gather.h",
984        "cuda/include/thrust/system/detail/sequential/general_copy.h",
985        "cuda/include/thrust/system/detail/sequential/generate.h",
986        "cuda/include/thrust/system/detail/sequential/get_value.h",
987        "cuda/include/thrust/system/detail/sequential/inner_product.h",
988        "cuda/include/thrust/system/detail/sequential/insertion_sort.h",
989        "cuda/include/thrust/system/detail/sequential/iter_swap.h",
990        "cuda/include/thrust/system/detail/sequential/logical.h",
991        "cuda/include/thrust/system/detail/sequential/malloc_and_free.h",
992        "cuda/include/thrust/system/detail/sequential/merge.h",
993        "cuda/include/thrust/system/detail/sequential/merge.inl",
994        "cuda/include/thrust/system/detail/sequential/mismatch.h",
995        "cuda/include/thrust/system/detail/sequential/partition.h",
996        "cuda/include/thrust/system/detail/sequential/reduce.h",
997        "cuda/include/thrust/system/detail/sequential/reduce_by_key.h",
998        "cuda/include/thrust/system/detail/sequential/remove.h",
999        "cuda/include/thrust/system/detail/sequential/replace.h",
1000        "cuda/include/thrust/system/detail/sequential/reverse.h",
1001        "cuda/include/thrust/system/detail/sequential/scan.h",
1002        "cuda/include/thrust/system/detail/sequential/scan_by_key.h",
1003        "cuda/include/thrust/system/detail/sequential/scatter.h",
1004        "cuda/include/thrust/system/detail/sequential/sequence.h",
1005        "cuda/include/thrust/system/detail/sequential/set_operations.h",
1006        "cuda/include/thrust/system/detail/sequential/sort.h",
1007        "cuda/include/thrust/system/detail/sequential/sort.inl",
1008        "cuda/include/thrust/system/detail/sequential/stable_merge_sort.h",
1009        "cuda/include/thrust/system/detail/sequential/stable_merge_sort.inl",
1010        "cuda/include/thrust/system/detail/sequential/stable_primitive_sort.h",
1011        "cuda/include/thrust/system/detail/sequential/stable_primitive_sort.inl",
1012        "cuda/include/thrust/system/detail/sequential/stable_radix_sort.h",
1013        "cuda/include/thrust/system/detail/sequential/stable_radix_sort.inl",
1014        "cuda/include/thrust/system/detail/sequential/swap_ranges.h",
1015        "cuda/include/thrust/system/detail/sequential/tabulate.h",
1016        "cuda/include/thrust/system/detail/sequential/temporary_buffer.h",
1017        "cuda/include/thrust/system/detail/sequential/transform.h",
1018        "cuda/include/thrust/system/detail/sequential/transform_reduce.h",
1019        "cuda/include/thrust/system/detail/sequential/transform_scan.h",
1020        "cuda/include/thrust/system/detail/sequential/trivial_copy.h",
1021        "cuda/include/thrust/system/detail/sequential/uninitialized_copy.h",
1022        "cuda/include/thrust/system/detail/sequential/uninitialized_fill.h",
1023        "cuda/include/thrust/system/detail/sequential/unique.h",
1024        "cuda/include/thrust/system/detail/sequential/unique_by_key.h",
1025        "cuda/include/thrust/system/detail/system_error.inl",
1026        "cuda/include/thrust/system/error_code.h",
1027        "cuda/include/thrust/system/omp/detail/adjacent_difference.h",
1028        "cuda/include/thrust/system/omp/detail/assign_value.h",
1029        "cuda/include/thrust/system/omp/detail/binary_search.h",
1030        "cuda/include/thrust/system/omp/detail/copy.h",
1031        "cuda/include/thrust/system/omp/detail/copy.inl",
1032        "cuda/include/thrust/system/omp/detail/copy_if.h",
1033        "cuda/include/thrust/system/omp/detail/copy_if.inl",
1034        "cuda/include/thrust/system/omp/detail/count.h",
1035        "cuda/include/thrust/system/omp/detail/default_decomposition.h",
1036        "cuda/include/thrust/system/omp/detail/default_decomposition.inl",
1037        "cuda/include/thrust/system/omp/detail/equal.h",
1038        "cuda/include/thrust/system/omp/detail/execution_policy.h",
1039        "cuda/include/thrust/system/omp/detail/extrema.h",
1040        "cuda/include/thrust/system/omp/detail/fill.h",
1041        "cuda/include/thrust/system/omp/detail/find.h",
1042        "cuda/include/thrust/system/omp/detail/for_each.h",
1043        "cuda/include/thrust/system/omp/detail/for_each.inl",
1044        "cuda/include/thrust/system/omp/detail/gather.h",
1045        "cuda/include/thrust/system/omp/detail/generate.h",
1046        "cuda/include/thrust/system/omp/detail/get_value.h",
1047        "cuda/include/thrust/system/omp/detail/inner_product.h",
1048        "cuda/include/thrust/system/omp/detail/iter_swap.h",
1049        "cuda/include/thrust/system/omp/detail/logical.h",
1050        "cuda/include/thrust/system/omp/detail/malloc_and_free.h",
1051        "cuda/include/thrust/system/omp/detail/memory.inl",
1052        "cuda/include/thrust/system/omp/detail/merge.h",
1053        "cuda/include/thrust/system/omp/detail/mismatch.h",
1054        "cuda/include/thrust/system/omp/detail/par.h",
1055        "cuda/include/thrust/system/omp/detail/partition.h",
1056        "cuda/include/thrust/system/omp/detail/partition.inl",
1057        "cuda/include/thrust/system/omp/detail/reduce.h",
1058        "cuda/include/thrust/system/omp/detail/reduce.inl",
1059        "cuda/include/thrust/system/omp/detail/reduce_by_key.h",
1060        "cuda/include/thrust/system/omp/detail/reduce_by_key.inl",
1061        "cuda/include/thrust/system/omp/detail/reduce_intervals.h",
1062        "cuda/include/thrust/system/omp/detail/reduce_intervals.inl",
1063        "cuda/include/thrust/system/omp/detail/remove.h",
1064        "cuda/include/thrust/system/omp/detail/remove.inl",
1065        "cuda/include/thrust/system/omp/detail/replace.h",
1066        "cuda/include/thrust/system/omp/detail/reverse.h",
1067        "cuda/include/thrust/system/omp/detail/scan.h",
1068        "cuda/include/thrust/system/omp/detail/scan_by_key.h",
1069        "cuda/include/thrust/system/omp/detail/scatter.h",
1070        "cuda/include/thrust/system/omp/detail/sequence.h",
1071        "cuda/include/thrust/system/omp/detail/set_operations.h",
1072        "cuda/include/thrust/system/omp/detail/sort.h",
1073        "cuda/include/thrust/system/omp/detail/sort.inl",
1074        "cuda/include/thrust/system/omp/detail/swap_ranges.h",
1075        "cuda/include/thrust/system/omp/detail/tabulate.h",
1076        "cuda/include/thrust/system/omp/detail/temporary_buffer.h",
1077        "cuda/include/thrust/system/omp/detail/transform.h",
1078        "cuda/include/thrust/system/omp/detail/transform_reduce.h",
1079        "cuda/include/thrust/system/omp/detail/transform_scan.h",
1080        "cuda/include/thrust/system/omp/detail/uninitialized_copy.h",
1081        "cuda/include/thrust/system/omp/detail/uninitialized_fill.h",
1082        "cuda/include/thrust/system/omp/detail/unique.h",
1083        "cuda/include/thrust/system/omp/detail/unique.inl",
1084        "cuda/include/thrust/system/omp/detail/unique_by_key.h",
1085        "cuda/include/thrust/system/omp/detail/unique_by_key.inl",
1086        "cuda/include/thrust/system/omp/detail/vector.inl",
1087        "cuda/include/thrust/system/omp/execution_policy.h",
1088        "cuda/include/thrust/system/omp/memory.h",
1089        "cuda/include/thrust/system/omp/vector.h",
1090        "cuda/include/thrust/system/system_error.h",
1091        "cuda/include/thrust/system/tbb/detail/adjacent_difference.h",
1092        "cuda/include/thrust/system/tbb/detail/assign_value.h",
1093        "cuda/include/thrust/system/tbb/detail/binary_search.h",
1094        "cuda/include/thrust/system/tbb/detail/copy.h",
1095        "cuda/include/thrust/system/tbb/detail/copy.inl",
1096        "cuda/include/thrust/system/tbb/detail/copy_if.h",
1097        "cuda/include/thrust/system/tbb/detail/copy_if.inl",
1098        "cuda/include/thrust/system/tbb/detail/count.h",
1099        "cuda/include/thrust/system/tbb/detail/equal.h",
1100        "cuda/include/thrust/system/tbb/detail/execution_policy.h",
1101        "cuda/include/thrust/system/tbb/detail/extrema.h",
1102        "cuda/include/thrust/system/tbb/detail/fill.h",
1103        "cuda/include/thrust/system/tbb/detail/find.h",
1104        "cuda/include/thrust/system/tbb/detail/for_each.h",
1105        "cuda/include/thrust/system/tbb/detail/for_each.inl",
1106        "cuda/include/thrust/system/tbb/detail/gather.h",
1107        "cuda/include/thrust/system/tbb/detail/generate.h",
1108        "cuda/include/thrust/system/tbb/detail/get_value.h",
1109        "cuda/include/thrust/system/tbb/detail/inner_product.h",
1110        "cuda/include/thrust/system/tbb/detail/iter_swap.h",
1111        "cuda/include/thrust/system/tbb/detail/logical.h",
1112        "cuda/include/thrust/system/tbb/detail/malloc_and_free.h",
1113        "cuda/include/thrust/system/tbb/detail/memory.inl",
1114        "cuda/include/thrust/system/tbb/detail/merge.h",
1115        "cuda/include/thrust/system/tbb/detail/merge.inl",
1116        "cuda/include/thrust/system/tbb/detail/mismatch.h",
1117        "cuda/include/thrust/system/tbb/detail/par.h",
1118        "cuda/include/thrust/system/tbb/detail/partition.h",
1119        "cuda/include/thrust/system/tbb/detail/partition.inl",
1120        "cuda/include/thrust/system/tbb/detail/reduce.h",
1121        "cuda/include/thrust/system/tbb/detail/reduce.inl",
1122        "cuda/include/thrust/system/tbb/detail/reduce_by_key.h",
1123        "cuda/include/thrust/system/tbb/detail/reduce_by_key.inl",
1124        "cuda/include/thrust/system/tbb/detail/reduce_intervals.h",
1125        "cuda/include/thrust/system/tbb/detail/remove.h",
1126        "cuda/include/thrust/system/tbb/detail/remove.inl",
1127        "cuda/include/thrust/system/tbb/detail/replace.h",
1128        "cuda/include/thrust/system/tbb/detail/reverse.h",
1129        "cuda/include/thrust/system/tbb/detail/scan.h",
1130        "cuda/include/thrust/system/tbb/detail/scan.inl",
1131        "cuda/include/thrust/system/tbb/detail/scan_by_key.h",
1132        "cuda/include/thrust/system/tbb/detail/scatter.h",
1133        "cuda/include/thrust/system/tbb/detail/sequence.h",
1134        "cuda/include/thrust/system/tbb/detail/set_operations.h",
1135        "cuda/include/thrust/system/tbb/detail/sort.h",
1136        "cuda/include/thrust/system/tbb/detail/sort.inl",
1137        "cuda/include/thrust/system/tbb/detail/swap_ranges.h",
1138        "cuda/include/thrust/system/tbb/detail/tabulate.h",
1139        "cuda/include/thrust/system/tbb/detail/temporary_buffer.h",
1140        "cuda/include/thrust/system/tbb/detail/transform.h",
1141        "cuda/include/thrust/system/tbb/detail/transform_reduce.h",
1142        "cuda/include/thrust/system/tbb/detail/transform_scan.h",
1143        "cuda/include/thrust/system/tbb/detail/uninitialized_copy.h",
1144        "cuda/include/thrust/system/tbb/detail/uninitialized_fill.h",
1145        "cuda/include/thrust/system/tbb/detail/unique.h",
1146        "cuda/include/thrust/system/tbb/detail/unique.inl",
1147        "cuda/include/thrust/system/tbb/detail/unique_by_key.h",
1148        "cuda/include/thrust/system/tbb/detail/unique_by_key.inl",
1149        "cuda/include/thrust/system/tbb/detail/vector.inl",
1150        "cuda/include/thrust/system/tbb/execution_policy.h",
1151        "cuda/include/thrust/system/tbb/memory.h",
1152        "cuda/include/thrust/system/tbb/vector.h",
1153        "cuda/include/thrust/system_error.h",
1154        "cuda/include/thrust/tabulate.h",
1155        "cuda/include/thrust/transform.h",
1156        "cuda/include/thrust/transform_reduce.h",
1157        "cuda/include/thrust/transform_scan.h",
1158        "cuda/include/thrust/tuple.h",
1159        "cuda/include/thrust/uninitialized_copy.h",
1160        "cuda/include/thrust/uninitialized_fill.h",
1161        "cuda/include/thrust/unique.h",
1162        "cuda/include/thrust/version.h",
1163        "cuda/include/vector_functions.h",
1164        "cuda/include/vector_functions.hpp",
1165        "cuda/include/vector_types.h",
1166    ],
1167    cmd = """cp -rLf "/usr/local/cuda-10.0/include/." "$(@D)/cuda/include/" """,
1168)
1169
1170genrule(
1171    name = "cuda-nvvm",
1172    outs = [
1173        "cuda/nvvm/libdevice/libdevice.10.bc",
1174    ],
1175    cmd = """cp -rLf "/usr/local/cuda-10.0/nvvm/libdevice/." "$(@D)/" """,
1176)
1177
1178genrule(
1179    name = "cuda-extras",
1180    outs = [
1181        "cuda/extras/CUPTI/include/GL/gl.h",
1182        "cuda/extras/CUPTI/include/GL/glew.h",
1183        "cuda/extras/CUPTI/include/GL/glext.h",
1184        "cuda/extras/CUPTI/include/GL/glu.h",
1185        "cuda/extras/CUPTI/include/GL/glut.h",
1186        "cuda/extras/CUPTI/include/GL/glx.h",
1187        "cuda/extras/CUPTI/include/GL/glxext.h",
1188        "cuda/extras/CUPTI/include/GL/wglew.h",
1189        "cuda/extras/CUPTI/include/GL/wglext.h",
1190        "cuda/extras/CUPTI/include/cuda_stdint.h",
1191        "cuda/extras/CUPTI/include/cupti.h",
1192        "cuda/extras/CUPTI/include/cupti_activity.h",
1193        "cuda/extras/CUPTI/include/cupti_callbacks.h",
1194        "cuda/extras/CUPTI/include/cupti_driver_cbid.h",
1195        "cuda/extras/CUPTI/include/cupti_events.h",
1196        "cuda/extras/CUPTI/include/cupti_metrics.h",
1197        "cuda/extras/CUPTI/include/cupti_nvtx_cbid.h",
1198        "cuda/extras/CUPTI/include/cupti_result.h",
1199        "cuda/extras/CUPTI/include/cupti_runtime_cbid.h",
1200        "cuda/extras/CUPTI/include/cupti_version.h",
1201        "cuda/extras/CUPTI/include/generated_cudaGL_meta.h",
1202        "cuda/extras/CUPTI/include/generated_cudaVDPAU_meta.h",
1203        "cuda/extras/CUPTI/include/generated_cuda_gl_interop_meta.h",
1204        "cuda/extras/CUPTI/include/generated_cuda_meta.h",
1205        "cuda/extras/CUPTI/include/generated_cuda_runtime_api_meta.h",
1206        "cuda/extras/CUPTI/include/generated_cuda_vdpau_interop_meta.h",
1207        "cuda/extras/CUPTI/include/generated_nvtx_meta.h",
1208        "cuda/extras/CUPTI/include/openacc/cupti_openacc.h",
1209        "cuda/extras/CUPTI/include/openmp/cupti_openmp.h",
1210        "cuda/extras/CUPTI/include/openmp/ompt.h",
1211    ],
1212    cmd = """cp -rLf "/usr/local/cuda-10.0/extras/CUPTI/include/." "$(@D)/cuda/extras/CUPTI/include/" """,
1213)
1214
1215genrule(
1216    name = "cublas-include",
1217    outs = [
1218        "cublas/include/cublas.h",
1219        "cublas/include/cublas_v2.h",
1220        "cublas/include/cublas_api.h",
1221    ],
1222    cmd = """cp -f "/usr/local/cuda-10.0/include/cublas.h" "$(location cublas/include/cublas.h)" && \
1223cp -f "/usr/local/cuda-10.0/include/cublas_v2.h" "$(location cublas/include/cublas_v2.h)" && \
1224cp -f "/usr/local/cuda-10.0/include/cublas_api.h" "$(location cublas/include/cublas_api.h)" """,
1225)
1226
1227genrule(
1228    name = "cuda-lib",
1229    outs = [
1230        "cuda/lib/libcuda.so",
1231        "cuda/lib/libcudart.so.10.0",
1232        "cuda/lib/libcudart_static.a",
1233        "cuda/lib/libcublas.so.10.0",
1234        "cuda/lib/libcusolver.so.10.0",
1235        "cuda/lib/libcurand.so.10.0",
1236        "cuda/lib/libcufft.so.10.0",
1237        "cuda/lib/libcudnn.so.7",
1238        "cuda/lib/libcupti.so.10.0",
1239        "cuda/lib/libcusparse.so.10.0",
1240    ],
1241    cmd = """cp -f "/usr/local/cuda-10.0/lib64/stubs/libcuda.so" "$(location cuda/lib/libcuda.so)" && \
1242cp -f "/usr/local/cuda-10.0/lib64/libcudart.so.10.0" "$(location cuda/lib/libcudart.so.10.0)" && \
1243cp -f "/usr/local/cuda-10.0/lib64/libcudart_static.a" "$(location cuda/lib/libcudart_static.a)" && \
1244cp -f "/usr/local/cuda-10.0/lib64/libcublas.so.10.0" "$(location cuda/lib/libcublas.so.10.0)" && \
1245cp -f "/usr/local/cuda-10.0/lib64/libcusolver.so.10.0" "$(location cuda/lib/libcusolver.so.10.0)" && \
1246cp -f "/usr/local/cuda-10.0/lib64/libcurand.so.10.0" "$(location cuda/lib/libcurand.so.10.0)" && \
1247cp -f "/usr/local/cuda-10.0/lib64/libcufft.so.10.0" "$(location cuda/lib/libcufft.so.10.0)" && \
1248cp -f "/usr/local/cuda-10.0/lib64/libcudnn.so.7" "$(location cuda/lib/libcudnn.so.7)" && \
1249cp -f "/usr/local/cuda-10.0/extras/CUPTI/lib64/libcupti.so.10.0" "$(location cuda/lib/libcupti.so.10.0)" && \
1250cp -f "/usr/local/cuda-10.0/lib64/libcusparse.so.10.0" "$(location cuda/lib/libcusparse.so.10.0)" """,
1251)
1252
1253genrule(
1254    name = "cuda-bin",
1255    outs = [
1256        "cuda/bin/bin2c",
1257        "cuda/bin/crt/link.stub",
1258        "cuda/bin/crt/prelink.stub",
1259        "cuda/bin/cuda-gdb",
1260        "cuda/bin/cuda-gdbserver",
1261        "cuda/bin/cuda-memcheck",
1262        "cuda/bin/cudafe++",
1263        "cuda/bin/cuobjdump",
1264        "cuda/bin/fatbinary",
1265        "cuda/bin/gpu-library-advisor",
1266        "cuda/bin/nvcc",
1267        "cuda/bin/nvcc.profile",
1268        "cuda/bin/nvdisasm",
1269        "cuda/bin/nvlink",
1270        "cuda/bin/nvprof",
1271        "cuda/bin/nvprune",
1272        "cuda/bin/ptxas",
1273    ],
1274    cmd = """cp -rLf "/usr/local/cuda-10.0/bin/." "$(@D)/cuda/bin/" """,
1275)
1276
1277genrule(
1278    name = "cudnn-include",
1279    outs = [
1280        "cudnn/include/cudnn.h",
1281    ],
1282    cmd = """cp -f "/usr/local/cuda-10.0/include/cudnn.h" "$(location cudnn/include/cudnn.h)" """,
1283)
1284