[Q-e-developers] Problem with bcasting unallocated arrays in pw2wannier (5.1)

Åke Sandgren ake.sandgren at hpc2n.umu.se
Wed Aug 13 14:26:34 CEST 2014


Hi!

PP/src/pw2wannier90.f90 is broadcasting spin_eig and spin_qaxis even 
when they are not allocated. This causes crashes with at least gcc 4.6 + 
Impi 4.1.3, msglen = size(msg) in mp_bcast_iv gets set to 1 in some 
cases. I'm assuming this is a compiler bug, but it's still better not to 
bcast them in this case.

Patch attached.

-- 
Ake Sandgren, HPC2N, Umea University, S-90187 Umea, Sweden
Internet: ake at hpc2n.umu.se   Phone: +46 90 7866134 Fax: +46 90-580 14
Mobile: +46 70 7716134 WWW: http://www.hpc2n.umu.se
-------------- next part --------------
diff -ru site/PP/src/pw2wannier90.f90 amd64/PP/src/pw2wannier90.f90
--- site/PP/src/pw2wannier90.f90	2014-05-28 16:43:07.000000002 +0200
+++ amd64/PP/src/pw2wannier90.f90	2014-08-13 14:18:33.000000002 +0200
@@ -880,8 +880,10 @@
   CALL mp_bcast(zaxis,ionode_id, world_comm)
   CALL mp_bcast(xaxis,ionode_id, world_comm)
   CALL mp_bcast(alpha_w,ionode_id, world_comm)
-  CALL mp_bcast(spin_eig,ionode_id, world_comm)
-  CALL mp_bcast(spin_qaxis,ionode_id, world_comm)
+  if(noncolin.and..not.old_spinor_proj) then
+      CALL mp_bcast(spin_eig,ionode_id, world_comm)
+      CALL mp_bcast(spin_qaxis,ionode_id, world_comm)
+  endif
   !
   WRITE(stdout,*)
   WRITE(stdout,*) 'Projections:'


More information about the developers mailing list