20 type (hecmwST_local_mesh) :: hecMESH
21 integer(kind=kint) :: ndof
22 integer(kind=kint) :: X(:), Y(:)
23 integer(kind=kint) :: sum
24 real(kind=
kreal),
optional :: commtime
26 integer(kind=kint) :: i
27 real(kind=
kreal) :: start_time, end_time
30 do i = 1, hecmesh%nn_internal * ndof
37 if (
present(commtime)) commtime = commtime + end_time - start_time
51 type (hecmwST_local_mesh) :: hecMESH
52 integer(kind=kint) :: ndof
53 real(kind=
kreal) :: x(:), y(:)
54 real(kind=
kreal) :: sum
55 real(kind=
kreal),
optional :: commtime
57 integer(kind=kint) :: i
58 real(kind=
kreal) :: start_time, end_time
61 do i = 1, hecmesh%nn_internal * ndof
68 if (
present(commtime)) commtime = commtime + end_time - start_time
81 type (hecmwST_local_mesh) :: hecMESH
82 integer(kind=kint) :: ndof
83 real(kind=
kreal) :: x(:), y(:)
84 real(kind=
kreal) :: sum
86 integer(kind=kint) :: i
89 do i = 1, hecmesh%nn_internal * ndof
105 type (hecmwST_local_mesh) :: hecMESH
106 integer(kind=kint) :: ndof
107 real(kind=
kreal) :: x(:), y(:)
108 real(kind=
kreal) :: alpha
110 integer(kind=kint) :: i
115 do i = 1, hecmesh%nn_internal * ndof
116 y(i) = alpha * x(i) + y(i)
133 type (hecmwST_local_mesh) :: hecMESH
134 integer(kind=kint) :: ndof
135 real(kind=
kreal) :: x(:), y(:)
136 real(kind=
kreal) :: alpha
138 integer(kind=kint) :: i
142 do i = 1, hecmesh%nn_internal * ndof
143 y(i) = x(i) + alpha * y(i)
160 type (hecmwST_local_mesh) :: hecMESH
161 integer(kind=kint) :: ndof
162 real(kind=
kreal) :: x(:), y(:), z(:)
163 real(kind=
kreal) :: alpha
165 integer(kind=kint) :: i
170 do i = 1, hecmesh%nn_internal * ndof
171 z(i) = alpha * x(i) + y(i)
187 type (hecmwST_local_mesh) :: hecMESH
188 integer(kind=kint) :: ndof
189 real(kind=
kreal) :: x(:)
190 real(kind=
kreal) :: alpha
192 integer(kind=kint) :: i
196 do i = 1, hecmesh%nn_internal * ndof
214 type (hecmwST_local_mesh) :: hecMESH
215 integer(kind=kint) :: ndof
216 real(kind=
kreal) :: x(:), y(:)
218 integer(kind=kint) :: i
223 do i = 1, hecmesh%nn_internal * ndof
237 t_max, t_min, t_avg, t_sd)
242 type (hecmwST_local_mesh),
intent(in) :: hecMESH
243 real(kind=
kreal),
intent(in) :: time
244 real(kind=
kreal),
intent(out) :: t_max
245 real(kind=
kreal),
intent(out),
optional :: t_min, t_avg, t_sd
246 real(kind=
kreal) :: t2_avg
247 integer(kind=kint) :: nprocs
254 if (.not.
present(t_min))
return
258 if (.not.
present(t_avg))
return
261 t_avg = t_avg / nprocs
263 if (.not.
present(t_sd))
return
266 t2_avg = t2_avg / nprocs
268 t_sd = dsqrt(t2_avg - t_avg*t_avg)
subroutine hecmw_xpay_r(hecMESH, ndof, alpha, X, Y)
subroutine hecmw_innerproduct_r_nocomm(hecMESH, ndof, X, Y, sum)
subroutine hecmw_innerproduct_r(hecMESH, ndof, X, Y, sum, COMMtime)
subroutine hecmw_axpy_r(hecMESH, ndof, alpha, X, Y)
subroutine hecmw_scale_r(hecMESH, ndof, alpha, X)
subroutine hecmw_time_statistics(hecMESH, time, t_max, t_min, t_avg, t_sd)
subroutine hecmw_axpyz_r(hecMESH, ndof, alpha, X, Y, Z)
subroutine hecmw_innerproduct_i(hecMESH, ndof, X, Y, sum, COMMtime)
subroutine hecmw_copy_r(hecMESH, ndof, X, Y)
integer(kind=kint), parameter hecmw_sum
integer(kind=kint) function hecmw_comm_get_size()
integer(kind=kint), parameter hecmw_max
integer(kind=4), parameter kreal
integer(kind=kint), parameter hecmw_min
real(kind=kreal) function hecmw_wtime()
subroutine hecmw_allreduce_i1(hecMESH, s, ntag)
subroutine hecmw_allreduce_r1(hecMESH, s, ntag)