gpu - 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
我期待您协助解决这个问题。
谢谢你。
解决方案
您可以使用自 c++11 以来可用的std::chrono::high_resolution_clock
from chrono
that,并且您将编写与平台无关的代码。
VS2012 的警告:它system_clock
用于具有糟糕精度的高分辨率。如果您使用的是更新版本的 VS 或任何其他平台,您应该可以使用。
推荐阅读
- python - 如何解决:'str' 对象在 keras 中没有属性 'data_format'
- python - 在不使用 re 的情况下更改由下划线分隔的字符串中的特定字符的更好方法
- design-patterns - 反向装饰器模式
- symfony - 如何使用 Doctrine 继承映射在子类上加载相关实体?
- mysql - 加快从大型整数表中选择 SQL 查询的速度
- algorithm - 节点遍历风格算法
- r - R - 跨不同长度数据帧的多个标准总和
- cordova - cordova-plugins-ibeacon 中的“信标”数组始终为空
- react-native - 在 React Native 中的页面之间传递数据
- php - Laravel 不渲染 html