16
ответов

Как быстро можно сделать линейный поиск?

Я надеюсь оптимизировать этот линейный поиск: статический линейный интервал (интервал константы *прибытие, интервал n, международный ключ) {интервал i = 0; в то время как (я <n) {если (прибытие [я]> = ключ)...
вопрос задан: 8 August 2019 08:15
6
ответов

C++, Добавляющий 2 массива вместе быстро

Учитывая массивы: международный холст [10] [10]; международное дополнение [10] [10]; Где все значения колеблются от 0 - 100, что является самым быстрым путем в C++ для добавления тех двух массивов, таким образом, каждая ячейка в холсте равняется себе плюс
вопрос задан: 3 June 2010 08:21
6
ответов

SIMD или не SIMD - кросс-платформенный

Мне нужна некоторая идея, как написать C ++ кросс-платформенное внедрение нескольких parallelizable проблем способом, таким образом, я могу использовать в своих интересах SIMD (SSE, SPU, и т.д.) при наличии. А также я хочу быть в состоянии...
вопрос задан: 23 January 2010 08:11
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
ответов

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

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

Использование в своих интересах SSE и других расширений ЦП

Существует, несколько мест в моей кодовой базе, где та же операция повторяется очень большое количество раз для большого набора данных. В некоторых случаях требуется большое количество времени для обработки их. Я...
вопрос задан: 12 December 2009 21:09
4
ответа

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

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

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

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

Действительно ли SIMD стоит Того? Существует ли более оптимальный вариант?

У меня есть некоторый код, который работает довольно хорошо, но я хотел бы заставить его работать лучше. Основная проблема, которую я имею с ним, состоит в том, что это должно иметь вложенный для цикла. Внешний - для повторений (который...
вопрос задан: 18 July 2010 18:50
4
ответа

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

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

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

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

Как я переупорядочиваю векторные данные с помощью Неона ARM intrinsics?

Это конкретно связано с Неоном ARM кодирование SIMD. Я использую Неон ARM instrinsics для определенного модуля в видеодекодере. У меня есть векторизованные данные следующим образом: существует четыре элемента на 32 бита в...
вопрос задан: 21 July 2014 10:31
3
ответа

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

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

Быстро вид в регистре байтов?

Учитывая регистр 4 байтов (или 16 для SIMD), должен быть эффективный способ отсортировать байты в регистре с несколькими инструкциями.Заранее спасибо.
вопрос задан: 17 October 2009 07:58
3
ответа

Хорошая портативная библиотека SIMD [закрывается]

может любой рекомендовать портативную библиотеку SIMD, которая обеспечивает c/c ++ API, работы над Intel и расширения AMD и Visual Studio, совместимый GCC. Я надеюсь ускорять вещи как масштабирование 512x512 массив...
вопрос задан: 11 June 2009 15:24
2
ответа

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

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

Математическая производительность Haskell на умножается - добавляет операция

Я пишу игру в Haskell, и моя текущая передача в UI включает большое процедурное поколение геометрии. Я в настоящее время фокусируюсь на идентификации выполнения одной конкретной операции (C-выход...
вопрос задан: 23 May 2017 10:27
2
ответа

Какие ассемблеры в настоящее время поддерживают систему команд AVX?

Я хотел бы запустить и играть с некоторым AVX (усовершенствованное векторное расширение) инструкции. Я знаю, что Intel обеспечивает эмулятор для тестирования программного обеспечения, содержащего эти инструкции (см. этот вопрос), но так как я надеваю'...
вопрос задан: 23 May 2017 10:25
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
ответа

Как векторизовать с GCC?

Серия v4 компилятора gcc может автоматически векторизовать циклы с использованием процессора SIMD на некоторых современных процессорах, таких как чипы AMD Athlon или Intel Pentium / Core. Как это сделать?
вопрос задан: 11 June 2014 12:45
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
ответа

Общие методы SIMD

Где я могу найти информацию об общих приемах SIMD? Я имею систему команд и знаю, как написать нехитрый код SIMD, но я знаю, SIMD теперь намного более мощен. Это может содержать комплекс...
вопрос задан: 9 December 2011 00:29
2
ответа

Хранение двух x86 32 битов регистрирует в 128 битов xmm регистр

Там какой-либо более быстрый метод должен сохранить два x86 регистра на 32 бита в 128 битах xmm регистр? movd xmm0, edx movd xmm1, eax pshufd xmm0, xmm0, por xmm0 за 1$, xmm1 Поэтому, если EAX является 0x12345678 и...
вопрос задан: 13 July 2011 12:09
2
ответа

Как использовать умножение и накопить intrinsics в Коре-a8 ARM?

как использовать Умножение - Накапливают intrinsics, обеспеченный GCC? float32x4_t vmlaq_f32 (float32x4_t, float32x4_t, float32x4_t); Может любой объяснять, что три параметра я должен передать этому...
вопрос задан: 13 July 2010 18:56
2
ответа

Быстро 24-разрядный массив-> 32-разрядное преобразование массива?

Быстрая Сводка: у Меня есть массив 24-разрядных значений. Какое-либо предложение о том, как быстро развернуть отдельные 24-разрядные элементы массива в 32-разрядные элементы?Подробнее: Я обрабатываю входящие видеокадры в...
вопрос задан: 4 June 2010 11:37
2
ответа

Управление версиями цикла с GCC

Я работаю над автоматической векторизацией с GCC. Я не имею возможности использовать intrinsics или приписываю из-за клиентского требования. (Я не могу заставить ввод данных пользователем поддерживать векторизацию), Если выравнивание...
вопрос задан: 14 November 2009 08:54
2
ответа

SSE и поточная обработка hyper

Регистры SSE совместно использованы или дублированы между логическими процессорами (hyper распараллеливающий)? Я могу ожидать тот же вид ускорения от распараллеливания для SSE тяжелая программа что касается нормальной программы (Intel...
вопрос задан: 9 October 2009 07:29