Arhn - архитектура программирования

Neon: максимум четыре плавающих значения внутри вектора float32x4_t

Я хочу найти максимум среди четырех значений в одном векторе 32x4.

У меня есть один вектор типа float32x4_t:

float32x4_t maxR = {10.21,10.25,23.5,24.86} //FOR EXAMPLE

Хочу узнать среди этой четверки какой макс (10.21,10.25,23.5,24.86), есть инструкция как это сделать?

Я думаю использовать встроенные функции vpmax_f32, но пришел к выводу, что это неправильно, так как возвращаемый тип — float32x2_t, который снова является векторным типом. Итак, может ли кто-нибудь сказать мне, как сделать эту операцию?

30.03.2015

  • Что такое float32x4_t? Массив? 30.03.2015
  • нет, это просто вектор с плавающей запятой. это часть моего кода. Я выполняю расчет по всему циклу и, наконец, получаю float32x4_t maxR. И хочу найти, какой из этих четырех является максимальным, поскольку хочу вернуть только переменную типа maxR. Я попробовал maxR = max(maxR_vect.f0,max(maxR_vect.f1,max(maxR_vect.f2,maxR_vect.f3))); 30.03.2015
  • извините, я не понял. 30.03.2015
  • как я могу получить доступ к первому элементу векторов maxR ?? Я попробовал maxR.v [0], который дает мне эту ошибку → ошибка: запрос для члена 'v' в 'maxR', который имеет неклассовый тип 'float32x4_t 30.03.2015
  • @Robinson: Я думаю, вы упускаете суть вопроса - речь идет о Neon SIMD на процессорах ARM - векторы представляют собой 128-битные SIMD-регистры. 30.03.2015
  • @ user3476225: если вам нужно выполнять горизонтальные операции при работе с SIMD, это часто указывает на то, что ваш подход к векторизации ошибочен - есть ли способ транспонировать ваши данные, чтобы вы выполняли этот максимум по вертикали? Может быть, вы могли бы добавить часть своего кода к вопросу, чтобы мы могли увидеть, как это согласуется с другими операциями SIMD, которые вы выполняете? 30.03.2015
  • Я Пол. Теги не смотрел. Спасибо. 30.03.2015

Ответы:


Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..