comp-imaging / ProxImaL

A domain-specific language for image optimization.
MIT License
114 stars 29 forks source link

Cuda version #38

Closed wiedemannc closed 1 year ago

wiedemannc commented 7 years ago

Hi,

before creating a pull request for this with the necessary clean-up actions, I'd like to hear the opinion of the authors about this. I created a port using pycuda to improve performance. Currently a subset of the linear operations, the group_norm1 prox function and the Pock Chambolle algorithm is supported. I observe a nice speedup of a factor 10 compared to the native python implementation (even using only a mobile graphics card). On my forked repository https://github.com/wiedemannc/ProxImaL, it is currently implemented on the branch 'matlab_code_generation' (I have to remove the matlab stuff before creating the pull request for it).

If there is interest for integration, I'd be up for cleaning things up and create a pull request for this.

Kind Regards Christoph

SteveDiamond commented 7 years ago

This sounds promising! We've been talking for a while about rewriting the backend in tensorflow, but realistically I don't know when we'll have time. Pycuda seems like a good solution too, so I'm definitely interested in incorporating the work you've done.

wiedemannc commented 7 years ago

Thanks for the quick response! So I'll clean up the code and create a pull request for this in the next days.

fheide commented 7 years ago

Looks quite promising ! Would be great if you could also add a few examples along your changes.