Ticket #5552 (closed: worksforme)
Run Conv To MD fully multithread
Reported by: | Alex Buts | Owned by: | Alex Buts |
---|---|---|---|
Priority: | major | Milestone: | Release 2.3 |
Component: | VATES | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Tester: | Nick Draper |
Description
Current implementation runs multhread the box splitting operations only.
Running conversion multi-threaded too would involve either writing thread pool returning values, or some other way of returning specific number of points, processed by a thread (e.g. mutexes)
Change History
comment:2 Changed 8 years ago by Alex Buts
refs #5552 Couple of classes/changes to support list of changed cell
not yet working/completed
Changeset: b43baf46e851613dceee88594eaac9f6ed9c90d9
comment:3 Changed 8 years ago by Alex Buts
refs #5552 fixing merging error
Changeset: 69d5b4bd22241e3a1ea2c838c0bc06b78fbd67e5
comment:4 Changed 8 years ago by Alex Buts
refs #5552 trying to fix unix error
Changeset: fbe85cad64e8528c4cac85118253907b5a3e2673
comment:5 Changed 8 years ago by Alex Buts
refs #5552 trying to deal with Unix error
Changeset: cb81e40105055246a60db09ee8d7a891f9435c46
comment:6 Changed 8 years ago by Alex Buts
refs #5552 fixing unix error
Changeset: 859e01e3f487f0fb22d8ac546a4ea211e9815d55
comment:7 Changed 8 years ago by Alex Buts
refs #5552 trying to fix Unix warning
Changeset: 7a50e2ebdf7e4e2a93e31bf709b2ccdeee8a7b16
comment:8 Changed 8 years ago by Alex Buts
refs #5552 check if revert decreases number of errors
Changeset: b1994d0f531c46ed8c2f7d8ea3d3332a5b0add17
comment:9 Changed 8 years ago by Alex Buts
refs #5552 Peak tests have been hopefully fixed
Changeset: 75543ee9863c39c5b0d91206d6db44abd74f0f17
comment:10 Changed 8 years ago by Martyn Gigg
Re-enable the MDGridBox tests. Refs #5552
Leaving them commented out caused the performance test to fail because the CxxTest parser has still told there is a test. The test seems to actual work anyway...
Changeset: 2af99554bc44716b6956aa9d6411b866e8d84a89
comment:11 Changed 8 years ago by Russell Taylor
Re #5552. A safer way of locking the mutex.
In particular, trying to unlock it after the return statement is not going to work out well. This might also get this compiling with gcc 4.7.
Changeset: fb50c37287b23c517ddf353db75282dcfad5284c
comment:12 Changed 8 years ago by Nick Draper
- Milestone changed from Release 2.2 to Release 2.3
Moved at the end of release 2.2
comment:13 Changed 8 years ago by Alex Buts
refs #5240 MDBoxToChange.h class is more or less functional
also relates to refs #5552
Changeset: 6291ea48ce4532232bcff7484f966b5da74e929d
comment:14 Changed 8 years ago by Alex Buts
refs #5552 Couple of classes/changes to support list of changed cell
not yet working/completed
Changeset: b43baf46e851613dceee88594eaac9f6ed9c90d9
comment:15 Changed 8 years ago by Alex Buts
refs #5552 fixing merging error
Changeset: 69d5b4bd22241e3a1ea2c838c0bc06b78fbd67e5
comment:16 Changed 8 years ago by Alex Buts
refs #5552 trying to fix unix error
Changeset: fbe85cad64e8528c4cac85118253907b5a3e2673
comment:17 Changed 8 years ago by Alex Buts
refs #5552 trying to deal with Unix error
Changeset: cb81e40105055246a60db09ee8d7a891f9435c46
comment:18 Changed 8 years ago by Alex Buts
refs #5552 fixing unix error
Changeset: 859e01e3f487f0fb22d8ac546a4ea211e9815d55
comment:19 Changed 8 years ago by Alex Buts
refs #5552 trying to fix Unix warning
Changeset: 7a50e2ebdf7e4e2a93e31bf709b2ccdeee8a7b16
comment:20 Changed 8 years ago by Alex Buts
refs #5552 check if revert decreases number of errors
Changeset: b1994d0f531c46ed8c2f7d8ea3d3332a5b0add17
comment:21 Changed 8 years ago by Alex Buts
refs #5552 Peak tests have been hopefully fixed
Changeset: 75543ee9863c39c5b0d91206d6db44abd74f0f17
comment:22 Changed 8 years ago by Martyn Gigg
Re-enable the MDGridBox tests. Refs #5552
Leaving them commented out caused the performance test to fail because the CxxTest parser has still told there is a test. The test seems to actual work anyway...
Changeset: 2af99554bc44716b6956aa9d6411b866e8d84a89
comment:23 Changed 8 years ago by Russell Taylor
Re #5552. A safer way of locking the mutex.
In particular, trying to unlock it after the return statement is not going to work out well. This might also get this compiling with gcc 4.7.
Changeset: fb50c37287b23c517ddf353db75282dcfad5284c
comment:25 Changed 8 years ago by Alex Buts
- Status changed from accepted to verify
- Resolution set to worksforme
The profiling of the code (see performance and profiling script for ticket #5710 ) have shown that conversion itself takes about 10% of the total conversion time where 90% time spent on memory allocation/deallocation/rearrangement which is substantially single threaded. In addition to that, on similar task, this code is approximately as fast (~10% faster) as ConvertToDifractionWorkspace which does the same job as this code for elastic instruments and runs all parts of the conversion fully multithreaded.
Better multi-threading performance can be achieved by substantial changes to WS structure (e.g. ticket #5809 which currently put on hold).
This code does conversion single threaded and adding to MD WS multithreaded and it is probably wise to left it this way until substantial changes to MDWorkspace structure are implemented.
comment:26 Changed 8 years ago by Nick Draper
- Status changed from verify to verifying
- Tester set to Nick Draper
comment:28 Changed 5 years ago by Stuart Campbell
This ticket has been transferred to github issue 6397
refs #5240 MDBoxToChange.h class is more or less functional
also relates to refs #5552