>It looks like the
>
>-sparallelInitElts=false
>
>setting restored our performance to what we got with 1.11. Surprisingly (to
>me), without this flag, the code seems to be using multicore execution of the
>loops I've written, as well as perhaps the array initialization (at least,
>that's what it looks like when I watch htop as I run it, and all 4 cores run at
>100% right up until it quits 12 seconds after starting). That would probably
>explain the terrible performance, as the untiled loop nest would probably cause
>terrible contention for cache lines if run concurrently.
That flag only impacts array initialization. Your for-loops will still run
serially (Chapel, very intentionally, does not auto-parallelize anything.)
When I run, I see a spike for all cores during array initialization, then
just one core busy for the rest of the program.
>I'm attaching our code, but my question may now just be: how to I prevent
>concurrent execution (and the answer may be, with the flag above).
For now, I'd just use -sparallelInitElts=false. Currently there's no way to
squash the default array initialization, but we're working on that. In the
future you should be able to get serial array init by doing something like:
// replace default init with manual serial init
var m: [MatrixD] int = for i in MatrixD do 0;
------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev
_______________________________________________
Chapel-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/chapel-users