маска сродства - это битовая маска, указывающая, какой процессор (ы) является потоком или процесс должен запускаться планировщиком в операционной системе. Установка маски соответствия для определенных процессов, запущенных под Windows, может быть полезной, поскольку существует несколько системных процессов (особенно на контроллерах домена), которые ограничены первым процессором / ядром. Таким образом, исключение первого процессора может привести к повышению производительности приложения.
Соответствие потоков в Microsoft Windows может можно указать с помощью функции SetThreadAffinityMask. Принуждение каждого потока OpenMP к отдельным ядрам в Windows может быть выполнено с помощью следующего кода C :
#include#include // Установить OpenMP сходство потоков void set_thread_affinity () {#pragma omp parallel default (shared) {DWORD_PTR mask = (DWORD_PTR) 1 << omp_get_thread_num(); SetThreadAffinityMask(GetCurrentThread(), mask); } }
.
.