SIMD (Single Instruction, Multiple Data) — это возможность процессора выполнять одну и ту же математическую операцию над несколькими значениями одновременно. Вместо последовательной обработки чисел SIMD обрабатывает 4–8 значений за один шаг.
Где используется: видеокодеки, игровые движки, ML-инференс, обработка изображений — массовая числовая работа с однородными данными. Библиотеки numpy и ffmpeg используют SIMD внутри.
Ограничения: требует одинаковых операций над независимыми данными. Не подходит для последовательной или ветвящейся логики. Условные конструкции (if) несовместимы с SIMD. Данные должны располагаться в памяти непрерывно.
Большинство разработчиков получают выгоду от SIMD через оптимизированные библиотеки, не реализуя его напрямую.