Курс на Stepik
Обложка курса «SIMD (Ассемблер NASM Linux x86-64)» на Stepik
790 ₽

SIMD (Ассемблер NASM Linux x86-64) 5.000

Открыть на
STEPIK.ORG

Третий курс линейки об ассемблере x86-64: векторные вычисления через SSE и AVX/AVX2 — регистры xmm/ymm, работа с числами с плавающей точкой и целыми числами, перестановки данных и переход к трёхоперандному синтаксису AVX.

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «SIMD (Ассемблер NASM Linux x86-64)»Учеников на курсе 116
Сертификаты, выданные на курсе «SIMD (Ассемблер NASM Linux x86-64)»Сертификатов выдано 4
Отзывы о курсе «SIMD (Ассемблер NASM Linux x86-64)»Отзывов получено 2
Рейтинг курса «SIMD (Ассемблер NASM Linux x86-64)»Рейтинг курса 5.000
Уроки в курсе «SIMD (Ассемблер NASM Linux x86-64)»Количество уроков 31
Тесты в курсе «SIMD (Ассемблер NASM Linux x86-64)»Количество квизов 83
Задачи с кодом в курсе «SIMD (Ассемблер NASM Linux x86-64)»Количество задач с кодом 31
Время прохождения курса «SIMD (Ассемблер NASM Linux x86-64)»Время прохождения курса
Стоимость курса «SIMD (Ассемблер NASM Linux x86-64)»Стоимость курса 790 ₽
Обновления курса «SIMD (Ассемблер NASM Linux x86-64)»Обновления курса
Дата публикации курса «SIMD (Ассемблер NASM Linux x86-64)»Дата публикации курса
Последнее обновление курса «SIMD (Ассемблер NASM Linux x86-64)»Последнее обновление
Сложность normal

Чему вы научитесь

  • Понимать, что такое SIMD и когда векторизация действительно ускоряет код
  • Работать с регистрами xmm и ymm, учитывать выравнивание данных и кэш
  • Ориентироваться в семействах расширений (SSE, SSE2, AVX, AVX2) и собирать программы с их использованием
  • Загружать, сохранять и выполнять скалярную и упакованную арифметику с числами с плавающей точкой
  • Выполнять горизонтальные операции, сравнение и преобразование типов
  • Управлять точностью вычислений и использовать математические инструкции
  • Работать с упакованными целыми числами: арифметика, умножение, сдвиги, логические операции
  • Использовать сравнение, маскирование, сбор и разбор данных (gather/scatter)
  • Переставлять и компоновать данные внутри регистров: shuffle, unpack, blend
  • Переходить на трёхоперандный синтаксис AVX и работать с 256-битными регистрами, включая broadcast

О курсе

Третий курс линейки об ассемблере x86-64: векторные вычисления через SSE и AVX/AVX2 — регистры xmm/ymm, работа с числами с плавающей точкой и целыми числами, перестановки данных и переход к трёхоперандному синтаксису AVX.

Для кого этот курс

Тем, кто прошёл курсы «Основы» и «Продвинутый уровень» линейки и хочет разобраться в векторных вычислениях Разработчикам высокопроизводительных приложений — обработка изображений, аудио, численные расчёты, где важна скорость вычислений Тем, кто пишет или читает код с использованием интринсиков SIMD в C/C++ и хочет понимать, что происходит на уровне инструкций Всем, кто интересуется низкоуровневой оптимизацией и хочет добавить SIMD в свой набор инструментов осознанно, а не по шаблону

Начальные требования

  • Уверенное владение материалом курсов «Основы» и «Продвинутый уровень» линейки — особенно темами памяти, выравнивания и оптимизации из курса 2
  • Процессор с поддержкой SSE/AVX2 (у большинства современных x86-64 процессоров она есть) — требования уточняются в разделе о сборке и запуске
  • Специальных знаний линейной алгебры не требуется, хотя знакомство с векторами/матрицами облегчит понимание некоторых примеров

Преподаватели курса

Как проходит обучение

Формат курса такой же, как у предыдущих: теория и практика в каждом уроке. Особенность в том, что почти каждая тема сопровождается сравнением скалярного и векторного варианта одного и того же кода — так нагляднее видно, что именно даёт SIMD и какой ценой. Курс завершается разделом о том, когда векторизация не помогает, и мини-проектом, где нужно самостоятельно решить, какие части кода стоит векторизовать.

Сертификат курса SIMD (Ассемблер NASM Linux x86-64)

Сертификат

Успешно завершив курс, вы получите сертификат от платформы Stepik. Уже 4 учеников получили сертификат.

Что вы получите

  • Понимание принципов SIMD и практический навык работы с регистрами xmm/ymm
  • Умение писать векторизованный код для чисел с плавающей точкой и целых чисел на SSE и AVX/AVX2
  • Навык перестановки и компоновки данных внутри регистров (shuffle, unpack, blend)
  • Критическое понимание того, когда векторизация оправдана, а когда нет
  • Завершённый мини-проект с применением векторных вычислений в портфолио
  • Сертификат о прохождении курса

Расскажите о курсе друзьям