Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

allow building with older binutils #401

Closed
loveshack opened this issue Jul 1, 2014 · 9 comments
Closed

allow building with older binutils #401

loveshack opened this issue Jul 1, 2014 · 9 comments
Assignees
Milestone

Comments

@loveshack
Copy link

#379 was closed without any action, and I don't seem to be able to re-open it.

I've added a NO_VPERMPD switch, like NO_AVX, to allow building 0.2.9 on RHEL6 with the
system binutils. The patch is attached to https://bugzilla.redhat.com/show_bug.cgi?id=1115042
Obviously it needs a documentation addition if you use it.

@tkelman
Copy link
Contributor

tkelman commented Jul 1, 2014

Should this perhaps be called NO_AVX2 since presumably vpermpd isn't the only problematic instruction that might be used now or in future openblas kernels?

@wernsaar
Copy link
Contributor

wernsaar commented Jul 2, 2014

Hi,
@tkelman : I think, that we don't need such a flag. RHEL6 is somewhat outdated, but because I also use CentOS-6 and Rocks-6.1, I have published newer binutils at https://sourceforge.net/projects/slurm-roll/files/addons/6.1.1/rpms/. My rpm package does not replace or overwrite the
default binutils package. You only have to set PATH or to use env-modules.

Best regards
Werner

@xianyi
Copy link
Collaborator

xianyi commented Jul 3, 2014

@wernsaar , could you add the solution to FAQ or somewhere?

@tkelman
Copy link
Contributor

tkelman commented Jul 3, 2014

Does adding such a flag hurt in any way? I personally am still on Red Hat 5, and many others are on Red Hat / CentOS / Scientific Linux 6, often without root access to easily install new software. It would be ideal to allow OpenBLAS to still compile on those systems, preferably without compromising performance too much on Sandy Bridge and Piledriver processors since those kernels aren't using the AVX2 instructions that require the newer binutils.

@wernsaar
Copy link
Contributor

wernsaar commented Jul 3, 2014

On 03.07.2014 09:11, Zhang Xianyi wrote:

@wernsaar , could you add the solution to FAQ or somewhere?


Reply to this email directly or view it on GitHub:
#401 (comment)
Hi,

I added a short description to FAQ.

Best regards
Werner

@xianyi
Copy link
Collaborator

xianyi commented Jul 3, 2014

@tkelman , thank you for the suggestion.

@wernsaar , I think we need provide NO_AVX2 flag for some old distribution.
I will work on this issue.

@xianyi xianyi self-assigned this Jul 3, 2014
@xianyi xianyi added this to the 0.2.10 milestone Jul 3, 2014
@loveshack
Copy link
Author

Zhang Xianyi notifications@github.com writes:

@tkelman , thank you for the suggestion.

@wernsaar , I think we need provide NO_AVX2 flag for some old distribution.
I will work on this issue.

Thank you.

I hope you only need to change to the name of the variable in the patch
I sent. It's tested on an RHEL6-compatible system, with a build in
http://copr-be.cloud.fedoraproject.org/results/loveshack/livhpc/epel-6-x86_64/openblas-0.2.9-3liv.el6/.
A build with AVX2 support, using binutils from the re-built devtoolset
that I referred to originally, is in
http://copr-be.cloud.fedoraproject.org/results/loveshack/livhpc/epel-6-x86_64/openblas-0.2.9-3liv2.el6/.

It seems to me best to use the devtoolset packages, especially as you're
likely to want the compiler update for other things. (You don't need
the advertised scl mechanism to use them -- the packaging above just
sets PATH.)

I'll try on RHEL5 when I have a chance, but I don't know of a devtoolset
rebuild for that.

@crayxt
Copy link

crayxt commented Jul 4, 2014

@loveshack Scientific Linux has a rebuilt devtoolset for 5th version too. The link is http://linuxsoft.cern.ch/cern/devtoolset/slc5X/x86_64/yum/devtoolset

Sometime ago I've managed to setup mock builds and produce binary snapshots of Julia. See the gist with minimal configs https://gist.github.com/crayxt/90aabcaab2c725982624

Hope this helps,

@loveshack
Copy link
Author

Baurzhan Muftakhidinov notifications@github.com writes:

@loveshack Scientific Linux has a rebuilt devtoolset for 5th version too. The link is http://linuxsoft.cern.ch/cern/devtoolset/slc5X/x86_64/yum/devtoolset

Thanks for the info, rather late.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants