QueryperformanceFrequency и QueryperformanceCounter Quick Sort Программирование на GPU OpenCL - PullRequest
0 голосов
/ 13 июня 2019

Я пытаюсь выполнить алгоритм быстрой сортировки на графическом процессоре, используя OpenCL.Я нашел пакет, разработанный Intel под названием « GPU-Quicksort в OpenCL 2.0: вложенные функции параллелизма и сканирования рабочей группы ».

Однако этот код разработан для работы на Windows-машине, а не на Ubuntu.

После его запуска в Ubuntu я обнаружил, что в коде используются специальные заголовочные файлы, которые поддерживают только Windows, а не Ubuntu.

Я перепробовал несколько исправлений, доступных в Интернете и stackoverflow, и смог решить лишь некоторые из них.

Некоторые другие, которые все еще остаются нерешенными, имеют ключевые слова "QueryperformanceFrequency" и "QueryperformanceCounter".

Я ссылался на альтернативы linux для записи времени и частоты, к сожалению, они тоже не работали.

Ссылка на рабочий репозиторий включена в вышеприведенный заголовок с гиперссылкой.

Я запускаю код с версией 1.2 на NVIDIA Gpu.

Ошибки, которые я получаю после выполнения, следующие:

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

Я с нетерпением жду вашей помощи в решении этой проблемы.

Спасибо.

1 Ответ

0 голосов
/ 14 июня 2019

Вы можете использовать std::chrono::high_resolution_clock из chrono, который доступен с c ++ 11, и вы будете писать независимый от платформы код.

Предостережение для VS2012: он использует system_clock для высокогоразрешение, которое имеет ужасную точность.Если вы используете более свежую версию VS или любую другую платформу, вам стоит поработать.

...