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

openblas: choose generic target for x86 and x86_64. #29645

Merged
merged 1 commit into from
Mar 21, 2021

Conversation

gt7-void
Copy link
Contributor

The current template uses DYNAMIC_ARCH=1 to get multiple versions of some
functions to support different cpus. However, it will pick up the cpu it was
compiled in as a minimum requirement for the common code.

Adding TARGET=GENERIC fixes this, now the common code is compiled for a generic cpu.

See #29604 and OpenMathLib/OpenBLAS#3139.

Have the results of the proposed changes been tested?

  • I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me

The current template uses DYNAMIC_ARCH=1 to get multiple versions of some
functions to support different cpus. However, it will pick up the cpu it was
compiled in as a minimum requirement for the common code.

Adding TARGET=GENERIC fixes this, now the common code is compiled for a generic cpu.

See void-linux#29604 and OpenMathLib/OpenBLAS#3139.
@ericonr
Copy link
Member

ericonr commented Mar 21, 2021

Can you confirm this fixed the issue you were experiencing? Should probably verify by building on a machine with AVX available and transferring to the other.

I'd consider using GENERIC for all DYNAMIC_ARCH builds, if applicable.

@gt7-void
Copy link
Contributor Author

Can you confirm this fixed the issue you were experiencing? Should probably verify by building on a machine with AVX available and transferring to the other.

Yes, I built the package on a skylake, installed it on nehalem, and it works.

I'd consider using GENERIC for all DYNAMIC_ARCH builds, if applicable.

I didn't want to touch the other archs because I don't have hardware to test. But since the other arches all set TARGET to some value, at least the output will not depend on the machine it's compiled on. Also, TARGET=ARMV8 looks generic enough.

@ericonr ericonr merged commit 1a3d080 into void-linux:master Mar 21, 2021
@ericonr
Copy link
Member

ericonr commented Mar 21, 2021

Thanks!

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jun 19, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants