In Version 10.1 to reduce memory consumption a locking of mutex in GPS was introduced in G4SingleParticleSource::GeneratePrimaryVertex (see attachment lock-where.png). When primaries are of low energy and setup is simple the generation of primaries is highly penalized with a moderate number of threads (>8) because the mutex plays a major role. As an example, in case of 24 threads, only 4 threads are efficiently used (see compare.png, where the blue bars represent the time spent with a given number of threads running for 10.1 and the yellow bars represent the same quantity for 10.0). A strategy to remove the lock is needed, because this can dramatically impact medical applications, however this is not completely trivial as it requires understanding concurrency issues in the underlying classes. Andrea
Created attachment 308 [details] 10.0 Vs 10.1
Created attachment 309 [details] Source of lock
Hello, I would like to know whether this bug is being debugged, and how long time it will take to be solved? Thanks, Linlin
Hello Linlin, I am working on that, but I cannot yet say how long it will take, it is not so easy. In the meantime, you can use Version 10.0 Andrea
Proposed and accepted correction tag: event-V10-01-03 Need a large scale testing if succesfull will be included in ref-02 and the next 10.1 patch release.
Thanks Andrea for the informing. It is great to see that the bug is fixed. Hope to see the future released version. Linlin
Solved in 10.1.re03