Changeset 27 for XMLIO_SERVER/trunk/src/IOSERVER/mod_ioclient_para.f90
- Timestamp:
- 04/08/09 16:04:00 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XMLIO_SERVER/trunk/src/IOSERVER/mod_ioclient_para.f90
r8 r27 12 12 SUBROUTINE Init_parallel 13 13 USE mpitrace 14 USE mod_ioserver_namelist 15 USE mod_prism_get_comm 14 16 IMPLICIT NONE 15 17 INCLUDE 'mpif.h' … … 25 27 INTEGER :: div,remain 26 28 INTEGER :: group_color 29 INTEGER :: Comm_client_server 30 CHARACTER(LEN=6) :: oasis_server_id 27 31 28 ! PRINT *, "on rentre dans MPI_INIT" 29 CALL MPI_INIT(ierr) 30 CALL MPI_COMM_RANK(MPI_COMM_WORLD,global_rank,ierr) 31 CALL MPI_COMM_SIZE(MPI_COMM_WORLD,global_size,ierr) 32 33 PRINT *,"MPI_init Ok, --> mpi_comm_split" 34 CALL MPI_COMM_SPLIT(MPI_COMM_WORLD,color_client,global_rank,intracomm,ierr) 32 IF (using_oasis) THEN 33 oasis_server_id=server_id 34 PRINT *,'prism_get_intracomm' 35 CALL prism_get_intracomm(Comm_client_server,oasis_server_id,ierr) 36 ELSE 37 CALL MPI_INIT(ierr) 38 Comm_client_server=MPI_COMM_WORLD 39 ENDIF 40 41 CALL MPI_COMM_RANK(Comm_client_server,global_rank,ierr) 42 CALL MPI_COMM_SIZE(Comm_client_server,global_size,ierr) 43 44 CALL MPI_COMM_SPLIT(Comm_client_server,color_client,global_rank,intracomm,ierr) 35 45 CALL MPI_COMM_SIZE(intracomm,mpi_size,ierr) 36 46 CALL MPI_COMM_RANK(intracomm,mpi_rank,ierr) 37 PRINT *,"MPI_mpi_comm_split ok --> intracomm" 47 38 48 nb_server_io=global_size-mpi_size 39 49 div=mpi_size/nb_server_io … … 45 55 group_color=(nb_server_io-1)-(mpi_size-1-mpi_rank)/div 46 56 ENDIF 47 PRINT *,'group_color',group_color48 57 49 CALL MPI_COMM_SPLIT( MPI_COMM_WORLD,group_color,global_rank,iocomm,ierr)58 CALL MPI_COMM_SPLIT(Comm_client_server,group_color,global_rank,iocomm,ierr) 50 59 51 60 CALL MPI_COMM_SIZE(iocomm,iosize,ierr) 52 61 CALL MPI_COMM_RANK(iocomm,iorank,ierr) 53 PRINT *,"io_size-> ",iosize,"iorank-> ",iorank 62 54 63 ALLOCATE(proc_color(0:iosize-1)) 55 64 CALL MPI_ALLGATHER(color_client,1,MPI_INTEGER,proc_color,1,MPI_INTEGER,iocomm,ierr) 56 print *,"proc_color -> ",proc_color57 65 58 66 DO i=0,iosize-1
Note: See TracChangeset
for help on using the changeset viewer.