Лис (сызықтық алгебра кітапханасы) - Lis (linear algebra library)

Лис
Ирис экраны 1.jpg
Тұрақты шығарылым
2.0.27 / 3 желтоқсан 2020 ж (2020-12-03)
Операциялық жүйеКросс-платформа
Қол жетімдіC, Фортран
ТүріБағдарламалық жасақтама
ЛицензияЖаңа BSD лицензиясы
Веб-сайтwww.ssisc.org/lis/

Лис (Итеративті шешушілердің кітапханасы сызықтық жүйелер үшін [lis]) айтылатын а ауқымды параллель шешуге арналған бағдарламалық кітапхана дискретті сызықтық теңдеулер және өзіндік құндылық проблемалары негізінен пайда болады сандық шешім туралы дербес дифференциалдық теңдеулер пайдалану арқылы қайталанатын әдістер.[1][2][3] Ол параллель компьютерлерге арналған болса да, кітапхананы санасыз пайдалануға болады параллель өңдеу.

Ерекшеліктер

Лис мыналарды қамтамасыз етеді:

Мысал

A C сызықтық теңдеуді шешуге арналған бағдарлама келесідей жазылады:

# қосу <stdio.h># қосу «lis_config.h»# қосу «lis.h»LIS_INT негізгі(LIS_INT аргум, char* аргв[]){  LIS_MATRIX  A;  LIS_VECTOR  б, х;  LIS_SOLVER  шешуші;  LIS_INT     итер;  екі есе      уақыт;  лицензиялау(&аргум, &аргв);  lis_matrix_create(LIS_COMM_WORLD, &A);  lis_vector_create(LIS_COMM_WORLD, &б);  lis_vector_create(LIS_COMM_WORLD, &х);  lis_input_matrix(A, аргв[1]);  lis_input_vector(б, аргв[2]);  лицензия_векторы_көшірме(A, &х);  lis_solver_create(&шешуші);  lis_solver_set_optionC(шешуші);  еріту(A, б, х, шешуші);  lis_solver_get_iter(шешуші, &итер);  lis_solver_get_time(шешуші, &уақыт);  printf(«қайталану саны =% d n", итер);  printf(«өткен уақыт =% e n", уақыт);  lis_output_vector(х, LIS_FMT_MM, аргв[3]);  lis_solver_destroy(шешуші);  lis_matrix_destroy(A);  lis_vector_destroy(б);  lis_vector_destroy(х);  ақырғы();  қайту 0;}

Жүйеге қойылатын талаптар

Орнату Лис C компиляторы қажет. Fortran интерфейсі үшін Fortran компиляторы қажет, және алгебралық көп өлшемді алғышарт Fortran 90 компиляторын қажет етеді.[4] Параллельді есептеу орталары үшін OpenMP немесе MPI кітапханасы қажет. Екі Матрица нарығы және Harwell-Boeing пайдаланушы деректерін импорттауға және экспорттауға форматтарға қолдау көрсетіледі.

Lis қолданатын пакеттер

Сондай-ақ қараңыз

Әдебиеттер тізімі

  1. ^ Акира Нишида (2010). «Жапонияда ашық көзді масштабталатын бағдарламалық жасақтама инфрақұрылымын дамыту тәжірибесі». Есептеу ғылымы және оның қолданылуы - ICCSA 2010. Информатикадағы дәріс жазбалары 6017. 6017. Спрингер. 87-98 бет. дои:10.1007/978-3-642-12165-4_36. ISBN  978-3-642-12164-7.
  2. ^ Хисаши Котакемори; Хидехико Хасегава; Тамито Каджияма; Акира Нукада; Рейджи Суда және Акира Нишида (2008). «SGI Altix 3700 параллель сирек матрицалық-векторлық өнімнің өнімділігін бағалау». Параллельді бағдарламалау. Информатикадағы дәрістер 4315. Спрингер. 153–163 бет. дои:10.1007/978-3-540-68555-5_13. ISBN  978-3-540-68554-8.
  3. ^ Хисаши Котакемори; Хидехико Хасегава және Акира Нишида (2005). «OpenMP көмегімен параллельді итерациялық әдіс кітапханасының жұмысын бағалау». Азия-Тынық мұхиты аймағындағы өнімділігі жоғары есептеулер бойынша 8-ші халықаралық конференция материалдары (HPC Asia 2005). IEEE. 432-436 бб. дои:10.1109 / HPCASIA.2005.74. ISBN  0-7695-2486-9.
  4. ^ Акихиро Фудзии; Акира Нишида және Ёшио Оянаги (2005). «Параллельді агрегат құру тапсырыстарын бағалау: тегіс жинақтау алгебралық көп өлшемді әдіс». Есептеу ғылымы және техникасы. Спрингер. 99–122 бб. дои:10.1007/0-387-24049-7_6. ISBN  1-4419-3684-X.

Сыртқы сілтемелер