Свободные библиотеки в вычислительных задачах (Пётр Демин, OSEDUCONF-2016) — различия между версиями

Материал из 0x1.tv

(Тезисы)
В современных свободных компиляторах (gcc, g++, gfortran) реализованы все возможности современных языков С и Фортран.
Компиляторы gcc, gfortran используются на всех современных кластерах наряду с компиляторами Intel.
При решении вычислительных задач пользователь может столкнуться с несколькими проблемами:
* разработка и реализация высокоэффективных алгоритмов вычислительной математики;
* достижение достаточной точности вычислений;
* кросс-платформная реализация графического вывода результатов.

Имеет смысл использовать свободную научную библиотеку языка С GSL<ref>GNU Scientific Library  http://www.gnu.org/software/gsl/</ref> 1 при реализации алгоритмов вычислительной математики.

Библиотека позволяет решать:
* некоторые задачи линейной алгебры (арифметические операции с матрицами (векторами) и поэлементное произведение, LU- и QR-разложение, нахождение собственных чисел и векторов);
* задачи локальной оптимизации (метод золотого сечения, метод Брента одномерной оптимизации и градиентные методы многомерной оптимизации Флетчера-Ривса, Полак-Райбьера и др.);
* задачи статистики (генерация и работа со случайными и квазислучайными последовательностями, нормальное распределение, распределение Пуассона и др);
* задачи  численного  интегрирования  (в  основе  метод  Гаусса-Кронрода с различным количеством точек, есть алгоритм с исключением особых точек, функция вычисления интеграла для колебательных функций, функция вычисления интеграла Фурье и др.);
* задачи с комплексными числами(арифметические операции, модуль, аргумент, поиск сопряженного, обратного, противоположного по знаку, озведение в степень, вычисление тригонометрических функций от комплексного числа и др);
* производить сортировку(пирамидальная сортировка) элементов массива (вектора).

Библиотека GSL предоставляет свой интерфейс для доступа к базовой библиотеке векторных и матричных операций blas.
Существует интерфейс для использования библиотеки при написании программ на [http://www.lrz.de/services/software/mathematik/gsl/fortran/ Фортране 2].

== Примечания и отзывы ==
<!-- <blockquote>[©]</blockquote> -->

<references/>

[[Category:OSEDUCONF-2016]]
[[Category:Образование]]
[[Category:Open-source]]

<!-- topub -->

Версия 18:52, 7 марта 2016

Аннотация

Докладчик
Пётр Демин.jpg
Пётр Демин

Представлен опыт совместного использования компиляторов g++, gfortran и свободных математических библиотек для решения вычислительных задач. Особое внимание уделено решению вычислительных задач высокой точности. Рассмотрены возможности библиотек mpfr и c-xsc. Также представлены программные средства, позволяющие использовать графические возможности gnuplot.

Видео


Слайды

Свободные библиотеки в вычислительных задачах (Пётр Демин, OSEDUCONF-2016).pdf Свободные библиотеки в вычислительных задачах (Пётр Демин, OSEDUCONF-2016).pdf Свободные библиотеки в вычислительных задачах (Пётр Демин, OSEDUCONF-2016).pdf Свободные библиотеки в вычислительных задачах (Пётр Демин, OSEDUCONF-2016).pdf Свободные библиотеки в вычислительных задачах (Пётр Демин, OSEDUCONF-2016).pdf Свободные библиотеки в вычислительных задачах (Пётр Демин, OSEDUCONF-2016).pdf Свободные библиотеки в вычислительных задачах (Пётр Демин, OSEDUCONF-2016).pdf Свободные библиотеки в вычислительных задачах (Пётр Демин, OSEDUCONF-2016).pdf Свободные библиотеки в вычислительных задачах (Пётр Демин, OSEDUCONF-2016).pdf Свободные библиотеки в вычислительных задачах (Пётр Демин, OSEDUCONF-2016).pdf Свободные библиотеки в вычислительных задачах (Пётр Демин, OSEDUCONF-2016).pdf Свободные библиотеки в вычислительных задачах (Пётр Демин, OSEDUCONF-2016).pdf Свободные библиотеки в вычислительных задачах (Пётр Демин, OSEDUCONF-2016).pdf Свободные библиотеки в вычислительных задачах (Пётр Демин, OSEDUCONF-2016).pdf Свободные библиотеки в вычислительных задачах (Пётр Демин, OSEDUCONF-2016).pdf Свободные библиотеки в вычислительных задачах (Пётр Демин, OSEDUCONF-2016).pdf Свободные библиотеки в вычислительных задачах (Пётр Демин, OSEDUCONF-2016).pdf Свободные библиотеки в вычислительных задачах (Пётр Демин, OSEDUCONF-2016).pdf Свободные библиотеки в вычислительных задачах (Пётр Демин, OSEDUCONF-2016).pdf Свободные библиотеки в вычислительных задачах (Пётр Демин, OSEDUCONF-2016).pdf Свободные библиотеки в вычислительных задачах (Пётр Демин, OSEDUCONF-2016).pdf Свободные библиотеки в вычислительных задачах (Пётр Демин, OSEDUCONF-2016).pdf Свободные библиотеки в вычислительных задачах (Пётр Демин, OSEDUCONF-2016).pdf Свободные библиотеки в вычислительных задачах (Пётр Демин, OSEDUCONF-2016).pdf Свободные библиотеки в вычислительных задачах (Пётр Демин, OSEDUCONF-2016).pdf Свободные библиотеки в вычислительных задачах (Пётр Демин, OSEDUCONF-2016).pdf Свободные библиотеки в вычислительных задачах (Пётр Демин, OSEDUCONF-2016).pdf Свободные библиотеки в вычислительных задачах (Пётр Демин, OSEDUCONF-2016).pdf Свободные библиотеки в вычислительных задачах (Пётр Демин, OSEDUCONF-2016).pdf

Тезисы

При решении вычислительных задач основными языками программирования, позволяющими разрабатывать быстродействующие приложения являются С(С++) и Фортран.

Кроме стандартных средств языков программирования, в этих языках реализованы современные технологии параллельного программирования. Это позволяет использовать С и Фортран не только для решения задач на локальном персональном компьютере, но и при реализации задач на вычислительных кластерах.

В современных свободных компиляторах (gcc, g++, gfortran) реализованы все возможности современных языков С и Фортран. Компиляторы gcc, gfortran используются на всех современных кластерах наряду с компиляторами Intel. При решении вычислительных задач пользователь может столкнуться с несколькими проблемами:

  • разработка и реализация высокоэффективных алгоритмов вычислительной математики;
  • достижение достаточной точности вычислений;
  • кросс-платформная реализация графического вывода результатов.

Имеет смысл использовать свободную научную библиотеку языка С GSL[1] при реализации алгоритмов вычислительной математики.

Библиотека позволяет решать:

  • некоторые задачи линейной алгебры (арифметические операции с матрицами (векторами) и поэлементное произведение, LU- и QR-разложение, нахождение собственных чисел и векторов);
  • задачи локальной оптимизации (метод золотого сечения, метод Брента одномерной оптимизации и градиентные методы многомерной оптимизации Флетчера-Ривса, Полак-Райбьера и др.);
  • задачи статистики (генерация и работа со случайными и квазислучайными последовательностями, нормальное распределение, распределение Пуассона и др);
  • задачи численного интегрирования (в основе метод Гаусса-Кронрода с различным количеством точек, есть алгоритм с исключением особых точек, функция вычисления интеграла для колебательных функций, функция вычисления интеграла Фурье и др.);
  • задачи с комплексными числами(арифметические операции, модуль, аргумент, поиск сопряженного, обратного, противоположного по знаку, озведение в степень, вычисление тригонометрических функций от комплексного числа и др);
  • производить сортировку(пирамидальная сортировка) элементов массива (вектора).

Библиотека GSL предоставляет свой интерфейс для доступа к базовой библиотеке векторных и матричных операций blas. Существует интерфейс для использования библиотеки при написании программ на Фортране.

Примечания и отзывы

  1. GNU Scientific Library — http://www.gnu.org/software/gsl/