problem at data transfer in cocon

0 views
Skip to first unread message

Yuri

unread,
Dec 13, 2009, 3:31:54 PM12/13/09
to gg95
Hello everyone!
I have a problem at data transfer in cocon:
data either are not transferred, or transferred very slowly.
=====prog.f90========
Program a
type s
real(8), allocatable :: z(:)
end type s

type(s):: r[*]

sync memory
allocate(r%z(100000))
sync all
IF (this_image() == 1) THEN
r%z=1.0
do i=2,NUM_IMAGES()
r[i]=r
enddo
sync images(*)
ELSE
sync images(1)
ENDIF

end Program a
=======================

Result:

r[1]%z = 1.0
r[2]%z = 0.0

Data are not transferred!
Where an error?

------------------
But if to change the operator of assignment:
r[i]=r
on such:
r[i]%z= r%z

That assignment is executed:
r[1]%z = 1.0
r[2]%z = 1.0

but time of transfer of data is inadmissible is tightened (30 sec) !!!
Why so data are slowly transferred?

Regards,Yuri

------------------------------------
More detailed program:
=====prog.f90========
Program a
type s
real(8), allocatable :: z(:)
end type s

type(s):: r[*]
integer c_t(8), h_t, m_t, s_t, t_t, dh_t, dm_t, ds_t, dt_t
real time_t

call date_and_time(values=c_t)
h_t=c_t(5); m_t=c_t(6); s_t=c_t(7); t_t=c_t(8)

sync memory
allocate(r%z(100000))
sync all

IF (this_image() == 1) THEN
r%z=1.0
DO i=2,NUM_IMAGES()
r[i]=r
ENDDO
sync images(*)
ELSE
sync images(1)
ENDIF

sync all
print*, 'this_image=',this_image(),' z=',r%z(1:1)
call date_and_time(values=c_t)
dh_t=c_t(5)-h_t;dm_t=c_t(6)-m_t;ds_t=c_t(7)-s_t;dt_t=c_t(8)-t_t
time_t=(dh_t*60+dm_t)*60 + ds_t + 0.001*dt_t
print*, 'date_and_time=', time_t

end Program a
==========================
Reply all
Reply to author
Forward
0 new messages