gcc; arm64; aarch64; непризнанная опция командной строки '- mfpu=neon'
Я получил ошибку компиляции:
нераспознанная опция командной строки '- mfpu=neon'
при попытке компиляции с флагом-mfpu=neon.
На самом деле, любые варианты "mfpu", которые я пробовал, потерпели неудачу. Однако в документации этот флаг упоминается, поэтому он должен быть действительным
что не так с этим ключом? Как я могу сказать компилятору использовать NEON?
организацией Linaro, ГНУ Линукс aarch64 инструменты 4.8 находитесь.спасибо.
2 ответов
Advanced SIMD (aka NEON) является обязательным для AArch64, поэтому для указания компилятору использовать NEON не требуется параметр командной строки.
Если вы хотите включить автоматическую оптимизацию векторизации, чтобы компилятор автоматически использовал неоновые инструкции, затем скомпилируйте с -O3
или -O2 -ftree-vectorize
.
AArch64 и ARM backends полностью разделены в gcc. Задняя часть рукоятки только пристреливает традиционные 32 комплекта инструкций рукоятки бита (рукоятку, большой палец, Thumb-2). Это в отличие от ситуации с x86, где 32-разрядная и 64-разрядная генерация кода объединена в один конец GCC.
перейдите в файл / tensorflow/contrib/lite/kernels/internal / BUILD, delete-mfpu=neon, и вам хорошо идти. от: NEON_FLAGS_IF_APPLICABLE = выбрать({ ":рука": [ "-О3", "- МФПУ=неон", ],
to: NEON_FLAGS_IF_APPLICABLE = выбрать({ ":рука": [ "- O3",
],