A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Factorize stack creation.
[simgrid.git]
/
src
/
smpi
/
smpi_mpi_dt.c
diff --git
a/src/smpi/smpi_mpi_dt.c
b/src/smpi/smpi_mpi_dt.c
index
1e47ae2
..
8be8134
100644
(file)
--- a/
src/smpi/smpi_mpi_dt.c
+++ b/
src/smpi/smpi_mpi_dt.c
@@
-1,7
+1,7
@@
/* smpi_mpi_dt.c -- MPI primitives to handle datatypes */
/* FIXME: a very incomplete implementation */
/* smpi_mpi_dt.c -- MPI primitives to handle datatypes */
/* FIXME: a very incomplete implementation */
-/* Copyright (c) 2009-201
3
. The SimGrid Team.
+/* Copyright (c) 2009-201
4
. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
@@
-14,6
+14,7
@@
#include "private.h"
#include "smpi_mpi_dt_private.h"
#include "mc/mc.h"
#include "private.h"
#include "smpi_mpi_dt_private.h"
#include "mc/mc.h"
+#include "xbt/replay.h"
#include "simgrid/modelchecker.h"
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smpi_mpi_dt, smpi,
#include "simgrid/modelchecker.h"
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smpi_mpi_dt, smpi,
@@
-165,7
+166,7
@@
int smpi_datatype_copy(void *sendbuf, int sendcount, MPI_Datatype sendtype,
count = sendcount < recvcount ? sendcount : recvcount;
if(sendtype->has_subtype == 0 && recvtype->has_subtype == 0) {
count = sendcount < recvcount ? sendcount : recvcount;
if(sendtype->has_subtype == 0 && recvtype->has_subtype == 0) {
- memcpy(recvbuf, sendbuf, count);
+
if(!_xbt_replay_is_active())
memcpy(recvbuf, sendbuf, count);
}
else if (sendtype->has_subtype == 0)
{
}
else if (sendtype->has_subtype == 0)
{
@@
-1488,5
+1489,6
@@
void smpi_op_destroy(MPI_Op op)
void smpi_op_apply(MPI_Op op, void *invec, void *inoutvec, int *len,
MPI_Datatype * datatype)
{
void smpi_op_apply(MPI_Op op, void *invec, void *inoutvec, int *len,
MPI_Datatype * datatype)
{
+ if(!_xbt_replay_is_active())
op->func(invec, inoutvec, len, datatype);
}
op->func(invec, inoutvec, len, datatype);
}