Fix the problem with MPI_Request

This commit is contained in:
Alejandro Gallo 2021-09-14 13:27:32 +02:00
parent 3e9f8bb7f0
commit aa2d88ee2f
3 changed files with 16 additions and 26 deletions

View File

@ -1046,7 +1046,7 @@ namespace atrip {
if (slice.info.state == Slice::Fetch) { if (slice.info.state == Slice::Fetch) {
// TODO: do it through the slice class // TODO: do it through the slice class
slice.info.state = Slice::Dispatched; slice.info.state = Slice::Dispatched;
MPI_Request request = nullptr; MPI_Request request;
slice.request = request; slice.request = request;
MPI_Irecv( slice.data MPI_Irecv( slice.data
, slice.size , slice.size
@ -1280,10 +1280,9 @@ namespace atrip {
void sliceIntoBuffer(size_t it, Tensor &to, Tensor const& from) override void sliceIntoBuffer(size_t it, Tensor &to, Tensor const& from) override
{ {
const int rank = Atrip::rank const int Nv = sliceLength[0]
, Nv = sliceLength[0]
, No = sliceLength[1] , No = sliceLength[1]
, a = rankMap.find({static_cast<size_t>(rank), it}); , a = rankMap.find({static_cast<size_t>(Atrip::rank), it});
; ;
@ -1319,9 +1318,8 @@ namespace atrip {
void sliceIntoBuffer(size_t it, Tensor &to, Tensor const& from) override void sliceIntoBuffer(size_t it, Tensor &to, Tensor const& from) override
{ {
const int rank = Atrip::rank const int No = sliceLength[0]
, No = sliceLength[0] , a = rankMap.find({static_cast<size_t>(Atrip::rank), it})
, a = rankMap.find({static_cast<size_t>(rank), it})
; ;
sliceIntoVector( sources[it] sliceIntoVector( sources[it]
@ -1357,8 +1355,7 @@ namespace atrip {
const int Nv = sliceLength[0] const int Nv = sliceLength[0]
, No = sliceLength[1] , No = sliceLength[1]
, rank = Atrip::rank , el = rankMap.find({static_cast<size_t>(Atrip::rank), it})
, el = rankMap.find({static_cast<size_t>(rank), it})
, a = el % Nv , a = el % Nv
, b = el / Nv , b = el / Nv
; ;
@ -1396,8 +1393,7 @@ namespace atrip {
const int Nv = from.lens[0] const int Nv = from.lens[0]
, No = sliceLength[1] , No = sliceLength[1]
, rank = Atrip::rank , el = rankMap.find({static_cast<size_t>(Atrip::rank), it})
, el = rankMap.find({static_cast<size_t>(rank), it})
, a = el % Nv , a = el % Nv
, b = el / Nv , b = el / Nv
; ;
@ -1437,8 +1433,7 @@ namespace atrip {
const int Nv = from.lens[0] const int Nv = from.lens[0]
, No = sliceLength[1] , No = sliceLength[1]
, rank = Atrip::rank , el = rankMap.find({static_cast<size_t>(Atrip::rank), it})
, el = rankMap.find({static_cast<size_t>(rank), it})
, a = el % Nv , a = el % Nv
, b = el / Nv , b = el / Nv
; ;

View File

@ -453,7 +453,7 @@ namespace atrip {
if (slice.info.state == Slice::Fetch) { if (slice.info.state == Slice::Fetch) {
// TODO: do it through the slice class // TODO: do it through the slice class
slice.info.state = Slice::Dispatched; slice.info.state = Slice::Dispatched;
MPI_Request request = nullptr; MPI_Request request;
slice.request = request; slice.request = request;
MPI_Irecv( slice.data MPI_Irecv( slice.data
, slice.size , slice.size

View File

@ -63,10 +63,9 @@ namespace atrip {
void sliceIntoBuffer(size_t it, Tensor &to, Tensor const& from) override void sliceIntoBuffer(size_t it, Tensor &to, Tensor const& from) override
{ {
const int rank = Atrip::rank const int Nv = sliceLength[0]
, Nv = sliceLength[0]
, No = sliceLength[1] , No = sliceLength[1]
, a = rankMap.find({static_cast<size_t>(rank), it}); , a = rankMap.find({static_cast<size_t>(Atrip::rank), it});
; ;
@ -102,9 +101,8 @@ namespace atrip {
void sliceIntoBuffer(size_t it, Tensor &to, Tensor const& from) override void sliceIntoBuffer(size_t it, Tensor &to, Tensor const& from) override
{ {
const int rank = Atrip::rank const int No = sliceLength[0]
, No = sliceLength[0] , a = rankMap.find({static_cast<size_t>(Atrip::rank), it})
, a = rankMap.find({static_cast<size_t>(rank), it})
; ;
sliceIntoVector( sources[it] sliceIntoVector( sources[it]
@ -140,8 +138,7 @@ namespace atrip {
const int Nv = sliceLength[0] const int Nv = sliceLength[0]
, No = sliceLength[1] , No = sliceLength[1]
, rank = Atrip::rank , el = rankMap.find({static_cast<size_t>(Atrip::rank), it})
, el = rankMap.find({static_cast<size_t>(rank), it})
, a = el % Nv , a = el % Nv
, b = el / Nv , b = el / Nv
; ;
@ -179,8 +176,7 @@ namespace atrip {
const int Nv = from.lens[0] const int Nv = from.lens[0]
, No = sliceLength[1] , No = sliceLength[1]
, rank = Atrip::rank , el = rankMap.find({static_cast<size_t>(Atrip::rank), it})
, el = rankMap.find({static_cast<size_t>(rank), it})
, a = el % Nv , a = el % Nv
, b = el / Nv , b = el / Nv
; ;
@ -220,8 +216,7 @@ namespace atrip {
const int Nv = from.lens[0] const int Nv = from.lens[0]
, No = sliceLength[1] , No = sliceLength[1]
, rank = Atrip::rank , el = rankMap.find({static_cast<size_t>(Atrip::rank), it})
, el = rankMap.find({static_cast<size_t>(rank), it})
, a = el % Nv , a = el % Nv
, b = el / Nv , b = el / Nv
; ;