On Fri, 17 Aug 2012, Jens Lohne Eftang wrote: > On 08/17/2012 03:26 PM, Roy Stogner wrote: >> >> On Fri, 17 Aug 2012, Jens Lohne Eftang wrote: >> >>> I did some more detailed profiling. As far as I could understand, all IO >>> is handled around line 777 in system_io.C. I stuck logging around the line >>> >>> if (libMesh::processor_id() == 0) io.data_stream(input_buffer.empty() ? >>> NULL : &input_buffer[0], tot_n_comp); >>> >>> System::read_serialized_vector accounts for 380 seconds. But of this, >>> execution of the above line only accounts for 6.5 seconds. >> >> Let us know when you find the culprit behind the other 370-odd >> seconds? Unless you're running on a cluster with a horribly slow >> interconnect (in which case the Parallel:: operations would be sucking >> up your time), it sounds like there's something here we could be >> optimizing.
> The remaining seconds are shared between creation of the idx maps (the loop > at lines 755-777) and extraction of values (the loop at lines 787-810). They > each require about 160 seconds. Now I'm baffled. Those loops are necessarily atrocious in terms of cache efficiency, but I still wouldn't have expected them to take longer than the recv_ids creation just prior or the (equally cache inefficient!) vector setting which immediately follows. Those line numbers do correspond to the svn head, right? And you're running in opt mode? I can see several tiny optimizations that could be done on those loops, but nothing that I'd expect to shave more than a few percent off the runtime... --- Roy ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ Libmesh-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libmesh-users
