如何在VS2008中,输出intel编译器的Qvec-report

CandPointer 2010-10-18 06:32:41
我使用的是
Intel C++ Compiler 11.1.038
Visual Studio 2008 professional


如何才能在Visual Studio的output窗口,显示intel编译器的Vectorization report,就像显示intel编译器输出的error和warning一样。



我已经在Visual Studio 的Configuration Properties 里面的 C/C++ > Command Line 里面的Additional options: 添加了/Qvec-report3

可是,我在 Visual Studio的 Output 里面,看不到类似“LOOP WAS VECTORIZED”之类的信息。(同样的代码,在cmd窗口里面,用icl /QxHost /Qvec-report:3 mApLoader.c 就能看到显示的remark:LOOP WAS VECTORIZED)

只能看到
1>------ Rebuild All started: Project: mApLoader, Configuration: Debug x64 ------
1>Deleting intermediate files and output files for project 'mApLoader', configuration 'Debug|x64'.
1>Compiling with Intel(R) C++ 11.1.038 [Intel(R) 64]... (Intel C++ Environment)
1>mApLoader.c
1>Compiling manifest to resources... (Microsoft VC++ Environment)
1>Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0
1>
...全文
332 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
intel_iclifort 2010-10-21
  • 打赏
  • 举报
回复
呵呵,手册中的例子确实有问题的(输出和不输出都是完全一样的命令行,汗啊),需要在将来的版本中改正

Reference ID#: DPD200161999
CandPointer 2010-10-21
  • 打赏
  • 举报
回复
啊,太好了,太感谢intel_iclifort了。
明天,可以结贴了。

终于,能够在Visual Studio 的Output窗口,直接根据“loop was not vectorized”之类的提示,双击,就可以调到编辑器中相应的代码中修改了。很方便。


有个疑问,手册中,这么一句话:
Usage with Other Options 中的 “If you use the following option combinations, the compiler issues a warning and does not generate a report:”

可是,实际上在Visual studio 中的output里面,并没有没有issues a warning,没有提示我“编译参数有冲突”。



我原来,用命令行,试验的时候,也胡乱翻了手册。
手册中,居然有这么一段(ms-help://MS.VSCC.v90/MS.VSIPCC.v90/intel.cppprodocs.en/intel.cprocompilerdocs.en/main_cls/optaps/common/optaps_perf_vecrep.htm)

Vectorization Report -> Usage with Other Options


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




第三条,是不是有点不对啊,icl /c /QxSSSE3 /Qipo /Qvec-report:3 sample.cpp。
我肉眼看上去,产生报告/不产生报告 各自的第三条example,似乎是一摸一样的啊
intel_iclifort 2010-10-21
  • 打赏
  • 举报
回复
可以再试试命令行
> icl /c /Qipo /QHost /Qvec-report:3 mApLoader.c
> icl /o /Qipo /QHost /Qvec-report:3 mApLoader.obj

你就能明白这个过程
intel_iclifort 2010-10-21
  • 打赏
  • 举报
回复
也就是说,想看到vec-report, /c 和 /Qipo 选项无法同时用。 原因就是向量化报告只能在代码生成的阶段产生,而IPO优化有两次编译过程。

上面的例子中,你在VS IDE中恰好/c和/Qipo都用了。你可以命令行加上/c /Qipo试试看是否还能显示向量化报告。另外,你把/Qvec-report:3加到Visual Studio Project的Linker 选项中再看看结果。
intel_iclifort 2010-10-21
  • 打赏
  • 举报
回复
你看看去掉 /Qipo 选项是否能看到 vec report。

使用手册里已经提到了:

Usage with Other Options

The vectorization reports are generated during the final compilation phase, which is when the executable is generated; therefore, there are certain option combinations you cannot use if you are attempting to generate a report. If you use the following option combinations, the compiler issues a warning and does not generate a report:

-c or -ipo or -x with -vec-report (Linux* and Mac OS* X) and /c or /Qipo or /Qx with /Qvec-report (Windows*)

-c or -ax with -vec-report (Linux and Mac OS X) and /c or /Qax with /Qvec-report (Windows)
CandPointer 2010-10-18
  • 打赏
  • 举报
回复

/c /O2 /Oi /Qipo /I "F:\progs\intel\Compiler\11.1\038\IPP\em64t\Include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /EHsc /MD /GS /Gy /fp:fast /Fo"x64\Release/" /W3 /nologo /Wp64 /Zi /TC /QxHost /Quse-intel-optimized-headers /Qstd=c99 /Qrestrict /Qvec-report:3




1>------ Rebuild All started: Project: mApLoader, Configuration: Release x64 ------
1>Deleting intermediate files and output files for project 'mApLoader', configuration 'Release|x64'.
1>Compiling with Intel(R) C++ 11.1.038 [Intel(R) 64]... (Intel C++ Environment)
1>mApLoader.c
1>Linking... (Intel C++ Environment)
1>xilink: executing 'link'
1>Embedding manifest... (Microsoft VC++ Environment)
1>Build Time: 0:00:01
1>Build log was saved at "file://G:\Vs2008\Stage04\mApLoader\mApLoader\x64\Release\BuildLog.htm"
1>mApLoader - 0 error(s), 0 warning(s)
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========
内容概要:本文档详细介绍了“南方数码房地一体内外业软件”的操作流程,涵盖从数据准备、外业调查、内外业数据对接,到内业数据处理与成果输出的完整工作链。主要包括调查底图制作(支持DWG、MDB、SHP及倾斜三维模型等多种数据源)、导出外业IDB工程文件、平板端外业调查(宗地与房屋核实、电子签章表确认、照片导出)、内外业数据对接(DB与照片数据导入),以及内业的宗地信息完善、界址属性设置、自然幢生成、房屋面积计算、户属性录入,并最终输出宗地图、房产分户图、各类报表及MDB数据库等成果。; 适合人群:从事农村房地一体权籍调查的测绘、不动产登记及相关地理信息行业的内业处理人员、外业调查员和技术管理人员,需具备基础GIS或CAD操作能力; 使用场景及目标:①指导用户系统完成从原始数据到不动产登记成果的全流程作业;②实现外业调查数据高效采集与内业自动化处理衔接,提升房地一体确权登记工作的标准化与效率; 阅读建议:建议结合实际项目按章节顺序操作,重点关注数据格式转换、IDB工程交互逻辑及成果图输出设置,配合软件界面逐步实践,确保各环节数据完整性与准确性。
内容概要:本文围绕“面向高精度电流控制的PMSM多参数PSO辨识模型研究”,结合Simulink仿真实现,系统探讨了在高性能电机控制背景下,如何利用粒子群优化算法(PSO)对永磁同步电机(PMSM)电流环的关键参数进行多参数协同辨识。研究通过建立PMSM的精确动态数学模型,设计基于PSO的参数辨识框架,实现了对电机电感、电阻、反电动势常数等核心参数的高效在线或离线辨识,有效提升了电流控制的精度与系统鲁棒性。文详细阐述了PSO算法的实现机制,包括适应度函数构造、参数编码策略与收敛判据,并在Simulink构建了完整的联合仿真平台,通过大量仿真实验验证了该方法相较于传统辨识技术在准确性、稳定性和适应性方面的显著优势,为高动态性能电机驱动系统的参数获取提供了可靠的技术路径。; 适合人群:自动化、电气工程、控制科学与工程等相关专业的研究生、科研人员及从事高性能电机驱动系统开发的工程师。; 使用场景及目标:①应用于高端制造、新能源汽车、航空航天等领域对电流控制精度要求极高的PMSM控制系统开发;②作为智能优化算法(如PSO)在电机参数辨识领域应用的典型案例,服务于教学演示与学术研究;③为后续开展自适应控制、智能容错控制及多物理场耦合建模等前沿课题提供坚实的参数辨识基础和技术参考。; 阅读建议:读者应具备扎实的电机控制理论基础(如FOC矢量控制、现代控制理论)以及熟练的MATLAB/Simulink仿真能力,建议在学习过程结合文的仿真模型,动手复现PSO参数辨识的完整流程,深入分析算法参数设置对辨识结果的影响,从而全面掌握其工程应用精髓。
内容概要:本文提出了一种基于粒子群优化算法(PSO)的配电网光伏储能双层优化配置模型,以IEEE33节点系统为标准算例,实现光伏发电单元与储能系统的协同选址与定容优化。该模型采用双层架构设计,上层以投资成本、运行经济性及网络损耗最小为目标优化设备配置方案,下层通过潮流计算评估系统在不同负荷场景下的运行性能,综合考虑电压稳定性、供电可靠性及可再生能源消纳能力,最终通过Matlab编程实现完整求解流程,为高渗透率分布式电源接入背景下的配电网规划提供了有效的技术支撑。; 适合人群:具备电力系统分析基础和Matlab编程能力的研究生、高校科研人员及从事新能源并网、智能配电网规划与优化的工程技术人员。; 使用场景及目标:①研究含高比例光伏接入的配电网规划与运行协同优化问题;②掌握双层优化建模方法与粒子群算法在复杂电力系统问题的应用技巧;③为实际工程分布式光伏与储能系统的科学选址与容量配置提供理论依据与仿真验证平台。; 阅读建议:建议读者结合Matlab代码深入理解双层迭代求解机制,重点关注算法收敛性分析、参数敏感性测试,并可通过更换初始种群、调整权重因子或引入其他标准测试系统(如IEEE69节点)进行对比实验,进一步验证所提模型的普适性与鲁棒性。

568

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧