问题标签 [jacket]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cuda - 如何在 GPU 上计算 k 个最大特征值?
我正在研究谱聚类的并行算法,我需要计算 K 最大特征值。我正在为 Matlab 使用 Jacket 插件,但遗憾的是它不支持 matlab 中的 EIGS 函数(它无法计算 K 特征值并行)任何人都可以建议一些其他工具/库在 GPU 上执行此任务吗?或者我仍然可以在 GPU 辅助的 Matlab 中执行此操作吗?
performance - 非常慢的matlab夹克if语句
我在 matlab 中使用 cuda\jacket 遇到了一个非常缓慢的 if 语句响应。(对于找到局部最大值的相同代码,使用简单的 for 循环和 if 条件,5 秒对 0.02 秒)
作为 GPU 编程的新手,我去阅读,当我看到以前的matlab if 语句与 CUDA SO 讨论时,我觉得缺少了一些东西。您无需使用 cuda 即可知道对代码进行矢量化会更好。但是,在某些情况下,无论如何您都需要使用 if 语句。例如,我想找出 2D 图像的像素(比如 m(a,b))是否是其 8 个最近邻居的局部最大值。在 matlab 中,一种简单的方法是在 if 语句上使用 8 个逻辑条件:
如果 m(a,b)>m(a-1,b-1) & m(a,b)>(a,b-1) & m(a,b)>(a+1,b-1) & ... 等所有最近的邻居
如果您知道如何解决(或矢量化)这个问题,我将不胜感激......
matlab - 相当于 Matlab 在 CUDA 中的 find 命令
我想尽快找到矩阵的非零元素。考虑到CUDA
\ Jacket
,我了解到这比“常规” CPU 版本Matlab
的 find 慢得多,这可能是由于内存分配问题,因为在 find 函数之前输出的大小是未知的。但是,使用bwlabel
and regionprops
(两者都在 中支持Jacket
)确实有效地产生了有关非零元素的信息,并且比Matlab
内置的 Image Processing Toolbox 函数快得多。有没有办法利用它来获得非零元素?有没有办法对使用找到的每个标记对象进行一些处理bwlabel
?
matlab - 在 matlab + 夹克中使用 regionprops 获得加权质心
使用 Matlab 的图像处理工具箱,我可以使用regionprops
函数找到加权质心。这是因为该函数可以返回 WeightedCentroid
图像的每个标记部分的像素索引或像素索引列表,PixelList
然后很容易计算加权质心。然而,夹克在 regionprops 中的支持只返回一个未加权的质心(或bwlabel
之前使用获得的二元“岛”的质心)。这意味着以某种方式使用有关像素位置的信息来找到这些质心。
如何访问夹克的 regionprops 信息,了解它用于计算未加权质心的像素列表,以便我可以使用它来计算加权质心?(这样做的一个重要原因是因为该函数find
不能在gfor
循环中使用,否则可以find
输出...的不同值bwlabel
)
matlab - mldivide 用夹克很慢?
我写了这段代码:app和cova是矩阵,维度等于代码中的变量dim和gsingle。
如果我尝试增加 dim 的维度,结果会非常慢。如果我用 for 循环和 cpu 变量编写等效代码会更快。为什么会这样?
matlab - GCOMPILE 是否支持 GFOR?
我在使用 Jacket 时偶然发现了这个问题。
我在 gfor 循环中使用编译函数(使用 gcompile 编译)。据我所知,这意味着支持:http ://wiki.accelereyes.com/wiki/index.php/GCOMPILE
但我观察到,虽然未编译的函数提供了正确的结果,但编译后的函数为所有 gfor 迭代提供了相同的输出:
输出是:
C1 = [ 3,6,9,12,15,18,21,24,27,30](正确结果)
C2 = [ 3,3,3,3,3,3,3,3,3,3]
你能验证/反驳我的结果吗?我究竟做错了什么?
干杯,安吉拉
matlab - 使用 GPU 加速 MATLAB 代码?
AccelerEyes 于 2012 年 12 月宣布它在 GPU 代码上与 Mathworks 合作,并已停止其产品 Jacket for MATLAB:
http://blog.accelereyes.com/blog/2012/12/12/exciting-updates-from-accelereyes/
不幸的是,他们不再出售夹克许可证。
据我了解,基于 ArrayFire 的 Jacket GPU Array 解决方案比 MATLAB 提供的 gpuArray 解决方案要快得多。
我开始使用 gpuArray,但我发现很多功能都实现得很差。例如一个简单的
很慢。我已经编写了一些自定义的 CUDA-Kernels,但是即使在整个代码中始终使用 gpuArrays,实现不佳的标准 MATLAB 功能也会增加很多开销。我通过用手写的 CUDA 代码替换 MATLAB 代码解决了一些问题 - 但我不想重新实现 MATLAB 标准功能。
我缺少的另一个功能是稀疏 GPU 矩阵。
所以我的问题是:
如何加速 MATLAB 提供的糟糕实现的默认 GPU 实现?特别是,如何使用 GPU 加速 MATLAB 中的稀疏矩阵运算?