Hi Brice, hi Jeff, >Can you add some printf inside hwloc_linux_set_area_membind() in src/topology-linux.c to see if ENOMEM comes from the mbind >syscall or not?
I added printf inside that function, but ENOMEM does not come from there. >Have you run your application through valgrind or another memory-checking debugger? I tried with valgrind : valgrind --track-origins=yes --log-file=output_valgrind --leak-check=full --tool=memcheck --show-reachable=yes ./main_hybrid_bind_mem ==25687== Warning: set address range perms: large range [0x39454040, 0x2218d4040) (undefined) ==25687== ==25687== Valgrind's memory management: out of memory: ==25687== newSuperblock's request for 4194304 bytes failed. ==25687== 34253180928 bytes have already been allocated. ==25687== Valgrind cannot continue. Sorry. I attach the full output. The code dies also using OpenMP pure code. Very misteriously. 2012/9/5 Jeff Squyres <jsquy...@cisco.com> > On Sep 5, 2012, at 2:36 PM, Gabriele Fatigati wrote: > > > I don't think is a simply out of memory since NUMA node has 48 GB, and > I'm allocating just 8 GB. > > Mmm. Probably right. > > Have you run your application through valgrind or another memory-checking > debugger? > > I've seen cases of heap corruption lead to malloc incorrectly failing with > ENOMEM. > > -- > Jeff Squyres > jsquy...@cisco.com > For corporate legal information go to: > http://www.cisco.com/web/about/doing_business/legal/cri/ > > > _______________________________________________ > hwloc-users mailing list > hwloc-us...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/hwloc-users > -- Ing. Gabriele Fatigati HPC specialist SuperComputing Applications and Innovation Department Via Magnanelli 6/3, Casalecchio di Reno (BO) Italy www.cineca.it Tel: +39 051 6171722 g.fatigati [AT] cineca.it
output_valgrind
Description: Binary data