Публикации по теме 'neon'


Как Arm’s NEON обеспечивает эффективное декодирование AV1 на мобильных устройствах
Декодирование мультимедиа - это проблема масштаба. Современный процессор не ломает голову над декодированием нескольких пикселей, но когда это 62 миллиона пикселей в секунду, даже самый крошечный объем работы на пиксель складывается быстро. Здесь на помощь приходит NEON от Arm: выполнение большего количества работы за такт. NEON - это расширение набора инструкций ARMv7 и ARMv8, которое позволяет выполнять операции одной инструкции с множеством данных (SIMD) . Это означает, что в одной..

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

Неоновая оптимизация с использованием встроенных функций
Узнав о встроенных функциях ARM NEON, я вычислил время написанной мной функции для удвоения элементов в массиве. Версия, использующая встроенные функции, требует больше времени, чем простая версия функции на C. Без НЕОНА: void...
8820 просмотров
schedule 06.06.2022

Преобразование кода в сборку Neon
Я работаю над переводом кода ниже в Neon Assembly. Любая помощь будет принята с благодарностью. void sum(int length, int *a, int *b, int *c, int *d, char *result) { int i; for (i = 0; i < length; i++) { int sum = (a[i] +...
1324 просмотров
schedule 16.05.2022

xcode 4.4 неоновая ошибка сборки
Я получаю ошибки компиляции при компиляции неоновой сборки в Xcode 4.4 , этой ошибки не было в xCode 4.3, ошибки относятся к этим командам типа: error: invalid operand for instruction vld1 q5.u8, [r12], r2 error: invalid operand for...
463 просмотров
schedule 11.07.2023

Использование инструкций ARM NEON на устаревшем ассемблере
У меня есть проект Visual Studio 2008 C++03 для Windows Mobile 6, в котором я хотел бы реализовать версию memcpy для ARM-NEON. Информационный центр ARM любезно предоставляет реализацию: ; NEON memory copy with preload NEONCopyPLD PLD...
691 просмотров
schedule 12.01.2023

ассемблерный ассемблерный код, как загрузить данные из разных исходных точек?
я пытался улучшить кое-какой код, но мне это кажется таким сложным. я разрабатываю на Android NDK. код С++, который я хочу улучшить, следует: unsigned int test_add_C(unsigned int *x, unsigned int *y) { unsigned int result = 0; for (int i = 0; i...
402 просмотров
schedule 04.04.2023

Выравнивание в VLD1
У меня вопрос по выравниванию инструкции ARM Neon VLD1. Как работает выравнивание в следующем коде? DATA .req r0 vld1.16 {d16, d17, d18, d19}, [DATA, :128]! Смещается ли начальный адрес этой инструкции чтения на ДАННЫЕ...
1924 просмотров
schedule 14.07.2022

Neon VLD потребляет больше циклов, чем ожидалось?
У меня есть простой ассемблерный код, который загружает 12 счетверенных регистров NEON и имеет параллельную инструкцию попарного добавления вместе с инструкцией загрузки (для использования возможности двойной задачи). Я проверил код здесь:...
1615 просмотров
schedule 05.02.2023

Кодирование длин серий — SIMD
Я пытаюсь оптимизировать кодирование длин серий. Я думал реализовать это в SIMD. Я потратил несколько часов, работая над алгоритмом, но не смог продвинуться дальше. Стоит ли попробовать? Я работаю над Неоном. Спасибо.
1802 просмотров
schedule 28.09.2022

Ошибка векторизации ARM NEON
Я хотел бы включить векторизацию NEON на моем ARM cortex-a9, но я получаю этот вывод при компиляции: "не векторизовано: соответствующий stmt не поддерживается: D.14140_82 = D.14143_77 * D.14141_81" Вот мой цикл: void my_mul(float32_t *...
3499 просмотров

Билинейная интерполяция от C до Neon
Я пытаюсь уменьшить изображение с помощью Neon. Итак, я попытался использовать неон, написав функцию, которая вычитает два изображения, используя неон, и мне это удалось. Теперь я вернулся, чтобы написать билинейную интерполяцию с использованием...
3400 просмотров
schedule 29.03.2022

Переупорядочить значения при сохранении из регистров NEON
У меня есть 128 32-битных значений (пронумерованных от 0 до 127), и они упорядочены следующим образом: 0, 32, 64, 96, 1, 33, 65, 97, ... 31, 63, 95, 127 При таком порядке я загружаю их группами по 4 в регистры NEON для выполнения некоторых...
222 просмотров
schedule 27.05.2022

Как вычислить точечный продукт с NEON и двойными значениями в процессоре ARM
Мне нужно сделать много векторных вычислений. Поэтому мне кажется мудрым, что следует использовать NEON. Проблема в том, что функция зависит от двойников. Это дает мне два варианта: переписать весь код так, чтобы он работал с числами с плавающей...
357 просмотров
schedule 07.07.2022

Проблема с производительностью ARM neon
Рассмотрим два следующих фрагмента кода, первый — это версия C: void __attribute__((no_inline)) proj(uint8_t * line, uint16_t length) { uint16_t i; int16_t tmp; for(i=HPHD_MARGIN; i<length-HPHD_MARGIN; i++) { tmp = line[i-3]...
861 просмотров
schedule 24.08.2022

Фильтр быстрого размытия по Гауссу с ARM NEON
Я пытаюсь сделать мобильную быструю версию фильтра изображений Gaussian Blur. Я читал другие вопросы, например: Быстрое размытие по Гауссу на беззнаковом символьном изображении - ARM Neon Intrinsics - iOS Dev Для моей цели мне нужен только...
6621 просмотров

Оптимизация поиска в таблицах SSE/NEON
у меня есть следующий код поиска и интерполяции для оптимизации. (таблица с плавающей запятой размером 128) Она будет использоваться с компилятором Intel для Windows, GCC для OSX и GCC с неоновой OSX. for(unsigned int i = 0 ; i < 4 ; i++) {...
2058 просмотров
schedule 23.05.2022

Calc atan2 с неоном
Мне была найдена библиотека но не было void atan2fv_neon_hfp(float *y, float *x,float *res,int len) для вычисления len поплавков один раз. Как написать неоновую версию для atan2fv_neon_hfp ?
558 просмотров
schedule 27.04.2023

Как код Java может проверить количество регистров с плавающей запятой?
У нас есть нативная библиотека (весь игровой движок и код игры), которая состоит из двух разных версий. Одна версия, которая поддерживает armeabi-v7a с 32 регистрами с плавающей запятой и инструкциями Neon SIMD, и другая версия, которая поддерживает...
324 просмотров
schedule 17.12.2022

Кто-нибудь знает, как использовать встроенные функции Neon uint8x8_t vclt_s8 (int8x8_t, int8x8_t)
Я хочу сравнить 2 int8x8_t , из http://gcc.gnu.org/onlinedocs/gcc/ARM-NEON-Intrinsics.html мы можем получить описание для vclt_s8 , но оно не дает нам подробных сведений. `uint8x8_t vclt_s8 (int8x8_t, int8x8_t)` Форма ожидаемой инструкции...
2019 просмотров
schedule 13.04.2022

ARM NEON: инструменты для прогнозирования проблем с производительностью из-за ограниченной пропускной способности доступа к памяти?
Я пытаюсь оптимизировать критические части кода C для обработки изображений на устройствах ARM и недавно обнаружил NEON. Читая советы здесь и там, я получаю довольно хорошие результаты, но есть кое-что, что ускользает от меня. Я вижу, что общая...
704 просмотров
schedule 01.05.2022

Как я могу найти обратную/обратную переменную с плавающей запятой в Neon
Я хочу найти обратную числовую переменную типа float . Может кто подскажет инструкцию доступную в неоне (процессор А9) . означает : float number = 5.63; float inverse = 1/number ; //In neon ??
442 просмотров
schedule 14.02.2022