Skip to content

Commit 93c3faa

Browse files
committed
[YRS] Final version
1 parent 4cefccc commit 93c3faa

File tree

3 files changed

+101
-26
lines changed

3 files changed

+101
-26
lines changed
19.2 KB
Binary file not shown.

2025/MicroElectronics_YRS/SemyonGrigorev_microelectronix_YRS.tex

Lines changed: 100 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,16 @@
185185
\end{minipage}
186186
\end{frame}
187187

188+
\begin{frame}
189+
\begin{center}
190+
{\huge А зачем мне разреженная линейная алгебра?}
191+
\\
192+
Я же программист \ldots
193+
\\
194+
{\tiny \ldots а не математик}
195+
\end{center}
196+
\end{frame}
197+
188198
\begin{frame}[fragile]
189199
\frametitle{Разреженная линейная алгебра}
190200
\begin{itemize}
@@ -267,22 +277,33 @@
267277
\end{itemize}
268278
\end{frame}
269279

280+
\begin{frame}
281+
\begin{center}
282+
{\huge Знакомьтесь, GraphBLAS}
283+
\\
284+
Как BLAS, только Graph
285+
\\
286+
{\tiny Сосед SparseBLAS по палате}
287+
\end{center}
288+
\end{frame}
289+
290+
270291
\begin{frame}[fragile]
271-
\frametitle{GraphBLAS\footnote{\url{https://graphblas.org/}}}
292+
\frametitle{GraphBLAS API\footnote{\url{https://graphblas.org/}}}
272293
\begin{itemize}
273294
\item API для создания алгоритмов анализа графов на основе линейной алгебры
274295
\begin{itemize}
275296
\item Различные операции над матрицами и векторами (\underline{\textbf{разреженными}})
276297
\item Параметризация алгебраическими структурами: полукольцами, моноидами и т.д.
277298
\end{itemize}
278-
\pause
299+
%\pause
279300
\item Позволяет выражать \underline{\textbf{различные}} алгоритмы
280301
\begin{itemize}
281302
\item Обход в ширину, поиск кратчайших путей, достижимость, \ldots
282303
\item Подсчёт треугольников, PageRank, остовные деревья, кластеризация,\ldots
283304
\item Запросы с регулярными (RPQ) и контекстно-свободными (CFPQ) ограничениями \ldots
284305
\end{itemize}
285-
\pause
306+
%\pause
286307
\item Подробнее
287308
\begin{itemize}
288309
\item The GraphBLAS C API Specification\footnote{\url{https://graphblas.org/docs/GraphBLAS_API_C_v2.1.0.pdf}}
@@ -314,6 +335,16 @@
314335
\end{center}
315336
\end{frame}
316337

338+
\begin{frame}
339+
\begin{center}
340+
{\huge Кто может написать обход в ширину?}
341+
\\
342+
А параллельный?
343+
\\
344+
{\tiny А так, чтобы работало быстро?}
345+
\end{center}
346+
\end{frame}
347+
317348
\begin{frame}[fragile]
318349
\frametitle{Пример: обход в ширину}
319350
\begin{minipage}{0.2\textwidth}
@@ -398,6 +429,38 @@
398429

399430
\end{frame}
400431

432+
\begin{frame}
433+
\begin{center}
434+
{\huge А задачи для <<настоящих программистов>> есть?}
435+
\\
436+
Допустим, я поверил, что линейная алгебра --- это круто \ldots
437+
\\
438+
{\tiny Только такие, чтобы я справился \ldots}
439+
\end{center}
440+
\end{frame}
441+
442+
\begin{frame}[fragile]
443+
\frametitle{Кросс-сборка и тестирование SuiteSparse\footnote{Соответствующий реквекст: \url{https://github.com/DrTimothyAldenDavis/SuiteSparse/pull/949}}}
444+
\begin{itemize}
445+
\item \textbf{Было}
446+
\begin{itemize}
447+
\item Alpine linux + chroot\footnote{До недавнего времени не было RISC-V}
448+
\item Сборка и тестирование в эмуляторе (qemu)\footnote{Не для всех компонент}
449+
\item Продолжительность workflow в GitHub CI: 2 часа 20 минут
450+
\end{itemize}
451+
\pause
452+
\vfill
453+
\item \textbf{Стало}
454+
\begin{itemize}
455+
\item Кросс-тулчейн + MultiArch
456+
\item Кросс-сборка и тестирование в эмуляторе (qemu-user)\footnote{Для всех компонент}
457+
\item Продолжительность workflow в GitHub CI: 40 минут
458+
\item Выявлены и локализованы ошибки под x390s и ppc64le\footnote{Позже выяснилось, что про них знали и ошибка в GCC а не в SuiteSparse}
459+
\end{itemize}
460+
\pause
461+
\item Предложенное нами решение для кросс-сборки начали использовать в GNU Octave\footnote{\url{https://github.com/DrTimothyAldenDavis/SuiteSparse/pull/955\#discussion_r2103092266}}
462+
\end{itemize}
463+
\end{frame}
401464

402465
\begin{frame}[t]
403466
\frametitle{Векторизация умножения матриц в SuiteSparse:GraphBLAS\footnote{Соответствующий PR: \url{https://github.com/DrTimothyAldenDavis/GraphBLAS/pull/381}}}
@@ -478,29 +541,29 @@
478541
}
479542
\end{frame}
480543

544+
\begin{frame}
545+
\begin{center}
546+
{\huge А на GPGPU можно?}
547+
\\
548+
Но чтобы тоже с RISC-V что-нибудь \ldots
549+
\\
550+
{\tiny И про линейную алгебру \ldots}
551+
\end{center}
552+
\end{frame}
553+
554+
481555
\begin{frame}[fragile]
482-
\frametitle{Кросс-сборка и тестирование SuiteSparse\footnote{Соответствующий реквекст: \url{https://github.com/DrTimothyAldenDavis/SuiteSparse/pull/949}}}
556+
\frametitle{RISC-V и GPGPU}
483557
\begin{itemize}
484-
\item \textbf{Было}
485-
\begin{itemize}
486-
\item Alpine linux + chroot\footnote{До недавнего времени не было RISC-V}
487-
\item Сборка и тестирование в эмуляторе (qemu)\footnote{Не для всех компонент}
488-
\item Продолжительность workflow в GitHub CI: 2 часа 20 минут
489-
\end{itemize}
490-
\pause
491-
\vfill
492-
\item \textbf{Стало}
493-
\begin{itemize}
494-
\item Кросс-тулчейн + MultiArch
495-
\item Кросс-сборка и тестирование в эмуляторе (qemu-user)\footnote{Для всех компонент}
496-
\item Продолжительность workflow в GitHub CI: 40 минут
497-
\item Выявлены и локализованы ошибки под x390s и ppc64le\footnote{Позже выяснилось, что про них знали и ошибка в GCC а не в SuiteSparse}
498-
\end{itemize}
499-
\pause
500-
\item Предложенное нами решение для кросс-сборки начали использовать в GNU Octave\footnote{\url{https://github.com/DrTimothyAldenDavis/SuiteSparse/pull/955\#discussion_r2103092266}}
558+
\item \textbf{RISC-V CPU + Imagination Technologies GPU}: самая распространённая (из доступных) конфигурация
559+
\item \textbf{RISC-V CPU + AMD GPU}: утверждается, что работает и есть официальная поддержка (\href{https://milkv.io/pioneer}{Milk-V Pioneer}, \href{https://riscv.org/ecosystem-news/2024/10/risc-v-cpu-demoed-with-rx-7900-xtx-gpu-in-debian-linux-amd-flagship-gpu-paired-with-milk-v-megrez-board-and-sifive-p550-cores/}{Milk-V Megrez}, \href{https://milkv.io/ruyibook}{RuyiBook})
560+
\item \textbf{RISC-V CPU + Intel GPU}: \href{https://www.reddit.com/r/RISCV/comments/1ftep9u/intel_arc_a770_on_riscv/}{ходят слухи, что можно}, но официальной поддержки пока нет
561+
\item \textbf{RISC-V CPU + Nvidia GPU}: \href{https://riscv.org/ecosystem-news/2025/07/nvidia-to-bring-cuda-platform-support-to-the-risc-v/}{анонсировано}
562+
\item \textbf{RISC-V GPU}: \href{https://github.com/vortexgpgpu/vortex}{Vortex}
501563
\end{itemize}
502564
\end{frame}
503565

566+
504567
\begin{frame}
505568
\frametitle{Spla на SpacemiT M1 (RISC-V) с IMG BXE-2-32 GPU}
506569

@@ -532,7 +595,7 @@
532595
\includegraphics[width=0.55\textwidth]{pictures/MILK-V_crop.pdf}
533596
\tikz[overlay,remember picture]{\draw[draw=red,thick,double,fill opacity=0.2] ($ (z1) + (1.1,5.45)$) rectangle ($ (z1) + (3.4,6.05)$);}
534597
\\
535-
GPGPU от Imagination Technologies (пока) не совсем для вычислений
598+
(Некоторые) GPGPU от Imagination Technologies (пока) не совсем для вычислений
536599
\end{center}
537600
\end{frame}
538601

@@ -542,8 +605,9 @@
542605
\item Набор инструкций, основанный на RISC-V ISA
543606
\item Поддержка OpenCL через POCL
544607
\begin{itemize}
545-
\item[\faGears] Spla должен запускаться
608+
\item[\alt<1>{\faGears}{\faCheck}]\alt<1>{Spla должна запускаться}{Spla запускается (и даже что-то работает)}
546609
\end{itemize}
610+
\onslide<3>{
547611
\item Проблемы со сбросом регистров
548612
\begin{itemize}
549613
\item Типичные оптимизации не работают
@@ -553,11 +617,23 @@
553617
\item В целом, есть подозрение, что мало регистров
554618
\item Для ПЛИС с HBM
555619
\begin{itemize}
556-
\item[\faQuestion] Бонус для обработки слабоструктурированных данных
620+
\item[\faQuestion] Бонус для обработки граф-структурированных данных
557621
\end{itemize}
622+
}
558623
\end{itemize}
559624
\end{frame}
560625

626+
\begin{frame}
627+
\begin{center}
628+
{\huge Куда катится этот мир?}
629+
\\
630+
Мир RISC-V, конечно же, \ldots
631+
\\
632+
{\tiny Вместе с линейной алгеброй \ldots}
633+
\end{center}
634+
\end{frame}
635+
636+
561637
\begin{frame}[fragile]
562638
\frametitle{Перспективы: RISC-V}
563639
\begin{itemize}
@@ -583,7 +659,6 @@
583659
\end{itemize}
584660
\end{frame}
585661

586-
587662
\begin{frame}[fragile]
588663
\frametitle{Заключение}
589664
\begin{itemize}

2025/MicroElectronics_YRS/pictures/SuiteSparse.svg

Lines changed: 1 addition & 1 deletion
Loading

0 commit comments

Comments
 (0)