strfind gpu上

7视图(30天)
配偶2 u
配偶2 u 2012年5月21日
你好,当我尝试使用strfind gpu上数据是它给了我一个错误。似乎strfind不能工作在gpu上的数据。有工作吗?。
7评论
配偶2 u
配偶2 u 2012年5月24日
嗨,简,输入是一个1 x10,000,000矩阵。输入之类的…“0 -9.99999999999890 -9.99999999999890 -9.99999999999890 e-05 e-05 e-05 -0.000200000000000089 - -0.000199999999999978的
(6元素上面的示例)。
n = 6;
因为我= 1:1,000,000
ZZ = strfind(,(我+ n - 1));
结束
要加快解决。输出是无关紧要的,因为这是最耗时的一部分代码。

登录置评。

接受的答案

丹尼尔Shub
丹尼尔Shub 2012年5月24日
STRFIND功能快速找到一个序列的出现。问题是,你叫它所有可能的序列,尽管我只认为你是感兴趣的序列,重复使用它。很容易和快速找到重复的序列:
首先创建一些数据,我可以在我的笔记本电脑上运行很快
M = 1 e6;
N = 6;
k = 100;
x =兰迪(k, 1 M);
第一个你需要重塑数据每N元素序列
y = 0 (m N, N);
2 = 1 (mn):
y (ii):) = x ((0: (n - 1)) + 2);
结束
然后找到所有独特的N元素序列。
(a, b, c) =独特(y,“行”);
这些序列只会发生一次,我们想要删除这些内容
temp = c;
临时(b) = [];
=(独特的(临时));
然后,而不是循环每一个可能的序列可以做
2 = 1:尺寸(1)
strfind (x, (ii):));
结束
我甚至不确定这最后一步是必要的因为信息可能已经在“c”。
我不知道如果这是更快。

更多的答案(5)

吉尔里斯
吉尔里斯 2012年5月21日
gpuArray目前只支持完整的数值类型,所以你金宝app不能将一个字符串存储在GPU。你是想叫strfind如何?
1评论
配偶2 u
配偶2 u 2012年5月24日
嗨我目前有数据(数字)和水平旋转内搜索字符串的字符串。我搜索很多所以它耗费时间。任何建议吗?

登录置评。


丹尼尔Shub
丹尼尔Shub 2012年5月21日
我想我让你使用STRFIND在我的答案 问题 我指着罗兰是哪里 博客 。如果你再看这个博客,她指出strfind不是数组变大时最快的解决方案。你最好使用另一个她的一个解决方案,因为他们是更快,乍一看似乎GPU兼容。金宝搏官方网站
2的评论
配偶2 u
配偶2 u 2012年5月24日
似乎strfind非常快!

登录置评。


配偶2 u
配偶2 u 2012年5月24日
任何人任何建议吗?我想加速strfind……有或没有gpu ....注意(findPattern2和findpattern为我的应用程序)都是非常缓慢的。
愿一切都好!
4评论
配偶2 u
配偶2 u 2012年5月24日
你好,价格的字符串是Diff ....所以都在小数……如0.0012 0.0001 -0.0002等

登录置评。


丹尼尔Shub
丹尼尔Shub 2012年5月24日
根据你的评论”价格的字符串是Diff ....所以都在小数……如0.0012 0.0001 -0.0002等“我会指出使用STRFIND浮点数是一个坏主意。看到 常见问题:6.1 为什么比较浮点数一般是一个坏主意。
1评论
配偶2 u
配偶2 u 2012年5月24日
嗨,丹尼尔,我要读,但我还需要做些什么。上面也读我如何“A”

登录置评。


Jon Lareau
Jon Lareau 约2小时前
如果你想运行在GPU可以uint8字符值的字符串转换为矩阵。你需要建立你的GPU compiant处理函数来处理整数字符串中的字符的ASCII表示。
一个= uint8 (char (my_string_array));
结果= some_gpu_enabled_function (gpuArray (A));
1评论
沃尔特·罗伯森

这是没有错,但在上下文中是不相关的。

strfind()允许数字输入。例如

掩码= (:)> 2;strfind([0;面具)。”,[0 1 1 1)

将搜索寻找每个地方,连续运行至少3值大于2。

问题不是人物,而是使用模式匹配函数,会发生“str”得名的开始。

登录置评。

类别

找到更多的在GPU计算帮助中心文件交换

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!