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

Bump version to 2022.05.001 #17

Draft
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

gdonval
Copy link

@gdonval gdonval commented Nov 14, 2022

Checklist

  • Used a personal fork of the feedstock to propose changes
  • Bumped the build number (if the version is unchanged)
  • Reset the build number to 0 (if the version changed)
  • Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
  • Ensured the license file is being packaged.

@gdonval gdonval requested a review from awvwgk as a code owner November 14, 2022 16:04
@conda-forge-linter
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@gdonval
Copy link
Author

gdonval commented Nov 14, 2022

@conda-forge-admin, please rerender

conda-forge-webservices[bot] and others added 3 commits November 14, 2022 16:06
@gdonval gdonval marked this pull request as draft November 14, 2022 17:16
@awvwgk
Copy link
Member

awvwgk commented Nov 14, 2022

Thanks for your interest in (co-)maintaining this feedstock.

Looks like the preprocessing on OSX is causing issues again, it needs cpp which I previously sneaked in via gfortran:

export FORTRAN_CPP="${FC:-gfortran} -E -P -cpp"

@gdonval
Copy link
Author

gdonval commented Nov 14, 2022

Thanks for this! I will fix it tomorrow, you've just saved me an hour of work. :)

I have also noticed (unrelated to this) that Elpa was the reason why one of my program segfaults on ivybridge.

If that is OK, I'll probably rework the build script to provide architecture-specific variants. Elpa does not seem do any function multiversioning and looking at the code, which is very "imperative-oriented" if that makes sense, introducing multiversioning would take a tremendous amount of time so I suppose providing variants and defaulting to the generic implementation makes sense.

@awvwgk
Copy link
Member

awvwgk commented Nov 15, 2022

Elpa doesn't provide any micro-arch cross-compiliation features as far as I know, so you have to decide ad hoc which kernels to include and which to set as default, while your kernel features are limited by the build machine micro-arch. As default the most sophisticated kernel is chosen, but can be changed on the user side. In principle you should be able to fallback to the generic kernel with any version of Elpa, at least that is my understanding.

@gdonval
Copy link
Author

gdonval commented Nov 15, 2022

As default the most sophisticated kernel is chosen, but can be changed on the user side

Elpa literally segfaults on Ivybridge so there is either a bug or selection is done at compile time (skimming through the code, in the midst of a thousand conditions, it looks like this is what is done).

your kernel features are limited by the build machine micro-arch

Well, either compiled code is directly used at compile time to actively limit portability or no one ever cared to compile the kernels with the correct compiler flags. Either way, really nothing these days prevents micro-arch compilation: Openblas, FFTW and BLIS (to give relevant examples) all provide micro-arch-optimised kernels at runtime.

You saved me an hour of looking for things, I'll have a closer look at Elpa to get things work (if indeed uarch selection is a thing).

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

Successfully merging this pull request may close these issues.

3 participants