Популярное

Музыка Кино и Анимация Автомобили Животные Спорт Путешествия Игры Юмор

Интересные видео

2025 Сериалы Трейлеры Новости Как сделать Видеоуроки Diy своими руками

Топ запросов

смотреть а4 schoolboy runaway турецкий сериал смотреть мультфильмы эдисон
dTub
Скачать

Реализация динамического полиморфизма для свободных функций (Кирилл Колодяжный)

Автор: Истовый Инженер

Загружено: 2025-06-02

Просмотров: 177

Описание:

24 мая в Санкт-Петербурге состоялся первый System Level Meetup от компании YADRO. В рамках мероприятия спикер из YADRO, Кирилл Колодяжный, выступил с докладом "Реализация динамического полиморфизма для свободных функций".

Он рассказал про один из вариантов реализации механизма динамического полиморфизма для свободных функций. Под этим подразумевается использование одной сигнатуры функции, но вызов различных ее реализаций в зависимости от значений аргументов. В рамках ООП такая задача может быть реализована с использованием виртуальных функций. Однако Кирилл показал, как можно автоматизировать процедурный подход, используя подобие таблицы виртуальных вызовов. А также рассказал про составные ключи и type-erasure для упаковки функций. Данное решение используется, например, в платформах машинного обучения, позволяя создавать код для тензорных вычислений, который можно без изменения запускать на разных аппаратных вычислителях и в разных сценариях.

00:20 - О докладе.
00:45 - Динамический полиморфизм для свободные функцийв контексте математический библиотек для машинного обучения.
05:20 - Таблица вызовов - FunctionTable.
08:22 - DispatchKey – индекс в массиве функций.
10:22 - Класс Dispatcher.
12:15 - Анализ аргументов, извлечение значений, перебор аргументов функций.
14:49 - Получение значения типа устройства.
16:04 - Производительность в PyTorch: Dispatcher vs LazyTensor.
17:11 - Выводы.
18:10 - Вопросы участников.

Подробности о докладах и анонсы следующих митапов вы найдете на нашем Хабре https://habr.com/ru/companies/yadro/a...

Реализация динамического полиморфизма для свободных функций (Кирилл Колодяжный)

Поделиться в:

Доступные форматы для скачивания:

Скачать видео mp4

  • Информация по загрузке:

Скачать аудио mp3

Похожие видео

array(10) { [0]=> object(stdClass)#5318 (5) { ["video_id"]=> int(9999999) ["related_video_id"]=> string(11) "M-9NV2hdQwQ" ["related_video_title"]=> string(60) "11 Летний Оро Жертвует Слона Непо!" ["posted_time"]=> string(19) "4 дня назад" ["channelName"]=> string(11) "ChessMaster" } [1]=> object(stdClass)#5291 (5) { ["video_id"]=> int(9999999) ["related_video_id"]=> string(11) "zpt9N74Akdg" ["related_video_title"]=> string(58) "Опыт эксплуатации Cluster API / Авито" ["posted_time"]=> string(21) "5 дней назад" ["channelName"]=> string(21) "Yandex Infrastructure" } [2]=> object(stdClass)#5316 (5) { ["video_id"]=> int(9999999) ["related_video_id"]=> string(11) "W2Ekb4cYyu4" ["related_video_title"]=> string(73) "BIOS и UEFI / стадии UEFI / драйвера и протоколы" ["posted_time"]=> string(22) "11 дней назад" ["channelName"]=> string(29) "Истовый Инженер" } [3]=> object(stdClass)#5323 (5) { ["video_id"]=> int(9999999) ["related_video_id"]=> string(11) "_Bnsh5rtn84" ["related_video_title"]=> string(180) "Шаблонное мета-программирование в современном C++ для задач космической баллистики (Леонид Меркин)" ["posted_time"]=> string(25) "2 недели назад" ["channelName"]=> string(29) "Истовый Инженер" } [4]=> object(stdClass)#5302 (5) { ["video_id"]=> int(9999999) ["related_video_id"]=> string(11) "i-FFVM4cIXQ" ["related_video_title"]=> string(138) "База по Базам Данных - Storage (Индексы, Paging, LSM, B+-Tree, R-Tree) | Влад Тен Систем Дизайн" ["posted_time"]=> string(21) "8 дней назад" ["channelName"]=> string(15) "Влад Тен" } [5]=> object(stdClass)#5320 (5) { ["video_id"]=> int(9999999) ["related_video_id"]=> string(11) "05noUhncbIY" ["related_video_title"]=> string(179) "Как писать меньше на C++? (Константин Владимиров, Илья Казаков, Алексей Щербаков, Василий Рамаданов)" ["posted_time"]=> string(25) "2 недели назад" ["channelName"]=> string(29) "Истовый Инженер" } [6]=> object(stdClass)#5315 (5) { ["video_id"]=> int(9999999) ["related_video_id"]=> string(11) "F373EDB5naA" ["related_video_title"]=> string(156) "ООП в Python на реальном примере. Наглядно об инкапсуляции, наследовании и полиморфизме." ["posted_time"]=> string(21) "2 года назад" ["channelName"]=> string(43) "Senior Tester | Евгений Окулик" } [7]=> object(stdClass)#5325 (5) { ["video_id"]=> int(9999999) ["related_video_id"]=> string(11) "azx6BC8hNx0" ["related_video_title"]=> string(58) "План развития backend разработчика" ["posted_time"]=> string(21) "5 дней назад" ["channelName"]=> string(17) "Eugene Suleimanov" } [8]=> object(stdClass)#5301 (5) { ["video_id"]=> int(9999999) ["related_video_id"]=> string(11) "35UoBDSZF3s" ["related_video_title"]=> string(102) "ИИ-инструменты и будущее ИИ в разработке / Гриша Бакунов" ["posted_time"]=> string(19) "4 дня назад" ["channelName"]=> string(30) "Эволюция Кода 🧬" } [9]=> object(stdClass)#5319 (5) { ["video_id"]=> int(9999999) ["related_video_id"]=> string(11) "RMnBHbfZShk" ["related_video_title"]=> string(61) "Linux kernel, DPDK и kernel bypass (Степан Репин)" ["posted_time"]=> string(25) "2 недели назад" ["channelName"]=> string(29) "Истовый Инженер" } }
11 Летний Оро Жертвует Слона Непо!

11 Летний Оро Жертвует Слона Непо!

Опыт эксплуатации Cluster API / Авито

Опыт эксплуатации Cluster API / Авито

BIOS и UEFI / стадии UEFI / драйвера и протоколы

BIOS и UEFI / стадии UEFI / драйвера и протоколы

Шаблонное мета-программирование в современном C++ для задач космической баллистики (Леонид Меркин)

Шаблонное мета-программирование в современном C++ для задач космической баллистики (Леонид Меркин)

База по Базам Данных - Storage (Индексы, Paging, LSM, B+-Tree, R-Tree) | Влад Тен Систем Дизайн

База по Базам Данных - Storage (Индексы, Paging, LSM, B+-Tree, R-Tree) | Влад Тен Систем Дизайн

Как писать меньше на C++? (Константин Владимиров, Илья Казаков, Алексей Щербаков, Василий Рамаданов)

Как писать меньше на C++? (Константин Владимиров, Илья Казаков, Алексей Щербаков, Василий Рамаданов)

ООП в Python на реальном примере. Наглядно об инкапсуляции, наследовании и полиморфизме.

ООП в Python на реальном примере. Наглядно об инкапсуляции, наследовании и полиморфизме.

План развития backend разработчика

План развития backend разработчика

ИИ-инструменты и будущее ИИ в разработке / Гриша Бакунов

ИИ-инструменты и будущее ИИ в разработке / Гриша Бакунов

Linux kernel, DPDK и kernel bypass (Степан Репин)

Linux kernel, DPDK и kernel bypass (Степан Репин)

© 2025 dtub. Все права защищены.



  • Контакты
  • О нас
  • Политика конфиденциальности



Контакты для правообладателей: [email protected]