diff --git a/Project.toml b/Project.toml index 638ea33..586a097 100644 --- a/Project.toml +++ b/Project.toml @@ -10,7 +10,7 @@ IfElse = "615f187c-cbe4-4ef1-ba3b-2fcf58d6d173" LoopVectorization = "bdcacae8-1622-11e9-2a5c-532679323890" ManualMemory = "d125e4d3-2237-4719-b19c-fa641b8a4667" PolyesterWeave = "1d0040c9-8b98-4ee7-8388-3f51789ca0ad" -SnoopPrecompile = "66db9d55-30c0-4569-8b51-7e840670fc0c" +PrecompileTools = "aea7be01-6a6a-4083-8856-8a6e6704d82a" Static = "aedffcd0-7271-4cad-89d0-dc628f76c6d3" StaticArrayInterface = "0d7ed370-da01-4f52-bd93-41d350b8b718" ThreadingUtilities = "8290d209-cae3-49c0-8002-c8c24d57dab5" @@ -23,7 +23,7 @@ IfElse = "0.1" LoopVectorization = "0.12.86" ManualMemory = "0.1.1" PolyesterWeave = "0.1.1, 0.2" -SnoopPrecompile = "1" +PrecompileTools = "1" Static = "0.8.4" StaticArrayInterface = "1" ThreadingUtilities = "0.5" diff --git a/src/Octavian.jl b/src/Octavian.jl index 2f518b9..105633e 100644 --- a/src/Octavian.jl +++ b/src/Octavian.jl @@ -38,7 +38,7 @@ using ManualMemory: MemoryBuffer, load, store! using ThreadingUtilities: _atomic_add!, _atomic_load, _atomic_store!, launch, wait, SPIN -using SnoopPrecompile: @precompile_setup, @precompile_all_calls +using PrecompileTools: @setup_workload, @compile_workload if !(StaticInt <: Base.Integer) const Integer = Union{Base.Integer,StaticInt} @@ -74,14 +74,14 @@ if !isdefined(Base, :get_extension) end @static if VERSION >= v"1.8.0-beta1" - @precompile_setup begin + @setup_workload begin # Putting some things in `setup` can reduce the size of the # precompile file and potentially make loading faster. __init__() A64 = rand(100, 100) A32 = rand(Float32, 100, 100) - @precompile_all_calls begin + @compile_workload begin # All calls in this block will be precompiled, regardless of whether # they belong to Octavian.jl or not (on Julia 1.8 and higher). matmul(A64, A64)