5
ответов

Обратное указание _mm_movemask_epi8 [duplicate]

У меня есть массив логических и вы хотите отправить их через сеть. Тем не менее, я только хочу отправить один бит за логическое значение, поэтому я хочу собрать их вместе. Скажем, если я сохраняю все логические значения в виде __m128i ...
вопрос задан: 7 February 2014 10:50
3
ответа

Доступ к содержимому векторных регистров в сборке x86-64 [дубликат]

Я пытаюсь сделать плавающие точки octuple-precision на x86-64, хранящиеся в ymm векторных регистрах. Но я знаю только, как получить доступ к младшим 64 бит ymm0 (vmovq). Как я могу изменить векторные регистры смены вектора ...
вопрос задан: 3 June 2016 11:04
2
ответа

Какие расширения x86 ISA подразумевают поддержку предыдущих расширений SIMD? [Дубликат]

Мой процессор поддерживает следующие технологии: MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2 и AVX. Когда я пишу свой код и проверяю аппаратную поддержку, могу ли я предположить такие вещи, как «Если процессор ...
вопрос задан: 18 July 2015 11:50
2
ответа

Использование intrinsics в их собственной инициализации [duplicate]

У меня есть часть кода, которая делает это: __m128i a = _mm_loadl_pi (a, (__m64 *) ptr); Где ptr - некоторый адрес памяти. Я получаю предупреждение компилятора о том, что оно используется в его собственной инициализации. По существу ...
вопрос задан: 11 September 2013 15:28
1
ответ

Сокращение OpenMP на векторе SSE2

Я хочу вычислить среднее значение изображения (3 канала интереса + 1 альфа-канал, который мы здесь игнорируем) для каждого канала с использованием встроенных функций SSE2. Я пробовал это: __m128 средний = _mm_setzero_ps (); # ...
вопрос задан: 21 January 2019 06:45
1
ответ

Заменить байт другим

Я нахожу трудности в создании кода для этой, казалось бы, легкой проблемы. Учитывая упакованное 8-битное целое число, замените один байт другим, если он присутствует. Например, я хочу заменить 0x06 ...
вопрос задан: 15 January 2019 15:32
1
ответ

Почему мой код SSE Rusty медленнее, чем скалярная версия? [Дубликат]

Я реализовал алгоритм RNG Fast Mersenne Twister (SFMT) SSE в Rust, но версия SSE работает медленнее, чем скалярная версия. Две версии функции следующие: # ...
вопрос задан: 5 March 2017 07:52
0
ответов

Объединение префиксов в SSE

В SSE 066-е префиксы (переопределение размера операнда) 0F2H (REPNE) и 0F3h (REPE) являются частью кода операции. В не-SSE 066-е переключатели между 32-разрядным (или 64-разрядный) и 16-разрядной операцией. 0F2h и 0F3h...
вопрос задан: 4 December 2019 03:27
0
ответов

SIMD математические библиотеки для SSE и AVX

Я ищу SIMD математические библиотеки (желательно с открытым исходным кодом) для SSE и AVX. Я имею в виду, например, если у меня есть регистр AVX v с 8 значениями с плавающей запятой, я хочу, чтобы sin (v) возвращал грех всех восьми значений в ...
вопрос задан: 23 May 2017 12:25
0
ответов

Развертывание цикла для достижения максимальной пропускной способности с Ivy Bridge и Haswell

Я рассчитываю восемь точечных продуктов одновременно с AVX. В моем текущем коде я делаю что-то вроде этого (до развертывания): Ivy-Bridge / Sandy-Bridge __m256 areg0 = _mm256_set1_ps (a [m]); для (int i = 0; i
вопрос задан: 23 May 2017 12:17
0
ответов

лучший кроссплатформенный метод для выравнивания памяти

Вот код, который я обычно использую для выравнивания памяти с помощью встроенной Visual Studio и GCC void * align_malloc (size_t size, size_t align) {void * result; #ifdef _MSC_VER result = ...
вопрос задан: 23 May 2017 12:00
0
ответов

Почему мой вручную настроенный код с поддержкой SSE такой медленный?

Короче говоря: я занимаюсь разработкой приложения для обработки изображений с интенсивными вычислениями на C ++. Необходимо рассчитать множество вариантов деформации изображения на небольших блоках пикселей, выделенных из больших изображений. ...
вопрос задан: 17 September 2013 21:10
0
ответов

Что является значением “не временные” доступы памяти в x86

Это - вопрос несколько низкого уровня. В x86 блоке существует две инструкции SSE: MOVDQA xmmi, m128 и MOVNTDQA xmmi, m128 Руководство Разработчика программного обеспечения IA-32 говорит что NT в...
вопрос задан: 2 May 2012 11:10
0
ответов

Лучший ресурс для приобретения знаний об упреждающей выборке буфера в C на Intel/AMD 64 бита

Я интересуюсь освоением связанных с упреждающей выборкой функций, таких как _mm_prefetch (...) поэтому, когда я выполняю операции, что цикл по массивам, пропускная способность памяти полностью используется. Что является лучшим...
вопрос задан: 12 April 2010 12:52
0
ответов

Используя инструкции SSE

Мне записали цикл в C++, который выполняется для каждого элемента большого целочисленного массива. В цикле я маскирую некоторые биты целого числа и затем нахожу минуту и макс. значения. Я слышал это, если я использую...
вопрос задан: 25 February 2009 15:55
0
ответов

Используя SSE в c# это возможно?

Я читал вопрос о c# оптимизации кода, и одно решение состояло в том, чтобы использовать C++ с SSE. Действительно ли возможно сделать SSE непосредственно из c# программы?
вопрос задан: 6 January 2009 03:44
0
ответов

различие в скорости между символьными и целочисленными массивами?

в настоящее время я имею дело с программным обеспечением обработки видеоданных, в котором данные изображения (8 битов, подписанных и неподписанных), хранятся в массивах 16 выровненных целых чисел, выделенных как __ declspec (выровняйтесь (16)) интервал *p
вопрос задан: 26 September 2008 09:00
0
ответов

Сколько ускорения от преобразования 3D математики к SSE или другому SIMD?

Я использую 3D математику в своем приложении экстенсивно. Какого количества ускорения я могу достигнуть путем преобразования моей векторной/матричной библиотеки в SSE, AltiVec или подобного кода SIMD?
вопрос задан: 22 September 2008 14:55