[mpich-discuss] MPICH2's predefined reduce operation can not support quadruple precision

Jayesh Krishna jayesh at mcs.anl.gov
Fri May 14 10:30:14 CDT 2010


Hi,
 Your problem is not related to ticket 1028. I am working on the bug and you can see the progress at https://trac.mcs.anl.gov/projects/mpich2/ticket/1049 .

Regards,
Jayesh
----- Original Message -----
From: "Jilong Yin" <yinjilong at gmail.com>
To: "Jayesh Krishna" <jayesh at mcs.anl.gov>
Sent: Friday, May 14, 2010 1:14:16 AM GMT -06:00 US/Canada Central
Subject: Re: [mpich-discuss] MPICH2's predefined reduce operation can not  support quadruple precision

Sorry, I had a mistake about the version. 

I have used the version 1.1 to generate the ticket 1028 

And now I updated to 1.2.1p1, but got the following compile error 
D:\Temporary>smpd -version |filter3 con log.txt 
1.2.1p1 

D:\Temporary>gfortran -Ic:\mpich2\include -fsecond-underscore -fno-range-check T 
EST-QUAD.FOR c:\MPICH2\lib\libfmpich2g.a 
C:\DOCUME~1\nakata75\LOCALS~1\Temp\ccRVROiy.o:TEST-QUAD.FOR:(.text+0x4f): undefi 
ned reference to `mpi_type_create_f90_real__' 
collect2: ld returned 1 exit status 

D:\Temporary>type TEST-QUAD.FOR 
C The following program is used to test if MPICH2's predefined reduce operations support quadruple precision 
PROGRAM TEST 

IMPLICIT NONE 

INCLUDE 'MPIF.H' 

C MPI function status return 
INTEGER::ISTATUS(MPI_STATUS_SIZE),IERR 
C My rank 
INTEGER MYID 

C Define the real precision 
INTEGER,PARAMETER::RP=SELECTED_REAL_KIND(15) !one of 6,15,33 
C MPI REAL DATA TYPE 
INTEGER MPI_REAL_RP 

REAL(KIND=RP) A,S 

C Initilize the MPI enviroment 
CALL MPI_INIT(IERR) 

CALL MPI_TYPE_CREATE_F90_REAL(PRECISION(1.0_RP),MPI_UNDEFINED, 
& MPI_REAL_RP,IERR) 

C Due the bug in mpich2, https://trac.mcs.anl.gov/projects/mpich2/ticket/1028 
C use the following method to choose MPI REAL type 
c IF(PRECISION(1.0_RP).EQ.6) THEN 
c MPI_REAL_RP=MPI_REAL 
c ELSE IF(PRECISION(1.0_RP).EQ.15) THEN 
c MPI_REAL_RP=MPI_DOUBLE_PRECISION 
c ELSE IF(PRECISION(1.0_RP).EQ.33) THEN 
c MPI_REAL_RP=MPI_REAL16 
c ELSE 
c WRITE(6,*)"MPI can not support specified single precision." 
c STOP 
c END IF 


C Get the rank ID 
CALL MPI_COMM_RANK(MPI_COMM_WORLD,MYID,IERR) 

A=MYID*1.0_RP 

C Perform reduce operation 
CALL MPI_REDUCE(A,S,1,MPI_REAL_RP,MPI_SUM,0,MPI_COMM_WORLD,IERR) 

IF(MYID.EQ.0) THEN 
PRINT*,'SUM=',S 
END IF 


CALL MPI_FINALIZE(IERR) 


END 

D:\Temporary> 

But if I delete the statement including MPI_TYPE_CREATE_F90_REAL function, it can be compiled successfully. 







2010/5/14 Jilong Yin < yinjilong at gmail.com > 


I used 1.2.1p and it got the error showed in ticket 1028 
As Pavan recommened me to try the newest runk-r6642 because it is believed it fixed the bug in this version 

so i tried to compile it under Cygwin on windows 7 (64bit) platform, and got compile error as reported above. 


2010/5/14 Jilong Yin < yinjilong at gmail.com > 





Thank you for your help. 

I use mpich2-trunk-r6642. 


2010/5/14 Jayesh Krishna < jayesh at mcs.anl.gov > 





Hi, 
I am currently trying to see if I can recreate your problem (Cygwin+MPICH2 compilation error). 
The ticket pointed out in the discussion ( https://trac.mcs.anl.gov/projects/mpich2/ticket/1028 ), may or may not be related to your problem (Atleast the error messages are different). 
Did you get the error message with MPICH2 on windows (Installed using the MSI installer on windows) or cygwin (Installed using configure/make/make install) ? Which version of MPICH2 are you using (on windows)? 

Regards, 
Jayesh 



----- Original Message ----- 
From: "Pavan Balaji" < balaji at mcs.anl.gov > 
To: mpich-discuss at mcs.anl.gov 
Sent: Thursday, May 13, 2010 8:35:51 AM GMT -06:00 US/Canada Central 
Subject: Re: [mpich-discuss] MPICH2's predefined reduce operation can not support quadruple precision 


I don't know much about Windows/Cygwin. I'll let our windows expert take 
this over. 

-- Pavan 

On 05/12/2010 03:10 AM, Jilong Yin wrote: 
> Sorry, I did not capture the stderr output, that is 
> 
> make[3]: Entering directory 
> `/home/nakata093/mpich2-trunk-r6642/src/util/mem' 
> CC trmem.c 
> CC handlemem.c 
> CC safestr.c 
> CC argstr.c 
> CC strerror.c 
> strerror.c:13: error: conflicting types for ‘strerror_r’ 
> /usr/include/string.h:69: error: previous declaration of ‘strerror_r’ 
> was here 
> 
> strerror.c: In function ‘MPIU_Strerror’: 
> strerror.c:28: warning: assignment makes pointer from integer without a cast 
> make[3]: *** [strerror.o] Error 1 
> make[3]: Leaving directory `/home/nakata093/mpich2-trunk-r6642/src/util/mem' 
> make[2]: *** [all-redirect] Error 2 
> make[2]: Leaving directory `/home/nakata093/mpich2-trunk-r6642/src/util' 
> make[1]: *** [all-redirect] Error 2 
> make[1]: Leaving directory `/home/nakata093/mpich2-trunk-r6642/src' 
> make: *** [all-redirect] Error 2 
> 
> 
> 
> 2010/5/12 Jilong Yin < yinjilong at gmail.com <mailto: yinjilong at gmail.com >> 
> 
> Sorry, I can not compile MPICH2 correctly 
> 
> (I haven't compile MPICH2 before by myself) 
> 
> My computer is Windows 7 (64bit) . 
> 
> I tried to compile under Cygwin. But when compiling it , I got 
> errors as attached file. 
> 
> Though it is mostly my mistake, but maybe you can help me 
> 
> Thank you a lot. 
> 
> 
> 2010/5/12 Pavan Balaji < balaji at mcs.anl.gov <mailto: balaji at mcs.anl.gov >> 
> 
> 
> The ticket you point out in your test program 
> ( https://trac.mcs.anl.gov/projects/mpich2/ticket/1028 ) has been 
> fixed in r6426 as mentioned on the ticket. Did you try the 
> nightly snapshots 
> ( http://www.mcs.anl.gov/research/projects/mpich2/downloads/tarballs/nightly/trunk )? 
> If not, can you try them out and see if you are still seeing 
> this problem? 
> 
> Thanks, 
> 
> -- Pavan 
> 
> 
> On 05/11/2010 08:24 PM, Jilong Yin wrote: 
> 
> 
> Hello, 
> 
> 
> MPICH2's predefined reduce operation seems it can not 
> support 
> quadruple precision. 
> 
> 
> I used the attached program to test this. And got the 
> following 
> error message, 
> 
> Fatal error in PMPI_Reduce: Invalid MPI_Op, error stack: 
> PMPI_Reduce(1198).......: MPI_Reduce(sbuf=0012FF00, 
> rbuf=0012FF10, count=1, dtyp 
> e=0x4c00102b, MPI_SUM, root=0, MPI_COMM_WORLD) failed 
> MPIR_SUM_check_dtype(97): MPI_Op MPI_SUM operation not 
> defined for this datatype 
> 
> 
> If so, is there any plan to support this ? 
> 
> 
> Thank you. 
> 
> 
> 
> YIN 
> 
> 
> ------------------------------------------------------------------------ 
> 
> _______________________________________________ 
> mpich-discuss mailing list 
> mpich-discuss at mcs.anl.gov <mailto: mpich-discuss at mcs.anl.gov > 
> https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss 
> 
> 
> -- 
> Pavan Balaji 
> http://www.mcs.anl.gov/~balaji < http://www.mcs.anl.gov/%7Ebalaji > 
> _______________________________________________ 
> mpich-discuss mailing list 
> mpich-discuss at mcs.anl.gov <mailto: mpich-discuss at mcs.anl.gov > 
> https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss 
> 
> 
> 
> 
> ------------------------------------------------------------------------ 
> 
> _______________________________________________ 
> mpich-discuss mailing list 
> mpich-discuss at mcs.anl.gov 
> https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss 

-- 
Pavan Balaji 
http://www.mcs.anl.gov/~balaji 
_______________________________________________ 
mpich-discuss mailing list 
mpich-discuss at mcs.anl.gov 
https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss 





More information about the mpich-discuss mailing list