Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Flang] Assignments for integer arrays with FORALL/WHERE are slower than GFortran #121129

Open
yus3710-fj opened this issue Dec 26, 2024 · 0 comments
Labels
flang Flang issues not falling into any other category performance

Comments

@yus3710-fj
Copy link
Contributor

yus3710-fj commented Dec 26, 2024

The execution of the following codes is slower than GFortran.

  • test.f90
subroutine dianfn008(lhs,rhs,n)
  integer :: rhs(:)
  integer :: lhs(:)
  integer i,n
  forall(i=1:n)
    lhs(i) = rhs(i)
  end forall
end subroutine
  • main.f90
implicit none

integer, parameter :: count = 10000
integer :: i,j,k,a1(100),a2(100)
real :: start_t, end_t
interface
  subroutine dianfn008(lhs,rhs)
    integer :: rhs(:)
    integer :: lhs(:)
  end subroutine
end interface

call cpu_time(start_t)
do i=1,count
  do j=1,count
    call dianfn008(a1,a2)
  end do
end do
call cpu_time(end_t)

print *, end_t - start_t
end
  • commands
$ flang -Ofast -mcpu=native test.f90 main.f90 && ./a.out # for A64FX/Grace
$ flang -Ofast -march=native test.f90 main.f90 && ./a.out # for Xeon
Flang [s] GFortran [s]
A64FX 3.927866 2.61007810
Grace 0.7966712 0.821618974
Xeon 1.0945732 0.659658015
@github-actions github-actions bot added the flang Flang issues not falling into any other category label Dec 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
flang Flang issues not falling into any other category performance
Projects
None yet
Development

No branches or pull requests

1 participant