Rev | Line | |
---|
[2517] | 1 | #include "window_base.hpp" |
---|
[2570] | 2 | #include "cxios.hpp" |
---|
[2517] | 3 | |
---|
| 4 | namespace xios |
---|
| 5 | { |
---|
[2570] | 6 | CWindowBase::CWindowBase(MPI_Comm winComm, size_t bufferSize) |
---|
| 7 | { |
---|
| 8 | bufferSize_ = bufferSize ; |
---|
| 9 | windowSize_ = bufferSize_ + OFFSET_BUFFER ; |
---|
| 10 | MPI_Win_allocate(windowSize_, 1, MPI_INFO_NULL, winComm, &winBuffer_, &window_) ; |
---|
| 11 | CXios::getMpiGarbageCollector().registerWindow(window_) ; |
---|
| 12 | MPI_Aint& lock = *((MPI_Aint*)((char*)winBuffer_+OFFSET_LOCK)) ; |
---|
| 13 | lock=0 ; |
---|
| 14 | MPI_Win_lock_all(0, window_) ; |
---|
| 15 | MPI_Barrier(winComm) ; |
---|
| 16 | } |
---|
[2517] | 17 | |
---|
| 18 | |
---|
| 19 | } |
---|
Note: See
TracBrowser
for help on using the repository browser.