Компиляция встроенных функций ARM Neon на macOS (чипы M3) с использованием clang

Вопрос или проблема

У меня есть исходные коды с использованием встроенных функций ARM Neon (т.е. arm_neon.h) для ускорения арифметики в конечных полях. На Raspberry Pi я компилирую их с помощью gcc с такими аргументами:

-DARM_NEON64 -mfloat-abi-hard -mfpu=neon -O3

Теперь я хочу протестировать коды на Macbook Pro (M3 Max). Я никогда раньше не использовал clang, и как ни странно, я обнаружил, что очень трудно найти рабочую команду компиляции для этой задачи. Может кто-то предоставить подсказки по этому вопросу? Огромное спасибо. (без Xcode)

Ответ или решение

Для компиляции кода с использованием ARM Neon intrinsics (то есть использования заголовочного файла arm_neon.h) на MacBook Pro с чипом M3, воспользуемся компилятором clang. Если у вас нет установленного Xcode, вы все равно сможете установить инструменты командной строки, которые включают необходимый компилятор.

Вот шаги, которые нужно выполнить:

  1. Установите инструменты командной строки:
    Откройте терминал и введите следующую команду для установки необходимых инструментов:

    xcode-select --install
  2. Создайте ваш исходный код:
    Убедитесь, что ваш исходный код с использованием ARM Neon intrinsics сохранен в файле, например, neon_example.c.

  3. Компиляция кода с использованием clang:
    Используйте следующую команду для компиляции вашего кода с нужными флагами:

    clang -target arm64-apple-macos11 -DARM_NEON64 -O3 -o neon_example neon_example.c
    • -target arm64-apple-macos11: указывает компилятору, что вы компилируете для 64-битной архитектуры ARM, начиная с macOS 11 (Big Sur), которая поддерживает M1 и выше, включая M3.
    • -DARM_NEON64: определяет макрос для использования ARM Neon.
    • -O3: включает оптимизации для повышения производительности.
    • -o neon_example: указывает имя выходного файла.
  4. Запуск скомпилированного кода:
    После успешной компиляции вы можете запустить скомпилированный файл:

    ./neon_example

Если при выполнении этих шагов возникнут ошибки или предупреждения, их следует внимательно прочитать — они могут помочь вам понять, что именно вызывает проблему. Также убедитесь, что ваш код действительно корректен и совместим с используемым компилятором и целевой архитектурой.

Теперь вы готовы к тестированию ваших кодов с использованием ARM Neon intrinsics на MacBook Pro с M3. Если у вас будут дополнительные вопросы или проблемы, не стесняйтесь обращаться за помощью.

Оцените материал
Добавить комментарий

Капча загружается...