Свободные библиотеки в вычислительных задачах (Пётр Демин, OSEDUCONF-2016) — различия между версиями
Материал из 0x1.tv
StasFomin (обсуждение | вклад) (Новая страница: «== Аннотация == ;Докладчик: {{Speaker|Пётр Демин}} <blockquote> Представлен опыт совместного использо…») |
StasFomin (обсуждение | вклад) |
||
== Слайды == [[File:Свободные библиотеки в вычислительных задачах (Пётр Демин, OSEDUCONF-2016).pdf|left|page=-|256px]] {{----}} <!-- == Тезисы == --> При решении вычислительных задач основными языками программирования, позволяющими разрабатывать быстродействующие приложения являются С(С++) и Фортран. Кроме стандартных средств языков программирования, в этих языках реализованы современные технологии параллельного программирования. Это позволяет использовать С и Фортран не только для решения задач на локальном персональном компьютере, но и при реализации задач на вычислительных кластерах. В современных свободных компиляторах (gcc, g++, gfortran) реализованы все возможности современных языков С и Фортран. Компиляторы gcc, gfortran используются на всех современных кластерах наряду с компиляторами Intel. При решении вычислительных задач пользователь может столкнуться с несколькими проблемами: * разработка и реализация высокоэффективных алгоритмов вычислительной математики; * достижение достаточной точности вычислений; * кросс-платформная реализация графического вывода результатов. Имеет смысл использовать свободную научную библиотеку языка С GSL 1 при реализации алгоритмов вычислительной математики. Библиотека позволяет решать: * некоторые задачи линейной алгебры (арифметические операции с матрицами (векторами) и поэлементное произведение, LU- и QR-разложение, нахождение собственных чисел и векторов); * задачи локальной оптимизации (метод золотого сечения, метод Брента одномерной оптимизации и градиентные методы многомерной оптимизации Флетчера-Ривса, Полак-Райбьера и др.); * задачи статистики (генерация и работа со случайными и квазислучайными последовательностями, нормальное распределение, распределение Пуассона и др); * задачи численного интегрирования (в основе метод Гаусса-Кронрода с различным количеством точек, есть алгоритм с исключением особых точек, функция вычисления интеграла для колебательных функций, функция вычисления интеграла Фурье и др.); * задачи с комплексными числами(арифметические операции, модуль, аргумент, поиск сопряженного, обратного, противоположного по знаку, озведение в степень, вычисление тригонометрических функций от комплексного числа и др); * производить сортировку(пирамидальная сортировка) элементов массива (вектора). Библиотека GSL предоставляет свой интерфейс для доступа к базовой библиотеке векторных и матричных операций blas. Существует интерфейс для использования библиотеки при написании программ на Фортране 2. == Примечания и отзывы == <!-- <blockquote>[©]</blockquote> --> <references/> [[Category:OSEDUCONF-2016]] [[Category:Образование]] [[Category:Open-source]] <!-- topub --> |
Версия 18:51, 7 марта 2016
Содержание
Аннотация
- Докладчик
- Пётр Демин
Представлен опыт совместного использования компиляторов g++, gfortran и свободных математических библиотек для решения вычислительных задач. Особое внимание уделено решению вычислительных задач высокой точности. Рассмотрены возможности библиотек mpfr и c-xsc. Также представлены программные средства, позволяющие использовать графические возможности gnuplot.
Видео
Слайды
Тезисы
При решении вычислительных задач основными языками программирования, позволяющими разрабатывать быстродействующие приложения являются С(С++) и Фортран.
Кроме стандартных средств языков программирования, в этих языках реализованы современные технологии параллельного программирования. Это позволяет использовать С и Фортран не только для решения задач на локальном персональном компьютере, но и при реализации задач на вычислительных кластерах.
В современных свободных компиляторах (gcc, g++, gfortran) реализованы все возможности современных языков С и Фортран. Компиляторы gcc, gfortran используются на всех современных кластерах наряду с компиляторами Intel. При решении вычислительных задач пользователь может столкнуться с несколькими проблемами:
- разработка и реализация высокоэффективных алгоритмов вычислительной математики;
- достижение достаточной точности вычислений;
- кросс-платформная реализация графического вывода результатов.
Имеет смысл использовать свободную научную библиотеку языка С GSL 1 при реализации алгоритмов вычислительной математики. Библиотека позволяет решать:
- некоторые задачи линейной алгебры (арифметические операции с матрицами (векторами) и поэлементное произведение, LU- и QR-разложение, нахождение собственных чисел и векторов);
- задачи локальной оптимизации (метод золотого сечения, метод Брента одномерной оптимизации и градиентные методы многомерной оптимизации Флетчера-Ривса, Полак-Райбьера и др.);
- задачи статистики (генерация и работа со случайными и квазислучайными последовательностями, нормальное распределение, распределение Пуассона и др);
- задачи численного интегрирования (в основе метод Гаусса-Кронрода с различным количеством точек, есть алгоритм с исключением особых точек, функция вычисления интеграла для колебательных функций, функция вычисления интеграла Фурье и др.);
- задачи с комплексными числами(арифметические операции, модуль, аргумент, поиск сопряженного, обратного, противоположного по знаку, озведение в степень, вычисление тригонометрических функций от комплексного числа и др);
- производить сортировку(пирамидальная сортировка) элементов массива (вектора).
Библиотека GSL предоставляет свой интерфейс для доступа к базовой библиотеке векторных и матричных операций blas. Существует интерфейс для использования библиотеки при написании программ на Фортране 2.