5

我是 GPU 编程的新手,我使用 brook+ 语言在 ATI 流处理器上进行蛮力 RAR 密码恢复,但我看到用 brook+ 语言编写的内核不允许对正常函数进行任何调用(内核函数除外),我的问题是:

1) 在这种情况下如何使用 unrar.dll (to unrar archive files) A​​PI?这是编程RAR密码恢复的唯一方法吗?

2)使用GPU的破解和ElcomSoft软件怎么样,它们是如何工作的?

3)这个程序中GPU(ATI流处理器或CUDA)内的功能究竟起到了什么作用?

4) nVidia/CUDA 技术是否比 ATI/brook+ 语言更容易/更灵活?

4

1 回答 1

2

1) unrar.dll 是编译后的动态链接库。这些在 CPU 上执行。GPU 具有非常不同的机器代码和非常不同的执行模型,因此它们无法运行 dll。

您可以尝试通过事件实现从 GPU 到 CPU 的回调,或者在 GPU 上构建 x86 解释器,但这些几乎肯定会比仅在 CPU 上运行慢。

使用 unrar.dll 不是编程 RAR 密码恢复的唯一方法。相反,您可以从头开始为 CPU 和 GPU 构建自己的代码。

2) 它们通过让 CPU 代码明确请求某些 GPU 代码在 GPU 上运行来工作。

3)我不确切知道。我猜想它有一个 GPU 程序可以尝试许多不同的组合,并从这些并行运行中受益。

4) CUDA 比 brook+ 更成熟。brook+ 对于简单的任务来说可能同样简单,但功能并不全面。对于新项目,大多数人现在会选择 OpenCL 而不是 brook+。

(我不确定您打算做什么,但上述任何一项似乎都不可能导致任何险恶的事情。)

于 2010-06-18T00:24:55.070 回答