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 UDF compiler skeleton #434

Merged
merged 1 commit into from
Jul 30, 2020
Merged

Conversation

wjxiz1992
Copy link
Collaborator

  • This change adds a udf-compiler plugin without detailed compiler
    implementations
  • To keep previous commit history and for a better review, this change
    removes the detailed compiler implementation based on previous commits
  • This change keeps the unit test framework but removes test cases.
  • Compiler implementations will come in next MR

@wjxiz1992 wjxiz1992 requested a review from abellina July 27, 2020 10:02
}

def attemptToReplaceExpression(plan: LogicalPlan, exp: Expression): Expression = {
exp
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Entrance of compiler. implementations will come in next PR.

@abellina
Copy link
Collaborator

abellina commented Jul 27, 2020

@wjxiz1992 for me I did want to keep history, but I think it can be squashed. There's a lot of repetition that can be made into a single commit by that same author. If others think history is not as important here, that's fine we can go with a simpler approach.

Note there are some commits at the beginning of this PR (like the metrics changes), and in the middle (like the one about splitting host/device vectors) that need to be removed all-together.

@abellina
Copy link
Collaborator

abellina commented Jul 27, 2020

Ok I do see what happened here, so there were a number of commits, and then a new one that basically redo's everything. Yeah this is a tough one, and I am not sure we can preserve anything. At this stage @wjxiz1992 I think what would work best is to squash all commits and have a single one to introduce the skeleton.

When you think one of the commits was a collaborative effort between other authors, perhaps we can use: https://docs.github.com/en/github/committing-changes-to-your-project/creating-a-commit-with-multiple-authors#creating-co-authored-commits-on-the-command-line

Thoughts?

@wjxiz1992
Copy link
Collaborator Author

Ok I do see what happened here, so there were a number of commits, and then a new one that basically redo's everything. Yeah this is a tough one, and I am not sure we can preserve anything. At this stage @wjxiz1992 I think what would work best is to squash all commits and have a single one to introduce the skeleton.

When you think one of the commits was a collaborative effort between other authors, perhaps we can use: https://docs.github.com/en/github/committing-changes-to-your-project/creating-a-commit-with-multiple-authors#creating-co-authored-commits-on-the-command-line

Thoughts?

I've squashed the huge commits and leave only one to describe this PR with coauthors added. I'll wait for Sean @seanprime7 to confirm if he think it's fine.

@seanprime7
Copy link
Contributor

seanprime7 commented Jul 28, 2020

Ok I do see what happened here, so there were a number of commits, and then a new one that basically redo's everything. Yeah this is a tough one, and I am not sure we can preserve anything. At this stage @wjxiz1992 I think what would work best is to squash all commits and have a single one to introduce the skeleton.
When you think one of the commits was a collaborative effort between other authors, perhaps we can use: https://docs.github.com/en/github/committing-changes-to-your-project/creating-a-commit-with-multiple-authors#creating-co-authored-commits-on-the-command-line
Thoughts?

I've squashed the huge commits and leave only one to describe this PR with coauthors added. I'll wait for Sean @seanprime7 to confirm if he think it's fine.

I think it is okay to squash commits in this MR.


override def apply(plan: LogicalPlan): LogicalPlan = {
val conf = new RapidsConf(plan.conf)
if (conf.isUdfCompilerEnabled) {
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Control whether to use the compiler or not.

@wjxiz1992 wjxiz1992 requested a review from revans2 July 29, 2020 07:38
Copy link
Collaborator

@revans2 revans2 left a comment

Choose a reason for hiding this comment

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

Just as a side note going forward we will require that all commits have a signoff with them.

revans2
revans2 previously approved these changes Jul 29, 2020
Copy link
Collaborator

@revans2 revans2 left a comment

Choose a reason for hiding this comment

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

Please note that going forward all commits will need a sign off with them.

See https://github.com/NVIDIA/spark-rapids/blob/branch-0.2/CONTRIBUTING.md#sign-your-work

@revans2
Copy link
Collaborator

revans2 commented Jul 29, 2020

build

seanprime7
seanprime7 previously approved these changes Jul 30, 2020
@revans2
Copy link
Collaborator

revans2 commented Jul 30, 2020

The changes look good, but the build appears to be failing for no fault of your own. Could you please upmerge to the latest code so we can get a clean build?

abellina
abellina previously approved these changes Jul 30, 2020
Copy link
Collaborator

@abellina abellina left a comment

Choose a reason for hiding this comment

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

Builds for me locally. This only replaces UDFs in project, and there are other cases where we'd want to do this. But I think we can handle that later.

Also the udf profile is ON by default, and the jar is not being added to the dist jar, I think we can figure that out later too.

But yeah verify is failing bc of the scaladoc issues, not related to the PR.

- This change adds a udf-compiler plugin without detailed compiler
implementations
- To keep previous commit history and for a better review, this change
removes the detailed compiler implementation based on previous commits
- This change keeps the unit test framework but removes test cases.
- Compiler implementations will come in next MR

Co-authored-by: Sean Lee <selee@nvidia.com>
Co-authored-by: Nicholas Edelman <nedelman@nvidia.com>
Co-authored-by: Alessandro Bellina <abellina@nvidia.com>
Signed-off-by: wjxiz1992 <wjxiz1992@gmail.com>
@abellina
Copy link
Collaborator

build

@wjxiz1992
Copy link
Collaborator Author

The changes look good, but the build appears to be failing for no fault of your own. Could you please upmerge to the latest code so we can get a clean build?

Thanks for Alessandro's help, rebased to latest codes. CI passed.

@abellina abellina merged commit c707377 into NVIDIA:branch-0.2 Jul 30, 2020
@abellina
Copy link
Collaborator

thanks @wjxiz1992

@sameerz sameerz added the feature request New feature or request label Jul 31, 2020
@wjxiz1992 wjxiz1992 deleted the udf-compiler branch December 18, 2020 03:48
nartal1 pushed a commit to nartal1/spark-rapids that referenced this pull request Jun 9, 2021
- This change adds a udf-compiler plugin without detailed compiler
implementations
- To keep previous commit history and for a better review, this change
removes the detailed compiler implementation based on previous commits
- This change keeps the unit test framework but removes test cases.
- Compiler implementations will come in next MR

Co-authored-by: Sean Lee <selee@nvidia.com>
Co-authored-by: Nicholas Edelman <nedelman@nvidia.com>
Co-authored-by: Alessandro Bellina <abellina@nvidia.com>
Signed-off-by: wjxiz1992 <wjxiz1992@gmail.com>

Co-authored-by: Alessandro Bellina <abellina@nvidia.com>
Co-authored-by: Sean Lee <selee@nvidia.com>
Co-authored-by: Nicholas Edelman <nedelman@nvidia.com>
nartal1 pushed a commit to nartal1/spark-rapids that referenced this pull request Jun 9, 2021
- This change adds a udf-compiler plugin without detailed compiler
implementations
- To keep previous commit history and for a better review, this change
removes the detailed compiler implementation based on previous commits
- This change keeps the unit test framework but removes test cases.
- Compiler implementations will come in next MR

Co-authored-by: Sean Lee <selee@nvidia.com>
Co-authored-by: Nicholas Edelman <nedelman@nvidia.com>
Co-authored-by: Alessandro Bellina <abellina@nvidia.com>
Signed-off-by: wjxiz1992 <wjxiz1992@gmail.com>

Co-authored-by: Alessandro Bellina <abellina@nvidia.com>
Co-authored-by: Sean Lee <selee@nvidia.com>
Co-authored-by: Nicholas Edelman <nedelman@nvidia.com>
tgravescs pushed a commit to tgravescs/spark-rapids that referenced this pull request Nov 30, 2023
Signed-off-by: spark-rapids automation <70000568+nvauto@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants