OpenCL/GPU based image processing in ImageJ macro

fiji
imagej
macro
gpu
clij

#21

Hey @WeisongZhao,

what CPU/GPU and operating system are you working on?

Thanks!

Robert


#22

For me, it’s an Nvidia TIAN Xp GPU.


#23

@WeisongZhao And I does CLIJ run fine on your TITAN XP? Just asking, because I don’t have issues with mine :wink:


#24

Hi @haesleinhuepf,

this is great.

Ran the example macros successfully on Windows 10 64-bit using:

  • Nvidia GeForce GTX 1060 6GB
  • Intel® Core™ i5-2400 CPU @ 3.10GHz

Benchmarking results:

CPU mean filter no 1 took 3328 msec
CPU mean filter no 2 took 3508 msec
CPU mean filter no 3 took 3437 msec
CPU mean filter no 4 took 3484 msec
CPU mean filter no 5 took 3516 msec
CPU mean filter no 6 took 3390 msec
CPU mean filter no 7 took 3453 msec
CPU mean filter no 8 took 3549 msec
CPU mean filter no 9 took 3500 msec
CPU mean filter no 10 took 3500 msec
Pushing one image to the GPU took 31 msec
GPU mean filter no 1 took 47 msec
GPU mean filter no 2 took 15 msec
GPU mean filter no 3 took 16 msec
GPU mean filter no 4 took 15 msec
GPU mean filter no 5 took 16 msec
GPU mean filter no 6 took 16 msec
GPU mean filter no 7 took 15 msec
GPU mean filter no 8 took 16 msec
GPU mean filter no 9 took 31 msec
GPU mean filter no 10 took 16 msec
Pulling one image from the GPU took 94 msec

Thanks!


#25

HI
I am running it on a Windows 7 PC, 64 bit.
CPU: Intel Core i7
GPU: NVidia Quadro K620 4GB

Cheers
Pradeep


#26

Hey @pr4deepr,

sorry for being so information greedy. What i7 processor is, what’s its generation / type name?
Furthermore, what NVidia driver versions did you install for the K620?

Thanks!
Roberr


#27

No probs.
Processor: Intel i7-6700 CPU @ 3.40 GHz
Nvidia driver: 348.17

Cheers
Pradeep


#28

It works well! If I want to develop a new CUDA plugin (e. g. deconvolution) based on CLIJ, could you tell me how to do that?


#29

My desktop is very old but works pretty well. thanks @haesleinhuepf !

  • Mac Pro (Mid 2012) OS 10.13.6
  • 2 x 3.06 GHz 6-Core Intel Xeon, 64GB RAM
    vs.
  • ATI Radeon HD 5870 1024 MB, VRAM (Dynamic, Max): 1024 MB

pulling back image takes loooong time.

CPU mean filter no 1 took 2312 msec
CPU mean filter no 2 took 1778 msec
CPU mean filter no 3 took 1996 msec
CPU mean filter no 4 took 1398 msec
CPU mean filter no 5 took 1940 msec
CPU mean filter no 6 took 1311 msec
CPU mean filter no 7 took 1884 msec
CPU mean filter no 8 took 1270 msec
CPU mean filter no 9 took 1970 msec
CPU mean filter no 10 took 1248 msec
Pushing one image to the GPU took 22 msec
GPU mean filter no 1 took 512 msec
GPU mean filter no 2 took 67 msec
GPU mean filter no 3 took 66 msec
GPU mean filter no 4 took 66 msec
GPU mean filter no 5 took 66 msec
GPU mean filter no 6 took 67 msec
GPU mean filter no 7 took 66 msec
GPU mean filter no 8 took 66 msec
GPU mean filter no 9 took 66 msec
GPU mean filter no 10 took 66 msec
Pulling one image from the GPU took 2120 msec

#30

@haesleinhuepf
update on the problem. I updated the NVIDIA drivers and it works fine now.
I ran the blurring example form your website and no errors popped up.
Thanks for looking into this issue.


#31

Hi @pr4deepr, Great to hear that! If you need any further support, just let me know. :slight_smile:

Hi @Kota, thanks for testing. That sounds indeed very loooong. I guess you tried several times and it’s reproducible?

Hi @WeisongZhao, CLIJ is not based on CUDA as we were targeting ANY GPU and not just those from NVidia. If you want to extend CLIJ with an own OpenCL based plugin, you can clone this repository and customize it:


Let me know how it goes! I’m just writing more detailed documentation for this…

Thanks to all of you for testing and feedback. I really appreciate this!

Cheers,
Robert


#32

No, thank you! I have seen this template, I will have a try.