[MacPorts] #54342: atlas @3.10.2_2: update to 3.10.3

MacPorts noreply at macports.org
Thu Jul 6 07:00:08 UTC 2017


#54342: atlas @3.10.2_2: update to 3.10.3
---------------------+--------------------
  Reporter:  l2dy    |      Owner:  Veence
      Type:  update  |     Status:  new
  Priority:  Normal  |  Milestone:
 Component:  ports   |    Version:
Resolution:          |   Keywords:
      Port:  atlas   |
---------------------+--------------------

Comment (by Veence):

 Sorry, got somehow a but stuck-up.

 I am facing a dilemma here. Trying to explain:

 Atlas works like this: it has a certain number of "kernels", that is C or
 ASM versions of a given BLAS function. It runs all of them, measures
 execution times, then picks the most efficient. So atlas is highly
 focussed on optimisation. That leads to a very high CPU usage.

 However, since MacOS 10.11 I think, Apple has added a functionality within
 the kernel, whereby when CPU usage is too high for a given period of time,
 the task responsible for the “overload” gets docked and put on the back
 burner. Which, in other words, means that the task stalls for extended
 periods of time, and thus its execution time becomes irrelevant, which
 totally defeats Atlas's purpose.

 I had begun to search for a way to bypass this policy, got a lead but then
 was "taken away by life" and forgot about it. I'm going to pick up the
 slack and see what I can find. As far as I remember, it involved some sort
 of delicate operation only a kernel extension could do, i.e. setting a
 special flag of a CPU register.

 As long as that hasn't been fixed, I wouldn't recommend using Atlas.
 Rather turn to Apple's libraries in the Accelerate framework. As far as I
 can tell, the API should be 100% compatible.

 Sorry again for being so long to answer and coming back with such a wishy-
 washy excuse.

--
Ticket URL: <https://trac.macports.org/ticket/54342#comment:3>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list