itk 3.20.1 Процессорное сродство

Есть ли способ установить сходство процессора для потоков ITK (3.20.1). Я искал в классе ITK :: MultiThreader, который имеет «SetGlobalDefaultNumberOfThreads». но я не нахожу какую-либо функцию / метод, который говорит что-либо об аффинности.

любая помощь будет оценена ..

0

Решение

В версии, которую я установил (3.18), кажется, что эта функция не поддерживается. Тем не менее, глядя на MultiThreader Заголовок файла, я заметил, что реализация опирается на нативные механизмы потоков ОС. Это означает, что в Linux, pthreads на самом деле создаются, и pthread_t непосредственно используются для ThreadProcessIdTypeЭто означает, что вы можете использовать проприетарные расширения linux для привязки к ядру.

Цитирую себя из этот ответ на другой вопрос:

К сожалению, API потока posix не предоставляет способ установить привязку процессора к потокам. Вы можете использовать непереносимое расширение, предоставляемое на платформе Linux pthread_attr_setaffinity_npс cpuset семейство функций для настройки сходства потоков.

Поскольку поток уже будет запущен, вам необходимо получить атрибуты потока, прежде чем вы сможете установить его сходство. Linux предоставляет еще одну непереносимую функцию для этого: pthread_getattr_np,

Так же cpuset функция должна быть встроена в ядро, однако это должно иметь место на большинстве платформ с поддержкой многоядерности.

Рекомендации:

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]