-
Notifications
You must be signed in to change notification settings - Fork 28
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
Generating halide-optimized routine from K.fwd and K.adj #59
Comments
@soufianekhiat this proposal makes a lot of sense as a future development goal. When we created proximal it was envisioned more as an exploratory toolbox, and so the dependency on Python is there to make it easy to try out different approaches. But a more "production" use case would be very interesting as well. |
@SteveDiamond revisiting the proposal 1 year later, may I suggest changing the issue heading from "Component Level Specification" to "Generating halide-optimized routine from K.fwd and K.adj" ? Here, K means the Proximal generated mapping |
The first impression is that the mapping I see that these graph algorithms, in ProxImaL/proximal/utils/cuda_codegen.py Lines 275 to 281 in b7c752c
Otherwise, it sound too much code bloat to me. Another idea: call external library |
Post PR #65 update: This issue is regarding how to modify ProxImaL/proximal/templates/problem-definition.h.j2 Lines 35 to 44 in e3d08d7
|
Fork from other discussion:
Component level specification
I suggest that we fork out a separate Github issue to discuss this. @jrk and @SteveDiamond can chime in as well.
My first thought is that ProxImaL, just like FlexISP, generates a cyclic compute graph. The lack of compute cycles in Halide is a fundamental strength to customize the compute schedule (or weakness in your use-case?).
As the authors suggested in the original article, I think the ProxImaL project can still grow by
proximal.linops.*
nodes in theproximal.CompGraph
into a single Halide pipeline; andBut eventually the Halide-generate code will have to hand back control to the ADMM
while
-loop to complete the "cycle". Whether thewhile
-loop has to be coded in C++ or to remain in Python, I do not know.Originally posted by @antonysigma in #57 (comment)
The text was updated successfully, but these errors were encountered: