我正在用Python构建一些预测模型,并且一直在使用scikits learn的SVM实现.它真的很棒,易于使用,而且速度相对较快.
不幸的是,我开始受到运行时的限制.我在一个大约4 - 5000的完整数据集上运行一个rbf SVM,具有650个功能.每次运行大约需要一分钟.但是通过5倍交叉验证+网格搜索(使用粗到细搜索),对于我手头的任务来说,它有点不可行.那么一般来说,人们对可以在Python中使用的最快SVM实现方面有什么建议吗?那或者任何加速我建模的方法?
我听说过LIBSVM的GPU实现,看起来它可以工作.我不知道Python中可用的任何其他GPU SVM实现,但它肯定会对其他人开放.此外,使用GPU会显着增加运行时间吗?
我还听说有一些方法可以通过在scikits中使用线性SVM +特征映射来近似rbf SVM.不确定人们对这种方法的看法.同样,使用这种方法的任何人都是运行时间的显着增加吗?
提高程序速度的所有想法都是最受欢迎的.
我一直在寻找C++的库/扩展,它将允许基于GPU的高级处理.我不是GPU编程方面的专家,我不想深入挖掘.我有一个由具有虚函数的类组成的神经网络.我需要一个基本上为我分配GPU的库 - 在很高的层次上.有一个人在一个名为GPU ++的系统上写了一篇论文,它为你做了大部分的GPU工作.我找不到任何地方的代码,只是他的论文.
有没有人知道类似的库,或者有没有人有GPU ++的代码?像CUDA这样的库太低了,无法处理我的大多数操作(至少在没有重写我的所有进程和算法的情况下 - 我不想这样做).
我不了解GPU编程概念和API.我有几个问题:
我也很高兴能够通过适当的学习资源链接到任何类型的文档.
最好的,约瑟夫
如果使用Quadro GPU与GeForce GPU,TensorFlow性能是否有明显差异?
例如,它是否使用双精度操作或其他会导致GeForce卡掉落的东西?
我即将为TensorFlow购买GPU,并想知道GeForce是否可以.谢谢,感谢您的帮助
是否可以用Java进行GPU编程?我的意思是不使用本机库.
当我们切换到gpu时,人们可以期待多少性能提升?
编辑:
我不是在看游戏编程,我想做硬核数字运算.
我正在浏览http://www.khronos.org/网站,只找到OpenCL的标题(不是我不关心的OpenGL).我如何获得OpenCL SDK?
当我读到这篇文章(来自OpenGL wiki)时,我很震惊:
glTranslate,glRotate,glScale
这些硬件加速了吗?
不,没有已知的GPU可以执行此操作.驱动程序计算CPU上的矩阵并将其上载到GPU.
所有其他矩阵操作也在CPU上完成:glPushMatrix,glPopMatrix,glLoadIdentity,glFrustum,glOrtho.
这就是GL 3.0中不推荐使用这些函数的原因.您应该拥有自己的数学库,构建自己的矩阵,将矩阵上传到着色器.
在很长一段时间里,我认为大多数OpenGL函数都使用GPU来进行计算.我不确定这是否是一种常见的误解,但经过一段时间的思考,这是有道理的.由于状态切换太多,旧的OpenGL函数(2.x及更早版本)实际上不适合实际应用程序.
这让我意识到,许多OpenGL函数可能根本不使用GPU.
所以,问题是:
哪个OpenGL函数调用不使用GPU?
我相信知道上述问题的答案将有助于我成为一名更好的OpenGL程序员.请分享一些您的见解.
编辑:
我知道这个问题很容易导致优化水平.这很好,但这不是这个问题的意图.
如果有人知道某个流行实现的一组GL函数(如AshleysBrain建议,nVidia/ATI,可能依赖于操作系统)不使用GPU,那就是我所追求的!
合理的优化指南稍后会出现.让我们关注本主题的功能.
EDIT2:
当计算机具有多个支持CUDA的GPU时,每个GPU都会分配一个device ID.默认情况下,CUDA内核会执行device ID 0.您可以使用cudaSetDevice(int device)选择其他设备.
假设我的机器中有两个GPU:GTX 480和GTX 670.CUDA 如何确定哪个GPU device ID 0和哪个GPU device ID 1?
关于CUDA如何分配设备ID的想法(只是头脑风暴):
动机:我正在研究一些HPC算法,我正在为几个GPU进行基准测试和自动调整.我的处理器有足够的PCIe通道,可以在全带宽下将cudaMemcpys驱动到3个GPU.因此,我不打算不断地将GPU交换进机器,而是计划在计算机中保留3个GPU.我希望能够预测当我在计算机中添加或更换某些GPU时会发生什么.
我正在开始一个需要一些复杂数据处理的浏览器项目.我使用的算法在使用GPU加速时速度提高了50-100倍.
我可以在浏览器中使用JavaScript,Flash或其他技术.有什么方法可以访问GPU来加速我的数学处理?
gpu ×10
gpgpu ×3
cuda ×2
nvidia ×2
c# ×1
c++ ×1
flash ×1
html ×1
java ×1
javascript ×1
linux ×1
opencl ×1
opengl ×1
opengl-3 ×1
performance ×1
python ×1
scikit-learn ×1
sdk ×1
svm ×1
tensorflow ×1