Her zaman kolay paralelleştirmenin DG yöntemlerinin avantajlarından biri olduğunu duydum, ancak bu nedenlerden herhangi birinin neden sürekli Galerkin için geçerli olmadığını gerçekten anlamıyorum.
Her zaman kolay paralelleştirmenin DG yöntemlerinin avantajlarından biri olduğunu duydum, ancak bu nedenlerden herhangi birinin neden sürekli Galerkin için geçerli olmadığını gerçekten anlamıyorum.
Yanıtlar:
DG yöntemlerinin paralel bir yöntem olarak daha fazla dikkat çekmesinin bir nedeni, yöntemin doğal olarak bir eleman için yerel olduğu kolayca görülebilir. DG yöntemlerindeki kuplaj zayıftır, çünkü sadece bitişik kenarlardan (veya 3B yüzeylerden) gerçekleşir. Yani, üçgenler veya dörtlüler için DG sırasıyla en fazla üç veya dört işlemciyle iletişim kuracaktır. CG yöntemleri eleman köşelerini içerdiğinden, elemanın köşesinin değeri önem kazanır. Kullanılan ağ üreticisine bağlı olarak, bu değerlik sekiz işlemci (muhtemelen daha yüksek) olabilir. Bu nedenle zaman türevini birleştirme maliyeti CG yöntemleri için "daha yüksek" olarak düşünülebilir. Bu, iletilecek bilgi hacminin oldukça büyük olabileceği (ve gecikme gizleme her bölümün boyutu küçüldükçe daha zor hale gelebilir) spektral yöntemler için özellikle endişe vericidir.
Ancak CG'nin zaman türevini bir araya getirmesi için bu ekstra maliyet, farklı bir yük dengeleme stratejisi ile telafi edilebilir. Farklı mesh bölümleme stratejileri (METIS ile en çok çiftlik yapıyorum) kullanıcının yükü çeşitli metriklerle dengelemesine izin verir, örneğin, her partitiomun yaklaşık aynı sayıda öğeye sahip olmasını sağlamak veya bölümler arasındaki iletişim miktarını sınırlamak. DG'nin kolokisiumunun kolayca paralel hale getirilmesinin bir sebebinin, sorunun eşit parçalara naif bir şekilde bölünmesinin, önbellek etkileri nedeniyle bazı durumlarda süper doğrusal hızlanma bile olsa çok verimli bir paralel uygulama sağlayabilmesidir (bkz. Örneğin Baggag ve ark. . veya Altmann ve. diğ.). CG ise daha akıllı bir bölümleme yöntemi gerektirebilir. Bu nedenle, örneğin DG'den CG'ye uzaysal ayrıklaştırmaların değiştirilmesi, birinin ağın alt problemlere nasıl bölüneceğini yeniden düşünmesini gerektirebilir.
Uzun yıllar FEM yazılımını yazdığımdan, DG şemalarının CG şemalarına göre paralelleşmeye daha uygun olduğu ifadesinin kıyamet olduğuna inanıyorum. DG makalelerinin tanıtımlarında, DG yöntemleri için bir gerekçe olarak sıklıkla kullanılır, ancak bunu soruyu gerçekten araştıran bir referansla doğruladığımı hiç görmedim. "Kriptografiyi" daha geniş bir etki alanı olarak nitelendiren bir sayı teorisi projesindeki her NSF önerisine benzer, bu genellikte hiçbir zaman doğrulanmayan bir ifade.
Aslında, açık zaman adımlama şemaları ve muhtemelen bir kitle matrisini tersine çevirmeniz gereken problemler dışında, DG şemalarının biri de iletişimin maliyetini araştırırsa CG şemalarından daha iyi veya daha kötü olmadığına inanıyorum. Bunun pratik anlamda olmasını kastediyorum: elbette, daha az veri iletmek zorunda kalabilir, ancak wallclock zamanındaki farkın, bu verilerdeki diğer tüm işlem programları için ihmal edilebilir olduğunu hayal ediyorum.
Tabii ki, birisi beni yanlış kanıtlamak için meydan okuduysa sevinirim!
Sayısal şemalarla ilgili çoğu genel ifadede olduğu gibi, cevap tam olarak aradığınız koşullara bağlıdır. Her şeyden önce, Genel Müdürlüğün paralelleştirmeyle ilgili avantajları, esasen açık zaman entegrasyon şemaları nedeniyle
Bu ifadeler genel DG takdir yetkileri için geçerli olmakla birlikte, gerçek HPC uygulamaları (örneğin, birkaç bin işlemci kullanarak), iyi bir ölçeklendirme sağlamak için paralelleştirme stratejisi konusunda biraz daha çaba gerektirir. Bu makale, örneğin, işlemci başına bir hücreye kadar neredeyse mükemmel ölçeklendirmeyi nasıl başarabildiğini göstermektedir . Bu kesinlikle sürekli bir FEM'den bekleyemeyeceğiniz bir şeydir, ancak daha önce de belirtildiği gibi, örtük şemalar tamamen farklı bir şeydir.
Bir sertlik matrisi monte edilirken, sürekli (düğüm) FEM'de bir elemanda depolanan verilerin tüm düğüm komşularına iletilmesi gerekir. Buna karşılık DGFEM, eleman verilerinin tüm yüz komşularına iletilmesini gerektirir. 1D düğüm ve yüz komşuları aynıdır, ancak 3D'de fark oldukça büyük olabilir: Düzenli bir altı yüzlü örgü için 26 düğüm komşusu vardır, ancak sadece 6 yüz komşusu vardır. Birçok yüksek değerlikli köşeye sahip düzensiz ağlar için durum CG için daha da kötüleşirken, DG için aynı kalır.
Hiperbolik PDE için DG, sonlu hacim şemalarının yerine kullanılabilir. Sonlu farktaki gibi sonlu hacimde, şemanın sırasını arttırdığınızda, şablonunuz artar. Bu, paralelleştirmeyi daha zor hale getirir, çünkü her şema sırası için farklı şablonunuz vardır. Bölüm sınırlarında, şemanın belirli sırası için komşu bölümden gerekli tüm hücrelerin kullanılabilir olduğundan emin olmalısınız. Ancak DG ile, şema hangi sırada olursa olsun, her hücre sadece yüz komşularıyla iletişim kurar. Dolayısıyla, sonlu hacim / fark ve DG arasında karşılaştırıldığında, DG'nin paralel hale getirilmesinin daha kolay olduğu söylenebilir.