Содержание курса
1. Введение
4 урока
36
25
1м
4
Закрытый
1.1
Введение
↗
14
7
1м 59с
1
Закрытый
1.2
Выравнивание данных и кэш
↗
8
6
-
1
Закрытый
1.3
Перестановки и компановка данных
↗
7
6
-
1
Закрытый
1.4
Контрольные вопросы
↗
7
6
-
1
2. Основы
5 уроков
15
9
0м
0
Закрытый
2.1
Что такое SIMD
↗
4
4
-
0
Закрытый
2.2
Регистры xmm и ymm
↗
3
2
-
0
Закрытый
2.3
Выравнивание данных и кэш
↗
4
1
-
0
Закрытый
2.4
Семейства расширений
↗
2
0
-
0
Закрытый
2.5
Сборка и запуск
↗
2
2
-
0
3. Числа с плавающей точкой
8 уроков
41
39
0м
8
Закрытый
3.1
Копирование данных
↗
6
5
-
1
Закрытый
3.2
Арифметика
↗
5
5
-
1
Закрытый
3.3
Горизонтальные операции
↗
5
5
-
1
Закрытый
3.4
Сравнение
↗
5
4
-
1
Закрытый
3.5
Преобразование типов
↗
5
5
-
1
Закрытый
3.6
Математические инструкции
↗
5
5
-
1
Закрытый
3.7
Управление точностью
↗
5
5
-
1
Закрытый
3.8
Контрольные вопросы
↗
5
5
-
1
4. Числа с плавающей точкой
8 уроков
5
0
0м
0
Закрытый
4.1
Загрузка и сохранение
↗
0
0
-
0
Закрытый
4.2
Скалярная арифметика
↗
1
0
-
0
Закрытый
4.3
Упакованная арифметика
↗
1
0
-
0
Закрытый
4.4
Горизонтальные операции
↗
1
0
-
0
Закрытый
4.5
Сравнение
↗
0
0
-
0
Закрытый
4.6
Преобразование типов
↗
1
0
-
0
Закрытый
4.7
Математические инструкции
↗
0
0
-
0
Закрытый
4.8
Управление точностью
↗
1
0
-
0
5. Целые числа
6 уроков
35
32
0м
6
Закрытый
5.1
Арифметика
↗
5
5
-
1
Закрытый
5.2
Сдвиги
↗
5
5
-
1
Закрытый
5.3
Логические операции
↗
6
5
-
1
Закрытый
5.4
Сравнение и маскирование
↗
5
5
-
1
Закрытый
5.5
Сбор/разбор
↗
7
7
-
1
Закрытый
5.6
Контрольные вопросы
↗
7
5
-
1
6. Целые числа
6 уроков
2
0
0м
0
Закрытый
6.1
Загрузка, сохранение и арифметика
↗
1
0
-
0
Закрытый
6.2
Умножение
↗
0
0
-
0
Закрытый
6.3
Сдвиги
↗
0
0
-
0
Закрытый
6.4
Логические операции
↗
1
0
-
0
Закрытый
6.5
Сравнение и маскирование
↗
0
0
-
0
Закрытый
6.6
Сбор и разбор данных
↗
0
0
-
0
7. Расширенные возможности
6 уроков
36
31
0м
6
Закрытый
7.1
Векторизация циклов
↗
6
5
-
1
Закрытый
7.2
Сохранение и восстановление состояния регистров
↗
7
5
-
1
Закрытый
7.3
Практические паттерны оптимизации
↗
5
5
-
1
Закрытый
7.4
Отладка и профилирование SIMD-кода
↗
6
5
-
1
Закрытый
7.5
Интеграция с C/C++
↗
7
6
-
1
Закрытый
7.6
Контрольные вопросы
↗
5
5
-
1
8. Перестановки и компоновка
3 урока
0
0
0м
0
Закрытый
8.1
Shuffle
↗
0
0
-
0
Закрытый
8.2
Unpack
↗
0
0
-
0
Закрытый
8.3
Blend
↗
0
0
-
0
9. Переход на AVX и AVX2
5 уроков
0
0
0м
0
Закрытый
9.1
Трёхоперандный синтаксис
↗
0
0
-
0
Закрытый
9.2
256-битные операции
↗
0
0
-
0
Закрытый
9.3
Broadcast
↗
0
0
-
0
Закрытый
9.4
Смешивании SSE и AVX
↗
0
0
-
0
Закрытый
9.5
Сохранение и восстановление регистров
↗
0
0
-
0
10. Итоговый экзамен
2 урока
13
11
0м
2
Закрытый
10.1
Вопросы
↗
5
5
-
1
Закрытый
10.2
Задачи
↗
8
6
-
1
11. Обратная связь
1 урок
6
6
0м
1
Закрытый
11.1
Обратная связь
↗
6
6
-
1
12. Интеграция и отладка
4 урока
1
1
0м
0
Закрытый
12.1
Интеграция с C и C++
↗
0
0
-
0
Закрытый
12.2
Отладка SIMD в GDB
↗
0
0
-
0
Закрытый
12.3
Профилирование
↗
0
0
-
0
Закрытый
12.4
Когда SIMD не помогает
↗
1
1
-
0
13. Итоги
3 урока
0
0
0м
0
Закрытый
13.1
Финальные задания
↗
0
0
-
0
Закрытый
13.2
Мини-проект
↗
0
0
-
0
Закрытый
13.3
Список пройденного
↗
0
0
-
0