问题描述
我正在寻找 2 个“是或否”的答案(见下文)以及任何适当的支持/澄清信息。我很擅长学习新事物,但时间对我来说是非常有限的资源。我对 GPGPU 编程一无所知,但如果我事先知道我想做的事情至少是可能的,我愿意花时间学习。如果不可能,那么我会寻找其他解决方案。
我所知道的: GPU 可以同时执行多个并行“线程”。每个线程都有独立的数据,可以在不同的数据上使用相同的算法产生不同的结果。再次对 GPU 编程一无所知,我使用“线程”一词来描述同一算法的每个单独进程。如果这不是正确的术语,请接受我的道歉并纠正我。此外,我对如何从 GPU 卡上传/下载数据以供 CPU 使用一无所知,但这不是我的问题的一部分(我假设有一种方法可以做到这一点,如果我深入研究该主题,我将学习)。
我想做什么: 我需要一种方法将数以千计的大整数(数百万位)从二进制转换为压缩的 BCD。我所知道的最有效的方法是 double-dabble (shift & add 3) 算法。在这个项目中不需要 FP 计算。这是我正在谈论的算法的几种变体的基本解释的链接。我个人倾向于页面上的最后一个。 ==> http://www.jakeselectronics.net/code_binarytobcd.php
是/否问题 1: 是否可以对 GPU 进行编程以同时执行不同数字的双重算法?我对此感到困惑的部分原因是我不知道是否所有线程都必须处于 lock-step 或每个线程是否可以沿着算法异步遵循自己的路径得出结论?
是/否问题 2: 是否可以对 GPU 进行编程以处理具有数百万位的无符号二进制数?理想情况下,我希望能够使用多个线程执行此操作,但如果使用 GPU 与标准 CPU 相比,使用 GPU 可以加快进程速度,我什至有兴趣一次只使用一个数字执行此操作。
至于我对支持/澄清信息的请求,我想我需要知道什么样的 GPU 卡适合这种工作,如果可能的话。我不是在寻求建议,而只是要求完成工作所需的最低硬件/软件功能,以及我如何知道 GPU 卡具有哪些功能。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)