Ticket #2835 (closed: fixed)

Opened 9 years ago

Last modified 5 years ago

Experiment with MDBox'es splitting in two along one dimension

Reported by: Janik Zikovsky Owned by: Janik Zikovsky
Priority: major Milestone: Iteration 29
Component: Mantid Keywords:
Cc: Blocked By:
Blocking: Tester: Owen Arnold

Description

... will call them MDSplitBox. See how it stacks up, performance-wise.

Attachments

2011-05-27_MDEvent_BinarySplitting_Performance.odp (209.7 KB) - added by Janik Zikovsky 9 years ago.
Performance of Binary Splitting
2011-04-08_MDEvent_Performance_GridSplitting.ppt (441.0 KB) - added by Janik Zikovsky 9 years ago.
Performance of Grid Splitting

Change History

comment:1 Changed 9 years ago by Janik Zikovsky

  • Status changed from new to accepted

comment:2 Changed 9 years ago by Janik Zikovsky

(In [10899]) Refs #2835: Stub for a MDSplitBox class.

comment:3 Changed 9 years ago by Janik Zikovsky

(In [11065]) - Refs #2835: Added a MDDimensionStats object that calculates mean and approximate variance of positions.

  • Refs #2835: Implemented a binary-tree style splitting for MDEventWorkspaces (MDSplitBox) as an experiment to replace MDGridBox.
  • Added Utils::NestedForLoop routines.
  • Refs #2711: Improved MDEventWorkspace binning speed by approximately 20 through better scheduling. Memory use is also much lower.
  • Refs #2818: Fixed compiler warnings for MDEvents and MDEventsTest (as of last ~Monday with fewer warnings flags).
  • More flags added to class_maker.py

comment:4 Changed 9 years ago by Owen Arnold

(In [11082]) re #2835. Unity build *.cpp exception owing to duplicate definition in effective compilation unit.

comment:5 Changed 9 years ago by Owen Arnold

(In [11085]) re #2835 fix minor error.

comment:6 Changed 9 years ago by Janik Zikovsky

  • Milestone changed from Iteration 28 to Iteration 29

Changed 9 years ago by Janik Zikovsky

Performance of Binary Splitting

Changed 9 years ago by Janik Zikovsky

Performance of Grid Splitting

comment:7 Changed 9 years ago by Janik Zikovsky

  • Status changed from accepted to verify
  • Resolution set to fixed

Performed measurements of performance for making then binning the binary split version of MDEventWorkspace. At a good splitting threshold, it is in general somewhat slower to make (30-35 sec vs 25 sec) the MDEW; binning is somewhat faster in some cases, by 10-40%.

Memory use seems higher in general. If the split threshold is small, performance of all types is much worse!

So it is not a clear-cut case of superior/inferior, and so we may keep the MDSplitBox for a while longer for future investigation.

comment:8 Changed 9 years ago by Janik Zikovsky

(In [12136]) Refs #2835: Scripts for MDEvents performance testing

comment:9 Changed 9 years ago by Owen Arnold

  • Status changed from verify to verifying
  • Tester set to Owen Arnold

comment:10 Changed 9 years ago by Owen Arnold

  • Status changed from verifying to closed

Looks like an extensive investigation.

comment:11 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 3681

Note: See TracTickets for help on using tickets.