Sayısal PDE'de daha yüksek hassasiyetli kayan nokta aritmetiği


9

Çok farklı kaynaklardan ve araştırmalarla yapılan görüşmelerden, sayısal kısmi diferansiyel denklemlerde yüksek hassasiyetli hesaplamalar için artan bir talep olduğu izlenimine sahibim. Burada yüksek hassasiyet, standart 64bit çift hassasiyetten daha fazla hassasiyet anlamına gelir.

Bu konunun son teknolojisini merak ediyorum. Karşılaştırma yoluyla, sayısal PDE'de, özellikle çok çekirdekli yöntemler, büyük ölçekli paralelleştirme veya GPU-hesaplama gibi özel olarak hedeflenen komünitler vardır. Benzer bir topluluğun var olup olmadığını veya sayısal PDE'de yüksek hassasiyetli yöntemler için büyümekte olup olmadığını merak ediyorum ve yüksek hassasiyetle ilgili tanıtım veya anket belgelerinde özellikle bir izlenim sağlayan ilgimi çekecek (ve bu sorunun asıl noktası). konunun gerçek alaka düzeyidir.

Yanıtlar:


16

Sürekli ortam PDE'lerinin ayrıklaştırılması genellikle sonlu hassasiyetten çok daha fazla hata yapar. Daha yüksek hassasiyet isteyen insanların yaklaşık% 90'ının problem formülasyonu ile tembel olduğunu ve zayıf ölçekleme, kötü takdir yetkileri veya kötü sürekli modelleme kullanarak bir sorunu çözmeye çalıştıklarını görüyorum. Kalan% 10'luk kesimde hassasiyetin gerçekten mantıklı olduğu haklı olarak kötü koşullandırılmış sistemler olabilir. Bu durumlarda bile, çoğunlukla hata ayıklama aracı olarak (özellikle sonlu farklı Frechet türevlerini kullanan yöntemlerle birlikte ve "sahte" sayısal boş alanların nedenini araştırmak için) veya yerel olarak çok hassas bir işlem için üretim için büyük ölçekli.

GCC, __float1284.6 sürümünden beri sağlanmıştır , bu nedenle denemesi çok kolaydır. (Daha önceki uygulamalar genellikle çok daha müdahaleci ve daha az taşınabilirdi.) PETSc, --with-precision=__float128sürüm 3.2'den beri destekledi, bu yüzden sadece yeniden derleme meselesi.


Sağ. Ve Fortran, dört hassasiyet elde etmek için dp = 16 (gfortran için) ayarlayabildiği gerçek (dp) değerine sahiptir, bu yüzden denemek çok kolaydır.
Ondřej Čertík

9

Deal.II projesi (http://www.dealii.org/) şeklinde FEM yazılımını sağladığımız 15 yıl içinde, PDE'leri çözmek için gerçek bir talebimiz olduğunu düşünmüyorum. çifte kesinlikten daha yüksek doğruluk. Nedeni, Jed'in diğer cevapta önerdiği gibi: PDE'nin ayrıklaştırılmasını sağlayan hata, birinin çift kesinlikli kayan nokta aritmetiğinden aldığı 16 doğruluk rakamından çok daha büyük. Böylece, genel hatayı etkilemek için aritmetikte daha fazla doğruluğa ihtiyaç duyduğunuz noktaya ulaşmak için inanılmaz derecede ince bir ağa sahip olmanız gerekir.

Aslında bunun tam tersinin doğru olduğunu düşünüyorum: İnsanlar, örneğin, matris veya önkoşulların öğelerini saklamak için tek bir hassasiyet kullandığınızda ne olacağını düşünüyor (ve üzerinde çalışıyorlar). Genel olarak, bu doğruluklarını önemli ölçüde azaltmaz, ancak bellekten işlemciye sadece yarısı kadar veri olması gerektiğinden performansı kabaca iki kat artırır.

Yani, benim hissim dört hassasiyet (veya daha yüksek) ODE çözücü topluluğuyla ilgili olabilir, ancak PDE topluluğuyla değil.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.