@@ -5,25 +5,16 @@ using ComputationalResources
5
5
FFTW. set_num_threads (parse (Int, ENV [" FFTW_NUM_THREADS" ]))
6
6
BLAS. set_num_threads (parse (Int, ENV [" BLAS_NUM_THREADS" ]))
7
7
8
- function do_work (mat)
9
- n_frames = size (mat, 3 )
10
- frame_start = 1
11
- frame_dist = 0
12
- n_pairs = size (mat, 3 )
13
- indices = Int .(round .((LinRange (frame_start, n_frames - frame_dist, n_pairs))))
14
- factored_kernel = ImageFiltering. factorkernel (Kernel. LoG (1 ))
15
- frame_filt = deepcopy (@view mat[:, :, frame_start])
16
- r = CPU1 (ImageFiltering. planned_fft (frame_filt, factored_kernel))
17
- for i in indices
18
- frame = @view mat[:, :, i]
19
- imfilter! (r, frame_filt, frame, factored_kernel)
20
- end
21
- return
22
- end
23
-
24
8
function benchmark (mats)
9
+ kernel = ImageFiltering. factorkernel (Kernel. LoG (1 ))
25
10
Threads. @threads for mat in mats
26
- do_work (mat)
11
+ frame_filtered = similar (mat[:, :, 1 ])
12
+ r = CPU1 (ImageFiltering. planned_fft (frame_filtered, kernel))
13
+ for i in axes (mat, 3 )
14
+ frame = @view mat[:, :, i]
15
+ imfilter! (r, frame_filtered, frame, kernel)
16
+ end
17
+ return
27
18
end
28
19
end
29
20
0 commit comments