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

Use meson build in place of numpy distutils #12

Merged
merged 54 commits into from
Mar 13, 2024

Conversation

jcapriot
Copy link
Member

@jcapriot jcapriot commented Jan 8, 2024

Switches from a numpy.distutils based build to a meson-python based build.

A few things to note:
Right now it uses pkg-config to find the necessary mkl dependency, of which there are several options for linking against:

  • mkl-dynamic-ilp64-seq
  • mkl-dynamic-ilp64-iomp
  • mkl-dynamic-ilp64-tbb
  • mkl-dynamic-lp64-seq
  • mkl-dynamic-lp64-iomp
  • mkl-dynamic-lp64-tbb
  • mkl-sdl

All of which have pkg-config files installed when getting the mkl-devel package from conda. By default it will try to link against the more specific versions if available, and if not default to the sdl package (which I was personally having issues with on my windows machine for some reason).

I would still like to add in an option for specifying the necessary location using an mkl-root option that will supply an option as a fall back in case of no pkg-config.

Copy link

codecov bot commented Feb 28, 2024

Codecov Report

Attention: Patch coverage is 8.82353% with 31 lines in your changes are missing coverage. Please review.

Project coverage is 41.06%. Comparing base (c48ea7e) to head (953be5e).

Files Patch % Lines
pydiso/mkl_solver.pyx 0.00% 28 Missing ⚠️
pydiso/__init__.py 50.00% 3 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##             main      #12       +/-   ##
===========================================
- Coverage   74.78%   41.06%   -33.73%     
===========================================
  Files           2        3        +1     
  Lines         238      358      +120     
  Branches        0       18       +18     
===========================================
- Hits          178      147       -31     
- Misses         60      209      +149     
- Partials        0        2        +2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@jcapriot
Copy link
Member Author

Still not quite sure what to do about code-coverage, but in the grand-scheme of things don't think it's that important.

Also note, I've been having segfault issues on windows when linking against the 2024 MKL, so I've added a job to the actions to just keep an eye on it when intel eventually releases an update (or I can get more information about why it might be segfaulting)

@jcapriot jcapriot merged commit 4102356 into simpeg:main Mar 13, 2024
17 of 20 checks passed
@jcapriot jcapriot deleted the meson-build branch March 13, 2024 19:33
@jcapriot jcapriot mentioned this pull request Mar 16, 2024
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.

1 participant