UXP/V MPI L97061
Incompatibility between UXP/V MPI L97061 and previous version (broadcast)

There exists an incompatibility between UXP/V MPI L97061 and the previous version (UXP/V MPI DLIB), and please pay attention to apply UXP/V MPI L97061. as described below.

  1. The content of incompatibility 
    a)Source level incompatibility
    a-1)
    
    The type declaration of the 2nd argument of MPI_Type_size() in L97061
         is different from the one in DLIB. 
            DLIB :  MPI_Aint *
            L97061 :  int * 
    
    a-2)
    Error classes in L97061 are different from those in DLIB.
         The following error classes defined in DLIB are removed in L97061. 
           MPI_ERR_COMM_NULL, MPI_ERR_COMM_INTER,  MPI_ERR_INTRA,
           MPI_ERR_ERRORCODE, MPI_ERR_NULL,        MPI_ERR_LIMIT,
           MPI_ERR_NOMATCH,   MPI_ERR_BAD_ARGS,    MPI_ERR_INIT,   
           MPI_ERR_PERM_KEY,  MPI_ERR_BUFFER_EXISTS, 
           MPI_ERR_PERM_TYPE, MPI_ERR_PERM_OP,     MPI_ERR_PRE_INIT
    
    b)
    Object level incompatibility
         MPI constants definition (e.g.MPI_COMM_WORLD) in L97061 is different 
         from DLIB. 
           DLIB   : defined as external variables in the header file. 
                    Initial values are set in MPI_Init(). 
           L97061 : defined as real constants in the header file. 
                    Resolved in compile time, and initial setting is unnecessary. 
    
         Loadmodule compatibility is guaranteed.
    
  2. The status of incompatibility and user's deal in L97061 environment
    As for a-1) 
        
         On the prototype check in C compile time, warning level message is 
         output. This error does not affect program execution.
       
         The second argument of MPI_Type_size() should be modified to "int *". 
    As for a-2) 
        
         Undefined error classes in the header file are to be used, and then
         compile error occurres at compile time. 
       
         The error classes shown in a-2) should be modified to those for L97061.
    As for b) 
        
         Object made with DLIB cannot be linked with L97061 library.
         If linked, ld(1) causes error, or execution fails with abend or wrong 
         result. Sometimes wrong execution seems to end successfully. 
       
         Source program should be recompiled with including L97061 header file, 
         and then new object can be successfully linked with L97061 library.
    
  3. System manager's deal with the incompatibility 
        In the case that object resources of DLIB are to be used without
        recompile, the DLIB environment should be saved as shown below before 
        applying L97061 according to the "Software Release Guide" and 
        "PTF Description".
    
    1. Saving the files of the directory of the V1.0.1 environment # cd /usr/lang # tar cvf mpiDLIB.tar mpi
    2. Moving the above tar-files to a target directory For example, in the case that the target directory is /var/mpi_1.0.1, # mv mpiDLIB.tar /usr/lang/mpi_DLIB
    3. Recovering in the target directory # cd /usr/lang/mpi_DLIB # tar xvf mpiDLIB.tar # rm mpiDLIB.tar
  4. The cause of the incompatibility 
       This incompatibility comes from the MPI standard, and not specific to
       Fujitsu product. 
    As for a-1) 
       The specification of the standards on which DLIB or L97061 are based 
       do not the same. 
           DLIB   : MPI1.0
           L97061 : MPI1.1
       The size is declared as "MPI _Aint *" in MPI1.0, but as "int *" IN mpi1.1.
    As for a-2) 
       Error classes of MPI are defined depending the implementation. 
    As for b) 
       Fujitsu MPI is developed using MPICH in the public domain.
           DLIB   : based on MPICH 1.0.11 
           L97061 : based on MPICH 1.0.13 
       MPICH 1.0.11 and 1.0.13 are different in the header files as described in
       1.b), and then object level incompatibility occurs.
       This incompatible status is the same for the other MPI system which is 
       developed using MPICH.  
    
       Moreover, similar incompatibility will occur in MPI-2 which is scheduled 
       to be shipped on Jan,1998. 
       This will also come from the MPI standard and will not be specific to  
       Fujitsu product.