Fortran Coder

查看: 9123|回复: 6
打印 上一主题 下一主题

[并行] 关于大数组openmp并行的问题

[复制链接]

12

帖子

4

主题

0

精华

入门

F 币
69 元
贡献
35 点
跳转到指定楼层
楼主
发表于 2019-4-7 22:04:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
向各位大神求助,我现在想要并行做一些矩阵的计算,发现只要矩阵稍微一大就无法运行了,不知道有人遇到过这种情况吗,该如何解决呢?这个代码很简单,串行完全没问题,而并行的时候,矩阵规模很小时没有问题,规模一大比如现在的2000就无法运行了。
      program main
      use omp_lib
      integer::i,j
      integer,parameter::nec0=2000
      common/matr/ an(nec0,nec0)

      write(6,*) 'hello word!'
      !$OMP PARALLEL PRIVATE(i,j)
      !$OMP DO
      do i=1,nec0
        do j=1,nec0
            an(i,j)=float(i+j)
        enddo
      enddo
      !$OMP END DO
      !$OMP END PARALLEL

      open(3,file='an.txt',status='unknown')
      do i=1,nec0
        write(3,*) (an(i,j),j=1,nec0)
      enddo
      close(3)

      stop
      end

分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

12

帖子

4

主题

0

精华

入门

F 币
69 元
贡献
35 点
沙发
 楼主| 发表于 2019-4-7 22:34:11 | 只看该作者
[Fortran] 纯文本查看 复制代码
      program main
      use omp_lib
      integer::i,j
      integer,parameter::nec0=2000
      common/matr/ an(nec0,nec0)
      
      write(6,*) 'hello word!'
      !$OMP PARALLEL PRIVATE(i,j)
      !$OMP DO
      do i=1,nec0
        do j=1,nec0
            an(i,j)=float(i+j)
        enddo
      enddo
      !$OMP END DO
      !$OMP END PARALLEL
      
      open(3,file='an.txt',status='unknown')
      do i=1,nec0
        write(3,*) (an(i,j),j=1,nec0)
      enddo
      close(3)
      
      stop
      end

835

帖子

2

主题

0

精华

大宗师

F 币
3926 元
贡献
2334 点
板凳
发表于 2019-4-8 12:06:30 | 只看该作者
给错误提示,对于找错来说,这是最重要的,比你的代码更重要。
猜测可能是堆栈问题。

12

帖子

4

主题

0

精华

入门

F 币
69 元
贡献
35 点
地板
 楼主| 发表于 2019-4-8 12:43:37 | 只看该作者
li913 发表于 2019-4-8 12:06
给错误提示,对于找错来说,这是最重要的,比你的代码更重要。
猜测可能是堆栈问题。 ...

会弹出对话框,test.exe已停止工作

835

帖子

2

主题

0

精华

大宗师

F 币
3926 元
贡献
2334 点
5#
发表于 2019-4-9 17:59:40 | 只看该作者
我这里运行没问题。你把整个项目打包上传。

12

帖子

4

主题

0

精华

入门

F 币
69 元
贡献
35 点
6#
 楼主| 发表于 2019-4-11 20:18:47 | 只看该作者
li913 发表于 2019-4-9 17:59
我这里运行没问题。你把整个项目打包上传。

这个在vs里运行没问题,在simply fortran里运行会出现上述问题,是哪里需要设置吗?

835

帖子

2

主题

0

精华

大宗师

F 币
3926 元
贡献
2334 点
7#
发表于 2019-4-12 10:58:58 | 只看该作者
不要用小于10的通道号;屏幕输出用星号,不用6.
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-11-11 06:13

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表