Публикации

18.11.2014
М. Лукин, М. Буздалов, А. Шалыто

Разработка критически важного программного обеспечения требует проверки программы на соответствие ряду свойств. Это часто делается с помощью проверки модели. Однако построение проверяемой модели программы и анализ контрпримеров – непростая задача. Это можно упростить с помощью парадигмы автоматного программирования.
Существуют случаи, когда необходимо верифицировать множество программ и невозможно построить достаточно точную конечную модель среды. Представлен подход к верификации программ автоматов в таких условиях. Наше исследование основано на 800 программах-автоматах, которые решают простую задачу планирования пути. В результате мы убедились, что как минимум 231 из них доказуемо верны.

Узнать больше
26.01.2022
Д. Кривопальцев, Л. Суровицкий, М. Лукин

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

 

Узнать больше
13.12.2022
Л. Суровицкий, Е. Макаренко, М. Лукин, А. Смирнов, П. Макеев, В. Алушкин

Мы представляем FORCtool, новый онлайн-сервис для FORC-анализа. Сервис имеет расширенный функционал с рядом дополнительных инструментов для детального анализа FORC и предлагает удобный интуитивно понятный интерфейс. Важно отметить, что эффективность и скорость анализа существенно возросли за счет оптимизации процесса вычислений и использования универсального графического процессора. Кроме того, FORCtool поддерживает расширенный список форматов данных и включает инструменты для анализа предварительной обработки, конвертера единиц измерения, визуализации результатов и других расширенных возможностей обработки.

Узнать больше
23.05.2023
Т. Магомедов, М. Лукин

Поговорим о современных платформах для GPGPU: CUDA, OpenCL, SYCL, oneAPI и других. Обсудим производителей и тенденции развития видеокарт. Разберемся, какие задачи стоит решать с помощью GPGPU, а какие нет. Поделимся историями из жизни и покажем, что GPGPU разработки не стоит бояться.

Узнать больше
Современные программные решения для анализа и обработки данных по магнитным свойствам горных пород.
Всероссийская конференция “Палеомагнетизм и магнетизм горных пород”
6.10.2023
Л. Суровицкий, Е. Макаренко, М. Лукин, Д. Коробков

Мы представляем два онлайн-инструмента для обработки и анализа различных данных по магнитным свойствам горных пород: FORCtool – онлайн-сервис для работы с частными петлями перемагничивания первого порядка (FORC), и HystOn – сервис обработки и анализа петель магнитного гистерезиса, кривых перемагничивания в обратном поле (backfield) и кривых изотермического намагничивания (IRM).

Узнать больше
27.09.2024
М. Лукин, Д. Громов

В докладе представлено краткое описание нашей команды и обзор технологии GPGPU. Рассмотрен низкоуровневый ассемблер для видеокарт AMD и Nvidia (PTX, SASS). Особое внимание уделено ветвлению: различиям между реализацией if/if-else на CPU и GPU, включая использование регистра ветвления (EXEC) на AMD и ветвящихся операций на Nvidia. Кроме того, рассматривается алгоритм распознавания ветвления, различные виды циклов (простые, распознаваемые и развёрнутые) и их отличия в реализации между  CPU и GPU (AMD и Nvidia), включая алгоритмы распознавания развёрнутых циклов для GPU.

Узнать больше
20.03.2025
Михаил Лукин

Оптимизация производительности кода — главная задача GPU-программиста. Мы рассмотрим применение методов переупорядочивания инструкций для ускорения compute-bound задач на CUDA.

Рассмотрим методы и алгоритмы переупорядочивания инструкций в компиляторах, попробуем это сделать самостоятельно на ассемблере, а еще попробуем добиться от компилятора более качественного переупорядочивания, без ассемблерных вставок. 

Для таких манипуляций нам потребуется качественный бенчмарк, поэтому обсудим и темы увеличения точности бенчмарков.

Цель доклада — выжать из устройства еще немного производительности, когда все алгоритмические и «стандартные» оптимизации уже применены, и в ход идут разные ухищрения.

Узнать больше
20.03.2025
М. Лукин

Оптимизация производительности кода — главная задача GPU-программиста. Мы рассмотрим применение методов переупорядочивания инструкций для ускорения compute-bound задач на CUDA.

Рассмотрим методы и алгоритмы переупорядочивания инструкций в компиляторах, попробуем это сделать самостоятельно на ассемблере, а еще попробуем добиться от компилятора более качественного переупорядочивания, без ассемблерных вставок. 

Для таких манипуляций нам потребуется качественный бенчмарк, поэтому обсудим и темы увеличения точности бенчмарков.

Цель доклада — выжать из устройства еще немного производительности, когда все алгоритмические и «стандартные» оптимизации уже применены, и в ход идут разные ухищрения.

Узнать больше
20.03.2025
Михаил Лукин

Оптимизация производительности кода — главная задача GPU-программиста. Мы рассмотрим применение методов переупорядочивания инструкций для ускорения compute-bound задач на CUDA.

Рассмотрим методы и алгоритмы переупорядочивания инструкций в компиляторах, попробуем это сделать самостоятельно на ассемблере, а еще попробуем добиться от компилятора более качественного переупорядочивания, без ассемблерных вставок. 

Для таких манипуляций нам потребуется качественный бенчмарк, поэтому обсудим и темы увеличения точности бенчмарков.

Цель доклада — выжать из устройства еще немного производительности, когда все алгоритмические и «стандартные» оптимизации уже применены, и в ход идут разные ухищрения.

Узнать больше
20.03.2025
Михаил Лукин

Оптимизация производительности кода — главная задача GPU-программиста. Мы рассмотрим применение методов переупорядочивания инструкций для ускорения compute-bound задач на CUDA.

Рассмотрим методы и алгоритмы переупорядочивания инструкций в компиляторах, попробуем это сделать самостоятельно на ассемблере, а еще попробуем добиться от компилятора более качественного переупорядочивания, без ассемблерных вставок. 

Для таких манипуляций нам потребуется качественный бенчмарк, поэтому обсудим и темы увеличения точности бенчмарков.

Цель доклада — выжать из устройства еще немного производительности, когда все алгоритмические и «стандартные» оптимизации уже применены, и в ход идут разные ухищрения.

Узнать больше
20.03.2025
Михаил Лукин

Оптимизация производительности кода — главная задача GPU-программиста. Мы рассмотрим применение методов переупорядочивания инструкций для ускорения compute-bound задач на CUDA.

Рассмотрим методы и алгоритмы переупорядочивания инструкций в компиляторах, попробуем это сделать самостоятельно на ассемблере, а еще попробуем добиться от компилятора более качественного переупорядочивания, без ассемблерных вставок. 

Для таких манипуляций нам потребуется качественный бенчмарк, поэтому обсудим и темы увеличения точности бенчмарков.

Цель доклада — выжать из устройства еще немного производительности, когда все алгоритмические и «стандартные» оптимизации уже применены, и в ход идут разные ухищрения.

Узнать больше
20.03.2025
Михаил Лукин

Оптимизация производительности кода — главная задача GPU-программиста. Мы рассмотрим применение методов переупорядочивания инструкций для ускорения compute-bound задач на CUDA.

Рассмотрим методы и алгоритмы переупорядочивания инструкций в компиляторах, попробуем это сделать самостоятельно на ассемблере, а еще попробуем добиться от компилятора более качественного переупорядочивания, без ассемблерных вставок. 

Для таких манипуляций нам потребуется качественный бенчмарк, поэтому обсудим и темы увеличения точности бенчмарков.

Цель доклада — выжать из устройства еще немного производительности, когда все алгоритмические и «стандартные» оптимизации уже применены, и в ход идут разные ухищрения.

Узнать больше
20.03.2025
Михаил Лукин

Оптимизация производительности кода — главная задача GPU-программиста. Мы рассмотрим применение методов переупорядочивания инструкций для ускорения compute-bound задач на CUDA.

Рассмотрим методы и алгоритмы переупорядочивания инструкций в компиляторах, попробуем это сделать самостоятельно на ассемблере, а еще попробуем добиться от компилятора более качественного переупорядочивания, без ассемблерных вставок. 

Для таких манипуляций нам потребуется качественный бенчмарк, поэтому обсудим и темы увеличения точности бенчмарков.

Цель доклада — выжать из устройства еще немного производительности, когда все алгоритмические и «стандартные» оптимизации уже применены, и в ход идут разные ухищрения.

Узнать больше
20.03.2025
Михаил Лукин

Оптимизация производительности кода — главная задача GPU-программиста. Мы рассмотрим применение методов переупорядочивания инструкций для ускорения compute-bound задач на CUDA.

Рассмотрим методы и алгоритмы переупорядочивания инструкций в компиляторах, попробуем это сделать самостоятельно на ассемблере, а еще попробуем добиться от компилятора более качественного переупорядочивания, без ассемблерных вставок. 

Для таких манипуляций нам потребуется качественный бенчмарк, поэтому обсудим и темы увеличения точности бенчмарков.

Цель доклада — выжать из устройства еще немного производительности, когда все алгоритмические и «стандартные» оптимизации уже применены, и в ход идут разные ухищрения.

Узнать больше
Python в инженерных задачах на примере CAD
Конференция Стачка Ульяновск 2025
18.04.2025
М. Лукин

В начале поговорим о том, как происходит проектирование таких объектов и обсуждается выбор между Python и C++ с точки зрения скорости разработки и вычислительной эффективности.

После этого рассмотрим две главных задачи в трассировке: построение графа по имеющимся данным и поиск путей на графах. Также расскажу проведённую оптимизацию производительности с использованием JIT-компиляции через numba и покажу графики с бенчмарками.

Узнать больше
Python в инженерных задачах на примере CAD
Конференция Стачка Ульяновск 2025
18.04.2025
М. Лукин

В начале поговорим о том, как происходит проектирование таких объектов и обсуждается выбор между Python и C++ с точки зрения скорости разработки и вычислительной эффективности.

После этого рассмотрим две главных задачи в трассировке: построение графа по имеющимся данным и поиск путей на графах. Также расскажу проведённую оптимизацию производительности с использованием JIT-компиляции через numba и покажу графики с бенчмарками.

Узнать больше
Python в инженерных задачах на примере CAD
Конференция Стачка Ульяновск 2025
18.04.2025
М. Лукин

В начале поговорим о том, как происходит проектирование таких объектов и обсуждается выбор между Python и C++ с точки зрения скорости разработки и вычислительной эффективности.

После этого рассмотрим две главных задачи в трассировке: построение графа по имеющимся данным и поиск путей на графах. Также расскажу проведённую оптимизацию производительности с использованием JIT-компиляции через numba и покажу графики с бенчмарками.

Узнать больше
Python в инженерных задачах на примере CAD
Конференция Стачка Ульяновск 2025
18.04.2025
М. Лукин

В начале поговорим о том, как происходит проектирование таких объектов и обсуждается выбор между Python и C++ с точки зрения скорости разработки и вычислительной эффективности.

После этого рассмотрим две главных задачи в трассировке: построение графа по имеющимся данным и поиск путей на графах. Также расскажу проведённую оптимизацию производительности с использованием JIT-компиляции через numba и покажу графики с бенчмарками.

Узнать больше
16.05.2025
М. Лукин

Цель доклада: показать применение эволюционных алгоритмов в инженерном ПО. Поговорим о том, как мы в Судо применяем эволюционные алгоритмы в ПО для автоматического проектирования. Немного расскажу о самой задаче, классическом подходе к ее решению и о том, как мы его улучшаем при помощи машинного обучения.

Узнать больше
24.06.2025
М. Лукин

Доклад посвящён использованию GPU для ускорения геометрических алгоритмов в САПР. GPU давно вышли за рамки игр и нейросетей — они успешно применяются в инженерных задачах, таких как проектирование городских и промышленных электросетей. Классические алгоритмы поиска путей по графам работают, но точные расчёты требуют огромных графов, и их построение становится узким местом. Построение графа по карте местности вызывает множество геометрических задач. Мы разберём некоторые из них и покажем, как GPU помогает решать их быстрее. Доклад будет полезен и новичкам, интересующимся GPU-программированием, и опытным разработчикам, ищущим пути ускорения инженерных расчётов через параллельные вычисления.

Узнать больше
24.06.2025
М. Лукин

Доклад посвящён использованию GPU для ускорения геометрических алгоритмов в САПР. GPU давно вышли за рамки игр и нейросетей — они успешно применяются в инженерных задачах, таких как проектирование городских и промышленных электросетей. Классические алгоритмы поиска путей по графам работают, но точные расчёты требуют огромных графов, и их построение становится узким местом. Построение графа по карте местности вызывает множество геометрических задач. Мы разберём некоторые из них и покажем, как GPU помогает решать их быстрее. Доклад будет полезен и новичкам, интересующимся GPU-программированием, и опытным разработчикам, ищущим пути ускорения инженерных расчётов через параллельные вычисления.

Узнать больше
24.06.2025
М. Лукин

Доклад посвящён использованию GPU для ускорения геометрических алгоритмов в САПР. GPU давно вышли за рамки игр и нейросетей — они успешно применяются в инженерных задачах, таких как проектирование городских и промышленных электросетей. Классические алгоритмы поиска путей по графам работают, но точные расчёты требуют огромных графов, и их построение становится узким местом. Построение графа по карте местности вызывает множество геометрических задач. Мы разберём некоторые из них и покажем, как GPU помогает решать их быстрее. Доклад будет полезен и новичкам, интересующимся GPU-программированием, и опытным разработчикам, ищущим пути ускорения инженерных расчётов через параллельные вычисления.

Узнать больше
24.06.2025
М. Лукин

Доклад посвящён использованию GPU для ускорения геометрических алгоритмов в САПР. GPU давно вышли за рамки игр и нейросетей — они успешно применяются в инженерных задачах, таких как проектирование городских и промышленных электросетей. Классические алгоритмы поиска путей по графам работают, но точные расчёты требуют огромных графов, и их построение становится узким местом. Построение графа по карте местности вызывает множество геометрических задач. Мы разберём некоторые из них и покажем, как GPU помогает решать их быстрее. Доклад будет полезен и новичкам, интересующимся GPU-программированием, и опытным разработчикам, ищущим пути ускорения инженерных расчётов через параллельные вычисления.

Узнать больше
24.06.2025
М. Лукин

Доклад посвящён использованию GPU для ускорения геометрических алгоритмов в САПР. GPU давно вышли за рамки игр и нейросетей — они успешно применяются в инженерных задачах, таких как проектирование городских и промышленных электросетей. Классические алгоритмы поиска путей по графам работают, но точные расчёты требуют огромных графов, и их построение становится узким местом. Построение графа по карте местности вызывает множество геометрических задач. Мы разберём некоторые из них и покажем, как GPU помогает решать их быстрее. Доклад будет полезен и новичкам, интересующимся GPU-программированием, и опытным разработчикам, ищущим пути ускорения инженерных расчётов через параллельные вычисления.

Узнать больше
24.06.2025
М. Лукин

Доклад посвящён использованию GPU для ускорения геометрических алгоритмов в САПР. GPU давно вышли за рамки игр и нейросетей — они успешно применяются в инженерных задачах, таких как проектирование городских и промышленных электросетей. Классические алгоритмы поиска путей по графам работают, но точные расчёты требуют огромных графов, и их построение становится узким местом. Построение графа по карте местности вызывает множество геометрических задач. Мы разберём некоторые из них и покажем, как GPU помогает решать их быстрее. Доклад будет полезен и новичкам, интересующимся GPU-программированием, и опытным разработчикам, ищущим пути ускорения инженерных расчётов через параллельные вычисления.

Узнать больше
24.06.2025
М. Лукин

Доклад посвящён использованию GPU для ускорения геометрических алгоритмов в САПР. GPU давно вышли за рамки игр и нейросетей — они успешно применяются в инженерных задачах, таких как проектирование городских и промышленных электросетей. Классические алгоритмы поиска путей по графам работают, но точные расчёты требуют огромных графов, и их построение становится узким местом. Построение графа по карте местности вызывает множество геометрических задач. Мы разберём некоторые из них и покажем, как GPU помогает решать их быстрее. Доклад будет полезен и новичкам, интересующимся GPU-программированием, и опытным разработчикам, ищущим пути ускорения инженерных расчётов через параллельные вычисления.

Узнать больше
24.06.2025
М. Лукин

Доклад посвящён использованию GPU для ускорения геометрических алгоритмов в САПР. GPU давно вышли за рамки игр и нейросетей — они успешно применяются в инженерных задачах, таких как проектирование городских и промышленных электросетей. Классические алгоритмы поиска путей по графам работают, но точные расчёты требуют огромных графов, и их построение становится узким местом. Построение графа по карте местности вызывает множество геометрических задач. Мы разберём некоторые из них и покажем, как GPU помогает решать их быстрее. Доклад будет полезен и новичкам, интересующимся GPU-программированием, и опытным разработчикам, ищущим пути ускорения инженерных расчётов через параллельные вычисления.

Узнать больше