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

Refactoring changes #581

Merged
merged 11 commits into from
Feb 25, 2023
Merged

Conversation

magnatelee
Copy link
Contributor

There were some loose ends in the C++ API that accidentally exposed Legion names directly to client libraries. This would be confusing to developers, as they might think they need to learn two APIs, even though they would, and should, only need to use a small fraction of the Legion API in Legate in most cases. This PR makes the following refactoring changes to hide Legion references from the Legate API so developers can learn only one API for Legate:

  1. New callback API for Legate libraries that passes no Legion handles to them
  2. Import and re-export Legion names that we need to expose
  3. Use qualified names for all Legion references in the core code not imported in 2. This isn't strictly necessary for the goal, but is good for code hygiene.

The PR also simplifies and hides all the implementation detail of task variant registration as a bonus point.

@magnatelee magnatelee added the category:improvement PR introduces an improvement and will be classified as such in release notes label Feb 18, 2023
Copy link
Contributor

@manopapad manopapad left a comment

Choose a reason for hiding this comment

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

One trivial comment, otherwise looks good

src/core/task/variant.h Outdated Show resolved Hide resolved
@magnatelee magnatelee merged commit cb65d91 into nv-legate:branch-23.03 Feb 25, 2023
@magnatelee magnatelee deleted the registry-pr branch February 25, 2023 05:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:improvement PR introduces an improvement and will be classified as such in release notes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants