diff --git a/src/ppm_comp_pp_ring.f b/src/ppm_comp_pp_ring.f index 28c923a61b250691867f78db2d0c83bcf82c2fe4..b1378b3dd9275d6dcb8b00910fc4c66624dc3ffa 100644 --- a/src/ppm_comp_pp_ring.f +++ b/src/ppm_comp_pp_ring.f @@ -313,18 +313,14 @@ DO i = 1,hops !TODO: check the argument quantity accuracy CALL ppm_map_part_ring_shift(xp2,ppm_dim,Lpart,itarget,isource,info) - CALL ppm_map_part(ppm_param_topo_undefined,ppm_param_topo_undefined, & - & pdata2,lda,Lpart,Lpart,ppm_param_map_push,info) - CALL ppm_map_part(ppm_param_topo_undefined,ppm_param_topo_undefined, & - & dpd2,lda,Lpart,Lpart,ppm_param_map_push,info) - CALL ppm_map_part(ppm_param_topo_undefined,ppm_param_topo_undefined, & - & xp2,ppm_dim,Lpart,Lpart,ppm_param_map_send,info) - CALL ppm_map_part(ppm_param_topo_undefined,ppm_param_topo_undefined, & - & dpd2,lda,Lpart,Lpart,ppm_param_map_pop,info) - CALL ppm_map_part(ppm_param_topo_undefined,ppm_param_topo_undefined, & - & pdata2,lda,Lpart,Lpart,ppm_param_map_pop,info) - CALL ppm_map_part(ppm_param_topo_undefined,ppm_param_topo_undefined, & - & xp2,ppm_dim,Lpart,Lpart,ppm_param_map_pop,info) + CALL ppm_map_part_push(pdata2,lda,Lpart,info) + CALL ppm_map_part_push(dpd2,lda,Lpart,info) + + CALL ppm_map_part_send(Lpart,Lpart,info) + + CALL ppm_map_part_pop(dpd2,lda,Lpart,Lpart,info) + CALL ppm_map_part_pop(pdata2,lda,Lpart,Lpart,info) + CALL ppm_map_part_pop(xp2,ppm_dim,Lpart,Lpart,info) CALL ppm_comp_pp_doring(xp,pdata,dpd,Np,xp2,pdata2,dpd2,Lpart, & & lda,lsymm,kernel,kpar,0,info) @@ -343,18 +339,14 @@ IF (lsymm .AND. (MOD(ppm_nproc,2) .EQ. 0)) THEN !TODO: check the argument quantity accuracy CALL ppm_map_part_ring_shift(xp2,ppm_dim,Lpart,itarget,isource,info) - CALL ppm_map_part(ppm_param_topo_undefined,ppm_param_topo_undefined, & - & pdata2,lda,Lpart,Lpart,ppm_param_map_push,info) - CALL ppm_map_part(ppm_param_topo_undefined,ppm_param_topo_undefined, & - & dpd2,lda,Lpart,Lpart,ppm_param_map_push,info) - CALL ppm_map_part(ppm_param_topo_undefined,ppm_param_topo_undefined, & - & xp2,ppm_dim,Lpart,Lpart,ppm_param_map_send,info) - CALL ppm_map_part(ppm_param_topo_undefined,ppm_param_topo_undefined, & - & dpd2,lda,Lpart,Lpart,ppm_param_map_pop,info) - CALL ppm_map_part(ppm_param_topo_undefined,ppm_param_topo_undefined, & - & pdata2,lda,Lpart,Lpart,ppm_param_map_pop,info) - CALL ppm_map_part(ppm_param_topo_undefined,ppm_param_topo_undefined, & - & xp2,ppm_dim,Lpart,Lpart,ppm_param_map_pop,info) + CALL ppm_map_part_push(pdata2,lda,Lpart,info) + CALL ppm_map_part_push(dpd2,lda,Lpart,info) + + CALL ppm_map_part_send(Lpart,Lpart,info) + + CALL ppm_map_part_pop(dpd2,lda,Lpart,Lpart,info) + CALL ppm_map_part_pop(pdata2,lda,Lpart,Lpart,info) + CALL ppm_map_part_pop(xp2,ppm_dim,Lpart,Lpart,info) !--------------------------------------------------------------------- ! The processor with the higher ppm_rank computes the upper half of @@ -395,18 +387,14 @@ IF (itarget .NE. ppm_rank) THEN !TODO: check the argument quantity accuracy CALL ppm_map_part_ring_shift(xp2,ppm_dim,Lpart,itarget,isource,info) - CALL ppm_map_part(ppm_param_topo_undefined,ppm_param_topo_undefined, & - & pdata2,lda,Lpart,Lpart,ppm_param_map_push,info) - CALL ppm_map_part(ppm_param_topo_undefined,ppm_param_topo_undefined, & - & dpd2,lda,Lpart,Lpart,ppm_param_map_push,info) - CALL ppm_map_part(ppm_param_topo_undefined,ppm_param_topo_undefined, & - & xp2,ppm_dim,Lpart,Lpart,ppm_param_map_send,info) - CALL ppm_map_part(ppm_param_topo_undefined,ppm_param_topo_undefined, & - & dpd2,lda,Lpart,Lpart,ppm_param_map_pop,info) - CALL ppm_map_part(ppm_param_topo_undefined,ppm_param_topo_undefined, & - & pdata2,lda,Lpart,Lpart,ppm_param_map_pop,info) - CALL ppm_map_part(ppm_param_topo_undefined,ppm_param_topo_undefined, & - & xp2,ppm_dim,Lpart,Lpart,ppm_param_map_pop,info) + CALL ppm_map_part_push(pdata2,lda,Lpart,info) + CALL ppm_map_part_push(dpd2,lda,Lpart,info) + + CALL ppm_map_part_send(Lpart,Lpart,info) + + CALL ppm_map_part_pop(dpd2,lda,Lpart,Lpart,info) + CALL ppm_map_part_pop(pdata2,lda,Lpart,Lpart,info) + CALL ppm_map_part_pop(xp2,ppm_dim,Lpart,Lpart,info) IF (Lpart .NE. Np) THEN info = ppm_error_error