- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XMLIO_SERVER/trunk/src/IOSERVER/mod_ioserver_para.f90
r30 r8 20 20 SUBROUTINE Init_parallel 21 21 USE mpitrace 22 USE mod_ioserver_namelist23 #ifdef USE_OASIS24 USE mod_prism_get_comm25 #endif26 22 IMPLICIT NONE 27 23 INCLUDE 'mpif.h' … … 32 28 INTEGER :: i 33 29 INTEGER :: group_color 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) 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) 54 36 CALL MPI_COMM_SIZE(intracomm,mpi_size,ierr) 55 37 CALL MPI_COMM_RANK(intracomm,mpi_rank,ierr) … … 58 40 PRINT *,'group_color',group_color 59 41 60 CALL MPI_COMM_SPLIT( Comm_client_server,group_color,global_rank,iocomm,ierr)42 CALL MPI_COMM_SPLIT(MPI_COMM_WORLD,group_color,global_rank,iocomm,ierr) 61 43 62 44 CALL MPI_COMM_SIZE(iocomm,iosize,ierr) … … 82 64 83 65 SUBROUTINE Finalize_parallel 84 USE mod_ioserver_namelist85 #ifdef USE_OASIS86 USE mod_prism_proto87 #endif88 66 IMPLICIT NONE 89 67 include 'mpif.h' 90 68 INTEGER :: ierr 91 69 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 70 CALL MPI_FINALIZE(ierr) 71 100 72 END SUBROUTINE Finalize_parallel 101 73
Note: See TracChangeset
for help on using the changeset viewer.