Wes Hinsley
Wes Hinsley
Nothing we can promise I'm afraid; the original expectation we set (prior to PR #279, which arguably should not have been merged without a bit more review!), was that we...
Indeed at that time we were, but even so, it was not our original expectation that we'd be able to manage that in a sustained way. (which is why there...
So, as you'll have seen the parallelism is all done with very straightforward OpenMP sections, which most C/C++ compilers (MS, Intel, G++) will handle. The crucial thing about 2248 is...
(Look for the text "Memory access byte granularity: 1 byte" in the "Details" section of text, in the Intel Inspector analysis)
@tomgreen66 - yes, you're right - ct itself is thread-local on 2204, different places (schools/workplaces), can have people that live in the same cell (2218-2221), hence thread-local ct for different...
Thanks, both, for looking at this, and the constructive comments by the way.
A couple of thoughts: Not all genres of algorithm can be parallelised while remaining deterministic. The algorithm we are talking about here in the covid-sim is in the "optimisation" genre...
(EDIT on 11th May): **This is a key comment** on the issue, listing the single area where thread races can cause different but equivalent stochastic instances of the initialisation network....
I also agree with you on having multi-threaded regression tests; in practice that's quite hard to automate, since to press the races to happen, you need a lot of time...
Yes - certainly not linear over threads, and there will be big overheard for small thread counts. With a much larger country and 32 cores (our usual config), the benefits...