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
[SMPI] Allow privatization in a more generic way
[simgrid.git]
/
src
/
smpi
/
internals
/
smpi_process.cpp
diff --git
a/src/smpi/internals/smpi_process.cpp
b/src/smpi/internals/smpi_process.cpp
index
80d012e
..
66fc6d6
100644
(file)
--- a/
src/smpi/internals/smpi_process.cpp
+++ b/
src/smpi/internals/smpi_process.cpp
@@
-294,14
+294,17
@@
void Process::init(int *argc, char ***argv){
throw std::invalid_argument(std::string("Invalid rank: ") + (*argv)[2]);
}
throw std::invalid_argument(std::string("Invalid rank: ") + (*argv)[2]);
}
+ // cheinrich: I'm not sure what the impact of the SMPI_switch_data_segment on this call is. I moved
+ // this up here so that I can set the privatized region before the switch.
+ Process* process = smpi_process_remote(index);
if(smpi_privatize_global_variables == SMPI_PRIVATIZE_MMAP){
/* Now using segment index of the process */
index = proc->segment_index;
if(smpi_privatize_global_variables == SMPI_PRIVATIZE_MMAP){
/* Now using segment index of the process */
index = proc->segment_index;
+ process->set_privatized_region(smpi_init_global_memory_segment_process());
/* Done at the process's creation */
SMPI_switch_data_segment(index);
}
/* Done at the process's creation */
SMPI_switch_data_segment(index);
}
- Process* process = smpi_process_remote(index);
process->set_data(index, argc, argv);
}
xbt_assert(smpi_process(),
process->set_data(index, argc, argv);
}
xbt_assert(smpi_process(),