Superpočítání pro průmysl www.it4i.cz

ESPRESO

ESPRESO (ExaScale PaRallel FETI SOlver)  je nový iterační řešič pro Exascale systémy vyvíjený na IT4Innovations v rámci mezinárodního projektu EXA2CT. Hlavním cílem je vytvořit paralelní řešič, založený na Hybridní FETI metodě, který bude schopen využít potenciálu nových superpočítačů obsahujících desítky až stovky tisíc výpočetních jader. ESPRESO používá komunikační vrstvu (založenou na MPI) vyvinutou a optimalizovanou speciálně pro FETI metody. Pro zlepšení škálovatelnosti řešiče, používá komunikační vrstva několik nových algoritmů, určených k redukci komunikace a překrývání komunikace s výpočty.

ESPRESO je implementováno v C++ a je nezávislé na použitém kompilátoru nebo MPI implementaci. Nejlepšího výkonu přesto dosahuje s Intel kompilátorem. Jediná použitá knihovna je Intel MKL, konkrétně pak její BLAS funkce pro husté a řídké matice a přímý řešič (PARDISO). ESPRESO používá tři úrovně paralelizace: 1.) MPI mezi uzly, 2.) Cilk++ vlákna uvnitř uzlů a 3.) vektorizaci pomocí MKL knihovny nebo Cilk++ uvnitř jader. Podpora pro Intel Xeon Phi akcelerátory je zaručena při použití Intel kompilátoru a Intel MPI.

Současná verze řešiče v kombinaci s paralelním generátore PermonCUBE, vyvíjeným také na IT4Innovations, byla otestována na několika evropských superpočítačích. Největší testy proběhly na superpočítačích Hermit (HLRS, Německo) a Cartesius (SurfSara, Holandsko). Na prvním jmenovaném byla řešena úloha o velikosti 1 miliardy běžící na 9261 procesorových jádrech. Druhý jmenovaný vyřešil úlohu o velikosti 1.6 miliardy s použitím 8000 jader. V obou případech mělo každé jádro přiděleno jednu subdoménou. Všechny tyto testy v používaly pouze základní Total FETI metodu. Při použití Hybridní FETI metody počítáme s dekompozicí na desítky až stovky subdomén i díky hybridní paralelizaci s použití kombinace MPI + Cilk++ a tedy dalším růstem celkové velikosti úlohy.

Autoři:

Partneři