mavenized-jcuda

Mavenized JCuda
授权协议 MIT License
开发语言 SHELL
所属分类 应用工具、 终端/远程登录
软件类型 开源软件
地区 不详
投 递 者 林魁
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Mavenized JCuda

What it is:

JCuda is the Java bindings for NVIDIA® CUDA™ and related libraries.

To use these libraries, you need a CUDA-enabled GPU device and the NVIDIA driver with CUDA support and the CUDA Toolkit from the NVIDIA website. The aim of this project is to simplify development and usage of JCuda wrapper without issues of managing dependencies by yourself (different versions, different OS, different architecture, classpath hell)

JCuda 0.8.0

Starting with version 0.8.0, all JCuda libraries are available in Maven central. The following are the dependencies for the individual libraries:

<dependency>
    <groupId>org.jcuda</groupId>
    <artifactId>jcuda</artifactId>
    <version>0.8.0</version>
</dependency>
<dependency>
    <groupId>org.jcuda</groupId>
    <artifactId>jcublas</artifactId>
    <version>0.8.0</version>
</dependency>
<dependency>
    <groupId>org.jcuda</groupId>
    <artifactId>jcufft</artifactId>
    <version>0.8.0</version>
</dependency>
<dependency>
    <groupId>org.jcuda</groupId>
    <artifactId>jcusparse</artifactId>
    <version>0.8.0</version>
</dependency>
<dependency>
    <groupId>org.jcuda</groupId>
    <artifactId>jcusolver</artifactId>
    <version>0.8.0</version>
</dependency>
<dependency>
    <groupId>org.jcuda</groupId>
    <artifactId>jcurand</artifactId>
    <version>0.8.0</version>
</dependency>
<dependency>
    <groupId>org.jcuda</groupId>
    <artifactId>jnvgraph</artifactId>
    <version>0.8.0</version>
</dependency>
<dependency>
    <groupId>org.jcuda</groupId>
    <artifactId>jcudnn</artifactId>
    <version>0.8.0</version>
</dependency>

For more information take a look at http://jcuda.org/downloads/downloads.html

Features:

  • Currently support JCuda 0.5.0, 0.5.5, 0.6.0RC (windows-i386, windows-x86_64), 0.6.0, 0.6.5 (windows-i386, windows-x86_64, unix-x86_64, mac-x86_64), 0.7.0a (windows-x86_64, unix-x86_64, mac-x86_64, ppc64, ppc64le), 0.7.5 (windows-x86_64, unix-x86_64, mac-x86_64), 0.7.5b (windows-x86_64, unix-x86_64, ppc64, ppc64le), 0.8.0 (unix-x86_64, ppc64le, apple-x86_64)
  • Local Maven repo with different sets of native libs (windows-i386, windows-x86_64, unix-i386, unix-x86_64, mac-x86_64, ppc64, ppc64le)
  • Auto detection of OS family name and it's architecture (it's choose needed dependencies automatically)
  • Running any main class, that contained JCuda code easily (without classpath hell, just run Maven goal)

How to run JCuda code:

  • You need to install Cuda (5.0, 5.5, 6.0, 6.5, 7.0, 7.5, 8.0) for your platform [here] 1

  • Set property <jcuda.version> in pom.xml to what you really use, e.g. 0.5.0 for Cuda 5.0, etc. (Cuda 6.5 - 0.6.5)

    • It looks like right now only 0.8.0 or higher versions are usable due to adding of new library in 0.8.0 JCuda

    OBSOLETE [at least for now]

    • If you run JCuda 0.6.0RC and higher on Windows platform everything is ok
    • If you run JCuda 0.5.5 and lower on Windows or Unix platform - you should set profile manually by adding -P windows-x86_64_oldor -P windows-x86_old or -P unix-x86_64_old, etc. to mvn clean package command, depends on architecture you use. For more info about Maven profiles take a look [here] 2
    • If you run JCuda 0.6.0 and higher on Unix x86_64 platform - everything is ok
    • If you run JCUda 0.6.0 and higher on Mac x86_64 - everything is ok

    OBSOLETE [end of obsolete part]

  • Call mvn clean package to build project (it will copy all dependencies to target/lib dir)

    • Users who configure a repository manager like Nexus should add option -Dmaven.repo.local=repo to the mvn clean package command.
  • Call mvn exec:exec to run main class (org.mystic.cuda.JCudaRuntimeTest) with "Hello, JCuda" sample :)

    • Users who configure a repository manager like Nexus should add option -Dmaven.repo.local=repo to the mvn exec:exec command.
  • If you want to run code directly from your IDE without Maven - you could do it via Run command in most of the IDE (Intellij IDEA, Eclipse, Netbeans, etc.) All you need to do - is to add property -Djava.library.path=target/lib (more information is on [Stackoverflow] 3)

  • ???

  • Fork! Write your own JCuda code! Run! Report bugs! Support!

 相关资料
  • 我正在尝试更新我的项目以使用上一个hibernate 3.6.10。最终版本,但我找不到包含依赖项hibernate core 3.6.10的hibernate注释。最终的http://mvnrepository.com/artifact/org.hibernate/hibernate-annotations 我在哪里能找到它?这不是我第一次注意到版本的缺乏。逻辑是什么?

  • 问题内容: 我正在尝试使用OpenJDK7根据OSGi规范4.3编译我的OSGi捆绑软件,但出现错误: 这是我的Activator.java: 和我的pom.xml: 当我使用OpenJDK 6时,不会出现此错误。任何提示如何使它与OpenJDK 7一起使用? 问题答案: 您需要使用Java 7中的javac重新编译OSGi源代码。OSGi使用-target jsr14使用Java 6 javac

相关阅读

相关文章

相关问答

相关文档