Help setting up JCuda / ImageJ / Netbeans

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Help setting up JCuda / ImageJ / Netbeans

Nicolas Chiaruttini
Dear all,

I'ml currently trying to develop a 3D GPU based segmentation plugin for ImageJ. I learned Cuda programming on this wonderful website :

https://www.udacity.com/course/cs344

And I usually develop in Java by using the IDE Netbeans.

I first wrote my ImageJ plugin without GPU computing. I see my method is working, but very slow as expected. I need to speed up the process using GPUs. And I'm stuck at setting the correct CUDA environment...
Is there anyone that can help me ?

- I have Windows 7 64 bits,
- I installed the last Cuda toolkit v6.5
- and the binaries for windows x64  of JCuda http://www.jcuda.org/downloads/downloads.html
- I can provide more informations if necessary...

At this point I have to admit I'm lost and desperate - I setup a lot of environment variables so that some dll can be linked correctly - I copied and paste the jar and dll of JCuda a bit everywhere in the folders so that Java could find it at least in one place... I know that something happened since the error when I tried to compile "Simple_JCuda_Plugin.java" has changed. But know I'm stuck, having desesperately the same error (listed at the end of this email).

Is there anyone who can help me or who knows a more simple way of developping using Cuda (maven ? / Change OS ? ).

Some help would be very much appreciated...

Thanks

Nicolas

------------------------------------------
run:
Failed to access class 'jcuda/driver/CUoccupancyB2DSize'
Error while loading native library "JCudaDriver-windows-x86_64" with base name "JCudaDriver"
Operating system name: Windows 7
Architecture         : amd64
Architecture bit size: 64
Stack trace from the attempt to load the library as a resource:
java.lang.NullPointerException: No resource found with name '/lib/JCudaDriver-windows-x86_64.dll'  ----->> But I can see this file! I copied it everywhere! It is in the lib folder (and everywhere around in case I missed something)
    at jcuda.LibUtils.loadLibraryResource(LibUtils.java:151)
    at jcuda.LibUtils.loadLibrary(LibUtils.java:83)
    at jcuda.driver.JCudaDriver.<clinit>(JCudaDriver.java:225)
    at jcuda.utils.KernelLauncher.initialize(KernelLauncher.java:603)
    at jcuda.utils.KernelLauncher.<init>(KernelLauncher.java:586)
    at jcuda.utils.KernelLauncher.create(KernelLauncher.java:393)
    at jcuda.utils.KernelLauncher.create(KernelLauncher.java:321)
    at jcuda.utils.KernelLauncher.compile(KernelLauncher.java:270)
    at ijcudaplugintest.Simple_JCuda_Plugin.setup(Simple_JCuda_Plugin.java:128)
    at ijcudaplugintest.IJCudaPluginTest.main(IJCudaPluginTest.java:74)
Stack trace from the attempt to load the library as a file:
java.lang.NoClassDefFoundError: jcuda/driver/CUoccupancyB2DSize
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1929)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1847)
    at java.lang.Runtime.loadLibrary0(Runtime.java:870)
    at java.lang.System.loadLibrary(System.java:1119)
    at jcuda.LibUtils.loadLibrary(LibUtils.java:94)
    at jcuda.driver.JCudaDriver.<clinit>(JCudaDriver.java:225)
    at jcuda.utils.KernelLauncher.initialize(KernelLauncher.java:603)
    at jcuda.utils.KernelLauncher.<init>(KernelLauncher.java:586)
    at jcuda.utils.KernelLauncher.create(KernelLauncher.java:393)
    at jcuda.utils.KernelLauncher.create(KernelLauncher.java:321)
    at jcuda.utils.KernelLauncher.compile(KernelLauncher.java:270)
    at ijcudaplugintest.Simple_JCuda_Plugin.setup(Simple_JCuda_Plugin.java:128)
    at ijcudaplugintest.IJCudaPluginTest.main(IJCudaPluginTest.java:74)
Caused by: java.lang.ClassNotFoundException: jcuda.driver.CUoccupancyB2DSize
    at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 14 more

Exception in thread "main" java.lang.UnsatisfiedLinkError: Could not load the native library
    at jcuda.LibUtils.loadLibrary(LibUtils.java:129)
    at jcuda.driver.JCudaDriver.<clinit>(JCudaDriver.java:225)
    at jcuda.utils.KernelLauncher.initialize(KernelLauncher.java:603)
    at jcuda.utils.KernelLauncher.<init>(KernelLauncher.java:586)
    at jcuda.utils.KernelLauncher.create(KernelLauncher.java:393)
    at jcuda.utils.KernelLauncher.create(KernelLauncher.java:321)
    at jcuda.utils.KernelLauncher.compile(KernelLauncher.java:270)
    at ijcudaplugintest.Simple_JCuda_Plugin.setup(Simple_JCuda_Plugin.java:128)
    at ijcudaplugintest.IJCudaPluginTest.main(IJCudaPluginTest.java:74)
Java Result: 1
BUILD SUCCESSFUL (total time: 1 second)




----------------------------------------
Nicolas Chiaruttini, PhD
Aurélien Roux lab,
Biochemistry Department
University of Geneva, Science II
30 quai Ernest Ansermet
CH-1211 Geneva 4, Switzerland
Tel: +41 (0) 22 379 36 48<tel:%2B41%20%280%29%2022%20379%2036%2048>
Personal website: http://kiaru.eu/

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Reply | Threaded
Open this post in threaded view
|

Re: Help setting up JCuda / ImageJ / Netbeans

ctrueden
Hi Nicolas,

> I'ml currently trying to develop a 3D GPU based segmentation plugin
> for ImageJ.

Great!

> I'm stuck at setting the correct CUDA environment... Is there anyone
> that can help me ?

This looks like a JCuda issue, so you will probably have better luck asking
in the JCuda forum:

http://forum.byte-welt.net/byte-welt-projekte-projects/swogl-jcuda-jocl/?langid=2

You may be interested in this related effort to use OpenCL from ImageJ:
   http://developer.imagej.net/opencl

But please note that that project is no longer maintained, and may contain
outdated information. I also cannot answer any questions about it. But
perhaps you will find it useful.

Regards,
Curtis

On Thu, Apr 2, 2015 at 5:43 AM, Nicolas Chiaruttini <
[hidden email]> wrote:

> Dear all,
>
> I'ml currently trying to develop a 3D GPU based segmentation plugin for
> ImageJ. I learned Cuda programming on this wonderful website :
>
> https://www.udacity.com/course/cs344
>
> And I usually develop in Java by using the IDE Netbeans.
>
> I first wrote my ImageJ plugin without GPU computing. I see my method is
> working, but very slow as expected. I need to speed up the process using
> GPUs. And I'm stuck at setting the correct CUDA environment...
> Is there anyone that can help me ?
>
> - I have Windows 7 64 bits,
> - I installed the last Cuda toolkit v6.5
> - and the binaries for windows x64  of JCuda
> http://www.jcuda.org/downloads/downloads.html
> - I can provide more informations if necessary...
>
> At this point I have to admit I'm lost and desperate - I setup a lot of
> environment variables so that some dll can be linked correctly - I copied
> and paste the jar and dll of JCuda a bit everywhere in the folders so that
> Java could find it at least in one place... I know that something happened
> since the error when I tried to compile "Simple_JCuda_Plugin.java" has
> changed. But know I'm stuck, having desesperately the same error (listed at
> the end of this email).
>
> Is there anyone who can help me or who knows a more simple way of
> developping using Cuda (maven ? / Change OS ? ).
>
> Some help would be very much appreciated...
>
> Thanks
>
> Nicolas
>
> ------------------------------------------
> run:
> Failed to access class 'jcuda/driver/CUoccupancyB2DSize'
> Error while loading native library "JCudaDriver-windows-x86_64" with base
> name "JCudaDriver"
> Operating system name: Windows 7
> Architecture         : amd64
> Architecture bit size: 64
> Stack trace from the attempt to load the library as a resource:
> java.lang.NullPointerException: No resource found with name
> '/lib/JCudaDriver-windows-x86_64.dll'  ----->> But I can see this file! I
> copied it everywhere! It is in the lib folder (and everywhere around in
> case I missed something)
>     at jcuda.LibUtils.loadLibraryResource(LibUtils.java:151)
>     at jcuda.LibUtils.loadLibrary(LibUtils.java:83)
>     at jcuda.driver.JCudaDriver.<clinit>(JCudaDriver.java:225)
>     at jcuda.utils.KernelLauncher.initialize(KernelLauncher.java:603)
>     at jcuda.utils.KernelLauncher.<init>(KernelLauncher.java:586)
>     at jcuda.utils.KernelLauncher.create(KernelLauncher.java:393)
>     at jcuda.utils.KernelLauncher.create(KernelLauncher.java:321)
>     at jcuda.utils.KernelLauncher.compile(KernelLauncher.java:270)
>     at
> ijcudaplugintest.Simple_JCuda_Plugin.setup(Simple_JCuda_Plugin.java:128)
>     at ijcudaplugintest.IJCudaPluginTest.main(IJCudaPluginTest.java:74)
> Stack trace from the attempt to load the library as a file:
> java.lang.NoClassDefFoundError: jcuda/driver/CUoccupancyB2DSize
>     at java.lang.ClassLoader$NativeLibrary.load(Native Method)
>     at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1929)
>     at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1847)
>     at java.lang.Runtime.loadLibrary0(Runtime.java:870)
>     at java.lang.System.loadLibrary(System.java:1119)
>     at jcuda.LibUtils.loadLibrary(LibUtils.java:94)
>     at jcuda.driver.JCudaDriver.<clinit>(JCudaDriver.java:225)
>     at jcuda.utils.KernelLauncher.initialize(KernelLauncher.java:603)
>     at jcuda.utils.KernelLauncher.<init>(KernelLauncher.java:586)
>     at jcuda.utils.KernelLauncher.create(KernelLauncher.java:393)
>     at jcuda.utils.KernelLauncher.create(KernelLauncher.java:321)
>     at jcuda.utils.KernelLauncher.compile(KernelLauncher.java:270)
>     at
> ijcudaplugintest.Simple_JCuda_Plugin.setup(Simple_JCuda_Plugin.java:128)
>     at ijcudaplugintest.IJCudaPluginTest.main(IJCudaPluginTest.java:74)
> Caused by: java.lang.ClassNotFoundException:
> jcuda.driver.CUoccupancyB2DSize
>     at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
>     at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
>     at java.security.AccessController.doPrivileged(Native Method)
>     at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
>     at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
>     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
>     at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>     ... 14 more
>
> Exception in thread "main" java.lang.UnsatisfiedLinkError: Could not load
> the native library
>     at jcuda.LibUtils.loadLibrary(LibUtils.java:129)
>     at jcuda.driver.JCudaDriver.<clinit>(JCudaDriver.java:225)
>     at jcuda.utils.KernelLauncher.initialize(KernelLauncher.java:603)
>     at jcuda.utils.KernelLauncher.<init>(KernelLauncher.java:586)
>     at jcuda.utils.KernelLauncher.create(KernelLauncher.java:393)
>     at jcuda.utils.KernelLauncher.create(KernelLauncher.java:321)
>     at jcuda.utils.KernelLauncher.compile(KernelLauncher.java:270)
>     at
> ijcudaplugintest.Simple_JCuda_Plugin.setup(Simple_JCuda_Plugin.java:128)
>     at ijcudaplugintest.IJCudaPluginTest.main(IJCudaPluginTest.java:74)
> Java Result: 1
> BUILD SUCCESSFUL (total time: 1 second)
>
>
>
>
> ----------------------------------------
> Nicolas Chiaruttini, PhD
> Aurélien Roux lab,
> Biochemistry Department
> University of Geneva, Science II
> 30 quai Ernest Ansermet
> CH-1211 Geneva 4, Switzerland
> Tel: +41 (0) 22 379 36 48<tel:%2B41%20%280%29%2022%20379%2036%2048>
> Personal website: http://kiaru.eu/
>
> --
> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
>

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html