контекст
У меня есть кусок кода SIMD, который вычисляет матрицы модели , используя AVX512 или AVX2 и , если функция доступна в CPU Core . Если SIMD не доступен, он только что будет отстранен на скалярную реализацию.
Но теперь я хочу отправить эту задачу в другой поток < /strong> (все данные уже упакованы для кода SIMD, так что это тривиально, чтобы работать в другую тему). Архитектуры , P-Cores могут реализовать инструкции SIMD, но электронные язвы не будут. Это означает, что если моя задача SIMD будет запланирована на электронном сердечнике вместо P-Core, программа будет сбой. Таким образом, исправлением для этого было бы просто иметь мой пул потоков, для каждого нового потока, чтобы заблокировать себя до ядра CPU , используя основную аффинность и проверять функции процессора. хочу. < /p>
Это правда? И если это так, как мне справиться с этой ситуацией?
Я параноик? Является ли эта ситуация с PCORE и ECORE уже обрабатывается ОС? Но это может быть паранойей.
Подробнее здесь: https://stackoverflow.com/questions/797 ... structions