Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.

icl error with msbuild

Steffen_Gross
Beginner
862 Views

After installing IntelV16 Update1 and VS2015 Update 1 , my buildprocess is broken when msbuild(14.0.24720) is used .

icl complains "icl: : error : option '/Qopt-matmul' not supported", if "Enable Matrix Multiply Library Call" is set to any other value than "Default".

Building from inside VS or with devenv is not affected.

I have attached a simple testcase for reproducing.

Bug or Feature ?

(background the real application has 287 projectfiles , and I don't want change every project by hand, as workaround I build now with devenv)

Kind Regards

Steffen

0 Kudos
5 Replies
TimP
Honored Contributor III
862 Views

As /Qopt-matmul pertains only to Fortran, it seems a bug if any setting in a C or C++ project causes that option to be passed to ICL.  Maybe that's your point.

0 Kudos
Steffen_Gross
Beginner
862 Views

I didn't see any remarks in the compiler documentation , that this flag is only for Fortran .

And on the other hand with devenv it works, also I have compared the output from msbuild (diagnostic level) started from inside Visual Studio and the commandline , and they looks identical for me . Anything I'm missed ....

0 Kudos
Steffen_Gross
Beginner
862 Views

Ok , now I'm a step further .

Not /Qopt-matmul is the problem , /Qparallel is not recognized , when it is set through the properties . If I add this to the additional option on the commandline , the problem doesn't occur longer . The same thing affects also some other options (/Qopenmp,/Qstd=c++11 as example)

 

0 Kudos
pbkenned1
Employee
862 Views

Hello,

Thanks for reporting this.  It's reproducible.  msbuild doesn't see that /Qparallel is set, and that causes /Qopt-matmul to fail:

ClCompile:
  ***** ClCompile (x64 - Intel C++)
  C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2016\windows\bin\Intel64\icl.exe /c /Qm64 /Zi /W3 /O3 /Oi /Qftz /Qopt-matmul /Quse-intel-optimized-headers /D __INTEL_COMPILER=1600 /D _IPP_SEQUENTIAL_STATIC /D "__builtin

...

  Intel(R) C++ Intel(R) 64 Compiler for applications running on Intel(R) 64, Version 16.0 Build 20151021
  Copyright (C) 1985-2015 Intel Corporation.  All rights reserved.
icl: : error : option '/Qopt-matmul' not supported
Done Building Project "C:\ISN_Forums\U605502\sample\TestMSB\MFCApplication1\MFC
Application1.vcxproj" (Rebuild target(s)) -- FAILED.

 

/Qopt-matmul is supported, but requires /Qparallel to be set.  The error message is misleading.

C:\ISN_Forums\U605502\sample\TestMSB\MFCApplication1>icl /Qopt-matmul *.cpp
Intel(R) C++ Intel(R) 64 Compiler for applications running on Intel(R) 64, Version 16.0.1.146 Build 20151021
Copyright (C) 1985-2015 Intel Corporation.  All rights reserved.
icl: command line error: option '/Qopt-matmul' not supported

 

C:\ISN_Forums\U605502\sample\TestMSB\MFCApplication1>icl /Qopt-matmul /Qparallel *.cpp
Intel(R) C++ Intel(R) 64 Compiler for applications running on Intel(R) 64, Version 16.0.1.146 Build 20151021
Copyright (C) 1985-2015 Intel Corporation.  All rights reserved.

MainFrm.cpp
MFCApplication1.cpp
MFCApplication1Doc.cpp
MFCApplication1View.cpp
stdafx.cpp

 

I'll report this to the developers.

Patrick

0 Kudos
pbkenned1
Employee
862 Views

I've reported this to the developers.  I'll pass along updates I receive from them.

Internal tracking ID: DPD200380326

Patrick

0 Kudos
Reply