Home > error openmp > error openmp for-incr does not conform

Error Openmp For-incr Does Not Conform

to content Advanced search Board index Change font size FAQ Register Login Information The requested topic does not exist. Board index The team • Delete all board cookies • All times are UTC - 8 hours [ DST ] Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group

LearningModern CodeNetworkingOpen SourceStorageToolsDeveloper TypeEmbedded SystemsGame DevMediaTechnical, Enterprise, HPCWebOSAll ToolsAndroid*HTML5Linux*OS X*Windows*ResourcesCode SamplesContact SupportDocumentationFree SoftwareIntel Registration CenterProduct ForumsSDKsResourcesPartner with IntelAcademic ProgramPartner SpotlightBlack Belt DeveloperDeveloper MeshInnovator ProgramSuccess StoriesLearnBlogBusiness TipsEventsVideosSupportContact SupportDeveloper EvangelistsFAQsForums Search form Search You are hereHome › Forums › Intel® Software Development Products › Intel® C++ Compiler FacebookLinkedInTwitterDiggDeliciousGoogle Plus Possible bug with OpenMP and optimizations in version 12.0.2.154 Possible bug with OpenMP and optimizations in version 12.0.2.154 italo1337 Mon, 03/07/2011 - 10:48 I am having some problems with C++ compiler version 12.0.2.154 (build 20110112). My code works fine on version 11.1.8.070 and on gcc, but I get wrong numeric results on the newest version. On icl I use /fast /Qopenmp /fp:precise /fp:double. On gcc http://openmp.org/forum/viewtopic.php?f=3&t=1223 I use -O3 -ffast-math -fopenmp. I noticed that if I remove OpenMP it works fine. It also works if I use /O1. The only place where I use OpenMP is in the following function: void calc_curvature(big_vector_t *y, big_vector_t *z) { int i, d; #pragma omp parallel for private(i, d) for ( i = 0 ; i < params->particle_count ; i++ ) { for ( d = 0 https://software.intel.com/en-us/forums/intel-c-compiler/topic/284838 ; d < 3 ; d++ ) { z[i].v.a[d] -= calc_dW(y, i, d) / params->particle[i].m ; } } } Here, params is a global and calc_dW does not change anything in y. It is a physical simulation. The summation is the force. In the newer compiler the force is much less than it should be. It is not noticeable in the first cycles, but as the simulation goes on, the results differ a lot. P.S. This site is very very slow. I get several time-outs and server errors. Are you experiencing problems? RSS Top 29 posts / 0 new Last post For more complete information about compiler optimizations, see our Optimization Notice. Log in to post comments om-sachan (Intel) Mon, 03/07/2011 - 19:52 It would nice if you can help us with small butcomplete test case to investigate the issue. Top Log in to post comments italo1337 Tue, 03/08/2011 - 05:38 I found where the problem is. It is another function that uses OpenMP: void calc_membrane(big_vector_t *y, big_vector_t *z) { int i, d; element_t e; double dW[3][3]; #pragma omp parallel for private(i, d, e, dW) for ( i = 0 ; i < params->triangle_count ; i++ ) { e.X

part of a test http://g.csdn.net/5054710 because it causes clang to leak memory (want to have the sanitizer bot green) Messages sorted by: [ date ] [ thread ] [ subject error openmp ] [ author ] Author: amusman Date: Tue Jun 3 05:16:47 2014 New Revision: 210095 URL: http://llvm.org/viewvc/llvm-project?rev=210095&view=rev Log: [OPENMP] Loop canonical form analysis (Sema) This patch implements semantic analysis to error openmp for-incr make sure that the loop is in OpenMP canonical form. This is the form required for 'omp simd', 'omp for' and other loop pragmas. Differential revision: http://reviews.llvm.org/D3778 Added: cfe/trunk/test/OpenMP/simd_loop_messages.cpp Modified: cfe/trunk/include/clang/Basic/DiagnosticGroups.td cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td cfe/trunk/include/clang/Sema/Scope.h cfe/trunk/include/clang/Sema/Sema.h cfe/trunk/lib/Parse/ParseOpenMP.cpp cfe/trunk/lib/Sema/Scope.cpp cfe/trunk/lib/Sema/SemaExprCXX.cpp cfe/trunk/lib/Sema/SemaOpenMP.cpp cfe/trunk/lib/Sema/SemaStmt.cpp cfe/trunk/test/OpenMP/simd_misc_messages.c Modified: cfe/trunk/include/clang/Basic/DiagnosticGroups.td URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticGroups.td?rev=210095&r1=210094&r2=210095&view=diff ============================================================================== --- cfe/trunk/include/clang/Basic/DiagnosticGroups.td (original) +++ cfe/trunk/include/clang/Basic/DiagnosticGroups.td Tue Jun 3 05:16:47 2014 @@ -678,6 +678,7 @@ def ASM : DiagGroup<"asm", [ // OpenMP warnings. def SourceUsesOpenMP : DiagGroup<"source-uses-openmp">; def OpenMPClauses : DiagGroup<"openmp-clauses">; +def OpenMPLoopForm : DiagGroup<"openmp-loop-form">; // Backend warnings. def BackendInlineAsm : DiagGroup<"inline-asm">; Modified: cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td URL: h

JavaScript ASP HTML(CSS) HTML5 Apache 开发语言/框架 Delphi VC/MFC VB C/C++ C++ Builder 其他开发语言 数据库开发 MS-SQL Server Oracle PowerBuilder Informatica 其他数据库开发 硬件/嵌入式开发 嵌入开发(WinCE) 驱动开发/核心开发 硬件设计 单片机/工控 汇编语言 VxWorks开发 Linux/Unix社区 系统维护与使用区 应用程序开发区 内核源代码研究区 驱动程序开发区 CPU和硬件区 论坛帮助 论坛牛人 论坛地图 专家问答 << >> CSDN > CSDN论坛 > 移动开发 > 英特尔技术 返回列表 管理菜单 置顶 推荐 锁定 移动 编辑 删除 帖子加分 帖子高亮 结帖 发帖 回复 关注 dimire 关于OpenMP小程序测试结果的疑问 [问题点数:20分,结帖人dimire] 快速回复 只显示楼主 关注帖子 关于OpenMP小程序测试结果的疑问 [问题点数:20分,结帖人dimire] 不显示删除回复 显示所有回复 显示星级回复 显示得分回复 只显示楼主 收藏 取消关注 关注 dimire dimire 本版等级: 本版专家分:0 结帖率:100% 楼主 发表于: 2008-05-28 22:52:12 今天装上了intelC++compiler9.0编译器,并且编了个小的测试程序 #include #include"omp.h" intmain(intargc,char*argv[]) { inti; #pragmaompparallelfor for(i=0;i<10;i++) { printf("i=%d\n",i); } return0; } 这个程序理想的打印结果应该是乱序的0到9数字,可我每次运行的时候,能输出正常的结果,但有时候又会出现重复输出两个数字的结果,比如 i=0 i=1 i=2 i=3 i=3 i=5 i=4 i=6 i=7 i=8 i=9 Pressanykeytocontinue i=0 i=0 i=5 i=6 i=7 i=1 i=8 i=2 i=3 i=9 i=4 Pressanykeytocontinue 这是什么原因呢? 更多 分享到: 对我有用[0] 丢个板砖[0] 引用 | 举报 | 编辑 删除 管理 回复次数:6 相关知识库: 区块链 深度学习 React Native iOS 取消关注 关注 intel_www intel_www 本版等级: 本版专家分:0 结帖率:28.57% 红花 2008年5月 专题开发/技术/项目大版内专家分月排行榜第一 #1 得分:20 回复于: 2008-05-29 10:42:40 检查使用的Cruntimelibrary是不是多线程版本。 对我有用[0] 丢个板砖[0] 引用 | 举报 | 编辑 删除 管理 取消关注 关注 intel_jeff intel_jeff 本版等级: 本版专家分:0 结帖率:80% #2 得分:0 回复于: 2008-05-29 14:20:50 你选择的链接库类型不对,应该选择多线程版本,即/ML或/MLd 看我在4核机器上的结果: ============================ 链接多线程版本的库,

 

Related content

No related pages.