Fortran90 中的并行数组赋值

问题描述

我需要通过对某些索引进行矩阵乘法来加速多维数组分配。原来的循环是

  FORALL (ia=1:2,ib=1:2,ic=1:2) U(:,ia,:,ib,ic)= 
 + W(ic,1)*matmul(FS(:,1),transpose(F(:,1)))+
 + W(ic,2)*matmul(FS(:,2),2)))

矩阵乘法在大维度上>100。 在具有并行 Intel Xeon 内核的工作站上使用 OMP 指令提高速度的最佳方法是什么?说,

!$OMP DO      
  DO ic=1,2
  DO ib=1,2
  DO ia=1,2
  U(:,2)))
  ENDDO
  ENDDO
  ENDDO
!$OMP END DO

这会起作用还是有更好的选择?谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)