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]: Optionally disable code generation facilities in STF #2711

Closed
1 task done
caugonnet opened this issue Nov 6, 2024 · 2 comments · Fixed by #2723
Closed
1 task done

[FEA]: Optionally disable code generation facilities in STF #2711

caugonnet opened this issue Nov 6, 2024 · 2 comments · Fixed by #2723
Labels
feature request New feature or request. stf Sequential Task Flow programming model

Comments

@caugonnet
Copy link
Contributor

caugonnet commented Nov 6, 2024

Is this a duplicate?

Area

CUDA Experimental (cudax)

Is your feature request related to a problem? Please describe.

The STF model provides methods to generate CUDA kernels (parallel_for and launch) in addition to orchestrating asynchronous computation.

This is not needed for applications which provide their own kernels or rely on libraries, so removing these feature might speed up compilation significantly. More importantly, these code generation feature require specific flags for CUDA to enable extended lambda functions, and device constexpr functions (--expt-relaxed-constexpr --extended-lambda ) which is prohibited in some cases.

Describe the solution you'd like

We should therefore be able to disable parallel_for and launch when including STF. This is already disabled automatically for non CUDA compilers, but we may still want to disable it for nvcc.

Describe alternatives you've considered

No response

Additional context

No response

@caugonnet caugonnet added the feature request New feature or request. label Nov 6, 2024
@github-project-automation github-project-automation bot moved this to Todo in CCCL Nov 6, 2024
@caugonnet
Copy link
Contributor Author

I suppose the best option is to define a cudax_ENABLE_CUDASTF_CODE_GENERATION flag. In our presets, that would be set to true by default on nvcc in, and false otherwise.

Applications may set that flag directly in their cmake config, or define -DNO_CUDASTF_CODE_GENERATION manually when using make

@caugonnet caugonnet added the stf Sequential Task Flow programming model label Nov 6, 2024
@caugonnet
Copy link
Contributor Author

This is implemented in #2723

@cccl-authenticator-app cccl-authenticator-app bot moved this from Todo to In Review in CCCL Nov 8, 2024
@github-project-automation github-project-automation bot moved this from In Review to Done in CCCL Nov 8, 2024
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. stf Sequential Task Flow programming model
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

1 participant