mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2024-12-24 10:01:38 +00:00
Update fortran90.html.markdown
added DO CONCURRENT
This commit is contained in:
parent
9912e42945
commit
8c78bb13d9
@ -436,6 +436,34 @@ contains
|
||||
|
||||
end module fruity
|
||||
|
||||
|
||||
! ISO Standard Fortran 2008 introduced the DO CONCURRENT construct to allow you to express loop-level parallelism
|
||||
|
||||
integer :: i
|
||||
real :: array(100)
|
||||
|
||||
DO CONCURRENT (i = 1:size(array))
|
||||
array(i) = sqrt(i**i)
|
||||
END DO
|
||||
|
||||
|
||||
! Only calls to pure functions are allowed inside the loop and we can declare multiple indices:
|
||||
|
||||
integer :: x, y
|
||||
real :: array(8, 16)
|
||||
|
||||
do concurrent (x = 1:size(array, 1), y = 1:size(array, 2))
|
||||
array(x, y) = real(x)
|
||||
end do
|
||||
|
||||
! loop indices can also declared inside the contruct:
|
||||
|
||||
real :: array(8, 16)
|
||||
|
||||
do concurrent (integer :: x = 1:size(array, 1), y = 1:size(array, 2))
|
||||
array(x, y) = real(x)
|
||||
end do
|
||||
|
||||
```
|
||||
|
||||
### More Resources
|
||||
|
Loading…
Reference in New Issue
Block a user