Описание тега avx512
AVX512 - это следующее поколение инструкций Intel SIMD, расширяющее существующие функциональные возможности AVX до 512 бит.
1
ответ
Оптимальный способ хранения двойных SSE2/AVX/AVX512 как плавающих с использованием встроенных функций
Мне часто нужно использовать double по соображениям точности, но я хочу сохранить результаты как плавающие. Какой оптимальный способ? Я в настоящее время использую: SSE2: _mm_store_sd((double*)dst, _mm_castps_pd(_mm_cvtpd_ps(xmm))); AVX: _mm_storeu_…
18 окт '18 в 09:45
1
ответ
Как определить доступность SSE/SSE2/AVX/AVX2/AVX-512/AVX-128-FMA/KCVI во время компиляции?
Я пытаюсь оптимизировать некоторые матричные вычисления, и мне было интересно, можно ли было определить во время компиляции, включен ли SSE / SSE2 / AVX / AVX2 / AVX-512 / AVX-128-FMA / KCVI[1] компилятор? Идеально для GCC и Clang, но я могу справит…
09 мар '15 в 10:23
0
ответов
Символ препроцессора AVX512 и MSVC
По этой ссылке нет предопределенных символов препроцессора для AVX512 ( MSVC 2017) Я пытаюсь собрать thundersvm, который использует собственную библиотеку на (как вы уже догадались) окнах. И Eigen, и thundersvm используют cmake и depinding для симво…
14 фев '19 в 17:16
2
ответа
Могут ли виртуальные машины в Google Compute определять, когда они были перенесены?
Можно ли уведомить приложение, работающее на виртуальной машине Google Compute, когда виртуальная машина мигрирует на другое оборудование? Я разработчик приложения (HMMER), которое интенсивно использует векторные инструкции (SSE/AVX/AVX-512). Версия…
12 июн '17 в 19:11
0
ответов
Создайте файл AVX 512 в VS 2017 на компьютере AVX-2
Мне нужно создать код сборки AVX-512, который работает на сервере Windows 2016. Локальная машина разработки имеет только возможности AVX-2. Однако на сервере установлены процессоры с поддержкой AVX-512. Я понял предложенные здесь решения по удаленно…
22 апр '18 в 18:24
1
ответ
Неопределенная ссылка в AVX-512
У меня есть код на C, который работает на Xeon Phi и содержит много встроенных функций AVX-512. Код хорошо компилируется, до следующих строк: #ifdef __MIC__ __m512i mm_idx = _mm512_set_epi32(0, 0, 0, 0, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); __m512 …
31 мар '15 в 13:29
0
ответов
Атомность каждого элемента векторной загрузки / хранения и сбора / разброса?
Рассмотрим массив как atomic<int32_t> shared_array[], Что делать, если вы хотите SIMD векторизации for(...) sum += shared_array[i].load(memory_order_relaxed)?. Или искать в массиве первый ненулевой элемент или обнулять его диапазон? Это, вероя…
02 сен '17 в 09:56
2
ответа
Длина вектора AVX512 и управление SAE
Мой вопрос касается EVEX-кодированных упакованных инструкций reg-reg без округления семантики, которые позволяют контролировать SAE (подавление всех исключений), таких как VMIN*, VCVTT*, VGETEXT*, VREDUCE*, VRANGE* и т. Д. Intel объявляет SAE-осведо…
23 апр '16 в 17:58
0
ответов
Преобразовать 8-разрядное целое число без знака в / из числа с плавающей запятой в Intel Knights Corner (KNC, Xeon Phi Gen 1)
Я делаю программу для процессора Knights Corner (KNC). Кажется, у него есть прототип AVX512 в качестве набора инструкций, но я не нашел никаких указаний в Intel Intrinsic Guide для преобразования между различными целочисленными значениями ширины. В …
22 июн '16 в 04:01
0
ответов
R использует AVX512 автоматически?
У меня есть несколько интенсивных вычислительных задач в R, которые основаны на вычитании и умножении числовых векторов. Могут ли такие вычисления получить пользу от использования AVX512, и будет ли текущая версия R автоматически использовать такие …
02 янв '18 в 06:14
0
ответов
Бедный альтернатива _mm_cvttpd_epi64
На AXV512DQ, есть _mm_cvttpd_epi64например в файле avx512vldqintrin.h мы нашли static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvttpd_epi64 (__m128d __A) { return (__m128i) __builtin_ia32_cvttpd2qq128_mask ((__v2df) __A, (__v2di) _mm_setzero_si128(…
12 июн '17 в 17:24
1
ответ
Ошибка доступа к памяти с помощью _mm512_i64gather_pd()
Я пытаюсь использовать очень простой пример инструкций по сбору AVX-512: double __attribute__((aligned(64))) array3[17] = {1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0}; int __attribute__((aligned(64)))…
20 дек '18 в 14:33
1
ответ
В чем разница между _mm512_load_epi32 и _mm512_load_si512?
Руководство Intel по внутренним характеристикам просто утверждает, что _mm512_load_epi32: Загрузить [s] 512-бит (состоит из 16 упакованных 32-битных целых) из памяти в dst и это _mm512_load_si512: Загрузка [s] 512-бит целочисленных данных из памяти …
23 дек '18 в 17:37
0
ответов
AVX 512 против расчета флопов / циклов без AVX512
Я продолжаю читать, что с AVX512 ядро Intel Skylake с двумя функциональными блоками с плавающей запятой может работать 32 такта / такт в секунду. На том же ядре, если вы не используете инструкции AVX512, вы можете достичь 2 операций в секунду / ци…
05 фев '19 в 14:32
1
ответ
Ошибка: "_mm512_loadu_epi64" не было объявлено в этой области
Я пытаюсь создать минимальный репродуктор для этого отчета о проблеме. Кажется, есть некоторые проблемы с AVX-512, который поставляется на последних машинах Apple с процессорами Skylake. Согласно примечаниям к выпуску GCC6, AVX-512 должен быть в нал…
04 дек '18 в 02:47
0
ответов
Преобразовать массив из восьми байтов в восемь целых
Я работаю с Xeon Phi Knights Landing. Мне нужно сделать операцию сбора из массива пар. Список индексов происходит из массива символов. Операции по сбору либо _mm512_i32gather_pd или же _mm512_i64gather_pd, Насколько я понимаю, мне нужно либо преобра…
24 ноя '18 в 14:25
1
ответ
SIMD: внедрить _mm256_max_epu64_ и _mm256_min_epu64_
Я хочу задать вопрос о SIMD. Я не понимаю AVX512 в моем процессоре, но хочу иметь _mm256_max_epu64. Как мы можем реализовать эту функцию с AVX2? Здесь я пытаюсь получить мой тривиальный. Возможно мы можем позволить этому быть обсуждением и улучшить …
28 янв '19 в 01:01
1
ответ
Динамическое определение, где выполняется мошенническая инструкция AVX-512
У меня есть процесс, работающий на машине Intel, которая поддерживает AVX-512, но этот процесс напрямую не использует никаких инструкций AVX-512 (asm или intrinsics) и скомпилирован с -mno-avx512f чтобы компилятор не вставлял никаких инструкций AVX-…
24 авг '18 в 16:53
1
ответ
Измерение производительности для простых операций векторизованного массива
Я оптимизирую простые операции с массивами, такие как for (int i=0; i<cnt; i++) dst[i] = src1[i] * src2[i]; где cnt обычно составляет от 32 до 1024, что является типичными случаями в моем приложении. Я сравниваю Intel IPP, родной векторизатор MSV…
21 сен '18 в 12:21
2
ответа
Подсчет 1 бита (подсчет населения) для больших данных с использованием AVX-512 или AVX-2
У меня большой кусок памяти, скажем, 256 КиБ или больше. Я хочу подсчитать количество 1 битов во всем этом фрагменте, или другими словами: сложить значения "количества населения" для всех байтов. Я знаю, что AVX-512 имеет инструкцию VPOPCNTDQ, котор…
28 апр '18 в 22:04