Для запуска приложений с кодом avx2 ядро должно правильно обрабатывать сохранение / восстановление состояния процессора при переключении между задачами, это было сделано в 2.6.30 ( https://kernelnewbies.org/Linux_2_6_30 ). Программа sw также должна содержать (может быть, решение во время компиляции включать его или нет) код avx2 и использовать его (или он может содержать и то, и другое для решения времени выполнения, но для этого он должен обнаружить, что ваш процессор поддерживает avx2). То, сколько преимуществ приносит avx2, зависит также от процессора (некоторые процессоры поддерживают его, но не получают от него никаких преимуществ по разным причинам. Процессоры Intel в целом выигрывают больше, чем процессоры AMD, и каждое новое поколение получает больше преимуществ).
Само ядро также может содержать код, оптимизированный для avx2, для таких вещей, как шифрование, хэширование, сжатие и все, что от этого выигрывает (не все, что есть, а некоторые вещи, которые теоретически делают, очень трудно кодировать с использованием avx2, причем это правильно и правильно. быстрее, чем скалярный код делает то же самое) в зависимости от настроек, используемых во время компиляции.
Вы можете проверить это, выполнив такие действия, как dmesg | grep avx2 или чтение файла конфигурации (конфигурацию, используемую для компиляции работающего в данный момент ядра, иногда можно найти в /proc/config.gz) и поиск avx2.