Re: OpenMP и разные компиляторы.
От: watchmaker  
Дата: 28.01.17 16:39
Оценка: 4 (1) +3
Здравствуйте, nen777w, Вы писали:


N>Вероятно, вряд ли, но спрошу, существует ли возможность подключить внешнюю реализацию OpenMP?

OpenMP так хорош именно из-за того, что он реализован не отдельной библиотекой, а интегрирован внутрь компилятора. Единственный способ взять другую реализацию OpenMP — взять другой компилятор.
N>Во воторых оно в статике не линкуется и требует тащить за собой dll библиотеку.
Бывают такие особенности реализации. Ну и нужно понимать, что в этой библиотеке совсем не весь OpenMP находится, а лишь какая-то часть runtime поддержки. Основная и самая сложная часть зашита в компиляторе. То есть сменой dll ничего не добиться.

N>И что в итоге лучше, по производительности, записать распаралеливание руками или использовать OpenMP?

Не очень хороший вопрос. Всё равно что спросить, стоит ли продолжать писать на C++ или лучше для производительности переписать всё руками на ассемблере :)

OpenMP позволяет очень просто писать параллельные программы в своей области. И накладные расходы там небольшие. Если задача хорошо ложится на соответствующую модель вычислений, то OpenMP — отличный выбор. Руками переписать можно, но обычно время лучше потратить на что-то более полезное.

Если же задача не ложится на модель вычислений OpenMP, то вопрос про использование просто не встаёт: придётся использовать что-то другое.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.