В гостях у «Битовых масок» - Игорь Астахов, инженер-программист, который разрабатывает высокопроизводительные библиотеки и занимается низкоуровневыми оптимизациями уже 25 лет. Он начал строить карьеру во времена, когда компьютеры были размером со шкаф, и стал сотрудником Intel в конце 90-х годов. Сейчас Игорь занимается оптимизацией реализаций различных DSP-алгоритмов в YADRO. Ведущие подкаста поговорили с ним о том, как писали машинный код три десятилетия назад, об особенностях высокоэффективного кода, векторизации и акселераторах.
Правда ли раньше писали и дебажили код на бумажке? До сих пор ли пишут на ассемблере для получения наилучшей производительности? Почему Intel Itanium - идеальный процессор? Как работают над переносом библиотеки на архитектуру, которая еще не появилась? Сможет ли AI создать высокопроизводительный код? Обсуждение этих и других вопросов ждет вас в тринадцатом выпуске «Битовых масок».
· Упомянутый доклад Валерии Пузиковой «Матричные расширения RISC-V»: • Матричные расширения R...
· Подписывайтесь на Telegram-канал подкаста: t.me/+bx50QfUlw4pkZDEy
🔹 Как попасть в команду YADRO? careers.yadro.com
🎧 Слушайте «Битовые маски» на других платформах:
Яндекс.Музыка: music.yandex.com/album/26508178
Apple Podcasts: podcasts.apple.com/ru/podcast...
Все платформы: engineer.yadro.com/podcasts/c...
00:00:00 - Тизер
00:00:38 - Представление Игоря Астахова
00:01:31 - Как программировали в 80-90-е
00:12:03 - Появление первого офиса Intel в России
00:13:51 - Разработка высокопроизводительной библиотеки в Intel
00:19:26 - Почему Itanium - идеальный процессор?
00:25:53 - Идеальный код с точки зрения разработчика низкоуровневых оптимизаций
00:30:52 - Переход с ассемблера на интринсики
00:33:37 - Оптимизация самых популярных функций
00:37:31 - Измерение производительности низкоуровневых оптимизаций
00:41:55 - Performance-проблема на микроархитектурном уровне
00:48:28 - Взаимодействие с разработчиками процессоров
00:52:23 - Влияние руководителей на путь Intel
00:55:13 - Возможна ли реализация на С без интринсиков для низкоуровневых оптимизаций
00:59:16 - Методология разработки высокопроизводительных функций
01:09:33 - Работа с акселераторами
01:14:18 - Векторизация - основной способ оптимизации
01:16:55 - Может, надо такую библиотеку писать на C++?
01:18:59 - Какой тулинг используют
01:20:45 - Насколько перспективны новые технологии ИИ
01:23:05 - Заключение
#dsp #intel #assembler #c #performance #оптимизация
20 июл 2024