You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/chapter-03.tex
+20Lines changed: 20 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -74,6 +74,26 @@ \section{Разработчики других библиотек в PySATL}
74
74
К тому же, многие из математических пакетов, предоставляющих редкие, но нужные функции, являются либо проприетарными, либо с вирусными лицензиями. Использование и тех, и других, не подходит под лицензионные ограничения; создание единого интерфейса для математических утилит позволяет распостранять PySATL под MIT лицензией, используя вирусную лицензию только для реализации этих интерфейсов. Это значительно позволит сократить ресурсы на прототипирование разлчиных библиотек на базе ядра.
75
75
76
76
\textbf{2. Конфигурируемость ядра для типичных сценариев использования}\\
77
+
Различные библиотеки проекта PySATL предъявляют различные, зачастую противоречивые, требования к вычислительным характеристикам ядра. Библиотека должна предоставлять механизмы тонкой настройки без необходимости модификации её исходного кода. Это включает в себя:
\item\textbf{Выбор численных методов:} Возможность выбора конкретной реализации алгоритма (например, для вычисления интеграла или оптимизации) в зависимости от требований к точности, скорости или устойчивости. Библиотека \texttt{experiment} может требовать максимальной скорости для генерации больших выборок, в то время как \texttt{mpest} — максимальной надёжности и точности для сходимости алгоритмов оценки параметров.
81
+
\item\textbf{Управление вычислительными ресурсами:} Настройка параметров, влияющих на производительность и использование памяти. Например:
82
+
\begin{itemizecmp}
83
+
\item Установка допусков (tolerances) для итеративных алгоритмов;
84
+
\item Задание лимитов на количество итераций;
85
+
\item Управление размером кэшей для повторных вычислений.
86
+
\end{itemizecmp}
87
+
\item\textbf{Стратегии семплирования:} Конфигурация генераторов псевдослучайных чисел (ГПСЧ), включая:
88
+
\begin{itemizecmp}
89
+
\item Выбор конкретного алгоритма ГПСЧ (например, Mersenne Twister, PCG64);
90
+
\item Установка начального значения (seed) для обеспечения воспроизводимости результатов;
91
+
\item Управление параллельными потоками генерации для эффективного использования многоядерных систем.
92
+
\end{itemizecmp}
93
+
\item\textbf{Политики обработки ошибок:} Возможность настройки реакции на исключительные ситуации --- от строгого прерывания вычисления с выводом подробной ошибки до возврата специальных значений (NaN, inf) или использования fallback-алгоритмов для обеспечения отказоустойчивости.
94
+
\item\textbf{Абстракция математического бэкенда:} Единый интерфейс для низкоуровневых математических операций (линейная алгебра, специальные функции, оптимизация), позволяющий подменять реализации без изменения кода, зависящего от ядра. Это гарантирует, что библиотеки \texttt{nmvm} и \texttt{mpest} будут использовать согласованный computational stack, конфигурируемый централизованно.
0 commit comments