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

Make it possible to add optimization passes without lowering intrinsics. #31101

Merged
merged 1 commit into from
Feb 25, 2019

Conversation

maleadt
Copy link
Member

@maleadt maleadt commented Feb 18, 2019

Many of those passes generate CPU-specific code, so add a way to disable them.
CUDAnative is now using its own lowering passes [1], but it might make sense to split some of the existing lowering passes (eg. LowerGCFrame) into more generic optimization + CPU-specific lowering.

1: https://github.com/JuliaGPU/CUDAnative.jl/blob/dc37a71024869034ecb58cfe65c0f9658ea60aa7/src/compiler/optim.jl#L18-L21

cc @jonathanvdc

@maleadt maleadt added compiler:codegen Generation of LLVM IR and native code gpu Affects running Julia on a GPU labels Feb 18, 2019
@maleadt
Copy link
Member Author

maleadt commented Feb 22, 2019

Any objections here, @Keno @vtjnash? This would probably only be a temporary thing depending on how #31135 pans out, but it is needed to have StaticArrays work on the GPU again (JuliaGPU/CUDAnative.jl#340).

@vtjnash
Copy link
Member

vtjnash commented Feb 22, 2019

None from me

@Keno
Copy link
Member

Keno commented Feb 24, 2019

Ok with me, but I think we may have to take a good look at this entire thing soon and work out the right abstraction points.

@maleadt maleadt merged commit d2cd3f4 into master Feb 25, 2019
@maleadt maleadt deleted the tb/skip_lower_intrinsics branch February 25, 2019 06:25
@vchuravy vchuravy added triage This should be discussed on a triage call backport 1.1 labels Feb 25, 2019
@vchuravy
Copy link
Member

Note to triage, it would be good if we could backport this, it should be low-risk and is a change to an internal API, but technically is a "feature".

@Keno Keno removed the triage This should be discussed on a triage call label Feb 27, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compiler:codegen Generation of LLVM IR and native code gpu Affects running Julia on a GPU
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants