如何检测MPI_Isend或MPI_Send_init启用的MPI_请求对象?

如何检测MPI_Isend或MPI_Send_init启用的MPI_请求对象?,mpi,Mpi,有两种方法可以启用MPI\u请求对象请求 第一种方法是使用MPI\u Isend。这样,在完成后,MPI\u Request\u free不应释放请求 第二种方法是使用MPI\u Send\u init,这样,请求在完成后应该由MPI\u Request\u free释放 我想在使用MPI\u请求对象后“释放”资源。如果通过MPI\u Send\u init启用了它,我应该调用MPI\u Request\u free。如果由MPI\u Isend启用,则调用MPI\u请求\u free将导致错误

有两种方法可以启用
MPI\u请求
对象
请求

第一种方法是使用
MPI\u Isend
。这样,在完成后,
MPI\u Request\u free
不应释放请求

第二种方法是使用
MPI\u Send\u init
,这样,请求在完成后应该由
MPI\u Request\u free
释放

我想在使用MPI\u请求对象后“释放”资源。如果通过
MPI\u Send\u init
启用了它,我应该调用
MPI\u Request\u free
。如果由
MPI\u Isend
启用,则调用
MPI\u请求\u free
将导致错误

如何检测由
MPI Isend
MPI Send\u init
启用的MPI\u请求对象
Request


谢谢您的时间。

MPI标准中没有这样的子例程。
MPI\u Send\u init()。IMHO,你的问题表明你正在混合持久的和非持久的点对点请求,并且你应该考虑修改你的程序不这样做(例如,你认为你可以在取消它之前释放一个活动的持久请求吗?)我将接受您的建议并修改我的代码,分别管理持久和非持久通信的请求。MPI标准中没有这样的子例程。
MPI\u Send\u init()。IMHO,你的问题表明你正在混合持久的和非持久的点对点请求,并且你应该考虑修改你的程序不这样做(例如,你认为你可以在取消它之前释放一个活动的持久请求吗?)我将接受您的建议并修改我的代码,分别管理持久和非持久通信的请求。