在ubuntu中运行JCuda应用程序时出错

问题描述

| 我是JCuda的新用户,我开始在节点中尝试一些示例。 我正在运行一个简单的:
import jcuda.*;
import jcuda.runtime.*;
public class JCudaRuntimeTest{
     public static void main(String args[]){
         Pointer pointer = new Pointer();
         JCuda.cudamalloc(pointer,4);
         System.out.println(\"Pointer: \"+pointer);
         JCuda.cudaFree(pointer);
     }
}
我将每个库放在相同的文件夹中,并且可以轻松地编译代码,但是当我运行
java JCudaRuntimeTest
时,出现了此异常。
Exception in thread \"main\" java.lang.NoClassDefFoundError: jcuda/Pointer
    at JCudaRuntimeTest.main(JCudaRuntimeTest.java:7)
Caused by: java.lang.classNotFoundException: jcuda.Pointer
    at java.net.urlclassloader$1.run(urlclassloader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.urlclassloader.findClass(urlclassloader.java:190)
    at java.lang.classLoader.loadClass(ClassLoader.java:307)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.classLoader.loadClass(ClassLoader.java:248)
    ... 1 more
建议?     

解决方法

NoClassDefFoundError
几乎总是意味着您的类路径中缺少某些内容。 运行程序时,请确保
jcuda-<version>.jar
文件(以及其他可能的必要的JAR文件)在类路径中。 使用
-cp
开关运行程序时,可以指定类路径,例如:
java -cp C:\\Project\\jcuda\\jcuda-0.3.2a.jar;C:\\Project\\mystuff\\classes org.mystuff.MyProgram
或通过设置
CLASSPATH
环境变量(不建议)。