Я завжди чув, що легка паралелізація була однією з переваг методів ГД, але я не розумію, чому будь-яка з цих причин не стосується і безперервного Галеркіна.
Я завжди чув, що легка паралелізація була однією з переваг методів ГД, але я не розумію, чому будь-яка з цих причин не стосується і безперервного Галеркіна.
Відповіді:
Однією з причин методів ГД може бути приділено більше уваги як паралельного методу є те, що він легко бачить, що метод властивий елементу. Зв'язок методів DG слабкий, оскільки відбувається лише через сусідні краї (або грані в 3d). Так, для трикутників або квадроциклів DG зв'яжеться з максимум трьома або чотирма процесорами відповідно. Тоді як методи CG включатимуть куточки елементів, тому валентність кута елемента стає важливою. Залежно від використовуваного генератора сітки, ця валентність може становити вісім процесорів (можливо, вище). Тож витрати на збірку похідної часу можна вважати «вищими» для методів КГ. Це особливо викликає занепокоєння спектральними методами, де обсяг інформації, що передається, може бути досить великим (а затримка затримки може стати складнішою, оскільки розмір кожної секції зменшується).
Але ця додаткова вартість для CG для збирання похідної часу може бути компенсована іншою стратегією збалансування навантаження. Різні стратегії розподілу сітки (я найбільш значущий з METIS) дозволяють користувачу врівноважувати навантаження за допомогою різних метрик, наприклад, гарантуючи, що кожен розділ має приблизно однакову кількість елементів або обмежує кількість зв'язку між розділами. Я відчуваю причину того, що розмовна робота ГД легко паралелізується в тому, що наївне розбиття проблеми на рівні частини може дати дуже ефективну паралельну реалізацію, навіть представляючи суперлінійне прискорення в певних випадках через ефекти кешу (див., Наприклад, Baggag et al. . або Altmann і ін. ін.). Тоді як CG може зажадати більш розумного методу розподілу. Тож може статися так, що зміна просторової дискреційності з ГД на КГ, скажімо, вимагатиме також переглянути, як розділити сітку на підпроблеми.
З мого багаторічного написання програмного забезпечення FEM я вважаю, що твердження про те, що схеми DG краще підходять для паралелізації, ніж схеми CG, є апокрифним. Він часто використовується при вступі до доповідей ГД як обґрунтування методів ГД, але я ніколи не бачив, щоб це було обґрунтовано посиланням, яке фактично досліджувало питання. Це схоже на кожну пропозицію NSF щодо проекту теорії чисел, що посилається на "криптографію" як на область більш широкого впливу, твердження, яке в цій загальності також ніколи не обґрунтоване.
Насправді, я вважаю, що за винятком явних схем відстеження часу та, можливо, проблем, коли вам доведеться інвертувати масову матрицю, схеми DG не є кращими або гіршими, ніж схеми CG, якщо досліджувати вартість зв'язку, пов'язану з будь-якою. Я маю на увазі це в практичному сенсі: впевнений, що, можливо, доведеться передавати менше даних, але я вважаю, що різниця у часі настінного годинника є незначною для всіх інших операційних програм, які роблять за цими даними.
Звичайно, я був би радий, якби хтось прийняв виклик, щоб довести мене неправильно!
Так само, як це стосується більшості загальних тверджень про числові схеми, відповідь залежить від точних обставин, на які ви дивитесь. Перш за все, переваги ГД щодо паралелізації в основному окупаються у випадку явних схем інтеграції в часі через
Незважаючи на те, що ці твердження застосовуються до загальних дискреціонерів DG, реальні програми HPC (скажімо, за допомогою декількох тисяч процесорів) потребують додаткових зусиль щодо стратегії паралелізації, щоб підтримувати хороше масштабування. Цей документ показує, наприклад, як можна досягти майже ідеального масштабування до однієї комірки на один процесор . Це, звичайно, не можна очікувати від безперервного FEM, але, як було сказано раніше, неявні схеми - це зовсім інша річ.
При складанні матриці жорсткості дані, що зберігаються в елементі безперервного (вузлового) FEM, повинні бути передані всім його вузловим сусідам. На відміну від цього, DGFEM вимагає, щоб дані елементів передавались усім своїм сусідам. У 1D вузлових і лицьових сусідів однакові, але в 3D різниця може бути досить великою: для звичайної шестигранної сітки існує 26 вузлових сусідів, але лише 6 сусідових лицьових. Для нерегулярних сіток з багатьма високими валентними вершинами ситуація погіршується для CG, тоді як вона залишається такою ж для DG.
DG для гіперболічного PDE може бути використаний в якості заміни схем кінцевих обсягів. У кінцевому обсязі, як і в кінцевій різниці, коли ви збільшуєте порядок схеми, ваш трафарет збільшується. Це ускладнює паралелізацію, оскільки для кожного порядку схеми ви маєте різний трафарет. На кордонах розділів потрібно переконатися, що всі необхідні комірки з сусіднього розділу для певного порядку схеми є доступними. Але з DG, незалежно від того, яким порядком є схема, кожна комірка спілкується лише зі своїми сусідами. Таким чином, порівняно між кінцевим об'ємом / різницею та ГД, можна сказати, що ГД легше паралелізувати.