Я недавно заинтересовался оптимизацией SIMD после того, как через некоторое время снова захотел программировать на C ++. Пожалуйста, будьте понятны, так как я все еще новичок с инструкциями SIMD.
Мой вопрос: возможно ли скомпилировать один кросс-платформенный исполняемый файл на C ++, который поддерживает множество наборов команд SIMD и который в режиме реального времени выбирает лучший набор команд для использования? Лучше всего с точки зрения производительности, обычно самые последние наборы инструкций лучше.
Пример: я компилирую игру на Windows 10 с i7-7700K и помещаю ее в Steam. Вероятно, у разных пользователей разные процессоры, которые поддерживают разные наборы команд SIMD. При запуске игры определяется и используется лучший набор инструкций SIMD.
Естественно, мне пришлось бы адаптировать свой код и поддерживать несколько наборов инструкций SIMD, отобранных вручную.