Problem Description
this
module m
implicit none
type :: inner_t
real :: x = 0.0
end type inner_t
type :: outer_t
type(inner_t) :: c ! nested record, declared BEFORE the allocatables
real, allocatable :: a(:), b(:)
end type outer_t
contains
subroutine k(s, n)
type(outer_t), intent(inout) :: s
integer, intent(in) :: n
integer :: i
do concurrent (i = 1:n)
s%b(i) = s%a(i) * 2.0 ! never touches s%c -- doesn't matter
end do
end subroutine k
end module m
program mre
use m
implicit none
type(outer_t) :: s
allocate(s%a(8), s%b(8))
s%a = 1.0
call k(s, 8)
print *, sum(s%b) ! 16.0
end program mre
does not compile with:
amdflang -O2 -fopenmp --offload-arch=gfx90a -fdo-concurrent-to-openmp=device mre.f90
error: loc("mre.f90":12:37): /__w/rockrel/rockrel/compiler/amd-llvm/flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp:609: 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
10.0.0
Installation Method
Tarball
Installed ROCm Packages / Versions
Installed ROCm packages / versions
Installed like:
wget https://stable.repo.amd.com/rocm/core/tarball/therock-dist-linux-gfx90a-10.0.0.tar.gz
mkdir install
tar -xf *.tar.gz -C install
ROCm Component
flang
Steps to Reproduce
amdflang -O2 -fopenmp --offload-arch=gfx90a -fdo-concurrent-to-openmp=device mre.f90
(Optional for Linux users) Output of rocminfo --support
rocminfo --support output
Additional Information
No response
Problem Description
this
does not compile with:
Operating System
SLE, SP7
CPU
AMD EPYC 7763 64-Core Processor
GPU
MI250X
ROCm Version
10.0.0
Installation Method
Tarball
Installed ROCm Packages / Versions
Installed ROCm packages / versions
Installed like:ROCm Component
flang
Steps to Reproduce
amdflang -O2 -fopenmp --offload-arch=gfx90a -fdo-concurrent-to-openmp=device mre.f90
(Optional for Linux users) Output of rocminfo --support
rocminfo --support output
Additional Information
No response