Ticket #7228 (closed: fixed)

Opened 7 years ago

Last modified 5 years ago

ConvertToDiffractionMDWorkspace v2 performance

Reported by: Russell Taylor Owned by: Alex Buts
Priority: major Milestone: Release 3.0
Component: Diffraction Keywords:
Cc: Blocked By:
Blocking: Tester: Russell Taylor

Description (last modified by Alex Buts) (diff)

The new version of ConvertToDiffractionMDWorkspace created under #6856 has been shown to be substantially slower by a couple of system tests (SXDAnalysis & TOPAZPeakFinding). Plots of the timing changes are attached. The performance of SXDAnalysis was recovered by switching it back to using version 1 of ConvertToDiffractionMDWorkspace, but obviously this is not a solution to the fundamental problem.

Investigate and improve the performance where possible.

Attachments

SystemTests.SXDAnalysis.SXDAnalysis.runtime.v.revision.png (38.3 KB) - added by Russell Taylor 7 years ago.
SystemTests.TOPAZPeakFinding.TOPAZPeakFinding.runtime.v.revision.png (47.8 KB) - added by Russell Taylor 7 years ago.

Change History

Changed 7 years ago by Russell Taylor

comment:1 Changed 7 years ago by Nick Draper

  • Component changed from Mantid to Framework

comment:2 Changed 7 years ago by Nick Draper

  • Milestone changed from Release 2.6 to Backlog

Moved to backlog at the code freeze for R2.6

comment:3 Changed 7 years ago by Alex Buts

  • Status changed from new to inprogress
  • Description modified (diff)
  • Milestone changed from Backlog to Release 3.0

comment:4 Changed 7 years ago by Alex Buts

refs #7228 Initial rumbling around

Changeset: 95328a4821f867378ae0c6b64aa487cd5ef00071

comment:5 Changed 7 years ago by Alex Buts

refs #7228 different multithreading options exploration

Changeset: 7a00629055d6b03252b30babe04d986560c60e49

comment:6 Changed 7 years ago by Alex Buts

refs #7228 Ugly working multithreadede solution

Does not produce any significant acceleration as main performance drug is memory allocation, but otherwise working and bashing threads.

Changeset: bd502b291af1d67887caeb3e006af5533bb6bc11

comment:7 Changed 7 years ago by Alex Buts

refs #7228 removing threading stuff

Changeset: 585ae381054d083e0ec0853ad0a7509bb69fee30

comment:8 Changed 7 years ago by Alex Buts

refs #7228 enabled "Drop 0" option in convertToMD

Changeset: d7a381c9b86e6dc1fc374c37ddbbd7305db47e8f

comment:9 Changed 7 years ago by Alex Buts

refs #7228 Modified to reflect the changes to performance analysis

Changeset: 98d1e8c529799f6dc257659ac776fa91bc848361

comment:10 Changed 7 years ago by Alex Buts

refs #7228 fixed error in unit tests

Changeset: 64d6018c57740bbaecd3a34276ffd2e3695fbfaf

comment:11 Changed 7 years ago by Alex Buts

refs #7228 fixed strange error with kernel header

Changeset: beb8aee7ea94624212ec1cf5ff6ccbb93a6b672e

comment:12 Changed 7 years ago by Alex Buts

refs #7228 fixing unit tests

Changeset: 48afec1d0bd18cb138e9f726c4c9d731a5237eb5

comment:13 Changed 7 years ago by Alex Buts

refs #7228 Changed default "SingleEventPerBin" to true

to sustain existing unit tests.

Changeset: f3ee0f0c12dc8f1bbea95fa5fb0150ea2902b31f

comment:14 Changed 7 years ago by Alex Buts

refs #7228 System tests: correct options in peak finding

Changeset: 3589e44f24e92ba5854ac371bf2bc1c677f68395

comment:15 Changed 7 years ago by Alex Buts

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

The main reason in such difference in the performance was different treatment of "0" by convertToMD (ConvertToDiffractionMDWorkspace V2) against ConvertToDiffractionMDWorkspace V1.

It is not entirely clear how to analyse these results, but I interpret the changes in the system tests at url:

https://builds.sns.gov/job/ornl_test_rhel6_develop/System_tests_performance/SystemTests.SXDAnalysis.SXDAnalysis.htm

as the substantial performance improvement due to the ticket's changes. It corresponds to the improvements I am seeing using local profiler.

Further improvement is possible but relates to thread scheduler and MDWorkspace basic operations so should be addressed by another tickets.

Tester should look at the performance changes according to the link supplied and may or may not test his own examples (it is not trivial as for some tasks performance changes are not obvious) and approve the ticket if he agrees that these changes improve performance.

The ticket code is both in Mantid and SystemTests branches -- both should be merged to master.

comment:16 Changed 7 years ago by Russell Taylor

  • Status changed from verify to verifying
  • Tester set to Russell Taylor

comment:17 Changed 7 years ago by Russell Taylor

Re #7228. Small tidy-ups (formatting, spelling).

Changeset: d4b8f200d327bc47e24d6e0f2516862a60986bd0

comment:18 Changed 7 years ago by Russell Taylor

  • Status changed from verifying to closed

Merge remote branch 'origin/feature/7228_ConverToMDPerformance'

comment:19 Changed 7 years ago by Russell Taylor

Merge remote branch 'origin/feature/7228_ConverToMDPerformance'

comment:20 Changed 7 years ago by Russell Taylor

Both the system tests highlighted above have recovered their previous performance (though the TOPAZ one did so some time ago so perhaps that was something slightly different).

comment:21 Changed 7 years ago by Nick Draper

  • Component changed from Framework to Diffraction

comment:22 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 8074

Note: See TracTickets for help on using tickets.