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

Можно ли создавать большой массив значений AVX / SSE?
Я распараллеливаю определенную проблему динамического программирования, используя инструкции AVX2 / SSE. В основной итерации моих вычислений я вычисляю столбец в матрице, где каждая ячейка представляет собой структуру регистров AVX2 ( _m256i ). Я...
967 просмотров
schedule 18.09.2022

Указатель int64_t приведен к встроенному AVX2 _m256i
Здравствуйте, у меня странная проблема с внутренними компонентами AVX2. Я создаю указатель на вектор _m256i с приведением типа int64_t*. Затем я присваиваю значение, разыменовывая указатель. Странно то, что значение не наблюдается в векторной...
646 просмотров
schedule 13.01.2024

AVX2 собирает загрузку структуры из двух целых
В настоящее время я пытаюсь реализовать версию AVX2 (процессор Haswell) некоторого существующего скалярного кода меня. Что реализует такой шаг: struct entry { uint32_t low, high; }; // both filled with "random" data in previous loops...
340 просмотров
schedule 08.01.2024

Как преобразовать 32-битное число с плавающей запятой в 8-битный знаковый символ?
Что я хочу сделать: Умножьте введенное число с плавающей запятой на фиксированный коэффициент. Преобразуйте их в 8-битные символы со знаком. Обратите внимание, что большинство входных данных имеют небольшой абсолютный диапазон значений,...
1657 просмотров
schedule 04.12.2022

Переместите int64_t в старшие четверные слова вектора AVX2 __m256i
Этот вопрос аналогичен [1]. Однако я не совсем понял, как это решает вставку в старшие четверные слова ymm с помощью георадара. Кроме того, я хочу, чтобы операция не использовала никаких промежуточных обращений к памяти. Можно ли это сделать с...
260 просмотров
schedule 23.11.2023

Векторная инструкция Intel для расширения нулями 8 4-битных значений, упакованных в 32-битное int, до __m256i?
как говорится в вопросе, у меня есть нормальный int, который состоит из 8 упакованных значений по 4 бита каждое, и я хотел бы расширить его до 256-битного векторного регистра. Возможно ли это с sse / avx / avx2?
321 просмотров
schedule 12.04.2024

Можно ли убедить clang автоматически векторизовать этот код без использования встроенных функций?
Представьте, что у меня есть эта наивная функция для обнаружения перекрытия сфер. Смысл этого вопроса на самом деле не в том, чтобы обсудить лучший способ проверки попаданий на сферы, так что это просто для иллюстрации. inline bool...
381 просмотров

AVX2 - метод в 14 раз медленнее классической версии
Я переписал логарифмическую функцию с http://gruntthepeon.free.fr/ssemath/ для использования с дублями и AVX2. Однако вся функция в 14 раз медленнее (15 с), чем обычная версия C/C++ (1,1 с). Когда я комментирую все файлы, которые используют...
122 просмотров
schedule 12.11.2023

Я хотел бы улучшить производительность этого кода с помощью AVX
Я профилировал свой код, и самая дорогая часть кода — это цикл, включенный в пост. Я хочу улучшить производительность этого цикла с помощью AVX. Я попытался развернуть цикл вручную, и, хотя это и повышает производительность, улучшения...
184 просмотров

uint32_t * uint32_t = векторное умножение uint64_t с gcc
Я пытаюсь умножить векторы uint32_t , производя полный 64-битный результат в векторе uint64_t в gcc. Я ожидаю, что gcc выдаст одну инструкцию VPMULUDQ . Но то, что выводит gcc в виде кода, представляет собой ужасную перетасовку отдельных...
147 просмотров
schedule 02.01.2024

кратчайший способ найти абсолютный минимум. из двух чисел и умножьте его на знаки его входов в AVX
Любой намек на то, как реализовать AVX для логики ниже C без умножения, for(int i = 0;i<4096;i++) { out[i] = sign(inp1[i])*sign(inp2[i])*min(abs(inp1[i]), abs(inp2[i])); } // inp1, inp2 и out — 16-битные регистры.
105 просмотров
schedule 27.03.2024

lscpu и cpuid говорят, что у меня AVX2, но vpsllvw не работает
Если я запускаю lscpu или смотрю /proc/cpuinfo , они оба говорят, что мой процессор поддерживает AVX2. $ lscpu | grep -o avx2 avx2 Однако, когда я использовал vpsllvw в своем коде, он дал SIGILL. bits 64 global main section .text main:...
136 просмотров
schedule 27.10.2022

Существует ли AVX/AVX2 на каждом ядре?
Итак, эта штука с AVX — это как маленькая машина для каждого ядра? Или это просто как один движок для всего процессора? Мол, можно ли как-то использовать его на каждом ядре? Я играю с этим, и я чувствую, что могу злоупотребить им и создать своего...
449 просмотров
schedule 05.02.2024