Federico Beffa <be...@ieee.org> skribis: > Let me try to better explain the problem: ATLAS needs to know the > exact type of CPU on which it is running for best performance. This is > because it tries to make best use of all available features: > Say, you have a recent CPU with 8 cores and instructions set including > SSE1 SSE2 SSE3. If you specify this type of CPU, ATLAS will build a > library with procedures which make use of 8 parallel threads and try > to exploit all available instructions at best. However, the library > will not run on an older CPU, say, with no SSE3. And perform poorly on > a two cores CPU.
I think ATLAS should do like GMP, libc, etc.: build all the possible variants, and then use IFUNC or a similar mechanism to select the right variant at load time. That doesn’t answer your initial question, though. For now, I think it’s OK to let it do its configure-time tuning and add a statement in the description about substitutes, unless other packages depend on it (in the former case, people would be installing it explicitly, so they would most likely know what they’re doing.) WDYT? Thanks, Ludo’.