13
ответов

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

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

Производительность Java в числовых алгоритмах

Я любопытен на предмет производительности Java числовые алгоритмы, говорю, например, матричное матричное умножение двойной точности, с помощью последних машин JIT, как сравнено, например, чтобы вручить настроенному SSE C++/...
вопрос задан: 9 November 2009 01:22
6
ответов

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

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

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

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

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

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

Как определить, ли память выровненная?

Я плохо знаком с оптимизацией кода с инструкциями SSE/SSE2, и до сих пор я не стал очень далеким. К моему знанию общая оптимизированная SSE функция была бы похожа на это: освободите sse_func (плавание константы* константа...
вопрос задан: 24 August 2018 14:05
4
ответа

Языки программирования SIMD

В последних годах я делал большое программирование SIMD, и большую часть времени я полагался на встроенные функции компилятора (такие как те для программирования SSE) или на программировании...
вопрос задан: 17 August 2018 10:56
4
ответа

Как современные компиляторы используют mmx/3dnow/sse инструкции?

Я читал на x86 расширениях системы команд, и они только кажутся полезными при некоторых довольно определенных обстоятельствах (например, HADDPD - (Horizontal-Add-Packed-Double) в SSE3). Они требуют определенного...
вопрос задан: 18 May 2009 00:10
4
ответа

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

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

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

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

Заставьте GCC сохранять регистр SSE всюду по функции, которая использует встроенный asm

Я пишу программу в C, который должен сделать некоторые быстрые математические вычисления. Я использую встроенные инструкции по сборке SSE для получения некоторого действия SIMD (использующий упакованные числа двойной точности с плавающей точкой). Я...
вопрос задан: 18 February 2015 15:18
3
ответа

Преимущества x87 по SSE

Я знаю, что x87 имеет более высокую внутреннюю точность, которая является, вероятно, самым большим различием, которое люди видят между ним и операциями SSE. Но я должен задаться вопросом, там какое-либо другое преимущество для использования x87?...
вопрос задан: 4 December 2009 04:02
2
ответа

Начало работы с инструкциями Intel x86 SSE SIMD

Я хочу узнать больше об использовании SSE. Что пути там для изучения помимо очевидного чтения Intel® 64 и Руководств Разработчика программного обеспечения Архитектуры IA-32? Главным образом мне интересно работать...
вопрос задан: 1 June 2019 18:51
2
ответа

Почему скаляр SSE sqrt (x) медленнее, чем rsqrt (x) * x?

Я представлял часть нашей базовой математики на Intel Core Duo, и при рассмотрении различных подходов к квадратному корню, я заметил что-то нечетное: с помощью операций скаляра SSE это быстрее для взятия...
вопрос задан: 25 April 2018 10:45
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
2
ответа

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

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

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

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

C - Как получить доступ к элементам вектора с помощью GCC расширение вектора SSE

Обычно я работаю с 3D использованием векторов после типов: определение типа vec3_t плавание [3]; инициализация векторов с помощью чего-то как: vec3_t x_basis = {1.0, 0.0, 0.0}; vec3_t y_basis = {0.0, 1.0, 0.0}; vec3_t...
вопрос задан: 26 November 2009 15:18
2
ответа

glibc и функциональность SSE

Я пытаюсь найти информацию о glibc и до какой степени это использует функциональность SSE. Если это оптимизировано, я могу использовать его out-of-the-box? Скажите, что я использую один из больших дистрибутивов Linux, я принимаю это...
вопрос задан: 7 May 2009 08:53
1
ответ

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

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

С ++ SSE SIMD framework [закрыто]

Кто-нибудь знает внутреннюю библиотеку C ++ x86 SIMD с открытым исходным кодом? Intel предоставляет именно то, что мне нужно, в их интегрированной библиотеке примитивов производительности, но я не могу использовать это из-за авторских прав ...
вопрос задан: 26 October 2013 13:47
1
ответ

Регистр SSE возвращается с отключенным SSE

Я нахожусь в следующей ситуации: Я - написание кода для ядра, которое не позволяет инструкции SSE, я должен сделать арифметику с плавающей точкой, которую я компилирую для x86_64 платформы, Вот пример кода...
вопрос задан: 9 March 2011 01: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