首页 > 解决方案 > QueryperformanceFrequency 和 QueryperformanceCounter 快速排序 GPU 编程 OpenCL

问题描述

我正在尝试使用 OpenCL 在 GPU 上执行快速排序算法。我发现了一个由 Intel 开发的包,名为“ OpenCL 2.0 中的 GPU-Quicksort:嵌套并行和工作组扫描功能”。

但是,此代码是为在 Windows 机器上而不是在 ubuntu 上运行而开发的。

在 Ubuntu 上执行后,我发现代码中使用了特定的头文件,它们只支持 windows 而不是 Ubuntu。

我尝试了互联网和 stackoverflow 上可用的一些修复程序,但只能解决一些问题。

很少有其他仍未解决的关键字是“QueryperformanceFrequency”和“QueryperformanceCounter”。

我提到了记录时间和频率的 linux 替代方案,不幸的是这些也没有工作。

到工作存储库的链接包含在上面的标题中,带有超链接。

我在 NVIDIA Gpu 上运行 1.2 版的代码。

我在执行后得到的错误如下:

‘QueryPerformanceFrequency’ was not declared in this scope ‘QueryPerformanceCounter’ was not declared in this scope

我期待您协助解决这个问题。

谢谢你。

标签: gpuopenclquicksortgpgpuopencl-c

解决方案


您可以使用自 c++11 以来可用的std::chrono::high_resolution_clockfrom chronothat,并且您将编写与平台无关的代码。

VS2012 的警告:它system_clock用于具有糟糕精度的高分辨率。如果您使用的是更新版本的 VS 或任何其他平台,您应该可以使用。


推荐阅读