Opened 7 years ago

Closed 7 years ago

Last modified 6 years ago

#20542 closed enhancement (fixed)

Allow choosing between ATLAS and OpenBLAS

Reported by: Jeroen Demeyer Owned by:
Priority: major Milestone: sage-7.2
Component: build Keywords:
Cc: Erik Bray, François Bissey Merged in:
Authors: Jeroen Demeyer Reviewers: François Bissey
Report Upstream: N/A Work issues:
Branch: df750a3 (Commits, GitHub, GitLab) Commit:
Dependencies: #20392 Stopgaps:

Status badges

Description

Add a ./configure option --with-blas to choose between ATLAS and OpenBLAS.

Installing both is not supported.

Change History (16)

comment:1 Changed 7 years ago by Jeroen Demeyer

Dependencies: #20392

comment:2 Changed 7 years ago by Jeroen Demeyer

Branch: u/jdemeyer/allow_choosing_between_atlas_and_openblas

comment:3 Changed 7 years ago by git

Commit: aacebbabaf6f9b82ffc0b4513e99559ef1408af9

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

4bd4b76Merge tag '7.2.beta6' into t/20542/allow_choosing_between_atlas_and_openblas
aacebbaAllow choosing between ATLAS and OpenBLAS

comment:4 Changed 7 years ago by git

Commit: aacebbabaf6f9b82ffc0b4513e99559ef1408af9df750a356e54cd53c311247aa452249e93ff32b3

Branch pushed to git repo; I updated commit sha1. New commits:

df750a3Fix doctests for OpenBLAS

comment:5 Changed 7 years ago by Jeroen Demeyer

Status: newneeds_review

comment:6 Changed 7 years ago by François Bissey

The mechanics looks alright but I want to have a few hours to digest it. Since we are not changing the current spkg, things are not as informative as they could be. How do you know from configure --help that

1) --with-blas=atlas (or nothing) allows you to use a system ATLAS via an environment variable. 2) that the same option will give use the accelerate framework on OS X by default (there is a way to force ATLAS build but that's a real expert case).

The first one may qualify as an expert use case where we don't want to make the suggestion in configuration's help message. I think the second one should deserve a mention, one way or another.

Last edited 7 years ago by François Bissey (previous) (diff)

comment:7 in reply to:  6 Changed 7 years ago by Jeroen Demeyer

Replying to fbissey:

How do you know from configure --help that

1) --with-blas=atlas (or nothing) allows you to use a system ATLAS via an environment variable. 2) that the same option will give use the accelerate framework on OS X by default (there is a way to force ATLAS build but that's a real expert case).

Well, the ATLAS options are documented in http://doc.sagemath.org/html/en/installation/source.html#environment-variables

I agree that it's not very clear, but I was hoping that this ticket could be reviewed anyway with further work for a follow-up ticket.

Ideally we should move some of the configuration logic of the ATLAS spkg either to a generic BLAS meta-package or the top-level configure script. I haven't completely thought out the details of this, but I don't see much point in documenting something which I plan to change soon anyway.

comment:8 Changed 7 years ago by Jeroen Demeyer

Also: as long as the default remains ATLAS, old configurations using SAGE_ATLAS... environment variables will continue to work.

comment:9 Changed 7 years ago by François Bissey

Reviewers: François Bissey
Status: needs_reviewpositive_review

OK, deal. Sending to the bots.

comment:10 in reply to:  9 Changed 7 years ago by Jeroen Demeyer

Replying to fbissey:

OK, deal. Sending to the bots.

Well, the bots won't test OpenBLAS, so I don't expect problems.

comment:11 Changed 7 years ago by Volker Braun

Branch: u/jdemeyer/allow_choosing_between_atlas_and_openblasdf750a356e54cd53c311247aa452249e93ff32b3
Resolution: fixed
Status: positive_reviewclosed

comment:12 Changed 7 years ago by Erik Bray

Commit: df750a356e54cd53c311247aa452249e93ff32b3

Ideally we should move some of the configuration logic of the ATLAS spkg either to a generic BLAS meta-package or the top-level configure script.

This is partly why I suggested the former, earlier. But I agree further work could be in a follow-up. This is a good move in the right direction.

comment:13 Changed 6 years ago by Dima Pasechnik

With all respect, this ticket should have been changing that docs, too. Do you expect that people would read configure source just to figure out how to switch between Atlas and OpenBlas? E.g., how does one build with Atlas?!

Besides, with-blas is misleading. Surely, in both bases BLAS is used, just different ones...

Last edited 6 years ago by Dima Pasechnik (previous) (diff)

comment:14 in reply to:  13 ; Changed 6 years ago by Erik Bray

Replying to dimpase:

With all respect, this ticket should have been changing that docs, too. Do you expect that people would read configure source just to figure out how to switch between Atlas and OpenBlas? E.g., how does one build with Atlas?!

No, but I would expect them to read ./configure --help. If the help docs are broken then yeah I agree.

comment:15 in reply to:  14 Changed 6 years ago by Dima Pasechnik

Replying to embray:

Replying to dimpase:

With all respect, this ticket should have been changing that docs, too. Do you expect that people would read configure source just to figure out how to switch between Atlas and OpenBlas? E.g., how does one build with Atlas?!

No, but I would expect them to read ./configure --help. If the help docs are broken then yeah I agree.

./configure ?

./configure is not mentioned in the official manual. cf http://doc.sagemath.org/html/en/installation/source.html#step-by-step-installation-procedure

or your locally built manual for the latest 7.5.beta

comment:16 Changed 6 years ago by Erik Bray

Well obviously it should be.

Note: See TracTickets for help on using tickets.