Как отмечается в моем редактировании в верхнем ответе на вопрос, который вы связали, кажется, что bazel
и / или скрипты сборки TensorFlow содержат ошибки. Они неправильно обрабатывают -march=native
и не могут передать его на компилятор. Я предполагаю, что что-то не так с аргументами, которые имеют =
в названии, потому что аргументы вроде -mfma
работают.
Вы правы, если они правильно передали компилятору -march=native
не было бы никаких проблем и не нуждалось бы ни в одном из этих осложнений.
IDK, почему никто еще не устранил это огромное неудобство, вместо этого оставив множество пользователей, которые не являются экспертами по функциям процессора x86, спотыкаться, пытаясь выяснить какие функции имеет их процессор и как включить их для gcc / clang. Это как раз то, для чего нужна -march=native
, наряду с другой важной особенностью установки параметров для настройки соответственно для машины, на которой вы компилируете.
Я однажды посмотрел, но я на самом деле не использую TensorFlow и не знаю bazel
, поэтому я увяз в лабиринте машин для сборки между этой командной строкой и фактическим вызовом g++ ... foo.cpp