Skip to content

builtin.repo: fix ^mkl pattern in minor packages#41003

Merged
alalazo merged 2 commits intospack:developfrom
alalazo:packages/more-caret-mkl
Nov 10, 2023
Merged

builtin.repo: fix ^mkl pattern in minor packages#41003
alalazo merged 2 commits intospack:developfrom
alalazo:packages/more-caret-mkl

Conversation

@alalazo
Copy link
Copy Markdown
Member

@alalazo alalazo commented Nov 10, 2023

Edit (by @haampie) for people who got assigned as reviewer here:

The query ^mkl in spec is false if your package happens to depend on one of these intel packages without also depending on the virtual mkl.

The virtual mkl is different from blas / lapack, it's for solvers like pardiso.

So in this PR the ^mkl in spec pattern which was intended as "if some intel package is the blas provider" is fixed.

@spackbot-app
Copy link
Copy Markdown

spackbot-app bot commented Nov 10, 2023

Hi @alalazo! I noticed that the following package(s) don't yet have maintainers:

  • bart
  • batchedblas
  • ctffind
  • fplo
  • hpcc
  • itk
  • mumps

Are you interested in adopting any of these package(s)? If so, simply add the following to the package class:

    maintainers("alalazo")

If not, could you contact the developers of this package and see if they are interested? You can quickly see who has worked on a package with spack blame:

$ spack blame bart

Thank you for your help! Please don't add maintainers without their consent.

You don't have to be a Spack expert or package developer in order to be a "maintainer," it just gives us a list of users willing to review PRs or debug issues relating to this package. A package can have multiple maintainers; just add a list of GitHub handles of anyone who wants to volunteer.

@spackbot-app
Copy link
Copy Markdown

spackbot-app bot commented Nov 10, 2023

@bruneval @umar456 can you review this PR?

This PR modifies the following package(s), for which you are listed as a maintainer:

  • arrayfire
  • dla-future
  • ldak
  • molgw
  • octave
  • octopus
  • q-e-sirius
  • qmcpack

Copy link
Copy Markdown
Member

@haampie haampie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One request

Co-authored-by: Harmen Stoppels <[email protected]>
@haampie haampie added this to the v0.21.0 milestone Nov 10, 2023
@haampie haampie mentioned this pull request Nov 10, 2023
10 tasks
Comment on lines +48 to +49
depends_on("blas")
depends_on("lapack")
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@albestro is CPU blas unconditionally required? Or is it redundant when targeting the GPU?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually this already depends on the wrapper blaspp / lapackpp, so I think this is redundant?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm confused 😆 it uses blaspp and lapackpp, but also directly uses the underlying blas / lapack library?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't do any deep research for these packages, but I just saw blas/lapack being mentioned several times in the recipe without being a dependency, so added them.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dla-future uses blas through blaspp (equivalently for lapack/lapackpp), but it also depends directly on the underlying implementation because we access some specific call of the implementation itself.

At the moment I don't recall exactly why and if it is needed to have a "direct" dependency. Probably @msimberg or @rasolca remembers more?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@albestro is CPU blas unconditionally required? Or is it redundant when targeting the GPU?

Yes it is. Building with GPU support doesn't mean discarding multicore support.

I'm confused 😆 it uses blaspp and lapackpp, but also directly uses the underlying blas / lapack library?

blas and lapack functions are called through blaspp and lapackpp, however we need also access to library specific functionalities (e.g for MKL mkl_set_num_threads).

@spack spack deleted a comment from momka1234 Nov 10, 2023
@spack spack deleted a comment from momka1234 Nov 10, 2023

requires("target=x86_64:", when="~glpk", msg="bundled qsopt is only for x86_64")
requires(
"^mkl",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I could have sworn I tested this when I made it. Oh well.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It used to work

@alalazo alalazo merged commit f6039d1 into spack:develop Nov 10, 2023
@alalazo alalazo deleted the packages/more-caret-mkl branch November 10, 2023 16:18
alalazo added a commit that referenced this pull request Nov 10, 2023
tgamblin pushed a commit that referenced this pull request Nov 11, 2023
gabrielctn pushed a commit to gabrielctn/spack that referenced this pull request Nov 24, 2023
mtaillefumier pushed a commit to mtaillefumier/spack that referenced this pull request Dec 14, 2023
RikkiButler20 pushed a commit to RikkiButler20/spack that referenced this pull request Jan 31, 2024
iamashwin99 added a commit to fangohr/octopus-in-spack that referenced this pull request Mar 17, 2024
Includes changes from :
- spack/spack#41747
- spack/spack#41003
- spack/spack#41919
- spack/spack#40685
- Add hash for octopus 14 and Update BerkeleyGW dependency version in Octopus package #101 ( done at octopus: Support new version octopus@14  spack/spack#43160)
push changes in Disable gdlib #90 (done at octopus: disable gdlib by default spack/spack#43161)
- include new maintainer spack/spack#43163
vjranagit pushed a commit to vjranagit/spack that referenced this pull request Jan 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants