Ticket #3890 (closed: fixed)

Opened 9 years ago

Last modified 5 years ago

Add method to force event workspaces to be thread safe...and use it

Reported by: Peter Peterson Owned by: Peter Peterson
Priority: major Milestone: Release 2.1
Component: Mantid Keywords:
Cc: Blocked By:
Blocking: Tester: Janik Zikovsky

Description

EventWorkspace only admits it is thread safe if the individual event lists are sorted. Add a function to force it.

Change History

comment:1 Changed 9 years ago by Peter Peterson

  • Owner set to Peter Peterson
  • Status changed from new to accepted

comment:2 Changed 9 years ago by Peter Peterson

In [15021]:

Added a function to force the workspace to be threadsafe. Refs #3890

comment:3 Changed 9 years ago by Peter Peterson

In [15022]:

Refs #3890.

comment:4 Changed 9 years ago by Peter Peterson

In [15045]:

Changed the methodology of making EventWorkspace threadsafe. Refs #3890.

comment:5 Changed 9 years ago by Peter Peterson

In [15046]:

Sort the events before processing them. Makes RemovePromptPulse run in 1.2s, down from 7.3s, for PG3_4867. Refs #3890.

comment:6 Changed 9 years ago by Peter Peterson

In [15047]:

Put back in the sort call to so the actual algorithm runs in parallel. Refs #3890.

comment:7 Changed 9 years ago by Peter Peterson

In [15048]:

Put in openmp pragmas to go from 12.5s to 2.5s. Refs #3890.

comment:8 Changed 9 years ago by Peter Peterson

In [15075]:

Setting proper output event type calling reserve in DiffractionFocusing2. Time goes from 12s to 6s. Refs #3890.

comment:9 Changed 9 years ago by Peter Peterson

In [15091]:

Backing out change to precalculate the number of events in the chunked set. Also adding cached value of whether or not to check for the mask bit. Refs #3890.

comment:10 Changed 9 years ago by Peter Peterson

In [15097]:

Reverting other reserve call in DiffractionFocussing2. Refs #3890.

comment:11 Changed 9 years ago by Peter Peterson

In [15104]:

Commenting out the last bit of speed improvement changes that I did other than caching the checks for NULL pointers. Refs #3890.

comment:12 Changed 9 years ago by Peter Peterson

In [15106]:

Added method for getting the sorting of the workspace. Use this method in sortAll to skip sorting altogether which is faster than setting up and tearing down a bunch of threads. Refs #3890.

comment:13 Changed 9 years ago by Peter Peterson

In [15108]:

Fixed most of what was slowing things down before. Refs #3890.

comment:14 Changed 9 years ago by Peter Peterson

In [15110]:

Don't precalculate chunk size until getting the mask bit quickly is resolved. Refs #3890.

comment:15 Changed 9 years ago by Peter Peterson

Parallelize AlignDetectors even if unsorted. Refs #3890.

Since it doesn't matter if the events are sorted for a unit conversion, don't check for threadsafe.

Changeset: 9b09b96f22a376be76c548d3867f1c6b847d2a32

comment:16 Changed 9 years ago by Nick Draper

  • Milestone changed from Iteration 32 to Iteration 33

Moved to iteration 33 at iteration 32 code freeze

comment:17 Changed 8 years ago by Peter Peterson

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

This should have been closed during the last release.

comment:18 Changed 8 years ago by Janik Zikovsky

  • Status changed from verify to verifying
  • Tester set to Janik Zikovsky

comment:19 Changed 8 years ago by Janik Zikovsky

Refs #3890 makeThreadSafe() no longer needed

since the EventList is now thread-safe against sorting

Changeset: e9f2348a0a40cade3100ac70e6ac494e9c971246

comment:20 Changed 8 years ago by Janik Zikovsky

  • Status changed from verifying to closed

Can't see the check-ins easily but I'll trust you Pete :)

comment:21 Changed 8 years ago by Janik Zikovsky

Refs #3890 makeThreadSafe() no longer needed

since the EventList is now thread-safe against sorting

Changeset: fa5b65b4f7fdd4fd9cf03a71adea4ae51dcd5eb7

comment:22 Changed 8 years ago by Janik Zikovsky

Refs #3890 makeThreadSafe() no longer needed

since the EventList is now thread-safe against sorting

Changeset: fa5b65b4f7fdd4fd9cf03a71adea4ae51dcd5eb7

comment:23 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 4737

Note: See TracTickets for help on using tickets.