GPU上字符串处理的最佳实践?

Dmi*_*ruk 4 string gpu c++-amp

我想知道在GPU上处理字符串而不是数字是多么逼真?具体来说,我感兴趣的是使用C++ AMP来执行字符串数组和目标字符串之间的比较.

我已经开始使用基础知识,例如将wchar_t* strings[]函数传递给函数,但事实证明,您甚至无法创建类型小于的类型的视图int!

所以我的问题是 - 有没有最好的做法,或者这通常是个坏主意?我也对像warp divergence这样的东西感兴趣 - 例如,计算大型数组上的字符串长度有多高效?

Dan*_*oth 6

您可以根据以下博客文章使用C++ AMP中的字符:http: //blogs.msdn.com/b/nativeconcurrency/archive/2012/01/17/c-amp-it-s-got-character-but-无char.aspx

IMO warp散文在字符串处理方面与其他算法没有什么不同,所以我不会担心事情的这一方面.首先做到正确,然后快速,然后调整它更快.

在9月份,我们将在我们的博客上发布一个字符串处理示例,该示例显示了C++ AMP在CPU多核实现方面的性能优势 - 针对此进行了调整.简而言之,是的,将字符串操作算法卸载到GPU等加速器是值得的.