Lis (knihovna lineární algebry) - Lis (linear algebra library)

Lis
Obrazovka kosatců 1.jpg
Stabilní uvolnění
2.0.27 / 3. prosince 2020 (2020-12-03)
Operační systémCross-platform
K dispozici vC, Fortran
TypSoftwarová knihovna
LicenceNová licence BSD
webová stránkawww.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:

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é

Reference

  1. ^ 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.
  2. ^ 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.
  3. ^ 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.
  4. ^ 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