В Ubuntu решено перейти по умолчанию на поставку пакета intel-compute-runtime, собранного с флагом NEO_DISABLE_MITIGATIONS, отключающим защиту от атак класса Spectre. По оценке разработчиков Ubuntu наличие подобной защиты приводит к снижению производительности пакета примерно на 20%.
Пакет intel-compute-runtime включает компоненты, необходимые для использования OpenCL и OneAPI Level Zero на системах с GPU Intel. При сборке поставляемых в пакете библиотек наличие сборочного флага NEO_DISABLE_MITIGATIONS приводит отключению в компиляторе опций “-mretpoline -mindirect-branch=thunk -mfunction-return=thunk -mindirect-branch-register”, обеспечивающих дополнительную защиту от Spectre. На производительность OpenCL и операций на стороне GPU эти опции не влияют, но снижают накладные расходы при выполнении кода, отвечающего за работу API.
Инженеры, отвечающие за безопасность в Intel и Canonacal, в ходе обсуждения пришли к выводу, что в защите от Spectre, реализованной на уровне Compute Runtime, больше нет необходимости, так как необходимая защита уже имеется на уровне ядра. Имеющаяся в Compute Runtime защита от Spectre представляет интерес в основном для тех, кто использует ядра без должной защиты, и польза от неё не перекрывает наблюдаемое снижение производительности. Кроме того, предоставляемые Intel релизы Intel Graphics Compute Runtime собираются с выставлением по умолчанию флага NEO_DISABLE_MITIGATIONS, отключающего защиту.