Ticket #10029 (closed: fixed)
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
Change History
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.
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.
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
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