我可以在运行任何程序时将 CUDA 内核转换为 CPU 内核并将其用作 cpu 内核吗?

计算科学 优化 算法 收敛 显卡
2021-12-08 06:44:28

我正在使用 Metatrader5,并使用 MQL5 编程语言设计了一个交易策略。
当我运行策略优化过程时,我看到它需要 10,00= 次迭代或可能性。我的 CPU 内核无法更快地处理它。所以我想到了为什么不拥有 GPU 内核。我有 GTX Titan Xp,它有近 4000 个 CUDA 核心。
但优化仅适用于 CPU 内核。
因此,考虑是否可以使 CUDA 内核像 CPU 内核一样进行优化。但我没有任何出路。我尝试使用 MQL5 中支持的 OpenCL。但是我所有的努力都白费了。
因此,需要帮助将 GPU 转换为 CPU 以用于临时目的,以便轻松执行该过程并且我的 CPU-GPU 结合起来可能会有所帮助。

请帮我。

1个回答

我假设您有一个可在标准 CPU 上运行的代码。我对 MQL 和 Metatrader 不是特别熟悉,但我认为答案不会有所不同。

对于可编译语言,编译器创建一个可执行文件,该可执行文件被定制为使用给定架构(或许多架构)可用的计算资源。CPU 和 GPU 非常不同,它们中的计算核心提供不同的指令集。因此,如果没有专门为 GPU 进行实际编码(或使用已经为某些功能提供 GPU 加速的库),我认为您无法利用您的 GPU 内核。

有多种为 GPU 编码的方法,您可能对 OpenCL 感兴趣,因为它在MQL5 网站上提供了有关操作的描述。