Вопросы по теме '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 просмотров
schedule
17.07.2023
Ограничение ввода 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