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

Allow enabling and disabling JIT for operators and types with get/set #249

Open
rayegun opened this issue Nov 8, 2023 · 1 comment
Open
Labels
enhancement New feature or request

Comments

@rayegun
Copy link
Contributor

rayegun commented Nov 8, 2023

Right now compilation is controlled in one of two ways: globally with GxB_JIT_C_CONTROL and quasi-local control in the form of type / operator definitions (providing a definition enables JIT, not providing one disables it. This is a one time switch though).

I would like to allow users more manual control, and to allow me to JIT only when I deem it worth the overhead. I propose allowing GxB_JIT_C_CONTROL to be set on individual operators and types as well. I believe I understand the compilation pipeline relatively well now, and I don't think the overhead to do this would be too extreme (as the JIT works currently).

The default would be the same as the global.

@DrTimothyAldenDavis
Copy link
Owner

That wouldn't be too hard to do, like GrB_set (operator, GxB_JIT_C_CONTROL, GxB_JIT_OFF) or something. It could be done for types, monoids, ops, semirings, etc without much difficulty.

@DrTimothyAldenDavis DrTimothyAldenDavis added the enhancement New feature or request label Jan 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants