tensorflow:gcc:error:无法识别的命令行选项'--copt=-msse4.2';

tensorflow:gcc:error:无法识别的命令行选项'--copt=-msse4.2';,gcc,tensorflow,compilation,Gcc,Tensorflow,Compilation,我被引导从源代码处安装它,以解决诸如之类的警告,TensorFlow库未编译为使用SSE4.1指令,但这些指令可在您的机器上使用,并可加快CPU计算,似乎他们遗漏了关于如何在配置期间指定优化标志的最重要部分(/configure) 错误地输入它们会导致以下错误,在使用无效配置生成时会导致类似的错误(bazel build--config=opt//tensorflow/tools/pip_-package:build_-pip_-package): 指定优化标志的正确方法是什么?很可能您遗漏了指

我被引导从源代码处安装它,以解决诸如
之类的警告,TensorFlow库未编译为使用SSE4.1指令,但这些指令可在您的机器上使用,并可加快CPU计算
,似乎他们遗漏了关于如何在配置期间指定优化标志的最重要部分(
/configure

错误地输入它们会导致以下错误,在使用无效配置生成时会导致类似的错误(
bazel build--config=opt//tensorflow/tools/pip_-package:build_-pip_-package
):


指定优化标志的正确方法是什么?

很可能您遗漏了指定以下内容的部分:

我们建议接受默认值(-march=native),这将针对本地计算机的CPU类型优化生成的代码。但是,如果您正在构建一个CPU类型的TyoSoFrad,但它将在不同的CPU类型上运行TysFooSurm,那么考虑指定一个更具体的优化标志,如在

中描述的。 在中,您可以找到以下列表:

-mmmx -mno-mmx -msse -mno sse -msse2 -mno-sse2 -msse3 -mno-sse3 -mssse3 -mno-ssse3 -msse4.1 -mno-sse4.1 -msse4.2 -mno-sse4.2 -msse4 -mno-sse4 -mavx -mno avx -梅斯 -mno-aes -mpclmul -mno-pclmul -msse4a -mno-sse4a -mfma4 -mno-fma4 -mxop -mno-xop -mlwp -mno lwp -m3dnow -mno-3dnow -MPOPNT -mno-popcnt -mabm -mno abm


在我的“/configure”中放入以下内容时遇到类似问题:

如reubenjohn所述,在gcc文件中,“-march=whatever”与say'-msse4.1'处于同一级别,因此,“-copt=”必须删除,因为这些选项实际上直接提供给gcc

解决方法是将:

Please specify optimization flags to use during compilation when bazel option "--config=opt" is specified [Default is -march=native]: 
-mavx -mavx2 -mfma -mfpmath=both -msse4.1 -msse4.2
Please specify optimization flags to use during compilation when bazel option "--config=opt" is specified [Default is -march=native]: 
--copt=-mavx --copt=-mavx2 --copt=-mfma --copt=-mfpmath=both --copt=-msse4.1 --copt=-msse4.2
Please specify optimization flags to use during compilation when bazel option "--config=opt" is specified [Default is -march=native]: 
-mavx -mavx2 -mfma -mfpmath=both -msse4.1 -msse4.2