OpenRadioss
2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
spmd_split_comm.F
Go to the documentation of this file.
1
Copyright> OpenRadioss
2
Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3
Copyright>
4
Copyright> This program is free software: you can redistribute it and/or modify
5
Copyright> it under the terms of the GNU Affero General Public License as published by
6
Copyright> the Free Software Foundation, either version 3 of the License, or
7
Copyright> (at your option) any later version.
8
Copyright>
9
Copyright> This program is distributed in the hope that it will be useful,
10
Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11
Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
Copyright> GNU Affero General Public License for more details.
13
Copyright>
14
Copyright> You should have received a copy of the GNU Affero General Public License
15
Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16
Copyright>
17
Copyright>
18
Copyright> Commercial Alternative: Altair Radioss Software
19
Copyright>
20
Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21
Copyright> software under a commercial license. Contact Altair to discuss further if the
22
Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23
24
!||====================================================================
25
!|| spmd_split_comm ../engine/source/mpi/init/spmd_split_comm.F
26
!||--- called by ------------------------------------------------------
27
!|| mpp_init ../engine/source/mpi/interfaces/spmd_i7tool.F
28
!||--- calls -----------------------------------------------------
29
!||--- uses -----------------------------------------------------
30
!|| spmd_comm_world_mod ../engine/source/mpi/spmd_comm_world.F90
31
!||====================================================================
32
SUBROUTINE
spmd_split_comm
(ISACTIVE, COMM_LOCAL)
33
C-----------------------------------------------
34
C I m p l i c i t T y p e s
35
C-----------------------------------------------
36
USE
spmd_comm_world_mod,
ONLY
: spmd_comm_world
37
#include "implicit_f.inc"
38
C-----------------------------------------------------------------
39
C M e s s a g e P a s s i n g
40
C-----------------------------------------------
41
#include "spmd.inc"
42
C-----------------------------------------------
43
C C o m m o n B l o c k s
44
C-----------------------------------------------
45
#include "task_c.inc"
46
C-----------------------------------------------
47
C D u m m y A r g u m e n t s
48
C-----------------------------------------------
49
INTEGER
ISACTIVE, COMM_LOCAL
50
C-----------------------------------------------
51
C L o c a l V a r i a b l e s
52
C-----------------------------------------------
53
#ifdef MPI
54
INTEGER
IVAL, IERROR
55
C-----------------------------------------------
56
C S o u r c e L i n e s
57
C-----------------------------------------------
58
C
59
ival=isactive
60
IF
(isactive
> 0)
THEN
61
ival = 1
62
ELSE
63
ival = mpi_undefined
! if not concerned by this communication set to undefined communicator
64
END IF
65
CALL
mpi_comm_split
(spmd_comm_world, ival, ispmd+1, comm_local, ierror)
66
C IF(IVAL /=0) CALL MPI_Comm_Free(contcomm, ierror) ! only where new communicator is created (ie not MPI_UNDEFINED)
67
68
#endif
69
RETURN
70
END
mpi_comm_split
subroutine mpi_comm_split(comm, color, key, comm2, ierr)
Definition
mpi.f:272
spmd_split_comm
subroutine spmd_split_comm(isactive, comm_local)
Definition
spmd_split_comm.F:33
engine
source
mpi
init
spmd_split_comm.F
Generated by
1.15.0