-
Notifications
You must be signed in to change notification settings - Fork 25
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
Refactor SmartRedis build system #341
Conversation
… relative paths to MNIST resources
…is-Fortran libraries
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Python side of things looks great!! I was able to build a wheel using setup.py
independent of the Makefile
and everything is ending up where I expected it to in a venv/conda env! Simply withholding approval to give other reviewers a chance to look over
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks really good Bill and I tried to break it on a couple of different machines. There are a couple of oddities/minor optimizations left:
- hiredis and redis++ are always rebuilt with
make lib[-with-fortran]
. This seems to force the rebuild of a bunch of the C++ code in SmartRedis libhiredis
is still showing up in theinstall
directory- I thought that at one point you were thinking of having a separate directory under
install
based onSR_BUILD
andSR_LINK
. Was this idea scrapped for simplicity?
I suspect this was a miss on reverting moving the libraries back to the install directory. Will fix
This had some nasty side effects and had to be rolled back. Once we get some stuff cleaned up inside the library, we'll get them out of the install directory |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for addressing the comments. Can confirm that partial rebuilds work as expected. Please change that one line in the redis++ recipe and everything is good to go from my end.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the PR -- really nice simplification and improvement of the make system. Just a couple of requested changes, but nothing major.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just noticed one potential typo -- otherwise LGTM. Thanks for the hard work on this PR!
Refactor the SmartRedis build system as planned in the design document: . add support for SR_BUILD and SR_LINK Make variables . add missing make dependencies . eliminate use of scripts for building the SmartRedis libraries . eliminate unnecessary deletion of SmartRedis builds, allowing repeat builds to be much faster . update examples, test cases, CI/CD to work with new build system . update Intel compiler in CI/CD to move away from deprecated compiler that will EOL in the next few months . make Python and Fortran optional parts of the build, not built by default [ committed by @billschereriii ] [ reviewed by @ashao @MattToast @mellis13 ]
Refactor the SmartRedis build system as planned in the design document: