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

Add support for Mac OSX on Apple Silicon #465

Merged
merged 21 commits into from
Feb 2, 2024
Merged

Conversation

ashao
Copy link
Member

@ashao ashao commented Jan 27, 2024

With the new ml_lib_builder repository we can now ship a version of libtorch that is compiled for Mac OSX on Apple Silicon (arm64). This PR explicitly allows ARM64 as an allowed architecture and creates variants fo the PTArchive class for Linux and Mac operating systems.

@ashao ashao requested a review from MattToast January 27, 2024 01:19
Copy link
Member

@MattToast MattToast left a comment

Choose a reason for hiding this comment

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

Looks great! I go a couple of weird corner cases for you to consider and some truly pedantic style comments for you to consider while you sort out the CI, but otherwise seems about ready to go to me!

smartsim/_core/_install/builder.py Outdated Show resolved Hide resolved
smartsim/_core/_install/builder.py Outdated Show resolved Hide resolved
smartsim/_core/_install/builder.py Outdated Show resolved Hide resolved
smartsim/_core/_install/builder.py Outdated Show resolved Hide resolved
tests/install/test_builder.py Outdated Show resolved Hide resolved
@ashao ashao requested a review from MattToast January 30, 2024 01:44
MattToast and others added 8 commits January 30, 2024 10:00
Add Python 3.11 to SmartSim

[ committed by @MattToast ]
[ reviewed by @ashao ]
Relax the required version of `typing_extensions`

[ committed by @MattToast ]
[ reviewed by @ankona ]
This PR merges in github actions for running checks - black and isort

[ reviewed by @MattToast ]
[ committed by @amandarichardsonn ]
This PR adds Python type hinting to RunSettings.colocated_db_settings.

[ reviewed by @MattToast ]
[ committed by @amandarichardsonn ]
This PR fixes the `test_logs.py::test_context_leak` test that was
erroneously creating a directory named `some value` in SmartSim's root
directory.
Copy link

codecov bot commented Jan 30, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (106d70f) 90.43% compared to head (0cea788) 90.72%.

❗ Current head 0cea788 differs from pull request most recent head c83a88d. Consider uploading reports for the commit c83a88d to get more accurate results

Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##           develop     #465      +/-   ##
===========================================
+ Coverage    90.43%   90.72%   +0.28%     
===========================================
  Files           60       60              
  Lines         3837     3837              
===========================================
+ Hits          3470     3481      +11     
+ Misses         367      356      -11     

see 7 files with indirect coverage changes

Copy link
Member

@MattToast MattToast left a comment

Choose a reason for hiding this comment

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

Couple of small tweaks suggested, but otherwise LGTM!!

smartsim/_core/_install/builder.py Outdated Show resolved Hide resolved
smartsim/_core/_install/builder.py Outdated Show resolved Hide resolved
tests/install/test_builder.py Outdated Show resolved Hide resolved
tests/install/test_builder.py Outdated Show resolved Hide resolved
smartsim/_core/_install/builder.py Outdated Show resolved Hide resolved
tests/install/test_builder.py Outdated Show resolved Hide resolved
tests/install/test_builder.py Outdated Show resolved Hide resolved
tests/install/test_builder.py Outdated Show resolved Hide resolved
smartsim/_core/_install/builder.py Outdated Show resolved Hide resolved
smartsim/_core/_install/builder.py Outdated Show resolved Hide resolved
Copy link
Member

@MattToast MattToast left a comment

Choose a reason for hiding this comment

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

Couple of last minute small call-outs, but nothing worth holding approval up over. LGTM pending tests!!

Makefile Show resolved Hide resolved
@@ -41,13 +43,17 @@ Detailed Notes
there is now an available ONNX wheel for use with Python 3.10, and wheels for
all of SmartSim's machine learning backends with Python 3.11.
(SmartSim-PR451_) (SmartSim-PR461_)
- SmartSim can now be built and used on platforms using Apple Silicon
(ARM64). Currently, only the pyTorch backend is supported. Note that libtorch
Copy link
Member

Choose a reason for hiding this comment

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

Re-surfacing this pyTorch -> PyTorch

smartsim/_core/_install/builder.py Outdated Show resolved Hide resolved
@ashao ashao merged commit 3a4e828 into CrayLabs:develop Feb 2, 2024
32 checks passed
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.

4 participants