Skip to content

Possibility to also furnish an openmp based build #99

Open

Description

@samuelstjean

Since #87 and #88 seems to want to make an easier to use package for public use, I was also wondering if it would be possible to build in addition an openmp build? This is just changing a variable here https://github.com/MacPython/openblas-libs/blob/master/tools/build_openblas.sh#L91 and is already the official default for the homebrew version https://formulae.brew.sh/formula/openblas

It's also available in cent os 7 and recent ubuntus as both a pthread and openmp version, so I'd guess that any old issue where it used to hang is now fixed. Currently, using these libs made with pthread under another program which would use openmp simply spams the terminal with a lot of warnings asking to rebuild openblas with openmp support, making it unusable and much, much slower. Just a suggestion that any other public project wanting to use this and openmp is currently unable to do so because of this issue.

Activity

  1. mattip commented on Feb 5, 2024

    @mattip
    Collaborator

    If we were to go this route, I would vote for a separate OpenMP wheel. As for macos: NumPy is going to be using Accelerate for the default going forward (DEPLOY_TARGET>=14) since it is provided as part of the operating system and is better optimized for Apple silicon.

  2. samuelstjean commented on Feb 6, 2024

    @samuelstjean
    Author

    I thought it was removed a very long time ago because it cause many issues and hangs, I guess they fixed it in the newer version of mac os?

  3. mattip commented on Feb 7, 2024

    @mattip
    Collaborator

    Yes, they fixed Accelerate enough to pass the NumPy test suite.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions