Optimization 程序执行优化

Optimization 程序执行优化,optimization,driver,gpgpu,execution-time,algorithmic-trading,Optimization,Driver,Gpgpu,Execution Time,Algorithmic Trading,我正在写一个抛物线时间价格系统的程序,该程序基于J.Welles Wilder Jr.写的书。 我已经完成了这个程序,执行时间为122微秒。这远远高于基准限制。我想要的是一些观点和建议,如果我 编写一个内核空间程序来实现同样的功能。通过驱动程序实现it [非常喜欢这种方法]是否有可能,如果有,那么我应该如何以及从哪里开始寻找,将指令传递给图形驱动程序以执行步骤和计算(请在某个博客中阅读) 提前谢谢 -->在c上编程使GPU非常快的是它可以异步运行大约2000个线程(取决于卡)。 如果代码可以划分

我正在写一个抛物线时间价格系统的程序,该程序基于J.Welles Wilder Jr.写的书。 我已经完成了这个程序,执行时间为122微秒。这远远高于基准限制。我想要的是一些观点和建议,如果我

  • 编写一个内核空间程序来实现同样的功能。通过驱动程序实现it
  • [非常喜欢这种方法]是否有可能,如果有,那么我应该如何以及从哪里开始寻找,将指令传递给图形驱动程序以执行步骤和计算(请在某个博客中阅读)
  • 提前谢谢


    -->
    在c上编程

    使GPU非常快的是它可以异步运行大约2000个线程(取决于卡)。 如果代码可以划分为线程,那么在gpgpu上进行计算可能会提高性能,因为正确使用时,平均CPU速度为50-100千兆次,平均GPU速度为1500次。 此外,您可能需要考虑维护GPGPU代码的困难。我建议您,如果您有一个NVidia GPU,您应该查看“Managed CUDA”,因为它包含一个调试器和一个GPU探查器,可以使用它


    TL;DR:仅对异步代码使用gpgpu,如果可能,最好使用“托管CUDA”

    Some1PrO
    谢谢。但目前它的线程并不繁重。如果我使用内核驱动程序方法实现,有什么想法吗!!!如果你的代码不能被分割成线程,那么在gpu上工作只会使它变慢,因为gpu的每个“核心”都比cpu核心慢得多。cpu和gpu之间的通信也是非线程gpu计算的一个巨大瓶颈。