Juicer hiccups JCuda confusion

378 views
Skip to first unread message

Gavin Kelly

unread,
Apr 4, 2018, 6:24:06 AM4/4/18
to 3D Genomics
I'm running juicer in its SLURM version, and am getting the error below in my hiccups_wrap.err file.  I've tried understanding the previous mentions of this, but am getting confused as to the distinction between the fix in juicebox vs the cluster.
Effectively I'm running

module load CUDA/8.0.44-GCC-5.4.0-2.26
module load Java/1.8.0_131
java -Djava.library.path=scripts/lib64 -jar scripts/juicer_tools.jar hiccups aligned/inter_30.hic inter_30_loops

So I suspect it's something along the lines of the "The native libraries included with Juicer are compiled for CUDA 7. Other versions of CUDA can be used, but you will need to download the respective native libraries from JCuda." section of the installation instructions as I'm using CUDA 8.0.  But when I'm not sure what to do with the archives I can download from jcuda, which seem to contain only jar files, and not anything like the files I currently see in lib64, which are {libJCudaCommonJNI.a  libJCudaDriver-linux-ppc_64.so  libJCudaRuntime-linux-ppc_64.so}

Sorry if this is a stupid question, but my knowledge of CUDA and Java is far from adequate, so any help gratefully appreciated.
Thanks - Gavin

Exception in thread "main" java.lang.UnsatisfiedLinkError: Error while loading native library "JCudaDriver-0.8.0-linux-x86_64"
Operating system name: Linux
Architecture         : amd64
Architecture bit size: 64
---(start of nested stack traces)---
Stack trace from the attempt to load the library as a file:
java.lang.UnsatisfiedLinkError: no JCudaDriver-0.8.0-linux-x86_64 in java.library.path
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867)
        at java.lang.Runtime.loadLibrary0(Runtime.java:870)
        at java.lang.System.loadLibrary(System.java:1122)
        at jcuda.LibUtils.loadLibrary(LibUtils.java:143)
        at jcuda.driver.JCudaDriver.<clinit>(JCudaDriver.java:280)
        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 juicebox.tools.utils.juicer.hiccups.GPUController.<init>(GPUController.java:55)
        at juicebox.tools.clt.juicer.HiCCUPS.runHiccupsProcessing(HiCCUPS.java:415)
        at juicebox.tools.clt.juicer.HiCCUPS.run(HiCCUPS.java:359)
        at juicebox.tools.HiCTools.main(HiCTools.java:98)
Stack trace from the attempt to load the library as a resource:
java.lang.UnsatisfiedLinkError: /tmp/libJCudaDriver-0.8.0-linux-x86_64.so: libcuda.so.1: cannot open shared object file: No such file or directory


Neva Durand

unread,
Apr 4, 2018, 8:58:14 AM4/4/18
to Gavin Kelly, 3D Genomics
Can you test whether or not you have cuda 8 installed on your system?  There are directions on how to do this on the cuda site.  


--
You received this message because you are subscribed to the Google Groups "3D Genomics" group.
To unsubscribe from this group and stop receiving emails from it, send an email to 3d-genomics+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/3d-genomics/3373f9be-1c64-4090-8512-559b23277c25%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Neva Cherniavsky Durand, Ph.D.
Staff Scientist, Aiden Lab

Gavin Kelly

unread,
May 1, 2018, 4:39:38 AM5/1/18
to 3D Genomics
Thanks Neva, that was exactly the problem.  Despite our HPC having a slurm partition called GPU, no-one has yet put graphics cards in!  I'll run it on a local machine.
Reply all
Reply to author
Forward
0 new messages