OpenMP flush vs flush(список)

В OpenMP я могу сбросить либо указанный набор переменных, либо весь кеш.

У кого-нибудь есть представление о выполнении этой операции? Имеет ли смысл сбрасывать только те переменные, которые действительно изменились, или "сбрасывать все" так быстро, что мне не о чем беспокоиться?

Я связал списки, которые мне нужно время от времени очищать в моих темах. Должен ли я пройти по списку и очистить каждый элемент отдельно или просто очистить все?

1 ответ

Учитывая рекомендации в стандарте OpenMP 3.1:

Использование флеш- конструкции со списком крайне подвержено ошибкам, и пользователям настоятельно не рекомендуется делать это.

и следующее предложение:

Реализация может реализовать очистку со списком, игнорируя список и рассматривая его так же, как очистку без списка.

Я бы реализовал сначала решение с pragma omp flush (без какого-либо списка).

Затем, я бы действительно тщательно подумал, прежде чем пытаться оптимизировать эту реализацию, добавив список для сбрасываемых конструкций, так как код не будет переносимым по производительности.

Другие вопросы по тегам