Ticket #9954 (closed: fixed)

Opened 6 years ago

Last modified 5 years ago

Speed up Stitch1D unit test

Reported by: Owen Arnold Owned by: Owen Arnold
Priority: major Milestone: Release 3.2.1
Component: Framework Keywords:
Cc: Blocked By: #9906
Blocking: #9897 Tester: Wenduo Zhou

Description

Stitch1DTest is running too slow at 7.2 seconds on the rhel6 builds. See http://www.mantidproject.org/images/2/2f/Slow_tests.xlsx_-_Sheet1.pdf

Attachments

Screen Shot 2014-07-29 at 14.11.29.4.png (228.7 KB) - added by Owen Arnold 6 years ago.

Change History

comment:1 Changed 6 years ago by Owen Arnold

  • Status changed from new to assigned

comment:2 Changed 6 years ago by Owen Arnold

  • Status changed from assigned to inprogress

refs #9954. Create workspaces directly.

Changeset: 831e9ff0dd2ffafadb78a0e7138b5ed019c45c2a

comment:3 Changed 6 years ago by Owen Arnold

refs #9954. Fix type warning.

Changeset: 83f796b2ffa7a2f7ce6b47dd68dc789c331ffa88

comment:4 Changed 6 years ago by Owen Arnold

  • Blocked By 9906 added

comment:5 Changed 6 years ago by Owen Arnold

refs #9954. Strip down tests for profiling.

Changeset: 73c8722b5317abfe67757334185cc5fbd8f33228

comment:6 Changed 6 years ago by Owen Arnold

refs #9954. Faster multiply range.

Changeset: 5f92c87f455fff43fa0ce5e4243e95e4e8d15f0e

comment:7 Changed 6 years ago by Owen Arnold

refs #9954. Merge in master

Merge branch 'master' into feature/9954_stitch1dtest

Changeset: 398083d5f3fbf107530f91e8313521667e4e34c4

comment:8 Changed 6 years ago by Owen Arnold

refs #9954. type conversion warning fix.

Changeset: cc9e62e50a92e7a69f2a44cad6251bb520c8fc60

comment:9 Changed 6 years ago by Owen Arnold

refs #9954. Add doxygen information.

Changeset: 2043ad9184520decb052c4d0f085909b1f386acc

Changed 6 years ago by Owen Arnold

comment:10 Changed 6 years ago by Owen Arnold

Tester:

I've used profiling to determine the slow points since the tests themselves are lightweight. I found that the 6 calls to MultiplyRange per run of Stitch1D was very costly so have implemented some alternative code, which runs much faster and also operates on the workspaces in place.

For RHEL6 I have not been able to acheive any noticeable speed improvement. See attachement. Look at the cost estimation per cycle. And see that for RHEL6 (on the left) compared to Tahr (on the right) the OpenMP start time is over 10 times longer per call! This probably explains why the tests take 6 seconds on RHEL6, but run in less than 0.5 seconds on Tahr and other platforms. There is nothing I can do about this except for remove the OpenMP calls out of all algorithms! Better to just upgrade to the next version of RHEL

  • All unit tests should still pass
  • All system tests should still pass

comment:11 Changed 6 years ago by Owen Arnold

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

comment:12 Changed 6 years ago by Wenduo Zhou

  • Status changed from verify to verifying
  • Tester set to Wenduo Zhou

comment:13 Changed 6 years ago by Wenduo Zhou

All tests are passed.

But it takes only 0.29 second to run the unit test of Stitch1D on my Ubuntu originally. After the change of ticket is merged to master, the speed is almost the same.

comment:14 Changed 6 years ago by Wenduo Zhou

  • Status changed from verifying to closed

Merge remote-tracking branch 'origin/feature/9954_stitch1dtest'

Full changeset: 36b168b4753f0d4464f409f889ec46a7a3f06172

comment:15 Changed 6 years ago by Martyn Gigg

  • Keywords PatchCandidate added

Required in the patch in order to get #9955 (the real fix) through in as well.

comment:16 Changed 6 years ago by Owen Arnold

Cherry-pick fixes from feature/9954_stitch1dtest into next

Changes:

refs #9954. Create workspaces directly. (cherry picked from commit 831e9ff0dd2ffafadb78a0e7138b5ed019c45c2a)

refs #9954. Fix type warning. (cherry picked from commit 83f796b2ffa7a2f7ce6b47dd68dc789c331ffa88)

refs #9954. Faster multiply range. (cherry picked from commit 5f92c87f455fff43fa0ce5e4243e95e4e8d15f0e)

refs #9954. type conversion warning fix. (cherry picked from commit cc9e62e50a92e7a69f2a44cad6251bb520c8fc60)

refs #9954. Add doxygen information. (cherry picked from commit 2043ad9184520decb052c4d0f085909b1f386acc)

Changeset: d4073545e36f312c1976427968e4c3ccad03ad6d

comment:17 Changed 6 years ago by Martyn Gigg

  • Keywords PatchCandidate removed
  • Milestone changed from Release 3.3 to Release 3.2.1

comment:18 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 10796

Note: See TracTickets for help on using tickets.