Найти в Дзене
ARM NEON

Варианты использования NEON команд в приложении

Использование NEON команд будет рассмотрено применительно к языку программирования C и assembler. Рассмотрим следующие варианты применения NEON команд: 1) Использование готовых библиотек; 2) Использование автоматической векторизации; 3) Использование встроенных средства компилятора; 4) Использование assembler; На варианте использования готовых библиотек останавливаться не будем, т.к. это вполне стандартная процедура. После использования готовых библиотек самый простой способ это настройка компилятора на автоматическую векторизацию. Для этого в GCC для ARM необходимо использовать следующую комбинацию ключей: -ftree-vectorize -mfpu=neon. После этого компилятор сам будет использовать команды NEON там, где это возможно. В случае, когда компилятор автоматически не распознаёт необходимость применения NEON команд, можно использовать встроенные средства компилятора языка C или вставки на assembler. Встроенные средства компилятора языка C - это набор типов данных и макроопределений функ

Использование NEON команд будет рассмотрено применительно к языку программирования C и assembler.

Рассмотрим следующие варианты применения NEON команд:

1) Использование готовых библиотек;

2) Использование автоматической векторизации;

3) Использование встроенных средства компилятора;

4) Использование assembler;

На варианте использования готовых библиотек останавливаться не будем, т.к. это вполне стандартная процедура.

После использования готовых библиотек самый простой способ это настройка компилятора на автоматическую векторизацию. Для этого в GCC для ARM необходимо использовать следующую комбинацию ключей: -ftree-vectorize -mfpu=neon.

После этого компилятор сам будет использовать команды NEON там, где это возможно.

В случае, когда компилятор автоматически не распознаёт необходимость применения NEON команд, можно использовать встроенные средства компилятора языка C или вставки на assembler.

Встроенные средства компилятора языка C - это набор типов данных и макроопределений функций, которые компилятор понимает и однозначно преобразует в команды NEON.

Использование вставок на assembler - это менее предпочтительный способ и к нему следует прибегать в случае, если остальные не позволяют реализовать необходимый алгоритм. Использование assembler ограничивает переносимость вашей программы, но если ваша программа предназначена для одного типа процессора или быстродействие более важный фактор, то вы сможете написать наиболее оптимальный по быстродействию код.

Если Вас заинтересовала эта тема оставьте свой комментарий, ставьте пальчик вверх.

В следующей статье будут приведены freeware библиотеки, позволяющие использовать NEON команд в приложении.