CL exec seems to have failed. Trying to revert to Java ###

Hi.
After spending bigger part of the week trying to find a solution or even a hint of it for this problem I finally decided I need to ask the forum. The issue has been asked elsewhere but to this date the developers gave no response, perhaps the question is too trivial for most here but for me this is new.

I’ve been producing and succesfully analysing data from Aurox laser-free spinning disc confocal using the Nano-SRRF plugin for about a year now. My PC has a GeForce RTX2080 GPU and thus far everything has run smoothly. Now, after not using the plugin for a while I suddenly start receiving an error message which is killing me:

Reading IFDs
Populating metadata
Dec 05, 2020 4:35:07 PM com.amd.aparapi.internal.kernel.KernelRunner executeOpenCL
WARNING: ### CL exec seems to have failed. Trying to revert to Java ###

Perhaps this is a very trivial issue and related to some (voluntary?) update and/or other structural issue. Whatever it is I would be really thankful is someone could hint me the right path to take to fix the problem.

Looking forward to suggestions!

Cheers,

Mika

It does not seem to be a trivial issue, as other people on the internet experience the same problem.
Here is a link to someone getting it back to work by rolling back the Nvidia Driver version. Hope this helps

1 Like

Hi Tom,
thanks for the link - I’ve missed that one.

I tried everything suggested and started form the very first driver for my GPU but nothing helped, still get the same message each time.

This is very sad as this plugin is very nice and important!

Best,

m

Hi @Ricardo_Henriques @superresolusian,

I hope maybe one of you can help with the problem as the contributors to the github repo for the NanoJ-SRRF plugin. Thanks!

1 Like

Dear all,
after some success I wanted to give you an update on this issue.

The critical tip of GTX1080 being the mostly used GPU for the work done on Nano-SRRF came from Dr. Romain Laine (thanks a million!) and this was exactly the GPU I had earlier before being destroyed by power peak. I fished one from EBay with little money and started trying different drivers. I got the Nano-SRRF to use GPU with the original GTX1080 driver (386.34) and could use a newer driver all the way up to 399.07. Unfortunately, the first driver supporting both GTX1080 and GTX2080 is 411.09 which produces this error again.

So the question remaining to be solved is what has happened in terms of OpenCL support between these two drivers?

But anyway, now I just need to find a PC where I can use both of these cards, 1080 for srrf and both of them with ImagePro10, Microvolution etc.

Cheers,

m

Hey @DocMeeks,

for debugging, it might help if we knew some details about the opencl version. Can you install and run clinfo when these two drivers are installed?

Alternatively, you could install clij in your Fiji and run the clinfo macro:

You might then see differences between the drivers better. Btw. on which operating system are you running?

Let us know if this helps!

Best,
Robert

Sure,
both PCs are latest Win10 Pro 64-bit and as far as I can tell OpenCL 1.2.

Here the response from GTX1080 for the macro:

Available CL backends:

  • net.haesleinhuepf.clij.clearcl.backend.jocl.ClearCLBackendJOCL@226cafdf
    Functional backend:net.haesleinhuepf.clij.clearcl.backend.jocl.ClearCLBackendJOCL@71992666
    Best backend:net.haesleinhuepf.clij.clearcl.backend.jocl.ClearCLBackendJOCL@739e7975
    Used CL backend: net.haesleinhuepf.clij.clearcl.backend.jocl.ClearCLBackendJOCL@6ade0d56
    ClearCL: ClearCLBase [mClearCLBackendInterface=net.haesleinhuepf.clij.clearcl.backend.jocl.ClearCLBackendJOCL@6ade0d56, mPeerPointer=null]
    Number of platforms:1
    [0] NVIDIA CUDA
    Number of devices: 1
    Available devices:
    [0] GeForce GTX 1080
    NumberOfComputeUnits: 20
    Clock frequency: 1771
    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_d3d10_sharing cl_khr_d3d10_sharing cl_nv_d3d11_sharing cl_nv_copy_opts cl_nv_create_buffer
    GlobalMemorySizeInBytes: 8589934592
    LocalMemorySizeInBytes: 49152
    MaxMemoryAllocationSizeInBytes: 2147483648
    MaxWorkGroupSize: 1024
    Compatible image types: [SignedNormalizedInt8, SignedNormalizedInt16, UnsignedNormalizedInt8, UnsignedNormalizedInt16, SignedInt8, SignedInt16, SignedInt32, UnsignedInt8, UnsignedInt16, UnsignedInt32, HalfFloat, Float]
    Best GPU device for images: GeForce GTX 1080
    Best largest GPU device: GeForce GTX 1080
    Best CPU device: GeForce GTX 1080

Here the response from RTX2080:

Available CL backends:

  • net.haesleinhuepf.clij.clearcl.backend.jocl.ClearCLBackendJOCL@5055c217
    Functional backend:net.haesleinhuepf.clij.clearcl.backend.jocl.ClearCLBackendJOCL@75092a95
    Best backend:net.haesleinhuepf.clij.clearcl.backend.jocl.ClearCLBackendJOCL@3dbb10cb
    Used CL backend: net.haesleinhuepf.clij.clearcl.backend.jocl.ClearCLBackendJOCL@62624553
    ClearCL: ClearCLBase [mClearCLBackendInterface=net.haesleinhuepf.clij.clearcl.backend.jocl.ClearCLBackendJOCL@62624553, mPeerPointer=null]
    Number of platforms:1
    [0] NVIDIA CUDA
    Number of devices: 1
    Available devices:
    [0] GeForce RTX 2080
    NumberOfComputeUnits: 46
    Clock frequency: 1770
    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_d3d10_sharing cl_khr_d3d10_sharing cl_nv_d3d11_sharing cl_nv_copy_opts cl_nv_create_buffer
    GlobalMemorySizeInBytes: 8589934592
    LocalMemorySizeInBytes: 49152
    MaxMemoryAllocationSizeInBytes: 2147483648
    MaxWorkGroupSize: 1024
    Compatible image types: [SignedNormalizedInt8, SignedNormalizedInt16, UnsignedNormalizedInt8, UnsignedNormalizedInt16, SignedInt8, SignedInt16, SignedInt32, UnsignedInt8, UnsignedInt16, UnsignedInt32, HalfFloat, Float]
    Best GPU device for images: GeForce RTX 2080
    Best largest GPU device: GeForce RTX 2080
    Best CPU device: GeForce RTX 2080

For me this is gibberish…

m

Forgot:
as said above the driver for GTX1080 is 399.07, for RTX2080 it is 436.02.

Cheers,

m

I have been trying to recompile nanoJ-core using a new aparapi.jar as library. the problem there is that we can’t just dump the file in the resources and jars.
Aparapi is no longer "com.amd.aparapi.internal.kernel.KernelRunner " but "com.aparapi.internal.kernel.KernelRunner " in most recent versions, so we need to recompile nanoj.
I was able to recompile it pulling every single library from maven but then if fails because of libraries mismatches with Fiji.

Do we have to put the directories in plugins from Fiji so that InteliJ finds them?
I’m a python guy, never dabbled with java until this. (for me is just “import foobar”).