Skip to content

Commit d43c77e

Browse files
committed
feat: minor updates
1 parent 652836e commit d43c77e

File tree

4 files changed

+23
-1
lines changed

4 files changed

+23
-1
lines changed

core-design-document.pdf

8.3 KB
Binary file not shown.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
\section{Логическая структура}
22
\input{src/architectural-views/logical-structure/01-overview}
3+
\newpage
34
\input{src/architectural-views/logical-structure/02-distributions}
5+
\newpage
46
\input{src/architectural-views/logical-structure/03-parametric-families}

src/architectural-views/logical-structure/02-distributions.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ \subsubsection{Реестр преобразований характерист
112112

113113
\begin{figure}[htbp]
114114
\centering
115-
\includegraphics[width=\linewidth]{assets/images/Register.png}
115+
\includegraphics[width=0.5\linewidth]{assets/images/Register.png}
116116
\caption{Реестр преобразований для типа распределения: \texttt{DistributionTypeRegister}
117117
и \texttt{GenericCharacteristicRegister} с инвариантами (связность definitive-подграфа,
118118
отсутствие обратных рёбер из indefinitive).}

src/chapter-03.tex

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,26 @@ \section{Разработчики других библиотек в PySATL}
7474
К тому же, многие из математических пакетов, предоставляющих редкие, но нужные функции, являются либо проприетарными, либо с вирусными лицензиями. Использование и тех, и других, не подходит под лицензионные ограничения; создание единого интерфейса для математических утилит позволяет распостранять PySATL под MIT лицензией, используя вирусную лицензию только для реализации этих интерфейсов. Это значительно позволит сократить ресурсы на прототипирование разлчиных библиотек на базе ядра.
7575

7676
\textbf{2. Конфигурируемость ядра для типичных сценариев использования}\\
77+
Различные библиотеки проекта PySATL предъявляют различные, зачастую противоречивые, требования к вычислительным характеристикам ядра. Библиотека должна предоставлять механизмы тонкой настройки без необходимости модификации её исходного кода. Это включает в себя:
78+
79+
\begin{itemize}[noitemsep, topsep=0pt, parsep=0pt]
80+
\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, конфигурируемый централизованно.
95+
\end{itemize}
96+
7797

7898
\noindent\rule{\textwidth}{0.5pt}
7999
\section{Руководители проекта PySATL}

0 commit comments

Comments
 (0)