Здравствуйте.
Есть ли критерии оптимального выделения количества ядер при распараллеливании расчета проекта CFX? В out-файле решателя есть раздел Partitioning information , интуитивно я догадываюсь, что совокупность показателей % и %Ovlp как-то характеризует правильность и оптимальность распределения сеточного объема между ядрами, но вот в каких пределах они должны быть - непонятно, прошу просветить меня в этом вопросе.
Заранее благодарен!
Доброе утро.
Данный критейрий называется overlap. Технически он показывает долю ячеек, которая приходится на "интерфейсы" межды группами ячеек, выделенными на отдельные ядра. Не путать с интерфейсами в расчете.
На практике таблица со значениями overlap прописывается в файле Out на этапе partitionig.
Выглядит начало таблицы так:
Здесь есть столбик Ovlp%, он и показывает данный показатель.
Конец таблицы выглядит так и в нем приведен средний Overlap по всем частям сетки.
(данная задача была распараллелена на 128 ядер)
Средний Overlap составляет 15,3.
Чем вы больше выделите ядер, тем больше будет данный показатель.
Общие рекомендации такие:
При превышении значения 20 дальшнейшее распараллеливание будет неэффективным.
То есть если у вас Overlap больше 20, то лучше поделитесь ядрами с другими расчетчиками, если меньше 10, то отберите у них яасть ядер, так как вам они дадут эффективный прирост.
Спасибо! А из раздела Partitutioning CPU-Time Requirements (идет сразу после указанной выше таблички) можно какую-нибудь полезную информацию вычленить с целью минимизировать время расчета?
Бузусловно можно вычленять информацию.
Более подробно значения строчек вы можете определить из хелпа.
Их влияние необходимо определять в каждом частном случае.
К примеру устанавливая алгоритм Bitmap для GGI, мы можем отслеживать через строчку GGI Intersection время, затраченное на партишининг интерфейсов. Считается, что увеличение разрешения (Bitmap Resolution) в два раза, увеличивает время GGI Intersection в четыре раза. Насколько это критично в вашей конкретной задаче и можно отслеживать.
Можно отслеживать насколько затратно сглаживание (Partition Smoothing) и насколько время, затарченное на сглаживание, оправдано выгодой от улучшения качества партишининга. Основываясь на данной строчке мы можем находить оптимальную глубину сглаживания.
Также можно отследить насколько критична скорость чтения/записи ваших дисков и сети в суммарном времени.
В большинстве случаев к данной таблице можно обращаться только в случае неоправданно долгого процесса разделения сетки на части= процесса Partitioning.
Добавить комментарий