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

[FEA] Add benchmarks for computing polynomials #17561

Open
GregoryKimball opened this issue Dec 10, 2024 · 3 comments
Open

[FEA] Add benchmarks for computing polynomials #17561

GregoryKimball opened this issue Dec 10, 2024 · 3 comments
Assignees
Labels
feature request New feature or request libcudf Affects libcudf (C++/CUDA) code.

Comments

@GregoryKimball
Copy link
Contributor

GregoryKimball commented Dec 10, 2024

Is your feature request related to a problem? Please describe.
We have binary op and AST benchmarks for balanced and imbalanced trees. The imbalanced tree benchmarks use X input columns where X is the tree depth.

Libcudf also has a UDF transform API that accepts CUDA code, but (to be confirmed) this API can only readily accept one column.

Describe the solution you'd like

We could add integer, float and decimal (?) benchmarks to compute polynomials. These benchmarks would only need one input column and could compare binary ops, ASTs and transform UDFs. We could have a benchmark axis to define the polynomial order. We could generate the constants and the column values to avoid overflow up to a certain order.

order 2 : a * x * x + b * x + c
order 3 : a * x * x * x + b * x * x + c * x + d
...

Additional context
We should also consider improving transform UDFs to process multiple input columns.

@GregoryKimball GregoryKimball added the feature request New feature or request label Dec 10, 2024
@GregoryKimball GregoryKimball added the libcudf Affects libcudf (C++/CUDA) code. label Dec 10, 2024
@GregoryKimball GregoryKimball added this to the Expression evaluation milestone Dec 10, 2024
@bdice
Copy link
Contributor

bdice commented Dec 10, 2024

Sure! I think the typical way to compute polynomials is like (((a * x) + b) * x) + c, if that helps build a better AST.

@vyasr
Copy link
Contributor

vyasr commented Dec 10, 2024

I think this is a pretty reasonable way to generate this kind of benchmark.

@wence-
Copy link
Contributor

wence- commented Dec 10, 2024

I think the typical way to compute polynomials is like (((a * x) + b) * x) + c

Legendre and Chebyshev enter the chat :)

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 libcudf Affects libcudf (C++/CUDA) code.
Projects
Status: No status
Development

No branches or pull requests

5 participants