Использование openMP для многоядерной обработки против многопоточности
Вопрос может звучать принципиально, но я не смог найти конкретного ответа на этот вопрос. Теперь скажем, что у нас есть многоядерный процессор, такой как corei5 680 (2 физических ядра и с поддержкой HT 4 используемых ядра для ОС). Мой вопрос, где openMP точно вписывается в картину? 1 - Когда мы говорим, что многопоточность с использованием openMP автоматически использует все доступные ядра (в данном случае 4 виртуальных ядра) и выполняет поток в зависимости от доступных циклов ЦП? 2 - Дает ли openmp контроль над тем, как использовать физические / виртуальные ядра? или это абстракция и дает среду многопоточности, как, скажем, Java?
Пожалуйста, извините, если это звучит просто, но я попытался найти ответ в Интернете, но не смог найти ничего удовлетворительного.
Спасибо