我能够在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链接到我的项目并运行它时,它不工作,因为libjcudruntime -apple-x86_64。jilib不见了
提前谢谢你Radek
我的lib文件夹包含:libCommonJNI.alibJCublas-apple-x86_64.dyliblibJCublas2-apple-x86_64.dyliblibJCudaDriver-apple-x86_64.dyliblibJCudaRuntime-apple-x86_64.dyliblibJCufft-apple-x86_64.dyliblibJCurand-apple-x86_64.dyliblibJCusparse-apple-x86_64.dylib
这里也要回答这个问题:本机库不能直接打包到JAR中(或者更确切地说:如果它们只包含在JAR中,它们目前不能加载)。
虽然JCuda LibUtils
类的基础设施基本上提供了可能性做到这一点,但它不是"官方"支持的。其中一个原因是,只有当所有操作系统的所有本地库可用时(32位和64位),这才有意义。这样就可以将所有这些库放入一个JAR中,并在运行时透明地解包和加载它们。
通常需要一段时间才能使所有的本机库可用。使用https://github.com/MysterionRise/mavenized-jcuda之类的东西可以缓解这个问题,它管理对本机库的依赖关系。