1*da0073e9SAndroid Build Coastguard Workerload("@bazel_skylib//lib:selects.bzl", "selects") 2*da0073e9SAndroid Build Coastguard Worker 3*da0073e9SAndroid Build Coastguard Workerconfig_setting( 4*da0073e9SAndroid Build Coastguard Worker name = "cuda", 5*da0073e9SAndroid Build Coastguard Worker define_values = { 6*da0073e9SAndroid Build Coastguard Worker "cuda": "true", 7*da0073e9SAndroid Build Coastguard Worker }, 8*da0073e9SAndroid Build Coastguard Worker) 9*da0073e9SAndroid Build Coastguard Worker 10*da0073e9SAndroid Build Coastguard Worker# Even when building with --config=cuda, host targets should be built with cuda disabled 11*da0073e9SAndroid Build Coastguard Worker# as these targets will run on CI machines that have no GPUs. 12*da0073e9SAndroid Build Coastguard Workerselects.config_setting_group( 13*da0073e9SAndroid Build Coastguard Worker name = "cuda_enabled_and_capable", 14*da0073e9SAndroid Build Coastguard Worker match_all = [ 15*da0073e9SAndroid Build Coastguard Worker ":cuda", 16*da0073e9SAndroid Build Coastguard Worker ], 17*da0073e9SAndroid Build Coastguard Worker) 18*da0073e9SAndroid Build Coastguard Worker 19*da0073e9SAndroid Build Coastguard Worker# Configures the system to build with cuda using clang. 20*da0073e9SAndroid Build Coastguard Workerconfig_setting( 21*da0073e9SAndroid Build Coastguard Worker name = "cuda_clang", 22*da0073e9SAndroid Build Coastguard Worker define_values = { 23*da0073e9SAndroid Build Coastguard Worker "cuda_clang": "true", 24*da0073e9SAndroid Build Coastguard Worker }, 25*da0073e9SAndroid Build Coastguard Worker) 26*da0073e9SAndroid Build Coastguard Worker 27*da0073e9SAndroid Build Coastguard Worker# Indicates that cuda code should be compiled with nvcc 28*da0073e9SAndroid Build Coastguard Worker# Mostly exists to support _analysis_ of tensorflow; more work is needed to actually make this 29*da0073e9SAndroid Build Coastguard Worker# setting work. 30*da0073e9SAndroid Build Coastguard Workerconfig_setting( 31*da0073e9SAndroid Build Coastguard Worker name = "cuda_nvcc", 32*da0073e9SAndroid Build Coastguard Worker define_values = { 33*da0073e9SAndroid Build Coastguard Worker "cuda_nvcc": "true", 34*da0073e9SAndroid Build Coastguard Worker }, 35*da0073e9SAndroid Build Coastguard Worker) 36*da0073e9SAndroid Build Coastguard Worker 37*da0073e9SAndroid Build Coastguard Workerconfig_setting( 38*da0073e9SAndroid Build Coastguard Worker name = "thread_sanitizer", 39*da0073e9SAndroid Build Coastguard Worker define_values = {"thread_sanitizer": "1"}, 40*da0073e9SAndroid Build Coastguard Worker visibility = ["//visibility:public"], 41*da0073e9SAndroid Build Coastguard Worker) 42