Heterojen Çok Ölçekli Metodu (HMM) kullanarak çok ölçekli bir problemi çözüyorum . Esasen, benim özel prosedür aşağıdaki yinelemeli süreci kullanır:
- Birçok yerel matris sistemini çözün.
- Yerel sistemlerin çözümlerinden ilgilenilen bir değeri hesaplayın.
- Yerel "ilgilenilen değerlerden" global bir matris sistemi oluşturun
- Global matris sistemini çözme
- Yeni yerel matris sistemleri oluşturmak için global matris sisteminin çözümünü kullanın.
Bazı yakınsama kriterleri sağlanana kadar tekrarlayın.
Birçok yerel (bağımsız) denklem sistemi olduğundan ve birden fazla sistem yerel RAM belleğine sığabileceğinden, her işlemciye birden çok "yerel" sistem yüklemek ve her sistemi sırayla çözmek en iyisidir ( bu yayınlanan soruya bakın ).
Sorum, küresel matris sistemini bir araya getirmek ve çözmek için en iyi stratejiyi ele alıyor. Benim özel durumumda, küresel matris sistemi, herhangi bir işlemcinin RAM belleğine tamamen sığabilecek kadar küçük. Ayrıca, yerel ve global matrisler yinelemeler arasındaki boyutu değiştirmez. Bu nedenle, üç olası stratejiden birini öngörüyorum:
- "İlgilenilen değerleri" tek bir işlemcide toplayın ve küresel matris sistemini sırayla tek bir işlemcide birleştirin / çözün.
- İlgilenilen değerleri her işlemciye kopyalayın ve aynı global matris sistemini her işlemcide sırayla birleştirin / çözün.
- Her bir işlemcinin, küresel matrisin bitişik bloklarını üretmek için gerekli olan "ilgilenilen değerlere" sahip olduğunu varsayarsak, küresel matrisin bölümlerini yerel olarak birleştirebilir, sonra bunları paralel olarak çözebiliriz.
Her yöntemin bazı avantajlarını / dezavantajlarını görebiliyorum. Yöntem 1'de, çözme aşamasında iletişim gerekli değildir, ancak kök işlemciye ve kök işlemciden iletişim bir darboğaz haline gelebilir (özellikle ölçekte). Yöntem 2, küresel matrisi monte etmek için birinci yöntemden daha fazla işlemci arası iletişim gerektirebilir, ancak çözme aşamasında veya aşağıdaki yerel matris montaj aşamasında herhangi bir iletişim gerekmez. Yöntem 3, yerel veya global matrislerin birleştirilmesi için işlemci arası iletişim gerektirmez, ancak çözme aşamasında gerektirir.
Her yerel sistemin x düzeyinde olduğunu ve x yerel matris sistemi olduğunu varsayalım . Ayrıca, global matris sisteminin x boyutuna sahip olduğunu varsayalım . Bu varsayımlar altında, yukarıda bahsedilen üç stratejiden hangisi küresel sistemin daha hızlı bir çözümüne yol açacaktır? Global matris için yineleme başına daha hızlı çalışabilecek başka haritalama stratejileri var mı?10 3 10 3 10 3 10 3