Skip to content

[Issue]: do concurrent compiler bug (frontier) #3700

Description

@JorgeG94

Problem Description

This code:

module nested_scalar_m
   use iso_fortran_env, only: real64
   implicit none

   type :: buffer_t
      real(real64), allocatable :: data(:)
   end type buffer_t

   type :: solver_t
      type(buffer_t) :: buf              ! <-- scalar derived-type component
   end type solver_t

contains

   subroutine fill(o, n)
      type(solver_t), intent(inout) :: o
      integer, intent(in) :: n
      integer :: i

      do concurrent(i=1:n)
         o%buf%data(i) = real(i, real64)
      end do
   end subroutine fill

end module nested_scalar_m

program mre_dc_device_nested_scalar_record
   use nested_scalar_m
   use iso_fortran_env, only: real64
   implicit none
   integer, parameter :: n = 8
   type(solver_t) :: o

   allocate (o%buf%data(n), source=0.0_real64)
   call fill(o, n)
   print *, sum(o%buf%data)               ! 36.0
end program mre_dc_device_nested_scalar_record

fails to compile with:

warning: Mapping `do concurrent` to OpenMP is still experimental.
error: loc("/lustre/orion/scratch/jg4/csc693/more_benchmarks_dc_ocean/mre_bug2.f90":16:40): /__w/rockrel/rockrel/compiler/amd-llvm/flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp:603: not yet implemented: Nested record types are not supported yet.
LLVM ERROR: aborting

Operating System

SLE, SP7

CPU

AMD EPYC 7763 64-Core Processor

GPU

MI250X

ROCm Version

7.13.0

ROCm Component

flang

Steps to Reproduce

No response

(Optional for Linux users) Output of /opt/rocm/bin/rocminfo --support

rocminfo --support output
Paste output here

Additional Information

No response

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions