【问题标题】:If I create an application using AVX2 will it run on other machines?如果我使用 AVX2 创建应用程序,它会在其他机器上运行吗?
【发布时间】:2020-07-22 13:40:53
【问题描述】:

我正在构建一个应用程序,该应用程序的算法在运行时需要很长时间才能完成,因此我正在考虑使用 AVX2 来加快速度。但我不知道应用程序是否会以同样快速的方式在用户的机器上运行,或者它是否会在他们的机器上运行。

【问题讨论】:

  • 如果目标 CPU 不支持 AVX2,您的应用会因 Illegal instruction 而崩溃。
  • 如果你不能假设AVX2,你需要检查CPUID并设置一个函数指针,或者类似的东西。谷歌runtime CPU dispatching.

标签: c++ visual-studio avx2


【解决方案1】:

它不会在不支持 AVX2 的 CPU 上运行。因此,在开始算法之前,您必须查询 CPU 是否支持 AVX2。如果答案是否定的,您的应用程序必须能够通过运行 AVX 甚至仅运行 SSE2 继续运行。

【讨论】:

    猜你喜欢
    • 2018-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多