Вопросы по теме 'neon'

Оптимизация преобразования RGBA8888 в RGB565 с NEON
Я пытаюсь оптимизировать преобразование формата изображения на iOS с помощью набора векторных инструкций NEON. Я предположил, что это хорошо согласуется с этим, потому что он обрабатывает кучу похожих данных. Однако мои попытки не увенчались...
6044 просмотров
schedule 18.11.2021

Эффективное сравнение с плавающей запятой (Cortex-A8)
Есть большой (~ 100 000) массив переменных с плавающей запятой, и есть порог (также с плавающей запятой). Проблема в том, что мне приходится сравнивать каждую переменную из массива с порогом, но передача флагов NEON занимает очень много времени...
2170 просмотров
schedule 14.10.2021

Эффективный алгоритм для преобразования (суммирования) 128-битных данных в q-регистре в 16-битные данные
У меня есть 128-битные данные в q-регистре. Я хочу просуммировать отдельный 16-битный блок в этом q-регистре, чтобы, наконец, получить 16-битную окончательную сумму (любой перенос, превышающий 16-битный, должен быть взят и добавлен к младшему разряду...
524 просмотров
schedule 10.09.2021

Добавить все элементы в полосу
Есть ли встроенная функция, которая позволяет добавлять все элементы на дорожку? Я использую Neon, чтобы перемножить 8 чисел, и мне нужно просуммировать результат. Вот перефразированный код, показывающий, что я делаю сейчас (возможно, это можно было...
5160 просмотров
schedule 11.09.2021

некоторые сомнения относительно циклов ARM NEON
Я написал неоновый код на ассемблере и стремился к максимальной оптимизации. Хотя задержка из-за конфликта регистров и конвейера уменьшена, разница только в 1 цикл, то есть до номера 70-0 после номера 69-0. почему это так, я не понял. вот мой...
204 просмотров
schedule 08.11.2021

Измените размер 8-битного изображения на 4 с помощью ARM NEON
Я хотел бы использовать ARM Neon для изменения размера 8-битного серого изображения в 4 раза с 1280x960 до 320x240. В качестве примера у меня уже есть изменение размера в 2 раза с 640x480 до 320x240: void divideimageby2(uint8_t * src, uint8_t *...
1291 просмотров
schedule 10.11.2021

Как преобразовать символ без знака в целое число со знаком с помощью Neon SIMD
Как преобразовать переменную типа данных uint8_t в int32_t с помощью Neon? Я не мог найти ничего внутреннего для этого.
2572 просмотров
schedule 09.10.2021

NEON, SSE и чередующиеся нагрузки против перемешивания
Я пытаюсь понять комментарий, сделанный «Iwillnotexist Idonotexist» на SIMD-оптимизации cvtColor с использованием встроенных функций ARM NEON : ... почему вы не используете интрисы ARM NEON, которые соответствуют инструкции VLD3? Это...
1415 просмотров
schedule 10.09.2021

Проверка регистров NEON SIMD на равенство на всех полосах
Я использую Neon Instrinics с лязгом. Я хочу проверить два uint32x4_t значения SIMD на равенство по всем полосам. То есть не 4 результата тестов, а один результат, который говорит мне, равны ли A и B для всех полос. На Intel AVX я бы...
620 просмотров
schedule 12.11.2021

ARM Neon: как конвертировать из uint8x16_t в uint8x8x2_t?
Недавно я узнал об операторе преобразования vreinterpret {q} _dsttype_srctype . Однако, похоже, это не поддерживает преобразование в типе данных, описанном в эту ссылку (внизу страницы): Некоторые встроенные функции используют массив...
2640 просмотров
schedule 04.10.2021

ARM Clang: не удалось выделить выходной регистр для ограничения 'w'
uint8_t* dataPtr; uint8x8x4_t dataVec; __asm__ __volatile__( "vldmia %1, %h0" : "=w"( dataVec ) : "r"( dataPtr ) ); Вышеупомянутый встроенный ассемблерный код ARM отлично работает при компиляции с Android NDK с...
617 просмотров
schedule 15.11.2021

ARM Neon в C: как комбинировать разные 128-битные типы данных при использовании встроенных функций?
TLTR Для встроенных функций руки, как вы передаете 128-битную переменную типа uint8x16_t в функцию, ожидающую uint16x8_t ? РАСШИРЕННАЯ ВЕРСИЯ Контекст: у меня есть изображение в оттенках серого, 1 байт на пиксель. Я хочу уменьшить...
659 просмотров
schedule 27.02.2022

Как выполнить параллельную операцию с условием if в свойствах Neon?
Я задал вопрос для сравнения vclt_s8. Кто-нибудь знать, как использовать встроенные функции Neon uint8x8_t vclt_s8 (int8x8_t, int8x8_t) Однако, если у нас есть такой код: if(a > b + c) { a = b + c; } else if(a < b - c) { a = b...
1296 просмотров
schedule 14.03.2022

эквивалент sse / avx для neon vuzp
Векторные расширения Intel SSE, AVX и т. Д. Обеспечивают две операции распаковки для каждого размера элемента, например Внутренние функции SSE - это _mm_unpacklo_* и _mm_unpackhi_* . Для 4 элементов в векторе он делает следующее: inputs:...
1219 просмотров
schedule 15.03.2022

Низкая производительность кода с использованием встроенных функций NEON
Я пытаюсь повторно реализовать функцию Apple vDSP_zvma , используя Внутренние функции NEON (я портирую свой код DSP на Android): void vDSP_zvma(const DSPSplitComplex *__A, vDSP_Stride __IA, const DSPSplitComplex *__B, vDSP_Stride...
248 просмотров
schedule 11.03.2022

Fast Image Square on (int) Image — встроенные функции ARM neon — iOS Dev
Может ли кто-нибудь сказать мне быструю функцию для нахождения квадрата каждого пикселя изображения int . Мне это нужно для разработки приложений для iOS. Я работаю непосредственно с памятью изображения, определенного как int...
1431 просмотров
schedule 18.03.2022

Как включить инструкцию Neon в Xcode
Я хочу использовать инструкцию Neon SIMD для iphone. Я слышал, что мы должны поместить флаги "-mfloat-abi=softfp -mfpu=neon" в поле "Другие флаги C" инспектора целей, но при сборке я получаю "ошибка: нераспознанный параметр командной строки"...
6887 просмотров
schedule 06.04.2022

Мгновенные ошибки вне диапазона при присвоении 0,0 регистру NEON
Если я правильно понимаю, поскольку инструкции ARM имеют длину 32 бита, они могут содержать только определенное количество бит непосредственного значения. Я пытаюсь сделать vmov.f32 s0, #0.0 и получаю ошибку компилятора « immediate out of range »....
2346 просмотров
schedule 06.04.2022

Сборка обычного и неонового ARMv7a одновременно
Поскольку у меня очень интенсивное приложение, я хотел бы создать вариант с поддержкой NEON / Advanced SIMD . Также у меня есть несколько исходных файлов с алгоритмами, поэтому я не хочу включать неон для каждого файла отдельно. После важной...
3008 просмотров
schedule 01.04.2022

Внутренние типы NEON работают в C, но выдают ошибку недопустимых аргументов в C++
У меня проблемы с использованием встроенных функций NEON и встроенной сборки в Android NDK. Типы NEON, такие как float32x4_t , дают ошибку «недопустимые аргументы» при компиляции кода C++ с GCC 4.6 и 4.8, однако код компилируется нормально, если...
647 просмотров
schedule 14.04.2022