Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
SWIFT
SWIFTsim
Commits
ac74d8fd
Commit
ac74d8fd
authored
Aug 17, 2015
by
Pedro Gonnet
Browse files
wrap tag IDs to prevent going into bad territory, clean out runner_dosend.
Former-commit-id: 67253fd5d24b593bdd7822863d0b25781cb1e744
parent
324bd359
Changes
3
Hide whitespace changes
Inline
Side-by-side
src/cell.c
View file @
ac74d8fd
...
...
@@ -181,7 +181,7 @@ int cell_pack ( struct cell *c , struct pcell *pc ) {
pc
->
dt_min
=
c
->
dt_min
;
pc
->
dt_max
=
c
->
dt_max
;
pc
->
count
=
c
->
count
;
c
->
tag
=
pc
->
tag
=
cell_next_tag
++
;
c
->
tag
=
pc
->
tag
=
atomic_inc
(
cell_next_tag
)
%
cell_max_tag
;
/* Fill in the progeny, depth-first recursion. */
for
(
k
=
0
;
k
<
8
;
k
++
)
...
...
src/cell.h
View file @
ac74d8fd
...
...
@@ -19,6 +19,7 @@
/* Some constants. */
#define cell_sid_dt 13
#define cell_max_tag (1 << 16)
/* Global variables. */
...
...
src/runner.c
View file @
ac74d8fd
...
...
@@ -101,43 +101,6 @@ const char runner_flip[27] = { 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1
#include
"runner_doiact_grav.h"
/**
* @brief Send a local cell's particle data to another node.
*
* @param r The #runner.
* @param c The #cell.
* @param nodeID The destination node's ID.
* @param tag bit to distinguish between xv and rho sends.
*/
void
runner_dosend
(
struct
runner
*
r
,
struct
cell
*
c
,
int
nodeID
,
int
tag
)
{
#ifdef WITH_MPI
MPI_Request
req
;
/* First check if all the density tasks have been run. */
if
(
tag
&
1
)
if
(
c
->
parts
[
0
].
rho
==
0
.
0
)
error
(
"Attempting to send rhos before ghost task completed."
);
/* Emit the isend. */
if
(
MPI_Isend
(
c
->
parts
,
sizeof
(
struct
part
)
*
c
->
count
,
MPI_BYTE
,
nodeID
,
tag
,
MPI_COMM_WORLD
,
&
req
)
!=
MPI_SUCCESS
)
error
(
"Failed to isend particle data."
);
message
(
"sending %i parts with tag=%i from %i to %i."
,
c
->
count
,
tag
,
r
->
e
->
nodeID
,
nodeID
);
fflush
(
stdout
);
/* Free the request handler as we don't care what happens next. */
MPI_Request_free
(
&
req
);
#else
error
(
"SWIFT was not compiled with MPI support."
);
#endif
}
/**
* @brief Sort the entries in ascending order using QuickSort.
*
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment