Как справиться с Intel Ecore и Pcore при использовании инструкций SIMD? [дублировать]C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как справиться с Intel Ecore и Pcore при использовании инструкций SIMD? [дублировать]

Сообщение Anonymous »

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

Подробнее здесь: https://stackoverflow.com/questions/797 ... structions
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»