Ticket #10029 (closed: fixed)

Opened 6 years ago

Last modified 5 years ago

Polarization Correction Test Too Slow

Reported by: Owen Arnold Owned by: Owen Arnold
Priority: major Milestone: Release 3.3
Component: Framework Keywords:
Cc: Blocked By:
Blocking: #9897 Tester: Michael Wedel

Description

Part of the ongoing maintenance task. This one is to speedup PolarizationCorrectionTest, which executes in > 4 seconds. It should run in < 2 seconds.

Attachments

Screen Shot 2014-07-31 at 17.30.02.png (104.5 KB) - added by Owen Arnold 6 years ago.

Change History

comment:1 Changed 6 years ago by Owen Arnold

refs #10029. Combine operations.

The test code looked lean, I therefore profiled the test suite on RHEL6. The major issue seemed to be the number of binary operations occuring. I have reduced these through some simple rearrangement of the calculations and caching of intermediate values. On my OSX enviroment this is reporting a 50% speed up for the offending test (test_run_PA_unity) which is according to the RHEL6 builds a major bottleneck to the suite.

Changeset: e06a9275f9ff4fa3cd1cc67e06788091c8230bc6

comment:2 Changed 6 years ago by Owen Arnold

This test suite is very quick on other platforms, but very slow specifically on RHEL6. At the heart of it, i believe this is because of the same issues proved for #9954 where the cost of thread creation is proving to be very much slower than achieved with the newer Linux kernels. As evidence for this, i have used cachegrind to drill down into the slow binary operations and found that 72% of the CE on RHEL6 is attributed to GOMP_Parallel_Start.

Changed 6 years ago by Owen Arnold

comment:3 Changed 6 years ago by Owen Arnold

Tester. The tests should still work. Read the information above (CE per call is 6.5 times larger on RHEL6), and look at the callgrind output to back up what I was saying about cost estimate per call.

I have managed to make the RHEL6 tests mildly quicker.

Last edited 6 years ago by Owen Arnold (previous) (diff)

comment:4 Changed 6 years ago by Owen Arnold

  • Status changed from new to assigned

comment:5 Changed 6 years ago by Owen Arnold

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

comment:6 Changed 6 years ago by Michael Wedel

  • Status changed from verify to verifying
  • Tester set to Michael Wedel

comment:7 Changed 6 years ago by Michael Wedel

  • Status changed from verifying to closed

Merge remote-tracking branch 'origin/feature/10029_PolCorr_test_speedup'

Full changeset: 49d891e4db00840920636af87c07394d093f7a90

comment:8 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 10871

Note: See TracTickets for help on using tickets.