我正在嘗試設(shè)置JCuda并執(zhí)行示例添加內(nèi)核。當(dāng)我在編譯JCudaVectorAdd后嘗試執(zhí)行JCudaVectorAdd.java時,我收到以下錯誤:Exception in thread "main" java.lang.NoClassDefFoundError: jcuda/driver/JCudaDriver at JCudaVectorAdd.main(JCudaVectorAdd.java:38)Caused by: java.lang.ClassNotFoundException: jcuda.driver.JCudaDriver at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 1 more我已經(jīng)創(chuàng)建了一個bash文件,其中包含我執(zhí)行的步驟以到達(dá)我所在的位置:#!/bin/bash# This system has multiple Cuda instances, so we need to load the correct onemodule load cuda-9.2# Try to remove any jcuda zip files that may have been created previouslyrm $HOME/jcuda.zip# Get jcuda zip file from online, storing into $HOME directorywget http://www.jcuda.org/downloads/JCuda-All-0.9.2.zip -O $HOME/jcuda.zip# Remove the 0.9.2 directory in case it exists to get ready for a clean installrm -rf $HOME/jcuda/JCuda-All-0.9.2# Unzip the file and store within jcuda directory. NOTE: The version number will be maintained as jcuda/JCuda-ALL-0.9.2.zip, so multiple versions of jcuda can be installed using this scriptunzip $HOME/jcuda.zip -d $HOME/jcuda# Remove the zipped file now that it is no longer neededrm $HOME/jcuda.zip# Move into the newly create jcuda directorycd $HOME/jcuda/JCuda-All-0.9.2/# Get the example Main program for Vector addition from Jcuda sitewget http://www.jcuda.org/samples/JCudaVectorAdd.java似乎我在某個地方遺漏了一個步驟,盡管我對java或cuda / jcuda不夠熟悉,無法確定我錯過了什么。任何人都可以為我指出如何解決此問題的方向,無論是其他步驟是否正在修改我執(zhí)行的步驟?
1 回答

收到一只叮咚
TA貢獻(xiàn)1821條經(jīng)驗 獲得超5個贊
看來你需要告訴JRE在哪里可以找到相應(yīng)的操作系統(tǒng)庫來運(yùn)行cuda。如果您查看輸出,則表示找不到 。libcuda.so.1
找到這些庫在文件系統(tǒng)中的位置,并將屬性設(shè)置為指向該庫。java.library.path
java -Djava.library.path=/path/to/cudalibdir/ <rest of commandline>
如果您的系統(tǒng)沒有該庫,則可能需要在本地安裝或編譯它。
免責(zé)聲明:我沒有專門使用cuda的經(jīng)驗,但使用過其他需要操作系統(tǒng)級庫才能運(yùn)行的jar。
添加回答
舉報
0/150
提交
取消