6
ответов

Сделайте символы копии компилятора с помощью movsd

Я хотел бы скопировать относительно короткую последовательность памяти (меньше чем 1 КБ, обычно 2-200 байтов) в строго ограниченной во времени функции. Лучший код для этого на стороне ЦП, кажется, представитель movsd. Однако я...
вопрос задан: 12 April 2010 11:04
5
ответов

Как использовать VC ++ встроенные функции w/o библиотека времени выполнения

Я вовлечен в одну из тех проблем, где Вы пытаетесь произвести самый маленький двоичный файл, таким образом, я создаю свою программу без библиотек времени выполнения (RTL) C++ или C. Я не связываюсь с DLL...
вопрос задан: 17 August 2017 14:54
4
ответа

Что такое intrinsics?

Кто-либо может объяснить, что они и почему мне были бы нужны они? Какие приложения я создаю, если я должен использовать intrinsics?
вопрос задан: 4 January 2017 04:36
4
ответа

макс. x86 / минута asm инструкции?

Есть ли какие-либо asm инструкции, которые могут ускорить вычисление минуты / макс. из вектора удваивается/целым числа на архитектуре Core i7? Обновление: Я не ожидал такие богатые ответы, спасибо. Таким образом, я вижу это макс./...
вопрос задан: 5 July 2011 03:39
4
ответа

Скалярное произведение - SSE2 по сравнению с BLAS

Что является моим лучшим выбором для вычислений скалярного произведения вектора x с большим количеством векторов y_i, где x и y_i имеют длину 10k или около этого. Пихните y's в матрице и используйте оптимизированный s/dgemv...
вопрос задан: 7 July 2009 03:48
3
ответа

Какой самый быстрый способ преобразовать большой массив массива char8 в short16?

Мои необработанные данные представляют собой набор из массива c (без знака) char (8bit) длиной> 1000000. Я хочу сложить их вместе (сложение векторов), следуя правилу, как показано в коде ниже. Результат: c-массив (без знака) short ...
вопрос задан: 17 January 2019 10:30
3
ответа

Почему вектор AVX и операция принимают float-векторы? [Дубликат]

Меня путает вектор AND в наборе инструкций AVX. Я использую intrinsics, для которых кандидаты: __m256 _mm256_and_ps (__m256 a, __m256 b) (AVX) __m256i _mm256_and_si256 (...
вопрос задан: 11 June 2015 21:27
3
ответа

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

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

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

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

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

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

ARM SVE Слева направо против сокращения дерева

В настоящее время я портирую некоторые приложения для использования функций ARM SVE со встроенными функциями, определенными в расширениях ARM C Language для SVE. После проверки документации я наткнулся ...
вопрос задан: 18 January 2019 09:02
1
ответ

Неправильное 32-битное соглашение о вызове для InterlockedExchange для Clang ++, но MSVC прекрасно

Я использую инструменты clang power для компиляции проекта, который обычно скомпилирован с использованием visual studio. В заголовке lwm_win32.hpp boost (да, мы используем старую версию boost и в настоящее время не можем обновить) ...
вопрос задан: 13 July 2018 23:29
1
ответ

Как использовать MSVC intrinsics для получения эквивалента этого кода GCC?

Следующий код вызывает встроенные функции для clz/ctz в GCC и, в других системах, имеет версии C. Очевидно, версии C являются немного субоптимальными, если система имеет встроенную clz/ctz инструкцию...
вопрос задан: 14 March 2017 15:33
1
ответ

Самый быстрый способ проверить, не имеет ли какой-либо элемент в __m256 [duplicate]

У меня есть результат сравнения двух векторов __m256. __m256 result = _mm256_cmp_ps (a, b, _CMP_GT_OQ); В какой момент у меня есть векторный результат с 8 значениями. И каждое из этих значений ...
вопрос задан: 8 March 2015 11:57
1
ответ

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

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

g ++ SSE intrinsics дилемма - оценивает от внутреннего, “насыщает”

Я записал простую программу для реализации SSE intrinsics для вычислений внутреннего продукта двух больших (100000 или больше элементов) векторы. Программа сравнивает время выполнения для обоих, внутреннего продукта...
вопрос задан: 1 June 2010 06:00
1
ответ

Использование стека с внутренними компонентами MMX и Microsoft C ++

У меня есть встроенный цикл ассемблера, который кумулятивно добавляет элементы из массива данных int32 с инструкциями MMX. В частности, он использует тот факт, что регистры MMX могут вмещать 16 int32 для ...
вопрос задан: 24 May 2010 15:08
1
ответ

Существует ли хорошая ссылка для Неона ARM intrinsics?

Справочник ARM не вдается в слишком большое количество подробностей в отдельные инструкции (http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0348b/BABIIBBG.html). Есть ли что-то...
вопрос задан: 17 May 2010 17:52
1
ответ

Intel AVX intrinsics: какая-либо библиотека совместимости?

Есть ли какой-либо Intel AVX intrinsics библиотека? Я ищу что-то подобное как 'sse2mmx.h' заголовок, какие нейтрализации к MMX intrinsics, если целое число SSE2 intrinsics не доступно на времени компиляции...
вопрос задан: 25 April 2010 15:49
1
ответ

Эквивалентный из InterlockedIncrement в Linux/gcc

Это был бы очень простой вопрос (мог быть дублирован), но я был неспособен найти его. Win32 API обеспечивает очень удобный набор атомных операций (как intrinsics), таких как InterlockedIncrement который...
вопрос задан: 24 January 2010 04:22
1
ответ

внутренний memcmp

Согласно gcc документам, memcmp не является встроенной функцией GCC. Если бы Вы хотели ускорить memcmp glibc под gcc, то необходимо было бы использовать более низкий уровень intrinsics определенный в документах. Однако...
вопрос задан: 13 May 2009 03:18
0
ответов

128-битное деление, встроенное в Visual C ++

Мне интересно, действительно ли в Visual C ++ нет встроенной функции 128-битного деления? Существует внутренняя функция умножения 64x64 = 128 бит, называемая _umul128 (), которая прекрасно соответствует MUL x64 ...
вопрос задан: 10 May 2019 09:08
0
ответов

В чем разница между __popcnt() и _mm_popcnt_u32()?

MS Visual C++ поддерживает 2 варианта инструкции popcnt на ЦП с SSE4.2: __popcnt() _mm_popcnt_u32() Единственное отличие, которое я обнаружил, заключалось в том, что документация для __popcnt() помечена как «Microsoft...
вопрос задан: 24 January 2019 22:10
0
ответов

Arm Neon Intrinsics против ручной сборки

https://web.archive.org/web/20170227190422/http://hilbert-space.de/?p=22 На этом довольно устаревшем сайте показано, что написанный от руки ассемблер дал бы гораздо большее улучшение, чем встроенные функции. Я ...
вопрос задан: 14 November 2018 05:14
0
ответов

Разделить на число с плавающей запятой с помощью встроенных функций NEON

Я обрабатываю изображение на четыре пикселя одновременно, это на armv7 для приложения Android. Я хочу разделить вектор float32x4_t на другой вектор, но числа в нем отличаются от примерно 0 ....
вопрос задан: 5 October 2018 13:35
0
ответов

Когда следует использовать _mm_sfence _mm_lfence и _mm_mfence

Я прочитал «Руководство по оптимизации Intel для архитектуры Intel». Однако я до сих пор не знаю, когда мне использовать _mm_sfence () _mm_lfence () _mm_mfence () Может ли кто-нибудь объяснить, когда эти ...
вопрос задан: 9 June 2018 15:57
0
ответов

Можно ли приводить числа с плавающей запятой непосредственно к __m128, если они выровнены по 16 байтам?

Безопасно/возможно/рекомендуется ли приводить числа с плавающей запятой непосредственно к __m128, если они выровнены по 16 байтам? Я заметил, что использование _mm _load _ps и _mm _store _ps для «обертывания» необработанного массива добавляет значительные
вопрос задан: 4 February 2018 03:53
0
ответов

128 -чередование битов с использованием встроенных функций ARM Neon

Я пытаюсь оптимизировать свой код, используя встроенные функции Neon. У меня есть 24 -битное вращение по 128 -битному массиву (8 каждый uint16 _t ). Вот мой код c :uint16 _t rotated[8]; uint16 _t темп[8]; uint16 _tj; для (j = 0;...
вопрос задан: 23 November 2017 06:36
0
ответов

Заголовочные файлы для встроенных функций x86 SIMD

Какие заголовочные файлы содержат встроенные функции для различных расширений набора инструкций x86 SIMD (MMX, SSE, AVX, ...)? Кажется, невозможно найти такой список в Интернете. Поправьте меня если я ошибаюсь.
вопрос задан: 2 January 2017 07:30
0
ответов

gcc, встроенные функции simd и быстрые математические концепции

Всем привет :) Я пытаюсь понять несколько концепций, касающихся операций с плавающей запятой, встроенных функций SIMD / math и флага fast-math для gcc. В частности, я использую MinGW с gcc v4.5.0 на процессоре x86. Я ...
вопрос задан: 19 November 2016 23:35