由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
CS版 - MPI里面nonblock通信的memory怎么处理
相关主题
谁能说说同步/异步IO和阻塞/非阻塞IO的区别?请教些完全独立并行的workload
云有没有可能代替超级计算机进行科学计算?PhD找程序员工作的时候publication有人看吗?
[转载] 问个mesh网络中的router问题求教 cs master 选课 (转载)
测量CPU使用效率构建并行计算环境求助
Interconnection network 还有什么搞头?valgrind谁用过?
LinkedIn Internship Opportunity计算机行业革命以及中国的机遇
计算量如何翻译成英文?possible plagiarism
问个单cpu下的并行处理速度问题[转载]我知道的几个机器学习会议
相关话题的讨论汇总
话题: mpi话题: nonblock话题: wait话题: delete话题: 通信
进入CS版参与讨论
1 (共1页)
w********r
发帖数: 14958
1
nonblock send过程中,内存是不能改的。 如果这些内存是new出来的,什么时候
delete他们呢?
我是拿个list,把所有通信需要的源内存都记录下来。 随时MPI_test这些通信完成了没
有,完成了在delete他们。
可是我觉得这样好蠢阿。 有好办法没有?
x*h
发帖数: 757
2
楼主有没有试过send以后立刻delete会不会报错?报什么错误?null pointer?
我隐约记得,mpi的send是发送端把要发送的内容存到内存中即返回。
如果是这样,就是要发送内容的操作(包括new和delete)mpi已经给handle了。
那么理论上讲,isend的内容会被先寄存到一个临时内存中(mpi自动创建?,发送完以
后再由mpi负责delete。
所以我们不用管这个东西的delete?

【在 w********r 的大作中提到】
: nonblock send过程中,内存是不能改的。 如果这些内存是new出来的,什么时候
: delete他们呢?
: 我是拿个list,把所有通信需要的源内存都记录下来。 随时MPI_test这些通信完成了没
: 有,完成了在delete他们。
: 可是我觉得这样好蠢阿。 有好办法没有?

w********r
发帖数: 14958
3
不是特别懂这些。 我记得mpi有buffer和 nonbuffer mode 两种。buffer mode就是你
说的情况。 具体的我也不知道。

【在 x*h 的大作中提到】
: 楼主有没有试过send以后立刻delete会不会报错?报什么错误?null pointer?
: 我隐约记得,mpi的send是发送端把要发送的内容存到内存中即返回。
: 如果是这样,就是要发送内容的操作(包括new和delete)mpi已经给handle了。
: 那么理论上讲,isend的内容会被先寄存到一个临时内存中(mpi自动创建?,发送完以
: 后再由mpi负责delete。
: 所以我们不用管这个东西的delete?

d**********x
发帖数: 270
4
你为什么不能在MPI_Wait/MPI_Waitall之后delete?
如果你确实需要在MPI_Wait之前delete的话,确实有方法做到,但是需要改MPI
library的实现,而且需要看你interconnect用的什么(intra-node share memory/
Infiniband/TCP, etc.)

【在 w********r 的大作中提到】
: nonblock send过程中,内存是不能改的。 如果这些内存是new出来的,什么时候
: delete他们呢?
: 我是拿个list,把所有通信需要的源内存都记录下来。 随时MPI_test这些通信完成了没
: 有,完成了在delete他们。
: 可是我觉得这样好蠢阿。 有好办法没有?

d**********x
发帖数: 270
5
isend的内容是否存到一个临时内存(bounce buffer)取决于message size。不一定是
放在bounce buffer中的。

【在 x*h 的大作中提到】
: 楼主有没有试过send以后立刻delete会不会报错?报什么错误?null pointer?
: 我隐约记得,mpi的send是发送端把要发送的内容存到内存中即返回。
: 如果是这样,就是要发送内容的操作(包括new和delete)mpi已经给handle了。
: 那么理论上讲,isend的内容会被先寄存到一个临时内存中(mpi自动创建?,发送完以
: 后再由mpi负责delete。
: 所以我们不用管这个东西的delete?

w********r
发帖数: 14958
6
因为我不想让process wait, process还有别的事要做。 等起来太慢。

【在 d**********x 的大作中提到】
: 你为什么不能在MPI_Wait/MPI_Waitall之后delete?
: 如果你确实需要在MPI_Wait之前delete的话,确实有方法做到,但是需要改MPI
: library的实现,而且需要看你interconnect用的什么(intra-node share memory/
: Infiniband/TCP, etc.)

b**g
发帖数: 335
7
check these two:
MPI_Bsend
MPI_Ibsend

【在 w********r 的大作中提到】
: nonblock send过程中,内存是不能改的。 如果这些内存是new出来的,什么时候
: delete他们呢?
: 我是拿个list,把所有通信需要的源内存都记录下来。 随时MPI_test这些通信完成了没
: 有,完成了在delete他们。
: 可是我觉得这样好蠢阿。 有好办法没有?

d**********x
发帖数: 270
8
你的process做的workload跟传输的data有dependency吗?如果没有的话,把那些
workload放在MPI_Wait之前没有问题啊。workload跟数据传输是并行处理的阿。等你的
program flow到达MPI_Wait的时候,数据传输已经ready了,没有process wait。除非
你的workload太short,到达mpi_wait的时候,数据传输还没完成。

【在 w********r 的大作中提到】
: 因为我不想让process wait, process还有别的事要做。 等起来太慢。
1 (共1页)
进入CS版参与讨论
相关主题
[转载]我知道的几个机器学习会议Interconnection network 还有什么搞头?
[转载]我知道的几个人工智能会议(一二三流)(revised)LinkedIn Internship Opportunity
问一个MPI编程的问题计算量如何翻译成英文?
MPI问题求助。Help! (转载)问个单cpu下的并行处理速度问题
谁能说说同步/异步IO和阻塞/非阻塞IO的区别?请教些完全独立并行的workload
云有没有可能代替超级计算机进行科学计算?PhD找程序员工作的时候publication有人看吗?
[转载] 问个mesh网络中的router问题求教 cs master 选课 (转载)
测量CPU使用效率构建并行计算环境求助
相关话题的讨论汇总
话题: mpi话题: nonblock话题: wait话题: delete话题: 通信