Ticket #9694 (closed: fixed)

Opened 6 years ago

Last modified 5 years ago

CPU issue on OSX

Reported by: Owen Arnold Owned by: Owen Arnold
Priority: critical Milestone: Release 3.4
Component: Framework Keywords:
Cc: Blocked By:
Blocking: Tester: Nick Draper

Description

Mac plot 2D issue performance issue.

Load a workspace. Do a ColorFillPlot. CPU usage goes to almost 100% and never drops.

Martyn suggested that this might be a way of tracking the issue down https://developer.apple.com/library/mac/documentation/developertools/conceptual/instrumentsuserguide/Introduction/Introduction.html

Change History

comment:1 Changed 6 years ago by Nick Draper

  • Status changed from new to assigned

comment:2 Changed 6 years ago by Owen Arnold

  • Status changed from assigned to inprogress

I've profiled with the above tools, and it turns out that it's the OpenMP loop in MantidQtAPI::SignalRange::getRange that's causing the 100% utilisation. 12.5% across 8 cores.

The interesting thing that we find is that this problem is specific to a particular version of the Composer XE 2013 compiler (update 3). This happens to be the one chosen for the build servers.

I've been using update 1. of the same compiler (Composer XE 2013) and could not reproduce the issue. Only by updating my compiler version was I able to reproduce the issue.

Perhaps moving to the lastest compier version (2015) would be a better choice than going backwards a version.

comment:3 Changed 6 years ago by Owen Arnold

Next step is to try the latest compiler.

comment:4 Changed 6 years ago by Owen Arnold

  • Milestone changed from Release 3.3 to Release 3.4

comment:5 Changed 5 years ago by Owen Arnold

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

This has gone away since we are moving to 10.9 + clang

comment:6 Changed 5 years ago by Nick Draper

  • Status changed from verify to verifying
  • Tester set to Nick Draper

comment:7 Changed 5 years ago by Nick Draper

  • Status changed from verifying to closed

comment:8 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 10536

Note: See TracTickets for help on using tickets.