Skip to content

Commit a49c2d0

Browse files
committed
Use PrecompileTools to warmup CUDA.jl
1 parent 14de009 commit a49c2d0

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

Project.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ Libdl = "8f399da3-3557-5675-b5ff-fb832c97cbdb"
2323
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
2424
Logging = "56ddb016-857b-54e1-b83d-db4d58db5568"
2525
NVTX = "5da4648a-3479-48b8-97b9-01cb529c0a1f"
26+
PrecompileTools = "aea7be01-6a6a-4083-8856-8a6e6704d82a"
2627
Preferences = "21216c6a-2e73-6563-6e65-726566657250"
2728
PrettyTables = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d"
2829
Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7"
@@ -68,6 +69,7 @@ Libdl = "1"
6869
LinearAlgebra = "1"
6970
Logging = "1"
7071
NVTX = "0.3.2"
72+
PrecompileTools = "1.2.1"
7173
Preferences = "1"
7274
PrettyTables = "2"
7375
Printf = "1"

src/precompile.jl

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,17 @@ precompile(run_and_collect, (Cmd,))
1414
precompile(cudaconvert, (Function,))
1515
precompile(Core.kwfunc(cudacall), (NamedTuple{(:threads, :blocks), Tuple{Int64, Int64}},typeof(cudacall),CuFunction,Type{Tuple{}}))
1616
precompile(Core.kwfunc(launch), (NamedTuple{(:threads, :blocks), Tuple{Int64, Int64}},typeof(launch),CuFunction))
17+
18+
@static if VERSION >= v"1.11.-"
19+
using PrecompileTools: @setup_workload, @compile_workload
20+
@setup_workload let
21+
@compile_workload begin
22+
target = PTXCompilerTarget(; cap=v"7.5")
23+
params = CUDACompilerParams(; cap=v"7.5", ptx=v"7.5")
24+
config = CompilerConfig(target, params)
25+
mi = GPUCompiler.methodinstance(typeof(identity), Tuple{Nothing})
26+
job = CompilerJob(mi, config)
27+
GPUCompiler.code_native(devnull, job)
28+
end
29+
end
30+
end

0 commit comments

Comments
 (0)