请教在AIX环境下使用openmp出现的问题

c023451 2010-06-08 03:37:10
大家好,最近遇到一个很让人头疼的问题,我们的编程环境为IBM AIX6.1,GCC版本是4.2.0。当测试小型的程序,使用OMP时效果很好,正确运行而且比单线程要快很多。但由于我们要编译运行的程序很大,当加入-fopenmp的时候,编译会报错,说那个使用openmp的函数未定义,(undefined symbol)。然后更加奇怪的是,我在编译选项里加入一个优化选项-O2后,编译没问题了,但运行的时候老出现segmentation fault。于是我在网上找解决方法,都说是堆栈大小出问题,所以我按照他们的把OMP_STACKSIZE和STACKSIZE都设为100M,还有ulimit -s 1000M,但设置成功后,运行时还是有分段错误,所以很是让人郁闷,实在是无解了,恳求各位大牛不吝赐教,在家感激不尽。
...全文
129 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
intel_iclifort 2010-06-08
  • 打赏
  • 举报
回复
根据x86/x64上的经验

升级一下GCC的版本如何?

-O2换成-O1试试?

还有先设置OMP的线程数为1, 看看问题还存在么?

567

社区成员

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

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