Публикации по теме 'simd'


Я не вижу, где определяется делегат. Я думаю, он называется sumComputer.
Я не вижу, где определяется делегат. Я думаю, он называется sumComputer.

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

Преимущество одновременного использования нескольких наборов инструкций SIMD
Я пишу высокопараллельное многопоточное приложение. У меня уже есть класс потока с ускорением SSE. Если бы мне пришлось написать класс потока с ускорением MMX, а затем запустить оба потока одновременно (один поток SSE и один поток MMX на ядро),...
1327 просмотров
schedule 28.10.2021

В чем разница между SPMD и SIMD?
Я просто не могу понять, в чем разница между ними ... SPMD находится на уровне программирования, а SIMD - на аппаратном уровне? пример был бы хорош! Благодарность
6982 просмотров
schedule 18.11.2021

Почему этот цикл не векторизован?
Одна из наиболее горячих точек при профилировании кода, над которым я работаю, - это следующий цикл: for(int loc = start; loc<end; ++loc) y[loc]+=a[offset+loc]*x[loc+d]; где массивы y, a и x не перекрываются. Мне кажется, что такой...
690 просмотров
schedule 14.09.2021

Как отключить векторизацию при использовании GCC?
Я компилирую свой код, используя следующую команду: gcc -O3 -ftree-vectorizer-verbose=6 -msse4.1 -ffast-math При этом все оптимизации включены. Но я хочу отключить векторизацию, сохранив при этом другие оптимизации.
11686 просмотров

Оптимизация кода SSE2
Я использую встроенные функции SSE2 для оптимизации узких мест в моем приложении, и у меня возникает следующий вопрос: ddata = _mm_xor_si128(_mm_xor_si128( _mm_sll_epi32(xdata, 0x7u), _mm_srl_epi32(tdata, 0x19u)), xdata); В компиляторе...
1334 просмотров
schedule 26.10.2021

Как в этом случае себя ведет SIMD?
Я использую движок, который позволяет писать SIMD-код, и он работает быстро. Но есть только один блок, в котором есть весь код. Я понимаю, что этот код запускается независимо для каждой сущности одновременно, но когда изменяется только одна вещь,...
85 просмотров

Проверить регистр XMM на наличие всех нулей
Есть ли способ проверить, все ли биты / байты / слова и т. Д. В переменной __m128i равны 0? В моем приложении я должен проверить, все ли целые числа, упакованные в переменную __m128i , равны нулю. Придется ли мне их извлекать и сравнивать по...
3133 просмотров
schedule 21.09.2021

Сравнение и извлечение с помощью SSE
Как лучше всего попарно сравнивать два целочисленных регистра и извлекать одинаковые элементы с помощью инструкций SSE? Например, если a = [6 4 7 2] и b = [2 4 9 2] (каждый регистр содержит четыре 32-битных целых числа), результат должен быть [4...
996 просмотров
schedule 02.12.2021

Добавить все элементы в полосу
Есть ли встроенная функция, которая позволяет добавлять все элементы на дорожку? Я использую Neon, чтобы перемножить 8 чисел, и мне нужно просуммировать результат. Вот перефразированный код, показывающий, что я делаю сейчас (возможно, это можно было...
5160 просмотров
schedule 11.09.2021

Переверните строку с помощью SSE
Как перевернуть строку с помощью SSE? эта концепция нова для меня, поэтому, пожалуйста, дайте мне немного информации о ней. Причина в том, что кто-то говорит, что использование SSE ускорит код и время выполнения. Я искал SSE, который равен...
531 просмотров
schedule 17.11.2021

Целочисленное хранилище SIMD
Я пишу программу, использующую инструкции SSE для умножения и сложения целочисленных значений. Я проделал ту же программу с числами с плавающей запятой, но мне не хватает инструкции для моей целочисленной версии. С помощью чисел с плавающей...
898 просмотров
schedule 16.11.2021

Как реализованы инструкции по сборке в AVX2?
Предположим, я использую AVX2 VGATHERDPS - он должен загрузить 8 чисел с плавающей запятой одинарной точности с использованием 8 индексов DWORD. Что происходит, когда загружаемые данные находятся в разных строках кеша? Реализована ли инструкция...
6718 просмотров
schedule 26.11.2021

некоторые сомнения относительно циклов ARM NEON
Я написал неоновый код на ассемблере и стремился к максимальной оптимизации. Хотя задержка из-за конфликта регистров и конвейера уменьшена, разница только в 1 цикл, то есть до номера 70-0 после номера 69-0. почему это так, я не понял. вот мой...
204 просмотров
schedule 08.11.2021

Измените размер 8-битного изображения на 4 с помощью ARM NEON
Я хотел бы использовать ARM Neon для изменения размера 8-битного серого изображения в 4 раза с 1280x960 до 320x240. В качестве примера у меня уже есть изменение размера в 2 раза с 640x480 до 320x240: void divideimageby2(uint8_t * src, uint8_t *...
1291 просмотров
schedule 10.11.2021

Применение заданной функции к 256-битному вектору с использованием парадигмы SIMD
Есть ли способ оценить функцию по вектору __m256d/s ? Нравится: #include <immintrin.h> inline __m256d func(__m256d *a, __m256d *b) { return 1 / ((*a + *b) * (*a + *b)); } int main() { __m256d a = _mm256_set_pd(1.0f, 2.0f, 3.0f,...
372 просмотров

Индексирование векторов в SIMD
Я работаю с SIMD и пытаюсь векторизовать цикл. Здесь я пытаюсь добавить вектор индексов к указателю слева, чтобы получить значение указателя в этом индексе, а затем продолжить выполнение операций SIMD. Например, если бы я делал это без SIMD, это...
395 просмотров
schedule 20.11.2021

Как преобразовать символ без знака в целое число со знаком с помощью Neon SIMD
Как преобразовать переменную типа данных uint8_t в int32_t с помощью Neon? Я не мог найти ничего внутреннего для этого.
2572 просмотров
schedule 09.10.2021

Почему этот раздел кода возвращает ошибку ошибки сегментации?
Я векторизирую часть своей программы, но она возвращает Segmentation fault ошибку. Что в этом плохого? Вот упрощенный раздел, который вызывает проблему. j++ и i++ это именно то, что я хочу, я не хочу быть j += 16 . unsigned short int...
266 просмотров
schedule 17.11.2021

Захват SIGFPE из инструкции SIMD
Я пытаюсь очистить флаг деления с плавающей запятой на ноль, чтобы игнорировать это исключение. Я ожидаю, что с установленным флагом (я считаю, что никаких изменений по сравнению с поведением по умолчанию и закомментировано ниже) мой обработчик...
309 просмотров
schedule 28.11.2021

Проверка регистров NEON SIMD на равенство на всех полосах
Я использую Neon Instrinics с лязгом. Я хочу проверить два uint32x4_t значения SIMD на равенство по всем полосам. То есть не 4 результата тестов, а один результат, который говорит мне, равны ли A и B для всех полос. На Intel AVX я бы...
620 просмотров
schedule 12.11.2021