Публикации по теме '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 просмотров
schedule
09.03.2022
Билинейная интерполяция от 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 просмотров
schedule
10.04.2023
Оптимизация поиска в таблицах 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