Вопросы по теме 'avx512'

Встроенные трансляции с встроенными функциями и сборкой
В разделе 2.5.3 «Трансляции» Справочник по программированию расширений набора инструкций архитектуры Intel , что мы узнаем, чем у AVX512 (и Knights Corner) есть битовое поле для кодирования широковещательных данных для некоторых инструкций...
961 просмотров
schedule 09.03.2022

Каковы модификаторы переопределения размера для xmm / ymm / zmm во встроенном asm GNU C для одного операнда?
Пытаясь ответить на встроенные трансляции с встроенными функциями и сборкой , я пытался сделать что-то вроде этого: __m512 mul_bcast(__m512 a, float b) { asm( "vbroadcastss %k[scalar], %q[scalar]\n\t" // want vbcast.....
3906 просмотров
schedule 09.04.2022

есть ли способы преобразовать unsigned char в short на основе встроенных возможностей процессора AVX512?
Я просто читаю встроенные наборы процессоров AVX512 в процессорах Xeon Phi, но кажется, что традиционный метод преобразования типов данных в sse не работает в avx512, поэтому могу ли я спросить, есть ли какой-либо аналогичный процессор, установленный...
206 просмотров
schedule 14.05.2023

Отсутствуют встроенные функции AVX-512 для масок?
Руководство Intel по внутренним функциям lists количество встроенных функций для инструкций маски AVX-512 K *, но, похоже, некоторых из них не хватает: KSHIFT {L / R} KADD КТЕСТ В руководстве разработчика Intel утверждается, что...
1418 просмотров
schedule 26.08.2022

Различная семантика встроенных инструкций сравнения в avx512?
С операциями сравнения sse2 или avx возвращались битовые маски всех нулей или всех единиц (например, _mm_cmpge_pd возвращает __m128d. Не могу найти аналог с avx512. Операции сравнения, похоже, возвращают только короткие битовые маски. Произошло...
220 просмотров
schedule 30.05.2023

Есть ли штраф за смешивание целочисленных инструкций x86-64 с инструкциями AVX1/2/512?
Я видел много сборок с AVX (все три разновидности), и во всех случаях, которые я видел, наиболее концентрированная инструкция является лучшей, которую выполняет код. Но, например, такие вещи, как выполнение загрузки в 32-битный регистр, а затем...
203 просмотров
schedule 11.10.2022

Динамическое определение места выполнения несанкционированной инструкции AVX-512
У меня есть процесс, запущенный на машине Intel, которая поддерживает AVX-512, но этот процесс напрямую не использует никаких инструкций AVX-512 (asm или встроенных функций) и скомпилирован с -mno-avx512f , поэтому компилятор не вставляет никаких...
1347 просмотров
schedule 24.10.2023

построить тензорный поток для Intel Xeon Gold 6148
У меня есть сервер с двумя Intel xeon gold 6148 и tenorflow, работающими на нем. Когда я устанавливаю tf с помощью pip, я получаю сообщение о том, что AVX2 и AVX512 не используются в моей установке. Итак, чтобы добиться максимальной...
510 просмотров

Ограничение ввода GNU C inline asm для регистров маски AVX512 (k1k7)?
AVX512 представил функцию opmask для своих арифметических команд. Простой пример: godbolt.org . #include <immintrin.h> __m512i add(__m512i a, __m512i b) { __m512i sum; asm( "mov ebx, 0xAAAAAAAA;...
642 просмотров
schedule 15.04.2022

Есть ли встроенный x86, который генерирует операцию широковещательной передачи AVX512 из 32-битного значения с плавающей запятой в памяти в 512-битный регистр?
Инструкция существует ( vbroadcastss zmm/m32 ), но, похоже, нет никаких внутренних средств для ее создания. Я могу закодировать это как static inline __m512 mybroadcast(float *x) { __m512 v; asm inline ( "vbroadcastss %1,%0 "...
308 просмотров
schedule 02.10.2022

В чем разница между AVX2 и AVX-512?
Что касается SIMD и распараллеливания, в чем разница между AVX2 и AVX-512? Это одно и то же или разные? Я просто вижу, что double8 используется в AVX-512, а double4 используется для AVX2? Я использую PyOpenCL для написания кода ядра на C и не...
2284 просмотров
schedule 17.01.2023

Как сделать ручную векторизацию кода с большей производительностью, чем автоматическая векторизация для обнаружения границ
Я следил за этим курсом Coursera и в какой-то момент дается приведенный ниже код, и инструктор утверждает, что векторизация выполняется путем включения #pragma omp simd между внутренним и внешним циклами for , поскольку управляемая векторизация...
99 просмотров
schedule 07.03.2023

SIMD оптимизировать малую матрицу умножить (16 x 16) x (16 x 1)
Как лучше всего выполнить умножение матрицы M с плавающей запятой (16 x 16) на вектор V (16 x 1) в AVX-512? Подход, который я могу придумать, состоит в том, чтобы выполнить поэлементное умножение каждой строки матрицы на V с помощью...
181 просмотров
schedule 16.06.2022

_mm256_permutexvar_epi8 и _mm256_permutexvar_epi16 эквиваленты AVX2 для перетасовок с постоянным временем компиляции?
Я ищу способ переставить значения 1 байт и/или 2 байта в регистре __m256i с помощью инструкций AVX2. Решение должно иметь возможность перемещать значения по 128-битным дорожкам . Я знаю, что с AVX512 я мог бы использовать...
118 просмотров
schedule 08.05.2023

Включение GCC инструкций Fused Multiply Add AVX512 при компиляции для процессоров Cascade-Lake
Согласно документации gcc , компиляция с -march = cascadelake не позволяет флаг -AVX512IFMA (который, если я правильно понимаю, включает поддержку инструкций FMA AVX512). Напротив, этот флаг включен, например, при компиляции с -march = cannonlake и...
95 просмотров
schedule 09.07.2023

Есть ли способ автоматически заменить avx512 на avx2?
Следуя совету Линуса Торвальдса (и кроссплатформенной производительности), я не хочу использовать avx512. Есть ли флаг, который я могу указать компилятору (как gcc, так и msvc), чтобы все инструкции avx512 разбивались на пары инструкций avx2, если...
139 просмотров
schedule 04.06.2022

AVX-512 — приложение отладки с Intel SDE не работает
Я пытаюсь отлаживать инструкции AVX-512 на эмулируемом процессоре, используя Intel® Software Development Emulator , но он не работает должным образом после установки точки останова. Я следил за этим сообщением в блоге: Отладка эмулируемого кода в...
76 просмотров
schedule 05.02.2023

Эффективно оценивайте большие полиномы с помощью SIMD
У меня есть довольно большие (20-40 градусов) медленно сходящиеся (иногда) многочлены с плавающей запятой. Я хотел бы оптимизировать их оценку с помощью SIMD (SSE2, AVX1, AVX-512). Мне нужны решения как с плавающей запятой-32, так и с двойным-64....
154 просмотров
schedule 14.07.2022