Skip to content

Commit 6120a29

Browse files
Alexis Montoisonamontoison
Alexis Montoison
authored andcommitted
Update benchmarks_data.jl
1 parent d401224 commit 6120a29

File tree

2 files changed

+21
-16
lines changed

2 files changed

+21
-16
lines changed

benchmarks/Project.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
[deps]
2+
CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"
23
DelimitedFiles = "8bb1440f-4735-579b-a4ab-409b98df4dab"
34
NPZ = "15e1cf62-19b3-5cfa-8e77-841668bca605"
45
PProf = "e4faabce-9ead-11e9-39d9-4379958e3056"

benchmarks/benchmarks_data.jl

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,52 +3,56 @@ using VecchiaMLE
33
using DelimitedFiles
44
using CUDA
55

6-
function main()
6+
function main(; cpu::Bool=true, gpu::Bool=true)
77
# The samples are given as a 3d array. Reshaping to 2d
8-
samples = NPZ.npzread("caleb_samples.npy")
8+
samples = NPZ.npzread("../../data/caleb_samples.npy")
99
samples = reshape(samples, size(samples, 1), :)
10-
# Fist 100 samples.
11-
samples = samples[1:100, 1:round(Int, sqrt(size(samples, 2)))^2]
1210

13-
Number_of_Samples = size(samples, 1)
14-
ens = 2:size(samples, 2)
15-
ns = [x for x in ens if x == round(Int, (sqrt(x)))^2]
11+
# Fist 100 samples.
12+
samples_cpu = Matrix{Float64}(samples[1:100, :])
1613

14+
Number_of_Samples = size(samples_cpu, 1)
15+
dim = size(samples_cpu, 2)
16+
ns = collect(10000:10000:dim)
1717
k = 10
18+
19+
if cpu
1820
time_memory_io_file = open("time_memory_cpu.txt","a")
1921
write(time_memory_io_file, "time, memory\n")
2022

2123
for (i, n) in enumerate(ns)
22-
input = VecchiaMLE.VecchiaMLEInput(Int(sqrt(n)), min(Int(sqrt(n)), k), samples[:, 1:n], Number_of_Samples, 5, 1)
24+
nn = Int(floor(sqrt(n)))
25+
input = VecchiaMLE.VecchiaMLEInput(nn, min(nn, k), samples_cpu[:, 1:nn^2], Number_of_Samples, 5, 1)
2326
diagsnostics = @timed VecchiaMLE_Run(input)
2427

2528
write(time_memory_io_file, "$(diagsnostics[2]), $(diagsnostics[3])\n")
2629
println("$i, cpu, $(diagsnostics[2]) s, \t $(round(Float64(i)/length(ns)*100.0, digits=4))%")
27-
if diagsnostics[2] > 25
30+
if diagsnostics[2] > 300
2831
break
2932
end
3033
end
3134
close(time_memory_io_file)
35+
end
3236

3337
# CPU tests done, onto GPU tests
34-
samples = convert(Matrix{Float64}, samples)
35-
samples = CuMatrix{Float64}(samples)
36-
38+
samples_gpu = CuMatrix{Float64}(samples_cpu)
39+
40+
if gpu
3741
time_memory_io_file = open("time_memory_gpu.txt","a")
3842
write(time_memory_io_file, "time, memory\n")
3943

4044
for (i, n) in enumerate(ns)
41-
sample_slice = view(samples, :, 1:n)
42-
input = VecchiaMLE.VecchiaMLEInput(Int(sqrt(n)), min(Int(sqrt(n)), k), sample_slice, Number_of_Samples, 5, 2)
45+
nn = floor(sqrt(n))
46+
input = VecchiaMLE.VecchiaMLEInput(nn, min(nn, k), samples_gpu[:, 1:nn^2], Number_of_Samples, 5, 2)
4347
diagsnostics = @timed VecchiaMLE_Run(input)
4448

4549
write(time_memory_io_file, "$(diagsnostics[2]), $(diagsnostics[3])\n")
4650
println("$i, gpu, $(diagsnostics[2]) s, \t $(round(Float64(i)/length(ns)*100.0, digits=4))%")
4751

48-
if diagsnostics[2] > 25
52+
if diagsnostics[2] > 300
4953
break
5054
end
5155
end
52-
5356
close(time_memory_io_file)
57+
end
5458
end

0 commit comments

Comments
 (0)