14
ответов

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

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

Использование C/C++ специальных функций CPU

Мне любопытно, сделайте новые компиляторы используют некоторые дополнительные функции, встроенные в новые центральные процессоры, такие как MMX SSE, 3DNow! и так? Я имею в виду, в оригинале 8086 не было даже никакого FPU, таким образом, компилятор, настол
вопрос задан: 17 May 2010 22:04
8
ответов

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

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

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

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

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

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

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

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

Вычислите абсолютную разность между целыми числами без знака с помощью SSE

В C там техника без веток для вычислений абсолютной разности между двумя неподписанными ints? Например, учитывая переменные a и b, я хотел бы значение 2 за случаи когда a=3, b=5 или b=3, =...
вопрос задан: 1 August 2010 04:52
5
ответов

Это возможный векторизовать myNum + = [b [я]] * c [я]; на x86_64?

Какой intrinsics я использовал бы для векторизации следующего (если даже возможно векторизовать) на x86_64? удвойте myNum = 0; для (интервал i=0; я <n; я ++) {myNum + = [b [я]] * c [я];//b [я] = интервал, [b [я]]...
вопрос задан: 28 February 2010 04:52
5
ответов

Что является самым быстрым способом протестировать, если двойное число является целым числом (в современных процессорах Intel X86)

Наше серверное приложение делает много целочисленных тестов в горячем пути выполнения кода, в настоящее время мы используем следующую функцию: встройте международный IsInteger (удвойте n) {n-пол возврата (n) <1e-8} Эта функция...
вопрос задан: 22 December 2009 04:09
4
ответа

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

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

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

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

Можно создать “хорошую” хеш-функцию с помощью CRC32C в качестве основы?

Учитывая, что SSE 4.2 (Intel Core i7 и i5 части) включает инструкцию CRC32, кажется разумным заняться расследованиями, можно ли было создать более быструю хеш-функцию общего назначения. Согласно этому...
вопрос задан: 14 October 2014 02:32
4
ответа

SSE оптимизация SIMD для цикла

У меня есть некоторый код в цикле для (интервал i = 0; я <n; я ++) {u [я] = c * u [я] + s * b [я];} Так, u и b являются векторами той же длины, и c и s являются скалярами. Этот код хороший кандидат на...
вопрос задан: 27 May 2010 12:36
4
ответа

GCC - Как перестроить стек?

Я пытаюсь создать приложение, которое использует pthreads и __ тип m128 SSE. Согласно руководству GCC, выравнивание стека по умолчанию составляет 16 байтов. Для использования __ m128, требование является 16-байтовым выравниванием...
вопрос задан: 4 May 2010 12:52
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
ответа

Зеркальное отражение входит в систему, упаковал плавания SSE

Я ищу наиболее эффективный способ зеркального отражения знака на всех четырех плаваниях, упакованных в регистре SSE. Я не нашел внутреннее для того, чтобы сделать это в программном обеспечении архитектуры Intel dev руководство....
вопрос задан: 29 July 2010 09:43
3
ответа

Сколько усилия необходимо вставить для получения усилений от использования SSE?

Случитесь Каждый Говорит, что у Вас есть немного класса: класс Point3D {частный: пустите в ход x, y, z; общественность: оператор + = ()... и т.д.}; Point3D &Point3D:: оператор + = (Point3D &other) {это-> x + = other.x;...
вопрос задан: 12 April 2010 16:18
3
ответа

Как Вы заполняете регистр x86 XMM с 4 идентичными плаваниями от другой записи регистра XMM?

Я пытаюсь реализовать некоторый встроенный ассемблер (в коде C/C++) для использования в своих интересах SSE. Я хотел бы скопировать и копировать значения (от регистра XMM, или из памяти) к другому регистру XMM. Для...
вопрос задан: 6 January 2010 19:51
3
ответа

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

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

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

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

Каково различие между логическим SSE intrinsics?

Есть ли какое-либо различие между логическим SSE intrinsics для различных типов? Например, если мы берем ИЛИ операция, существует три intrinsics: _mm_or_ps, _mm_or_pd и _mm_or_si128, все из которых делают...
вопрос задан: 11 June 2015 21:27
2
ответа

как работать с 128 битами C переменная и xmm 128 битами asm?

в gcc я хочу сделать 128 битов xor с 2 переменными C, с помощью кода asm: как? asm ("movdqa %1, %% xmm1"; "movdqa %0, %% xmm0"; "pxor %% xmm1, %% xmm0"; "movdqa %% xmm0, %0";: "=x" (любитель)...
вопрос задан: 13 March 2014 23:30
2
ответа

Новичок SIMD/SSE: простая фильтрация изображения

Я очень плохо знаком с SIMD/SSE, и я пытаюсь сделать некоторую простую фильтрацию изображения (размывание). Код ниже фильтрует каждый пиксель 8-разрядного серого битового массива с простым [1 2 1] взвешивающий в горизонтальном направлении...
вопрос задан: 29 November 2013 07:47
2
ответа

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

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