Lis (knihovna lineární algebry) - Lis (linear algebra library)
![]() | |
Stabilní uvolnění | 2.0.27 / 3. prosince 2020 |
---|---|
Operační systém | Cross-platform |
K dispozici v | C, Fortran |
Typ | Softwarová knihovna |
Licence | Nová licence BSD |
webová stránka | www.ssisc.org/lis/ |
Lis (Knihovna iterativních řešičů pro lineární systémy, vyslovuje se [lis]) je a škálovatelné paralelní softwarová knihovna pro řešení diskriminován lineární rovnice a problémy s vlastním číslem které vznikají hlavně v numerické řešení z parciální diferenciální rovnice používáním iterační metody.[1][2][3] Přestože je knihovna určena pro paralelní počítače, lze ji používat, aniž byste si toho byli vědomi paralelní zpracování.
Funkce
Lis poskytuje zařízení pro:
- Automatická konfigurace programu
- NUMA vědomá hybridní implementace s MPI a OpenMP
- Vyměnitelné husté a řídká matice formáty úložiště
- Základní lineární algebra operace pro husté a řídké matice
- Paralelní iterační metody pro lineární rovnice a problémy s vlastním číslem
- Paralelní předpoklady pro iterační metody
- Čtyřnásobná přesnost plovoucí bod operace
- Analýza výkonu
- Rozhraní příkazového řádku řešitelům a referenčním hodnotám
Příklad
A C program pro řešení lineární rovnice se píše takto:
#zahrnout <stdio.h>#zahrnout "lis_config.h"#zahrnout „lis.h“LIS_INT hlavní(LIS_INT argc, char* argv[]){ LIS_MATRIX A; LIS_VECTOR b, X; LIS_SOLVER řešitel; LIS_INT iter; dvojnásobek čas; lis_initialize(&argc, &argv); lis_matrix_create(LIS_COMM_WORLD, &A); lis_vector_create(LIS_COMM_WORLD, &b); lis_vector_create(LIS_COMM_WORLD, &X); lis_input_matrix(A, argv[1]); lis_input_vector(b, argv[2]); lis_vector_duplicate(A, &X); lis_solver_create(&řešitel); lis_solver_set_optionC(řešitel); lis_solve(A, b, X, řešitel); lis_solver_get_iter(řešitel, &iter); lis_solver_get_time(řešitel, &čas); printf("počet iterací =% d n", iter); printf("uplynulý čas =% e n", čas); lis_output_vector(X, LIS_FMT_MM, argv[3]); lis_solver_destroy(řešitel); lis_matrix_destroy(A); lis_vector_destroy(b); lis_vector_destroy(X); lis_finalize(); vrátit se 0;}
Požadavky na systém
Instalace Lis vyžaduje kompilátor C. Rozhraní Fortran vyžaduje kompilátor Fortran a algebraický multigrid preconditioner vyžaduje kompilátor Fortran 90.[4] Pro paralelní výpočetní prostředí je vyžadována knihovna OpenMP nebo MPI. Oba Matrix Market a Harwell-Boeing formáty jsou podporovány pro import a export uživatelských dat.
Balíčky, které používají Lis
Viz také
- Seznam numerických knihoven
- Konjugovaná metoda přechodu
- Metoda stabilizovaná pomocí dvojitého konjugátu (BiCGSTAB)
- Zobecněná metoda minimálního rezidua (GMRES)
- Algoritmus vlastních čísel
- Lanczosův algoritmus
- Arnoldiho iterace
- Krylovský podprostor
- Multigridová metoda
Reference
- ^ Akira Nishida (2010). „Zkušenosti s vývojem škálovatelné softwarové infrastruktury s otevřeným zdrojem v Japonsku“. Výpočetní věda a její aplikace - ICCSA 2010. Přednášky z informatiky 6017. 6017. Springer. str. 87–98. doi:10.1007/978-3-642-12165-4_36. ISBN 978-3-642-12164-7.
- ^ Hisashi Kotakemori; Hidehiko Hasegawa; Tamito Kajiyama; Akira Nukada; Reiji Suda & Akira Nishida (2008). "Hodnocení výkonu paralelních řídkých maticových vektorových produktů na SGI Altix 3700". Paralelní programování sdílené paměti OpenMP. Přednášky z informatiky 4315. Springer. str. 153–163. doi:10.1007/978-3-540-68555-5_13. ISBN 978-3-540-68554-8.
- ^ Hisashi Kotakemori; Hidehiko Hasegawa a Akira Nishida (2005). "Hodnocení výkonu knihovny paralelních iteračních metod pomocí OpenMP". Sborník příspěvků z 8. mezinárodní konference o vysoce výkonných počítačích v asijsko-pacifickém regionu (HPC Asia 2005). IEEE. 432–436. doi:10.1109 / HPCASIA.2005.74. ISBN 0-7695-2486-9.
- ^ Akihiro Fujii; Akira Nishida & Yoshio Oyanagi (2005). "Vyhodnocení paralelních příkazů k vytvoření agregátu: vyhlazená agregační algebraická multigridová metoda". Vysoce výkonná výpočetní věda a inženýrství. Springer. 99–122. doi:10.1007/0-387-24049-7_6. ISBN 1-4419-3684-X.
externí odkazy
- Oficiální webové stránky
- Vývojové úložiště na GitHubu
- Jack Dongarra je volně dostupná stránka softwaru lineární algebry
- Úložiště Netlib (Se svolením Projekt Netlib )
- Balíčky Fedory (Se svolením Projekt Fedora )
- Balíčky Gentoo (Se svolením Projekt Gentoo Linux )
- AUR balíčky (Se svolením Arch Linuxová komunita )
- Balíčky FreeBSD (Se svolením Projekt FreeBSD )
- Balíčky pro Windows (S laskavým svolením projektu WHPC)
- Balíčky pro macOS (Homebrew) (Se svolením Projekt Homebrew )
- Balíčky pro macOS (MacPorts) (Se svolením Projekt MacPorts )