Re: [OMPI devel] vader and mmap_shmem module cleanup problem

2015-12-16 Thread Justin Cinkelj
Thanks for clarification. I will go via new btl module path. I used -btl self,tcp in past, to get things working (when dealing with exec and fork problems). So at the moment, Open MPI runs fine, we were able to run some test jobs, to get some preliminary performance measurements etc. Only the c

Re: [OMPI devel] vader and mmap_shmem module cleanup problem

2015-12-16 Thread Gilles Gouaillardet
Justin, knem allows a process to write into the address space of an other process, to do zero copy. in the case of osv, threads can simply do a memcpy(), and I doubt knew is even available. so a new btl that uses memcpy would be optimal on osv. one option is to starts from the vader btl, and repl

Re: [OMPI devel] OMPI devel] vader and mmap_shmem module cleanup problem

2015-12-16 Thread Gilles Gouaillardet
Justiin, Rewriting a btl is for intra-node performance purpose only. To get things working, you can force tcp connectipns for intra node communication mpirun --mca btl tcp,self ... Cheers, Gilles Justin Cinkelj wrote: >Vader is for intra-node communication only, right? So for inter-node >co

Re: [OMPI devel] vader and mmap_shmem module cleanup problem

2015-12-16 Thread Justin Cinkelj
Vader is for intra-node communication only, right? So for inter-node communication some other mechanism will be used anyway. Why would be even better to write a new btl? To avoid memcpy (knem would use it, if I understand you correctly; I guess code assumes that multiple processes on same node h

Re: [OMPI devel] vader and mmap_shmem module cleanup problem

2015-12-15 Thread Jeff Squyres (jsquyres)
On Dec 15, 2015, at 5:18 AM, Justin Cinkelj wrote: > > Second question. > With two threads in one process, I got attempt to > opal_shmem_segment_dettach() and munmap() on same mmap-ed address, from both > threads. I 'fixed' that by replacing "ds_buf->seg_cpid = getpid()" with > gettid(), and t

Re: [OMPI devel] vader and mmap_shmem module cleanup problem

2015-12-15 Thread Nathan Hjelm
Looks like there is a missing conditional in mca_btl_vader_component_close(). Will add it and PR to 1.10 and 2.x. -Nathan On Tue, Dec 15, 2015 at 11:18:11AM +0100, Justin Cinkelj wrote: > I'm trying to port Open MPI to OS with threads instead of processes. > Currently, during MPI_Finalize, I get

Re: [OMPI devel] vader and mmap_shmem module cleanup problem

2015-12-15 Thread Gilles Gouaillardet
Justin, at first glance, vader should be symmetric (e.g. call opal_shmem_segment_dettach() instead of munmap() Nathan, can you please comment ? using tid instead of pid should also do the trick that being said, a more elegant approach would be to create a new module in the shmem framework basica

[OMPI devel] vader and mmap_shmem module cleanup problem

2015-12-15 Thread Justin Cinkelj
I'm trying to port Open MPI to OS with threads instead of processes. Currently, during MPI_Finalize, I get attempt to call munmap first with address of 0x20c0 and later 0x20c8. mca_btl_vader_component_close(): munmap (mca_btl_vader_component.my_segment, mca_btl_vader_component.