首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在eclipse中执行jcuda程序时出错

在eclipse中执行jcuda程序时出错
EN

Stack Overflow用户
提问于 2015-04-23 09:45:34
回答 2查看 1.1K关注 0票数 1

我是新来的JCuda。我试图在Linux上的Eclipse中编写一个简单的示例。我有这个错误,但我不明白它意味着什么。在这里,代码:

代码语言:javascript
复制
 import jcuda.Pointer;
 import jcuda.runtime.JCuda;
 public class cudaTest {
 public static 
 void main(String[] args) {
    Pointer pointer = new Pointer();
    JCuda.cudaMalloc(pointer, 4);
    System.out.println("Pointer: " + pointer);
    JCuda.cudaFree(pointer);
 }
}

我从Java路径添加Jcuda.jar,并通过选择提取的JCuda文件编辑本机库位置。错误是:

代码语言:javascript
复制
Error while loading native library "JCudaRuntime-linux-x86_64" with base name "JCudaRuntime"
Operating system name: Linux
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/libJCudaRuntime-linux-x86_64.so'
    at jcuda.LibUtils.loadLibraryResource(LibUtils.java:151)
    at jcuda.LibUtils.loadLibrary(LibUtils.java:83)
    at jcuda.runtime.JCuda.initialize(JCuda.java:303)
    at jcuda.runtime.JCuda.<clinit>(JCuda.java:290)
    at cudaTest.main(cudaTest.java:8)
Stack trace from the attempt to load the library as a file:
java.lang.UnsatisfiedLinkError: /home/Faith/JCuda-All-0.4.2-bin-linux-x86_64/libJCudaRuntime-linux-x86_64.so: libcudart.so.4: Ne peut ouvrir le fichier d'objet partagé: Aucun fichier ou dossier de ce type
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1965)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1890)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1880)
    at java.lang.Runtime.loadLibrary0(Runtime.java:849)
    at java.lang.System.loadLibrary(System.java:1088)
    at jcuda.LibUtils.loadLibrary(LibUtils.java:94)
    at jcuda.runtime.JCuda.initialize(JCuda.java:303)
    at jcuda.runtime.JCuda.<clinit>(JCuda.java:290)
    at cudaTest.main(cudaTest.java:8)

Exception in thread "main" java.lang.UnsatisfiedLinkError: Could not load the native library
    at jcuda.LibUtils.loadLibrary(LibUtils.java:129)
    at jcuda.runtime.JCuda.initialize(JCuda.java:303)
    at jcuda.runtime.JCuda.<clinit>(JCuda.java:290)
    at cudaTest.main(cudaTest.java:8)

你能帮帮我吗,我真的需要解决办法。提前谢谢你。

EN

回答 2

Stack Overflow用户

发布于 2015-04-23 09:57:07

查找系统中的libJCudaRuntime-linux-x86_64.so文件,并创建到/lib/libJCudaRuntime-linux-x86_64.so的symoblic链接,或者将目录的路径添加到ldconfig中。

票数 1
EN

Stack Overflow用户

发布于 2015-04-24 09:41:01

其中一个可能的想法是尝试一下我的项目,名为 called https://github.com/MysterionRise/mavenized-jcuda

它是专门为不对抗类路径和其他问题而创建的。它非常容易使用,您所需要做的就是将所需版本的JCuda放在pom.xml中,然后运行mvn干净包,然后运行mvn exec:exec。

完整的HowTo可以在Github页面上找到。你可以问我这个问题或者提出关于这个项目的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29819677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档