Hi everybody,

I tried to submit a single 'long double' from an amd64 architecture to
a ppc, from an amd64 to a sparc machine and from ppc to sparc. The
testprogram and the results are shown below. All other basic datatypes
I have tested are working fine with heterogenous communication. Does
anybody have an idea? I am using openMPI 1.2.4.

Testprogramm:
#include <mpi.h>
#include <iostream>

int main(int argc, char *argv[])
{
  int me, numprocs;
  long double senddata = 3.14;
  long double recvdata;
  MPI_Status status;
  MPI_Init(&argc, &argv);

  MPI_Comm_size(MPI_COMM_WORLD, &numprocs);
  MPI_Comm_rank(MPI_COMM_WORLD, &me);

  if(me==0)
  {
    std::cout << "Long double to send: " << senddata << std::endl;
    MPI_Send(&senddata, 1, MPI_LONG_DOUBLE, 1, 123, MPI_COMM_WORLD);
  }
  else
  {
    MPI_Recv(&recvdata, 1, MPI_LONG_DOUBLE, 0, 123, MPI_COMM_WORLD, &status);
    std::cout << "Long double received: " << recvdata << std::endl;
  }
  MPI_Finalize();
}
--
Output from amd64 to ppc:
unpack there is still room in the input buffer 8 bytes
Long double received: 8.19027e+3364
Long double to send: 3.14

Output from amd64 to sparc:
Long double to send: 3.14
[hannibal:17063] *** An error occurred in MPI_Recv
[hannibal:17063] *** on communicator MPI_COMM_WORLD
[hannibal:17063] *** MPI_ERR_TRUNCATE: message truncated
[hannibal:17063] *** MPI_ERRORS_ARE_FATAL (goodbye)
mpirun noticed that job rank 0 with PID 21916 on node murdock exited
on signal 15 (Terminated).

Output from ppc to sparc:
Long double to send: 3.14
Long double received: 1146.88

*********************************************************

Information of the amd64 machine:

configure:
./configure --prefix=/usr/local/ CFLAGS=-m32 CXXFLAGS=-m32 FFLAGS=-m32
FCFLAGS=-m32 --with-wrapper-cflags=-m32 --with-wrapper-cxxflags=-m32
--with-wrapper-fflags=-m32 --with-wrapper-fcflags=-m32


uname -a:
Linux hannibal 2.6.22-14-server #1 SMP Tue Dec 18 05:52:24 UTC 2007
x86_64 GNU/Linux

less /proc/cpuinfo:
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 33
model name      : Dual Core AMD Opteron(tm) Processor 275
stepping        : 2
cpu MHz         : 2193.774
cache size      : 1024 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 2
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext
fxsr_opt lm 3dnowext 3dnow pni lahf_lm cmp_legacy
bogomips        : 4390.91
TLB size        : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp

processor       : 1
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 33
model name      : Dual Core AMD Opteron(tm) Processor 275
stepping        : 2
cpu MHz         : 2193.774
cache size      : 1024 KB
physical id     : 0
siblings        : 2
core id         : 1
cpu cores       : 2
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext
fxsr_opt lm 3dnowext 3dnow pni lahf_lm cmp_legacy
bogomips        : 4387.61
TLB size        : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp

processor       : 2

************************************************************

information of the ppc:

configure:
./configure --prefix=/usr/local --enable-static
--enable-ltdl-convenience --no-create --no-recursion

uname -a:
Linux baracus 2.6.18-5-powerpc #1 Sat Dec 22 21:05:48 UTC 2007 ppc GNU/Linux

less /proc/cpuinfo:
processor       : 0
cpu             : 7410, altivec supported
temperature     : 23-25 C (uncalibrated)
clock           : 533.333332MHz
revision        : 0.3 (pvr 800c 1103)
bogomips        : 66.30
timebase        : 33290001
platform        : PowerMac
machine         : PowerMac3,4
motherboard     : PowerMac3,4 MacRISC2 MacRISC Power Macintosh
detected as     : 69 (PowerMac G4 Silver)
pmac flags      : 00000010
L2 cache        : 1024K unified
pmac-generation : NewWorld

************************************************************

information of the sparc:

configure:
./configure CFLAGS=-mv8plus CXXFLAGS=-mv8plus FFLAGS=-mv8plus
FCFLAGS=-mv8plus --prefix=/usr/local --enable-static
--enable-ltdl-convenience --no-create --no-recursion

uname -a:
Linux murdock 2.6.22-14-sparc64-smp #1 SMP Tue Dec 18 05:40:10 UTC
2007 sparc64 GNU/Linux

less /proc/cpuinfo:
cpu             : TI UltraSparc III (Cheetah)
fpu             : UltraSparc III integrated FPU
prom            : OBP 4.16.4 2004/12/18 05:18
type            : sun4u
ncpus probed    : 2
ncpus active    : 2
D$ parity tl1   : 0
I$ parity tl1   : 0
Cpu0ClkTck      : 000000002cb41780
Cpu1ClkTck      : 000000002cb41780
MMU Type        : Cheetah
State:
CPU0:           online
CPU1:           online


Thanks in advance for your help

-- 
Viele Grüße / Kind regards

Patrick Heckeler

Teckstr. 6
72074 Tübingen
Germany


Mobil: +49172 / 719 23 24
email: pheckeler [at] gmail [dot] com
skype: p_heckeler
ICQ: 200910972

Reply via email to