问题标签 [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.

0 投票
4 回答
16436 浏览

matlab - 如何使用 CUDA 在 GPU 上运行 MATLAB 代码?

我想使用 NVIDIA 的 CUDA 在 GPU 上运行 MATLAB 代码。我发现了几个 3rd-party 引擎:

有人会推荐这些还是那里有更好的?有什么提示或建议吗?

0 投票
1 回答
2389 浏览

cuda - 如何在 GPU 上计算 k 个最大特征值?

我正在研究谱聚类的并行算法,我需要计算 K 最大特征值。我正在为 Matlab 使用 Jacket 插件,但遗憾的是它不支持 matlab 中的 EIGS 函数(它无法计算 K 特征值并行)任何人都可以建议一些其他工具/库在 GPU 上执行此任务吗?或者我仍然可以在 GPU 辅助的 Matlab 中执行此操作吗?

0 投票
2 回答
942 浏览

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) & ... 等所有最近的邻居

如果您知道如何解决(或矢量化)这个问题,我将不胜感激......

0 投票
2 回答
579 浏览

matlab - 相当于 Matlab 在 CUDA 中的 find 命令

我想尽快找到矩阵的非零元素。考虑到CUDA\ Jacket,我了解到这比“常规” CPU 版本Matlab的 find 慢得多,这可能是由于内存分配问题,因为在 find 函数之前输出的大小是未知的。但是,使用bwlabeland regionprops(两者都在 中支持Jacket)确实有效地产生了有关非零元素的信息,并且比Matlab内置的 Image Processing Toolbox 函数快得多。有没有办法利用它来获得非零元素?有没有办法对使用找到的每个标记对象进行一些处理bwlabel

0 投票
1 回答
2931 浏览

matlab - 在 matlab + 夹克中使用 regionprops 获得加权质心

使用 Matlab 的图像处理工具箱,我可以使用regionprops函数找到加权质心。这是因为该函数可以返回 WeightedCentroid图像的每个标记部分的像素索引或像素索引列表,PixelList然后很容易计算加权质心。然而,夹克在 regionprops 中的支持只返回一个未加权的质心(或bwlabel之前使用获得的二元“岛”的质心)。这意味着以某种方式使用有关像素位置的信息来找到这些质心。

如何访问夹克的 regionprops 信息,了解它用于计算未加权质心的像素列表,以便我可以使用它来计算加权质心?(这样做的一个重要原因是因为该函数find不能在gfor循环中使用,否则可以find输出...的不同值bwlabel

0 投票
1 回答
130 浏览

matlab - mldivide 用夹克很慢?

我写了这段代码:app和cova是矩阵,维度等于代码中的变量dim和gsingle。

如果我尝试增加 dim 的维度,结果会非常慢。如果我用 for 循环和 cpu 变量编写等效代码会更快。为什么会这样?

0 投票
1 回答
199 浏览

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]

你能验证/反驳我的结果吗?我究竟做错了什么?

干杯,安吉拉

0 投票
2 回答
6317 浏览

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 中的稀疏矩阵运算?