Skip to content

Commit e659c5e

Browse files
committed
Added benchmark files including MLKernels for comparison
1 parent ee6172c commit e659c5e

File tree

3 files changed

+69
-0
lines changed

3 files changed

+69
-0
lines changed

benchmark/MLKernels.jl

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
using MLKernels
2+
3+
SUITE["MLKernels"] = BenchmarkGroup()
4+
5+
mlkernelnames = ["SquaredExponentialKernel"]
6+
kernels=Dict{String,MLKernels.Kernel}()
7+
for k in mlkernelnames
8+
SUITE["MLKernels"][k] = BenchmarkGroup()
9+
kernels[k] = eval(Meta.parse("MLKernels."*k*"(alpha)"))
10+
end
11+
12+
for k in mlkernelnames
13+
SUITE["MLKernels"][k]["k(X,Y)"] = @benchmarkable MLKernels.kernelmatrix($(kernels[k]),$X,$Y)
14+
# SUITE["MLKernels"][k][kt]["k!(X,Y)"] = @benchmarkable MLKernels.kernelmatrix!(KXY,$(kernels[k][kt]),$X,$Y) setup=(KXY=copy($KXY))
15+
SUITE["MLKernels"][k]["k(X)"] = @benchmarkable MLKernels.kernelmatrix($(kernels[k]),$X)
16+
# SUITE["MLKernels"][k][kt]["k!(X)"] = @benchmarkable MLKernels.kernelmatrix!(KX,$(kernels[k][kt]),$X) setup=(KX=copy($KX))
17+
# SUITE["MLKernels"][k][kt]["kdiag(X)"] = @benchmarkable MLKernels.kerneldiagmatrix($(kernels[k][kt]),$X)
18+
# SUITE["MLKernels"][k][kt]["kdiag!(X)"] = @benchmarkable MLKernels.kerneldiagmatrix!(kX,$(kernels[k][kt]),$X) setup=(kX=copy($kX))
19+
end
20+
# results = run(SUITE)

benchmark/benchmarks.jl

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
using BenchmarkTools
2+
using Random
3+
using Distances, LinearAlgebra
4+
5+
const SUITE = BenchmarkGroup()
6+
7+
Random.seed!(1234)
8+
9+
dim = 50
10+
N1 = 1000; N2 = 500;
11+
alpha = 2.0
12+
13+
X = rand(Float64,N1,dim)
14+
Y = rand(Float64,N2,dim)
15+
16+
KXY = rand(Float64,N1,N2)
17+
KX = rand(Float64,N1,N1)
18+
sKX = Symmetric(rand(Float64,N1,N1))
19+
kX = rand(Float64,N1)
20+
21+
include("kernelmatrix.jl")
22+
include("MLKernels.jl")

benchmark/kernelmatrix.jl

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
using KernelFunctions
2+
3+
SUITE["KernelFunctions"] = BenchmarkGroup()
4+
5+
kernelnames = ["SquaredExponentialKernel"]
6+
kerneltypes = ["ARD","ISO"]
7+
kernels=Dict{String,Dict{String,KernelFunctions.Kernel}}()
8+
for k in kernelnames
9+
kernels[k] = Dict{String,KernelFunctions.Kernel}()
10+
SUITE["KernelFunctions"][k] = BenchmarkGroup()
11+
for kt in kerneltypes
12+
SUITE["KernelFunctions"][k][kt] = BenchmarkGroup()
13+
kernels[k][kt] = eval(Meta.parse("KernelFunctions."*k*"("*(kt == "ARD" ? "alpha*ones(Float64,dim)" : "alpha" )*")"))
14+
end
15+
end
16+
17+
for k in kernelnames
18+
for kt in kerneltypes
19+
SUITE["KernelFunctions"][k][kt]["k(X,Y)"] = @benchmarkable kernelmatrix($(kernels[k][kt]),$X,$Y,obsdim=1)
20+
# SUITE["KernelFunctions"][k][kt]["k!(X,Y)"] = @benchmarkable kernelmatrix!(KXY,$(kernels[k][kt]),$X,$Y) setup=(KXY=copy($KXY))
21+
SUITE["KernelFunctions"][k][kt]["k(X)"] = @benchmarkable kernelmatrix($(kernels[k][kt]),$X,obsdim=1)
22+
# SUITE["KernelFunctions"][k][kt]["k!(X)"] = @benchmarkable kernelmatrix!(KX,$(kernels[k][kt]),$X) setup=(KX=copy($KX))
23+
# SUITE["KernelFunctions"][k][kt]["kdiag(X)"] = @benchmarkable kerneldiagmatrix($(kernels[k][kt]),$X)
24+
# SUITE["KernelFunctions"][k][kt]["kdiag!(X)"] = @benchmarkable kerneldiagmatrix!(kX,$(kernels[k][kt]),$X) setup=(kX=copy($kX))
25+
end
26+
end
27+
# results = run(SUITE)

0 commit comments

Comments
 (0)