我正在开发一个用java完成的业务项目,需要巨大的计算能力来计算业务市场.简单的数学,但有大量的数据.
我们订购了一些cuda gpu来尝试,因为cuda不支持Java,我想知道从哪里开始.我应该构建一个JNI接口吗?我应该使用JCUDA还是有其他方法?
我没有这方面的经验,我想如果有人可以指导我,我可以开始研究和学习.
我有一个非常简单的东芝笔记本电脑与i3处理器.另外,我没有任何昂贵的显卡.在显示设置中,我将英特尔(HD)图形视为显示适配器.我打算学习一些cuda编程.但是,我不确定,如果我可以在我的笔记本电脑上这样做,因为它没有任何nvidia的cuda启用GPU.
事实上,我怀疑,如果我有一个GPU o_o
所以,如果有人能告诉我是否可以使用当前配置进行CUDA编程,如果可能的话还让我知道英特尔(HD)图形意味着什么,我将不胜感激?
我是GPU编程的新手.我有一台配有NVIDIA GeForce GT 640卡的笔记本电脑.我面临两难困境,欢迎提出建议.
如果我选择CUDA - Ubuntu或Windows Clearly CUDA更适合Windows,而在Ubuntu上安装可能是一个严重的问题.我见过一些声称在Ubuntu 11.10和Ubuntu 12.04上安装了CUDA 5的博客帖子.但是,我无法让他们工作.此外,标准CUDA教科书更喜欢在Windows域中工作,并且在Unix/Ubuntu安装和工作方面或多或少都是沉默的.
CUDA或OpenCL - 现在这可能比我的第一个问题更棘手!我主要使用CUDA/Nvidia来接触GPGPU项目,但OpenCL可能是开源中的下一个最佳选择,在Ubuntu中安装可能不会成为问题,尽管这里的一些建议最有用.如果我选择OpenCL而不是CUDA,我会牺牲任何功能吗?
任何帮助或建议?
我知道这nvidia-smi -l 1将每秒钟提供一次GPU使用(类似于以下内容).但是,我很欣赏有关Volatile GPU-Util真正含义的解释.这是使用的SM数量超过总SM数,占用数量还是其他数量?
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 367.48 Driver Version: 367.48 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Tesla K20c Off | 0000:03:00.0 Off | 0 |
| 30% 41C P0 53W / 225W | 0MiB / 4742MiB | 96% Default |
+-------------------------------+----------------------+----------------------+
| 1 Tesla K20c Off | 0000:43:00.0 Off | 0 |
| 36% …Run Code Online (Sandbox Code Playgroud) 通过对这些库的粗略理解,它们看起来非常相似.我知道VexCL和Boost.Compute使用OpenCl作为后端(尽管v1.0版本VexCL也支持CUDA作为后端)并且Thrust使用CUDA.除了不同的后端,这些之间的区别是什么.
具体来说,他们解决了什么问题空间,为什么我要使用其中一个.
另外,在Thrust常见问题解答中说明了这一点
OpenCL支持的主要障碍是缺少OpenCL编译器和运行时支持C++模板
如果是这种情况,VexCL和Boost.Compute怎么可能存在.
我正在考虑利用GPU来处理一些方程式,但无法弄清楚我如何从C#中访问它.我知道XNA和DirectX框架允许您使用着色器来访问GPU,但是如果没有这些框架,我将如何访问它?
我一直在寻找C++的库/扩展,它将允许基于GPU的高级处理.我不是GPU编程方面的专家,我不想深入挖掘.我有一个由具有虚函数的类组成的神经网络.我需要一个基本上为我分配GPU的库 - 在很高的层次上.有一个人在一个名为GPU ++的系统上写了一篇论文,它为你做了大部分的GPU工作.我找不到任何地方的代码,只是他的论文.
有没有人知道类似的库,或者有没有人有GPU ++的代码?像CUDA这样的库太低了,无法处理我的大多数操作(至少在没有重写我的所有进程和算法的情况下 - 我不想这样做).
我不了解GPU编程概念和API.我有几个问题:
我也很高兴能够通过适当的学习资源链接到任何类型的文档.
最好的,约瑟夫
我注意到CUDA应用程序在失败并退出之前往往有5-15秒的粗略最大运行时间.我意识到没有CUDA应用程序运行那么久是理想的,但假设它是使用CUDA的正确选择,并且由于每个线程的顺序工作量必须运行那么长,有没有办法延长这个时间或者绕过它?
我正在尝试运行我的Cuda SDK示例,但是我收到以下错误:
./bandwidthTest: error while loading shared libraries:
libcudart.so.4: cannot open shared object file:
No such file or directory
Run Code Online (Sandbox Code Playgroud)
为什么我可以成功编译示例,但不能运行它?有没有办法手动指定CUDA运行库的路径?