The HPC I am using from my University only offers CUDA version 9 and above. I loaded CUDA version 10 and also downloaded the native libraries for that version and tried running Hiccups but I still get the error that JCudaDriver-0.8.0-linux-x86_64 can't be found. After I load all the necessary tools I use this code to run hiccups:
java -Djava.library.path=~/new/amzaleg/jcuda/JCuda-All-10.1.0 -jar ~/new/amzaleg/bin/juicer_tools.jar hiccups -m 500 -r 5000,10000 -f 0.1,0.1 -p 4,2 -i 7,5 -d 20000,20000 --ignore-sparsity inter_30_GM_rep2.hic GM_rep2_loops
the following is the error I get as it is running:
WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.
WARN [2021-05-28T13:27:48,390] [Globals.java:138] [main] Development mode is enabled
Reading file: inter_30_GM_rep2.hic
Using the following configurations for HiCCUPS:
Config res: 10000 peak: 2 window: 5 fdr: 10% radius: 20000
Config res: 5000 peak: 4 window: 7 fdr: 10% radius: 20000
Using 1 CPU thread(s)
Warning Hi-C map is too sparse to find many loops via HiCCUPS.
Running HiCCUPS for resolution 10000
Data not available for Y at 10000 resolution
Exception in thread "pool-2-thread-1" 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: [~/new/amzaleg/jcuda/JCuda-All-10.1.0]
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2660)
at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:827)
at java.base/java.lang.System.loadLibrary(System.java:1902)
at jcuda.LibUtils.loadLibrary(LibUtils.java:143)
at jcuda.driver.JCudaDriver.(JCudaDriver.java:280)
at jcuda.utils.KernelLauncher.initialize(KernelLauncher.java:603)
at jcuda.utils.KernelLauncher.(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.(GPUController.java:72)
at juicebox.tools.clt.juicer.HiCCUPS.buildGPUController(HiCCUPS.java:578)
at juicebox.tools.clt.juicer.HiCCUPS.runCoreCodeForHiCCUPS(HiCCUPS.java:505)
at juicebox.tools.clt.juicer.HiCCUPS.access$200(HiCCUPS.java:158)
at juicebox.tools.clt.juicer.HiCCUPS$1.run(HiCCUPS.java:434)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
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
at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2430)
at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2487)
at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2684)
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2617)
at java.base/java.lang.Runtime.load0(Runtime.java:765)
at java.base/java.lang.System.load(System.java:1866)
at jcuda.LibUtils.loadLibraryResource(LibUtils.java:260)
at jcuda.LibUtils.loadLibrary(LibUtils.java:158)
at jcuda.driver.JCudaDriver.(JCudaDriver.java:280)
at jcuda.utils.KernelLauncher.initialize(KernelLauncher.java:603)
at jcuda.utils.KernelLauncher.(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.(GPUController.java:72)
at juicebox.tools.clt.juicer.HiCCUPS.buildGPUController(HiCCUPS.java:578)
at juicebox.tools.clt.juicer.HiCCUPS.runCoreCodeForHiCCUPS(HiCCUPS.java:505)
at juicebox.tools.clt.juicer.HiCCUPS.access$200(HiCCUPS.java:158)
at juicebox.tools.clt.juicer.HiCCUPS$1.run(HiCCUPS.java:434)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
---(end of nested stack traces)---
at jcuda.LibUtils.loadLibrary(LibUtils.java:193)
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:72)
at juicebox.tools.clt.juicer.HiCCUPS.buildGPUController(HiCCUPS.java:578)
at juicebox.tools.clt.juicer.HiCCUPS.runCoreCodeForHiCCUPS(HiCCUPS.java:505)
at juicebox.tools.clt.juicer.HiCCUPS.access$200(HiCCUPS.java:158)
at juicebox.tools.clt.juicer.HiCCUPS$1.run(HiCCUPS.java:434)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
Exception in thread "pool-3-thread-1" java.lang.NoClassDefFoundError: Could not initialize class jcuda.driver.JCudaDriver
at jcuda.utils.KernelLauncher.initialize(KernelLauncher.java:603)
at jcuda.utils.KernelLauncher.(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.(GPUController.java:72)
at juicebox.tools.clt.juicer.HiCCUPS.buildGPUController(HiCCUPS.java:578)
at juicebox.tools.clt.juicer.HiCCUPS.runCoreCodeForHiCCUPS(HiCCUPS.java:505)
at juicebox.tools.clt.juicer.HiCCUPS.access$200(HiCCUPS.java:158)
at juicebox.tools.clt.juicer.HiCCUPS$1.run(HiCCUPS.java:434)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
Running HiCCUPS for resolution 5000
Data not available for Y at 5000 resolution
Data not available for GL000193.1 at 5000 resolution
Exception in thread "pool-4-thread-1" java.lang.NoClassDefFoundError: Could not initialize class jcuda.driver.JCudaDriver
at jcuda.utils.KernelLauncher.initialize(KernelLauncher.java:603)
at jcuda.utils.KernelLauncher.(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.(GPUController.java:72)
at juicebox.tools.clt.juicer.HiCCUPS.buildGPUController(HiCCUPS.java:578)
at juicebox.tools.clt.juicer.HiCCUPS.runCoreCodeForHiCCUPS(HiCCUPS.java:505)
at juicebox.tools.clt.juicer.HiCCUPS.access$200(HiCCUPS.java:158)
at juicebox.tools.clt.juicer.HiCCUPS$1.run(HiCCUPS.java:434)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
Exception in thread "pool-5-thread-1" java.lang.NoClassDefFoundError: Could not initialize class jcuda.driver.JCudaDriver
at jcuda.utils.KernelLauncher.initialize(KernelLauncher.java:603)
at jcuda.utils.KernelLauncher.(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.(GPUController.java:72)
at juicebox.tools.clt.juicer.HiCCUPS.buildGPUController(HiCCUPS.java:578)
at juicebox.tools.clt.juicer.HiCCUPS.runCoreCodeForHiCCUPS(HiCCUPS.java:505)
at juicebox.tools.clt.juicer.HiCCUPS.access$200(HiCCUPS.java:158)
at juicebox.tools.clt.juicer.HiCCUPS$1.run(HiCCUPS.java:434)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
HiCCUPS complete
I tried downloading library for version 8 and still got the same error. Can anyone give me some advice?
Hello team,
The HPC I am using from my University only offers CUDA version 9 and above. I loaded CUDA version 10 and also downloaded the native libraries for that version and tried running Hiccups but I still get the error that JCudaDriver-0.8.0-linux-x86_64 can't be found. After I load all the necessary tools I use this code to run hiccups:
java -Djava.library.path=~/new/amzaleg/jcuda/JCuda-All-10.1.0 -jar ~/new/amzaleg/bin/juicer_tools.jar hiccups -m 500 -r 5000,10000 -f 0.1,0.1 -p 4,2 -i 7,5 -d 20000,20000 --ignore-sparsity inter_30_GM_rep2.hic GM_rep2_loops
the following is the error I get as it is running:
WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance. WARN [2021-05-28T13:27:48,390] [Globals.java:138] [main] Development mode is enabled Reading file: inter_30_GM_rep2.hic Using the following configurations for HiCCUPS: Config res: 10000 peak: 2 window: 5 fdr: 10% radius: 20000 Config res: 5000 peak: 4 window: 7 fdr: 10% radius: 20000 Using 1 CPU thread(s) Warning Hi-C map is too sparse to find many loops via HiCCUPS. Running HiCCUPS for resolution 10000 Data not available for Y at 10000 resolution Exception in thread "pool-2-thread-1" 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: [~/new/amzaleg/jcuda/JCuda-All-10.1.0] at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2660) at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:827) at java.base/java.lang.System.loadLibrary(System.java:1902) at jcuda.LibUtils.loadLibrary(LibUtils.java:143) at jcuda.driver.JCudaDriver.(JCudaDriver.java:280)
at jcuda.utils.KernelLauncher.initialize(KernelLauncher.java:603)
at jcuda.utils.KernelLauncher.(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.(GPUController.java:72)
at juicebox.tools.clt.juicer.HiCCUPS.buildGPUController(HiCCUPS.java:578)
at juicebox.tools.clt.juicer.HiCCUPS.runCoreCodeForHiCCUPS(HiCCUPS.java:505)
at juicebox.tools.clt.juicer.HiCCUPS.access$200(HiCCUPS.java:158)
at juicebox.tools.clt.juicer.HiCCUPS$1.run(HiCCUPS.java:434)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
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
at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2430)
at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2487)
at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2684)
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2617)
at java.base/java.lang.Runtime.load0(Runtime.java:765)
at java.base/java.lang.System.load(System.java:1866)
at jcuda.LibUtils.loadLibraryResource(LibUtils.java:260)
at jcuda.LibUtils.loadLibrary(LibUtils.java:158)
at jcuda.driver.JCudaDriver.(JCudaDriver.java:280)
at jcuda.utils.KernelLauncher.initialize(KernelLauncher.java:603)
at jcuda.utils.KernelLauncher.(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.(GPUController.java:72)
at juicebox.tools.clt.juicer.HiCCUPS.buildGPUController(HiCCUPS.java:578)
at juicebox.tools.clt.juicer.HiCCUPS.runCoreCodeForHiCCUPS(HiCCUPS.java:505)
at juicebox.tools.clt.juicer.HiCCUPS.access$200(HiCCUPS.java:158)
at juicebox.tools.clt.juicer.HiCCUPS$1.run(HiCCUPS.java:434)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
---(end of nested stack traces)---
Exception in thread "pool-3-thread-1" java.lang.NoClassDefFoundError: Could not initialize class jcuda.driver.JCudaDriver at jcuda.utils.KernelLauncher.initialize(KernelLauncher.java:603) at jcuda.utils.KernelLauncher.(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.(GPUController.java:72)
at juicebox.tools.clt.juicer.HiCCUPS.buildGPUController(HiCCUPS.java:578)
at juicebox.tools.clt.juicer.HiCCUPS.runCoreCodeForHiCCUPS(HiCCUPS.java:505)
at juicebox.tools.clt.juicer.HiCCUPS.access$200(HiCCUPS.java:158)
at juicebox.tools.clt.juicer.HiCCUPS$1.run(HiCCUPS.java:434)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
Running HiCCUPS for resolution 5000
Data not available for Y at 5000 resolution
Data not available for GL000193.1 at 5000 resolution
Exception in thread "pool-4-thread-1" java.lang.NoClassDefFoundError: Could not initialize class jcuda.driver.JCudaDriver
at jcuda.utils.KernelLauncher.initialize(KernelLauncher.java:603)
at jcuda.utils.KernelLauncher.(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.(GPUController.java:72)
at juicebox.tools.clt.juicer.HiCCUPS.buildGPUController(HiCCUPS.java:578)
at juicebox.tools.clt.juicer.HiCCUPS.runCoreCodeForHiCCUPS(HiCCUPS.java:505)
at juicebox.tools.clt.juicer.HiCCUPS.access$200(HiCCUPS.java:158)
at juicebox.tools.clt.juicer.HiCCUPS$1.run(HiCCUPS.java:434)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
Exception in thread "pool-5-thread-1" java.lang.NoClassDefFoundError: Could not initialize class jcuda.driver.JCudaDriver
at jcuda.utils.KernelLauncher.initialize(KernelLauncher.java:603)
at jcuda.utils.KernelLauncher.(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.(GPUController.java:72)
at juicebox.tools.clt.juicer.HiCCUPS.buildGPUController(HiCCUPS.java:578)
at juicebox.tools.clt.juicer.HiCCUPS.runCoreCodeForHiCCUPS(HiCCUPS.java:505)
at juicebox.tools.clt.juicer.HiCCUPS.access$200(HiCCUPS.java:158)
at juicebox.tools.clt.juicer.HiCCUPS$1.run(HiCCUPS.java:434)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
HiCCUPS complete
I tried downloading library for version 8 and still got the same error. Can anyone give me some advice?
Yonatan