看看我在这篇文章中的代码:
https://stackoverflow.com/questions/16594768/how-to-write-simple-speed-test-app-with-cuda
这次我不是关于 CUDA,而是帖子中的应用程序代码。我要面对的问题是应用程序在返回总分的情况下非常不稳定。在我第一次编译它之后,它的返回值在 12.2 - 12.5 mld 之间,测试时间等于 10 秒,但今天在 PC 关闭和打开后它保持返回值大约。15 mld,测试时间相同。我一度以为我的电脑出了点问题,但在其他专业测试中它要稳定得多——例如。mdcrackGUI 基准测试总是返回我大约。每次运行时第一个值是 1.32 亿。然而,经过片刻的巧妙思考,我提出了以下问题:
我有 8 个逻辑 CPU 核心,但我不确定每个计算线程在测试运行时是否只使用一个且相同的逻辑核心。如果可能的话,如何修改代码以确保这一点?
有 8 个计算线程,但我有 4 个而不是 8 个物理核心 CPU(因为 HT 技术)。我猜这意味着所有 8 个线程都不会真正并行运行。如果对第一个问题有肯定的回答,那么如果我只使用 4 个计算线程,每个线程都在不同的物理内核上,这个应用程序会不会更稳定?