Skip to content

Commit d6e5866

Browse files
authored
Merge pull request #114 from EnzymeAD/ap/let_build_non_cuda
feat: allow building for CPU target on CUDA-enabled machines
2 parents 6506040 + 705a17c commit d6e5866

File tree

1 file changed

+29
-9
lines changed

1 file changed

+29
-9
lines changed

deps/build_local.jl

Lines changed: 29 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Invoke with
2-
# `julia --project=deps deps/build_local.jl [dbg/opt]`
2+
# `julia --project=deps deps/build_local.jl [dbg/opt] [auto/cpu/cuda]`
33

44
# the pre-built ReactantExtra_jll might not be loadable on this platform
55
Reactant_jll = Base.UUID("0192cb87-2b54-54ad-80e0-3be72ad8a3c0")
@@ -41,14 +41,7 @@ run(
4141
# --@local_config_cuda//:cuda_compiler=nvcc
4242
# --crosstool_top="@local_config_cuda//crosstool:toolchain"
4343

44-
arg = try
45-
run(Cmd(`nvidia-smi`))
46-
"--config=cuda"
47-
catch
48-
""
49-
end
50-
51-
build_kind = if length(ARGS) == 1
44+
build_kind = if length(ARGS) 1
5245
kind = ARGS[1]
5346
if kind ("dbg", "opt")
5447
error("Invalid build kind $(kind). Valid options are 'dbg' and 'opt'")
@@ -60,6 +53,33 @@ end
6053

6154
@info "Building JLL with -c $(build_kind)"
6255

56+
build_backend = if length(ARGS) 2
57+
backend = ARGS[2]
58+
if backend ("auto", "cpu", "cuda")
59+
error("Invalid build backend $(backend). Valid options are 'auto', 'cpu', and 'cuda'")
60+
end
61+
backend
62+
else
63+
"auto"
64+
end
65+
66+
if build_backend == "auto"
67+
build_backend = try
68+
run(Cmd(`nvidia-smi`))
69+
"cuda"
70+
catch
71+
"cpu"
72+
end
73+
end
74+
75+
arg = if build_backend == "cuda"
76+
"--config=cuda"
77+
elseif build_backend == "cpu"
78+
""
79+
end
80+
81+
@info "Building JLL with backend $(build_backend)"
82+
6383
if isempty(arg)
6484
run(
6585
Cmd(

0 commit comments

Comments
 (0)