- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello all, I'm trying to get Intel v11.1 to generate an autovectorization report but have not been able to. I'm using the compiler from within VS2008. Here are my "Configuration->C/C++->Command Line" directives:
/c /O2 /Oi /Qipo /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_UNICODE" /D "UNICODE" /EHsc /MD /GS /Gy /fp:fast /Yu"StdAfx.h" /Fp"Release/Simple resampling code.pch" /Fo"Release/" /W3 /nologo /Zi /Qopt-report:3 /Qopenmp /Qvec-report:3
What does it take to get the report to generate?
Also, there appears to be an errata in the documentation. In the "Vectorization Report" section of the docs there is the following:
"The following commands generate a vectorization report:
icl /QxSSSE3 /Qvec-report:3 sample.cpp
icl /QxSSSE3 /Qipo /Qvec-report:3 sample.cpp
icl /c /QxSSSE3 /Qipo /Qvec-report:3 sample.cpp
The following commands will not generate a vectorization report:
icl /c /QxSSSE3 /Qvec-report:3 sample.cpp
icl /QxSSSE3 /Qipo /Qvec-report:3 sample.cpp
icl /c /QxSSSE3 /Qipo /Qvec-report:3 sample.cpp"
The last two lines appear in both sections?
/c /O2 /Oi /Qipo /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_UNICODE" /D "UNICODE" /EHsc /MD /GS /Gy /fp:fast /Yu"StdAfx.h" /Fp"Release/Simple resampling code.pch" /Fo"Release/" /W3 /nologo /Zi /Qopt-report:3 /Qopenmp /Qvec-report:3
What does it take to get the report to generate?
Also, there appears to be an errata in the documentation. In the "Vectorization Report" section of the docs there is the following:
"The following commands generate a vectorization report:
icl /QxSSSE3 /Qvec-report:3 sample.cpp
icl /QxSSSE3 /Qipo /Qvec-report:3 sample.cpp
icl /c /QxSSSE3 /Qipo /Qvec-report:3 sample.cpp
The following commands will not generate a vectorization report:
icl /c /QxSSSE3 /Qvec-report:3 sample.cpp
icl /QxSSSE3 /Qipo /Qvec-report:3 sample.cpp
icl /c /QxSSSE3 /Qipo /Qvec-report:3 sample.cpp"
The last two lines appear in both sections?
Link Copied
13 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - ltkeene
Hello all, I'm trying to get Intel v11.1 to generate an autovectorization report but have not been able to. I'm using the compiler from within VS2008. Here are my "Configuration->C/C++->Command Line" directives:
/c /O2 /Oi /Qipo /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_UNICODE" /D "UNICODE" /EHsc /MD /GS /Gy /fp:fast /Yu"StdAfx.h" /Fp"Release/Simple resampling code.pch" /Fo"Release/" /W3 /nologo /Zi /Qopt-report:3 /Qopenmp /Qvec-report:3
/c /O2 /Oi /Qipo /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_UNICODE" /D "UNICODE" /EHsc /MD /GS /Gy /fp:fast /Yu"StdAfx.h" /Fp"Release/Simple resampling code.pch" /Fo"Release/" /W3 /nologo /Zi /Qopt-report:3 /Qopenmp /Qvec-report:3
So right now removing /Qipo should get the report.
Jennifer
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Jennifer Jiang (Intel)
Quoting - ltkeene
Hello all, I'm trying to get Intel v11.1 to generate an autovectorization report but have not been able to. I'm using the compiler from within VS2008. Here are my "Configuration->C/C++->Command Line" directives:
/c /O2 /Oi /Qipo /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_UNICODE" /D "UNICODE" /EHsc /MD /GS /Gy /fp:fast /Yu"StdAfx.h" /Fp"Release/Simple resampling code.pch" /Fo"Release/" /W3 /nologo /Zi /Qopt-report:3 /Qopenmp /Qvec-report:3
/c /O2 /Oi /Qipo /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_UNICODE" /D "UNICODE" /EHsc /MD /GS /Gy /fp:fast /Yu"StdAfx.h" /Fp"Release/Simple resampling code.pch" /Fo"Release/" /W3 /nologo /Zi /Qopt-report:3 /Qopenmp /Qvec-report:3
So right now removing /Qipo should get the report.
Jennifer
Hi Jennifer
For clear explain to my very small head...
You speak about report only or task vectorized and report , are disable with ipo ?
Best regards
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - bustaf
You speak about report only or task vectorized and report , are disable with ipo ?
Best regards
Best regards
Only the report that does not work when /Qipo is on. The optimization is not changed.
Jennifer
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Jennifer Jiang (Intel)
Quoting - bustaf
You speak about report only or task vectorized and report , are disable with ipo ?
Best regards
Best regards
Only the report that does not work when /Qipo is on. The optimization is not changed.
Jennifer
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Jennifer Jiang (Intel)
The reason is /Qipo. When /Qipo used, the compilation is only generated intermediate code. The xilinker will do the actual compilation work.we have a FR to add /qvec-report to xilinker. But it's not implemented yet.
So right now removing /Qipo should get the report.
Jennifer
So right now removing /Qipo should get the report.
Jennifer
Hi Jennifer, thank you for the response. I've removed /Qipo but still I get no vectorization report in the output window or build log file. Here's what I've got now as configuration settings:
/c /O2 /Oi /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_UNICODE" /D "UNICODE" /EHsc /MD /GS /Gy /fp:fast /Yu"StdAfx.h" /Fp"Release/Simple resampling code.pch" /Fo"Release/" /W3 /nologo /Zi /QxHost /Qvec-report:3
Any ideas what could be the problem now?
-L
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It works for me.
Which version of the compiler are you using? If you're using the Intel Paralle Composer RTM version, there's a bug in the /Qvec-report. You need to add "/Qdiag-enable:vec". The 1st update fixed the problem.
Which version of the compiler are you using? If you're using the Intel Paralle Composer RTM version, there's a bug in the /Qvec-report. You need to add "/Qdiag-enable:vec". The 1st update fixed the problem.
[shell]>>icl /c /O2 /Oi /EHsc /MD /GS /Gy /fp:fast /Zi /QxHost /Qvec-report:3 t.cpp Intel C++ Compiler Professional for applications running on IA-32, Version 11.1 Build 20090511 Package ID: w_cproc _p_11.1.035 Copyright (C) 1985-2009 Intel Corporation. All rights reserved. t.cpp C:tempt.cpp(28): (col. 8) remark: loop was not vectorized: vectorization possible but seems inefficient. C:tempt.cpp(29): (col. 8) remark: loop was not vectorized: not inner loop. C:tempt.cpp(29): (col. 8) remark: loop was not vectorized: dereference too complex. C:tempt.cpp(30): (col. 3) remark: loop was not vectorized: existence of vector dependence. C:tempt.cpp(30): (col. 31) remark: vector dependence: assumed ANTI dependence between c2 line 30 and (unknown) line 30 . C:tempt.cpp(30): (col. 31) remark: vector dependence: assumed FLOW dependence between (unknown) line 30 and c2 line 30 .[/shell]
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Jennifer Jiang (Intel)
It works for me.
Which version of the compiler are you using? If you're using the Intel Paralle Composer RTM version, there's a bug in the /Qvec-report. You need to add "/Qdiag-enable:vec". The 1st update fixed the problem.
Which version of the compiler are you using? If you're using the Intel Paralle Composer RTM version, there's a bug in the /Qvec-report. You need to add "/Qdiag-enable:vec". The 1st update fixed the problem.
[shell]>>icl /c /O2 /Oi /EHsc /MD /GS /Gy /fp:fast /Zi /QxHost /Qvec-report:3 t.cpp Intel C++ Compiler Professional for applications running on IA-32, Version 11.1 Build 20090511 Package ID: w_cproc _p_11.1.035 Copyright (C) 1985-2009 Intel Corporation. All rights reserved. t.cpp C:tempt.cpp(28): (col. 8) remark: loop was not vectorized: vectorization possible but seems inefficient. C:tempt.cpp(29): (col. 8) remark: loop was not vectorized: not inner loop. C:tempt.cpp(29): (col. 8) remark: loop was not vectorized: dereference too complex. C:tempt.cpp(30): (col. 3) remark: loop was not vectorized: existence of vector dependence. C:tempt.cpp(30): (col. 31) remark: vector dependence: assumed ANTI dependence between c2 line 30 and (unknown) line 30 . C:tempt.cpp(30): (col. 31) remark: vector dependence: assumed FLOW dependence between (unknown) line 30 and c2 line 30 .[/shell]
It's the trial version for Windows 32-bit. Just downloaded it the other day so it should be up-to-date, no? I tried the /Qdiag-enable:vec flag...no change. Here's my output:
"1>------ Build started: Project: Simple resampling code, Configuration: Release Win32 ------
1>Compiling with Intel C++ 11.1.038 [IA-32]... (Intel C++ Environment)
1>stdafx.cpp
1>Compiling with Intel C++ 11.1.038 [IA-32]... (Intel C++ Environment)
1>Simple resampling code.cpp
1>Linking... (Intel C++ Environment)
1>xilink: executing 'link'
1>Embedding manifest... (Microsoft VC++ Environment)
1>Build log was saved at "file://C:Simple resampling codeSimple resampling codeReleaseBuildLog.htm"
1>Simple resampling code - 0 error(s), 0 warning(s)
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped =========="
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - ltkeene
"1>------ Build started: Project: Simple resampling code, Configuration: Release Win32 ------
1>Compiling with Intel C++ 11.1.038 [IA-32]... (Intel C++ Environment)
1>stdafx.cpp
1>Compiling with Intel C++ 11.1.038 [IA-32]... (Intel C++ Environment)
1>Simple resampling code.cpp
1>Compiling with Intel C++ 11.1.038 [IA-32]... (Intel C++ Environment)
1>stdafx.cpp
1>Compiling with Intel C++ 11.1.038 [IA-32]... (Intel C++ Environment)
1>Simple resampling code.cpp
Pleas turn off /nologo to verify the options passed to each file and make sure the /Qvec-report3 is there.
Jennifer
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Jennifer Jiang (Intel)
Pleas turn off /nologo to verify the options passed to each file and make sure the /Qvec-report3 is there.
Jennifer
Is it "Qvec-report3" or "Qvec-report:3"? I've seen both in the documentation.
-L
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - ltkeene
Is it "Qvec-report3" or "Qvec-report:3"? I've seen both in the documentation.
-L
I've removed /nologo and it's working now (with /Qvec-report:3). Thank you.
-L
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - ltkeene
I've removed /nologo and it's working now (with /Qvec-report:3). Thank you.
-L
-L
Thanks,
Jennifer
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The vectorization report issue related to /GL or /Qipo is now fixed in the 12.0 Intel C++ Composer XE for Windows.
when you have /Qvec-report4 in the compiling option, even /Qipo is used, the vec report will be generated and printed.
Thanks,
Jennifer
when you have /Qvec-report4 in the compiling option, even /Qipo is used, the vec report will be generated and printed.
Thanks,
Jennifer
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I could get correct report even in version 11 under both Windows and Linux. There is an option to export all reports to a file and thus nothing will be shown. Maybe you are using that option. As far as I remember, you can activate this file report in C/C++ -> Diagnostics.
D.
D.
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page