Я наконец-то получил часть своего кода для параллельной работы с OpenMP без ошибок. Однако когда я развернул dll на другой машине, он больше не работал параллельно.
Регистрация показывает, что omp_in_parallel() == 0
на другой машине, но не на моей.
Моя машина использует процессор Intel i5, который имеет 2 гиперпоточных ядра для эффективной omp_get_numProcs() == 4
. Другая - это виртуальная машина с двумя процессорами, назначенными ей в Microsoft Server 2008, таким образом, omp_get_numProcs() == 2
.
Существуют ли известные настройки, которые позволяют программе работать параллельно при определенных значениях, а не при других?