답변:
병렬 방법으로 DG 방법이 더 많은 관심을받을 수있는 한 가지 이유는이 방법이 본질적으로 요소에 국한된다는 것을 쉽게 알 수 있기 때문입니다. DG 방법의 커플 링은 인접한 모서리 (또는 3D면)를 통해서만 발생하므로 약합니다. 따라서 삼각형 또는 쿼드의 경우 DG는 최대 3 ~ 4 개의 프로세서와 각각 통신합니다. CG 방법에는 요소 모서리가 포함되지만 요소 모서리의 원자가는 중요합니다. 사용 된 메시 생성기에 따라이 원자가는 8 개의 프로세서 (아마도 더 높을 수 있음) 일 수 있습니다. 따라서 시간 미분을 조립하는 비용은 CG 방법에 대해 "더 높은"것으로 간주 될 수 있습니다. 이것은 통신 할 정보의 양이 상당히 클 수있는 (각 파티션의 크기가 줄어듦에 따라 대기 시간 숨기기가 더 어려워 질 수있는) 스펙트럼 방법의 경우 특히 중요합니다.
그러나 CG가 시간 파생 상품을 조립하는 데 필요한 추가 비용은 다른로드 밸런싱 전략으로 보상 할 수 있습니다. 다른 메시 파티셔닝 전략 (METIS를 사용하는 대부분의 농사)은 사용자가 다양한 메트릭을 통해로드 밸런스를 조정할 수 있도록합니다. DG의 구어체가 쉽게 병렬화 될 수있는 이유는 문제를 동일한 조각으로 나눈다는 것은 매우 효율적인 병렬 구현을 제공 할 수 있고 캐시 효과로 인해 특정 경우에 슈퍼 선형 속도 향상을 제공 할 수 있기 때문입니다 (예 : Baggag et al. . 또는 알트 등. 알.). CG는보다 영리한 파티셔닝 방법이 필요할 수 있습니다. 따라서 공간 이산화를 DG에서 CG로 변경하면 메시를 하위 문제로 나누는 방법도 재고해야 할 수도 있습니다.
수년 동안 FEM 소프트웨어를 작성하면서 DG 체계가 CG 체계보다 병렬화에 더 적합하다는 진술이 묵시적이라고 생각합니다. DG 논문의 도입에 DG 방법에 대한 정당화로 자주 사용되지만 실제로 질문을 조사한 참고 문헌으로 입증 된 적이 없습니다. 이는 "암호화"를 광범위한 영향의 영역으로 언급하는 수많은 이론 프로젝트에 대한 모든 NSF 제안과 유사합니다.
사실, 나는 명백한 시간 스텝핑 체계와 질량 행렬을 뒤집어 야하는 문제를 제외하고는 DG 체계가 CG 체계보다 나쁘거나 나쁘지 않다고 생각합니다. 나는 이것이 실제적인 의미라는 것을 의미합니다. 물론, 적은 데이터를 통신해야 할 수도 있지만 벽시계 시간의 차이 가이 데이터에 대한 다른 모든 작업 프로그램에서 무시할 수 있다고 상상할 것입니다.
물론, 누군가가 나를 잘못 증명하기 위해 도전을했다면 기뻐할 것입니다!
수치 체계에 대한 가장 일반적인 진술과 마찬가지로 대답은보고있는 정확한 상황에 달려 있습니다. 우선, 병렬화에 관한 DG의 장점은 주로 명시적인 시간 통합 체계의 경우에 지불합니다.
이러한 설명은 일반적인 DG 이산화에 적용되지만 실제 HPC 응용 프로그램 (예 : 수천 개의 프로세서 사용)은 우수한 확장 성을 유지하기 위해 병렬화 전략에 대해 더 많은 노력이 필요합니다. 예를 들어이 백서는 프로세서 당 최대 하나의 셀 까지 거의 완벽하게 확장하는 방법을 보여줍니다 . 이것은 지속적인 FEM에서 기대할 수없는 것이지만, 앞에서 언급했듯이 암시 적 체계는 완전히 다릅니다.
강성 매트릭스를 조립할 때 연속 (노달) FEM으로 요소에 저장된 데이터는 모든 노달 이웃과 통신해야합니다. 대조적으로, DGFEM은 요소 데이터가 모든 얼굴 이웃들과 통신 될 것을 요구한다. 1D 노드와면 이웃은 동일하지만 3D에서는 그 차이가 상당히 클 수 있습니다. 규칙적인 육면체 메쉬의 경우 26 개의 노드 이웃이 있지만 6 개의면 이웃 만 있습니다. 원자가 정점이 많은 불규칙 메시의 경우 CG의 상황이 악화되는 반면 DG의 경우 동일하게 유지됩니다.