LINUX.ORG.RU

Замедлить выполнение кода OpenCL

 


0

2

Вечер добрый сообществу.

Подскажите, пожалуйста, как можно попробовать понизить эффективность выполнения кода OpenCL.

Как я понял, в самом cl-файле никакие sleep-ы использовать нельзя. Быть может, есть какой-то аналог sleep-а? Куда его лучше добавить?

Можно запустить как-то задачу на меньшем количестве потоков?

Подскажите в какую сторону копать. Спасибо.

★★★

Ответ на: комментарий от anonymous

Если можно для конкретного кернела (конкретной задачи) и как-то программно регулировать — я только с радостью. Но наверное это бред.

observer ★★★
() автор топика
Последнее исправление: observer (всего исправлений: 1)
Ответ на: комментарий от mix_mix

У меня очевидный вопрос.

Зачем понижать? Ну чтобы вычисления не мешали работе. Запустил таск и работаешь с чем-то другим.

observer ★★★
() автор топика
Ответ на: комментарий от cool_hedin

cgroups?

В принципе вариант, спасибо.

Может кто-то еще подскажет как теоретически можно замедлить/ограничить в самом коде?

observer ★★★
() автор топика
Последнее исправление: observer (всего исправлений: 1)

Наверное, нужно как-то уменьшить число АЛУ на которых выполняются вычисления. Но как?)

observer ★★★
() автор топика
Последнее исправление: observer (всего исправлений: 1)

Как я понял, делается это путем уменьшения кол-ва computing units в work group. Настраивается параметрами функции clEnqueueNDRangeKernel.

Крутая дока: http://developer.amd.com/wordpress/media/2013/01/Introduction_to_OpenCL_Progr...

ИМХО, такое вряд ли сможет сделать cgroups, но его еще не щупал для такой задачи.

observer ★★★
() автор топика
Последнее исправление: observer (всего исправлений: 4)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.