- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XMLIO_SERVER/trunk/src/IOSERVER/mod_ioserver_para.f90
r8 r30 20 20 SUBROUTINE Init_parallel 21 21 USE mpitrace 22 USE mod_ioserver_namelist 23 #ifdef USE_OASIS 24 USE mod_prism_get_comm 25 #endif 22 26 IMPLICIT NONE 23 27 INCLUDE 'mpif.h' … … 28 32 INTEGER :: i 29 33 INTEGER :: group_color 30 31 CALL MPI_INIT(ierr) 32 CALL MPI_COMM_RANK(MPI_COMM_WORLD,global_rank,ierr) 33 CALL MPI_COMM_SIZE(MPI_COMM_WORLD,global_size,ierr) 34 35 CALL MPI_COMM_SPLIT(MPI_COMM_WORLD,color_server,global_rank,intracomm,ierr) 34 INTEGER :: Comm_client_server 35 INTEGER :: comp_id 36 CHARACTER(LEN=6) :: oasis_server_id, oasis_client_id 37 38 IF (using_oasis) THEN 39 oasis_server_id=server_id 40 oasis_client_id=client_id 41 #ifdef USE_OASIS 42 CALL prism_init_comp_proto (comp_id, oasis_server_id, ierr) 43 CALL prism_get_intracomm(Comm_client_server,oasis_client_id,ierr) 44 #endif 45 ELSE 46 CALL MPI_INIT(ierr) 47 Comm_client_server=MPI_COMM_WORLD 48 ENDIF 49 50 CALL MPI_COMM_RANK(Comm_client_server,global_rank,ierr) 51 CALL MPI_COMM_SIZE(Comm_client_server,global_size,ierr) 52 53 CALL MPI_COMM_SPLIT(Comm_client_server,color_server,global_rank,intracomm,ierr) 36 54 CALL MPI_COMM_SIZE(intracomm,mpi_size,ierr) 37 55 CALL MPI_COMM_RANK(intracomm,mpi_rank,ierr) … … 40 58 PRINT *,'group_color',group_color 41 59 42 CALL MPI_COMM_SPLIT( MPI_COMM_WORLD,group_color,global_rank,iocomm,ierr)60 CALL MPI_COMM_SPLIT(Comm_client_server,group_color,global_rank,iocomm,ierr) 43 61 44 62 CALL MPI_COMM_SIZE(iocomm,iosize,ierr) … … 64 82 65 83 SUBROUTINE Finalize_parallel 84 USE mod_ioserver_namelist 85 #ifdef USE_OASIS 86 USE mod_prism_proto 87 #endif 66 88 IMPLICIT NONE 67 89 include 'mpif.h' 68 90 INTEGER :: ierr 69 91 70 CALL MPI_FINALIZE(ierr) 71 92 IF (using_oasis) THEN 93 #ifdef USE_OASIS 94 CALL prism_terminate_proto(ierr) 95 #endif 96 ELSE 97 CALL MPI_FINALIZE(ierr) 98 ENDIF 99 72 100 END SUBROUTINE Finalize_parallel 73 101
Note: See TracChangeset
for help on using the changeset viewer.