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

Re-sync Makefile with CMake #971

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

turboencabulator
Copy link
Contributor

The list of source files listed in the Makefile vs. CMakeLists.txt has gotten out-of-sync. Doing a selective build using the Makefiles will give different results than CMake. (Just to be clear, building all precisions should be OK.) This set of changes fixes most of the differences.

Comparing the two was challenging due to how the lists of source files are formatted/organized, and I wanted to make this process easier in case we need to check it again later. The first commit changes the formatting to one source file per line; there shouldn't be any change to the order of files (see the last commit for that). I'm doing a side-by-side diff after stripping off the .f/.o file suffixes to compare the two.

All of the differences I found (other than differences in the order of files) were introduced in #637. That PR didn't update the Makefile to match CMake, so I've done it here with a few fix-ups. That change was to fix missing dependencies when building only one precision, basically rearranging some needed files to different source groups so they'll get built.

(That PR also adds some differences to the BLAS build scripts which I'm not going to touch in this PR. From what I can tell, LAPACK built for one precision might need BLAS routines from another precision, so it's now building at least the needed files from BLAS. So now if you want to build only BLAS and only specific precisions of it, you might get more than you asked for. I think the proper fix is that BLAS may need to be built for all precisions even if LAPACK is built with only one.)

To assist with sorting and comparisons, and hopefully to make
insertion / deletion easier and more obvious.
Fixes a few issues introduced in 09af64a.

cgetrf, cgetrs, cpotrf:  Two copies in ZCLASRC.
cgetrf2, claswp, cpotrf2:  Was copied instead of moved from CLASRC to ZCLASRC.
dbdsvdx:  Was copied instead of moved from DLASRC to DZLAUX.
It was in the SCLAUX group until 09af64a
when it was realized that things in both DSLASRC and ZCLASRC need it.
Therefore it's used when building for any S, D, C, or Z precision.

Using similar rationale, la_constants is in both SCLAUX and DZLAUX, and
can be moved to ALLAUX.
Apply the fixes in the previous two commits, plus the remainder of
09af64a which in total consists of:

la_constants:  Moved from SCLAUX/DZLAUX to ALLAUX
sisnan, slaisnan:  Moved from SCLAUX to ALLAUX
sbdsvdx, sstein, sstevx:  Moved from SLASRC to SCLAUX
dbdsvdx, dstein, dstevx:  Moved from DLASRC to DZLAUX
sgetrf2, slaswp, spotrf2:  Moved from SLASRC to DSLASRC
cgetrf2, claswp, cpotrf2:  Moved from CLASRC to ZCLASRC
Enough to get Makefile and CMakeLists.txt to match, and some consistency
between the {S,D,C,Z}LASRC and {SC,DZ}LAUX groups so that they can be
compared to each other.

Sorting them all alphabetically would be more convenient, but it would
be a much larger diff and would break up some grouping.
Copy link

codecov bot commented Jan 8, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (d7ea9c5) 0.00% compared to head (d5d03ac) 0.00%.

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #971   +/-   ##
=======================================
  Coverage    0.00%    0.00%           
=======================================
  Files        1930     1930           
  Lines      190421   190421           
=======================================
  Misses     190421   190421           

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

@langou
Copy link
Contributor

langou commented Jan 8, 2024

Thanks. I agree that this will be better like this moving forward. Thanks for your work

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.

2 participants