CLIJ2 BETA testing - call for testers 👷

Hi @haesleinhuepf,

Another update: exactly the same error happens on a workstation running Windows 7, with a NVIDIA Quadro P5000 card, before and after updating the drivers (to 411.66).

Here’s the CLInfo output:

Available CL backends:
  * net.haesleinhuepf.clij.clearcl.backend.jocl.ClearCLBackendJOCL@70bfcf85
    Functional backend:net.haesleinhuepf.clij.clearcl.backend.jocl.ClearCLBackendJOCL@5aac3312
    Best backend:net.haesleinhuepf.clij.clearcl.backend.jocl.ClearCLBackendJOCL@3921f0be
Used CL backend: net.haesleinhuepf.clij.clearcl.backend.jocl.ClearCLBackendJOCL@74ac6419
ClearCL: ClearCLBase [mClearCLBackendInterface=net.haesleinhuepf.clij.clearcl.backend.jocl.ClearCLBackendJOCL@74ac6419, mPeerPointer=null]
  Number of platforms:1
  [0] NVIDIA CUDA
     Number of devices: 1
     Available devices: 
     [0] Quadro P5000 
        NumberOfComputeUnits: 20 
        Clock frequency: 1733 
        Version: 1.2 
        Extensions: cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_fp64 cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll cl_nv_d3d9_sharing cl_nv_d3d10_sharing cl_khr_d3d10_sharing cl_nv_d3d11_sharing cl_nv_copy_opts cl_khr_gl_event cl_nv_create_buffer cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_kernel_attribute_nv 
        GlobalMemorySizeInBytes: 17179869184 
        LocalMemorySizeInBytes: 49152 
        MaxMemoryAllocationSizeInBytes: 4294967296 
        MaxWorkGroupSize: 1024 
        Compatible image types: [SignedNormalizedInt8, SignedNormalizedInt16, UnsignedNormalizedInt8, UnsignedNormalizedInt16, SignedInt8, SignedInt16, SignedInt32, UnsignedInt8, UnsignedInt16, UnsignedInt32, HalfFloat, Float]
Best GPU device for images: Quadro P5000
Best largest GPU device: Quadro P5000
Best CPU device: Quadro P5000

My laptop which gives the same problem does have Windows 10.

I’m afraid the problem is really more general than we thought…
Does it work on your computer(s) without issues?

Bram

1 Like

Alright, I see. I have a suspicion: Older GPU models sometimes don’t support certain data types. While I’m trying to get my hands on a similar GPU, would you mind downloading this clij-core.jar file and replace it with the one in your Fiji installation? Then, try to run your macro again.

clij-core-1.7.0.14-no-image-support.jar.zip (112.0 KB)

Furthermore, the 850M was marketed in 2014 and uses DDR3 RAM. Thus, I would suspect the performance lies below recent CPUs. We can spend some time on making CLIJ work on it. If your boss is reading here: Buy a new Computer for Bram :wink:

With the Quadro M2000 it’s a different story. I’ve developed / tested CLIJ on very similar systems: K2000 and 2000. If I was you, I would uninstall all graphics drivers and install them again, I would download a fresh Fiji and install CLIJ there. I would also test if 3DScript is working and ClearVolume. Both work on OpenCL as well. If all these don’t work, I would suspect hardware issues and replace this GPU as well, even though it’s just 4 years on the market. According to the specs of the M2000, recent RTX gaming cards offer 4-6 times higher memory bandwidth and thus, likely significant speedup.

Let me know if the special clij-core helped!

Hey Bram,

according to the website, version 451.48 is recent for the P5000:
https://www.nvidia.com/Download/driverResults.aspx/161525/en-us

Cheers,
Robert

For Windows 10, yes. Not for Windows 7…

1 Like

Ok. So this is an issue. I don’t have access to Windows 7 manchines. And I worked with the P6000 a lot. I would carefully suspect Windows 7 is the issue then. Could you try the clij-core-jar I uploaded?

Unfortunately, replacing clij-core.jar with your version does not help.
The same errors, plus:
afbeelding

If it’s really a driver issue, Windows 7 users may just be screwed. Time to update! :wink:

I just tried to run the macro with only CLIJ(1) commands: same errors. Still, I’m quite certain that commands like 3Dmedian have worked in the past, with radius >2.

Anyway, my (older) laptop is running Windows 10, but I’m not sure about the NVIDIA driver. When I get home I will update and try again!

Thanks,
Bram

1 Like

So OpenCL started in 2009 and became quite useful around 2013. Windows 7 was discontinued in 2011. So it makes sense… :wink: Thanks for trying anyway. I’ll add an entry to the FAQ about Windows 7

2 Likes

sorry for jumping on the topic,
does Clij2 implement some 3D convolution/cross-correlation algorithm performed on GPU?
Thanks
Emanuele

1 Like

Unfortunately, this is my personal and only laptop (which is even more sad, isn’t it?)

That said, I’m still quite happy with the 850M. It outperforms a workstation dual CPUs (Intel Xeon E5-2643 v4 @ 3.4 GHz (2 x 6 cores), so total 24 threads, 100% load) on 3DGaussian and 3DMean by a factor 8 and 40, respectively! :sunglasses:

(with 2DMean it is roughly equal)

1 Like

Hey @emartini,

any question is welcome here! :slight_smile:

CLIJ2 supports convolution and some experimental code for cross-correlation is available in CLIJx. The cross-correlation is running under the hood of some more particle-image-velocimetry and deformable image registration tools. Thus, if you want to go further in this direction, I could point you to even more experimental code :wink:

Let me know if you need anything else.

Cheers,
Robert

1 Like

Hi @haesleinhuepf,

Short update on my issue:
On my laptop (Windows 10) I ran the macro in the following configurations:

  • Intel HD Graphics 4600 - Succes!
  • NVIDIA GeForce 850M + 2019 driver - Error
  • NVIDIA GeForce 850M + new driver (version 451.48) - Error
  • NVIDIA GeForce 850M + new driver (version 451.48) + special clij-core jar- Error

I was really hoping that the new NVIDIA driver would fix it on Windows 10, because then we could just narrow it down to Windows 7. Now, it could be that, and, independently, my ‘old’ NVIDIA 850M GPU not supporting everything necessary, which would somehow lead to the same error messages, and also only for median commands radius > 2. I find that quite unlikely. Plus, I have definitely used commands like 3DMedian before without problems on this computer. :thinking:

By the way, we had already planned an upgrade of our workstations to Windows 10. I’ll let you know if the error persists there. (But that should not be possible).

enjoy the weekend!
Bram

1 Like

I just tried on a NVidia 960M and your macro works. I have no older GPU of similar kind accessible :wink: I’m running a bit out of ideas. More things you can try:

  • Uninstall driver (using device manager), install it from scratch
  • Download a fresh Fiji, only install clij and clij2
  • Restart computer

Furthermore, does 3DScript and ClearVolume run?

Let me know how I can help further. And have a nice weekend as well :slight_smile:

Cheers,
Robert

2 Likes

2 posts were split to a new topic: Fiji crashes at CLIJ2 startup