在Mac OSX 10.9.3上封装JCUDA 0.6.0

时间:2014-06-06 15:19:05

标签: java macos jar dylib jcuda

我能够在Mac OSX 10.9.3 64位系统(http://www.jcuda.org/downloads/downloads.html)上编译JCuda的原生0.6.0库。不幸的是,我不够聪明,把所有东西都装进罐子里。有人可以帮我这样做吗?我创建了一个Netbeans项目,并将所有提供的Java src文件夹的内容复制到其中。然后我把所有东西都装进了罐子里。使用Jarsplice 0.4.0然后我尝试构建一个包含下面列出的所有本机库文件的Jar文件(第一个.a文件除外)。不幸的是,当我将生成的jar链接到我的项目并运行它时,由于缺少libJCudaRuntime-apple-x86_64.jnilib而无法正常工作。

提前谢谢你 拉狄克

我的lib文件夹包含: libCommonJNI.a libJCublas-苹果x86_64.dylib libJCublas2-苹果x86_64.dylib libJCudaDriver-苹果x86_64.dylib libJCudaRuntime-苹果x86_64.dylib libJCufft-苹果x86_64.dylib libJCurand-苹果x86_64.dylib libJCusparse-苹果x86_64.dylib

1 个答案:

答案 0 :(得分:2)

也可以在这里回答:本机库无法直接打包到JAR中(或者更确切地说:如果它们仅包含在JAR中,它们当前不能加载)。

虽然JCuda LibUtils类的基础结构基本上提供可能性来执行此操作,但它并非“正式”支持。其中一个原因是,只有当所有操作系统的所有本机库都可用时(32位和64位),这才有意义。然后可以将所有这些库放入JAR中,并在运行时透明地解压缩和加载它们。

通常需要一段时间才能使用所有本机库。 https://github.com/MysterionRise/mavenized-jcuda之类的东西可以缓解这个问题,它可以管理对本机库的依赖。