Jupyter 上の OpenCoarrays
Sourcery Institute の好意で Jupyter 上で OpenCoarrays を試すことができます。(以下のページより)
github.com
少し、新しい CAF 機能を試してみることにします。
event post
ソース・プログラム
program test use, intrinsic :: iso_fortran_env implicit none type (event_type) :: et[*] integer :: m[*] event post(et[2]) call event_query(et, m) print *, m sync all if (this_image() == 2) then event wait(et, until_count = 4) else event wait(et, until_count = 0) end if print *, m, this_image() end program test
実行結果
3 0 0 0 0 1 0 3 0 4 3 2
reduction 計算
ソース・プログラム
module m_test implicit none contains pure integer function im(i0, i1) integer, intent(in) :: i0, i1 im = i0 + i1 end function im end module m_test program test use m_test use, intrinsic :: iso_fortran_env use, intrinsic :: iso_c_binding, only: c_int implicit none integer:: m m = this_image() call co_sum(m, 1) print *, m call co_broadcast(m, 1) print *, m call co_reduce(m, im) print *, m, this_image() end program test
実行結果
10 10 2 10 3 10 4 10 40 1 40 2 40 3 40 4
atomic 演算
ソース・プログラム
program test use, intrinsic :: iso_fortran_env implicit none integer(atomic_int_kind) :: ka[*] integer :: n ka = 0 call atomic_add(ka[1], this_image()) sync all if (this_image() == 1) print *, ka end program test
実行結果
10
CoArrays: Parallel Programming in Fortran (Chapman & Hall/CRC Computational Science)
- 作者: Robert W. Numrich,John Ker Reid
- 出版社/メーカー: Chapman and Hall/CRC
- 発売日: 2019/02/05
- メディア: ハードカバー
- この商品を含むブログを見る
Modern Fortran Explained (Numerical Mathematics and Scientific Computation)
- 作者: Michael Metcalf,John Reid,Malcolm Cohen
- 出版社/メーカー: Oxford University Press
- 発売日: 2011/05/19
- メディア: Kindle版
- この商品を含むブログを見る
Modern Fortran:: Software Engineering for Scientists (Chapman & Hall/CRC Computational Science)
- 作者: Damian Rouson,Salvatore Filippone,Sameer Shende
- 出版社/メーカー: Chapman and Hall/CRC
- メディア: ハードカバー
- この商品を含むブログを見る
Numerical Computing with Modern Fortran (Applied Mathematics)
- 作者: Richard J. Hanson,Tim Hopkins
- 出版社/メーカー: Society for Industrial and Applied Mathematics
- 発売日: 2014/01/16
- メディア: ペーパーバック
- この商品を含むブログを見る