google / guetzli

Perceptual JPEG encoder
Apache License 2.0
12.92k stars 978 forks source link

Add CUDA & OpenCL support #227

Open crazyks opened 7 years ago

crazyks commented 7 years ago

Guetzli is an awesome jpeg encoder, however, it works a liitle bit slow. In order to speed it up, we have added CUDA & OpenCL support for Guetzli and we also optimized some procedure and added full jpeg format support.

This work is made by strongtu, ianhuang, tongzhan and me.

We had it tested on our GPU server, and here is the test statistical data for one of the sample pictures. data

We hope that our codes can be merged into guetzli/master branch:)

googlebot commented 7 years ago

So there's good news and bad news.

:thumbsup: The good news is that everyone that needs to sign a CLA (the pull request submitter and all commit authors) have done so. Everything is all good there.

:confused: The bad news is that it appears that one or more commits were authored by someone other than the pull request submitter. We need to confirm that they're okay with their commits being contributed to this project. Please have them confirm that here in the pull request.

Note to project maintainer: This is a terminal state, meaning the cla/google commit status will not change from this state. It's up to you to confirm consent of the commit author(s) and merge this pull request when appropriate.

rogierlommers commented 7 years ago

When can we expect these changes to be released?

kornelski commented 7 years ago

@szabadka I don't get what @googlebot is complaining about.

I've rebased/filtered the branch to remove all commits with 3rd party code, and normalized e-mail addresses to match team members' GitHub accounts, but it still complains.

Does it require manual approval by you?

strongtu commented 7 years ago

@pornel May be we need try to fork a new branch and start a new pull request? We can merge code about CUDA support to the new branch manually. But we will lost messages of each commit in the later.

crazyks commented 7 years ago

@robryk @eustas our CLAs and commits seem ok now, but @googlebot is still complaining. Could you please check and approve manually?

Bukashk0zzz commented 7 years ago

Any news on this?

robryk commented 7 years ago

Thanks for this PR; it's quite large, not very trivial, and I don't speak Chinese, so it'll take me some more time to look through it.

@crazyks @pornel Please pay no attention to clabot complaints.

FireEmerald commented 7 years ago

Could someone of you provide a working binary file for windows with cuda support? This would be awesome.

mikhailnov commented 7 years ago

Will this require non-free CUDA (cuda.h) libraries for compilation? If yes, probably a compilation flag is needed to disable them...

leafjungle commented 7 years ago

where is cu_mem defined? cuda or opencl can not find that.

ianhuang-777 commented 7 years ago

@leafjungle It's defined in clguetzli.cl.h, not an original CUDA definition.

joyjoker2017 commented 7 years ago

which GPU was used in your environment?

mikhailnov commented 7 years ago

Waiting impatiently for this to be merged ))

rogierlommers commented 7 years ago

Yes, we all do!

ianhuang-777 commented 7 years ago

@joyjoker2017 Tesla M40

fvm commented 7 years ago

🙏 👍 Fingers crossed 🤞 😄

fvm commented 6 years ago

Bump...

DanielBiegler commented 6 years ago

:sleeping:

tina-junold commented 6 years ago

Any news on this?

alexblhr commented 6 years ago

Is this ever going to be merged ? :)

jonathas commented 5 years ago

Any update on this? Please :)

magicdoublem commented 5 years ago

Did anyone ever succeed in building those binaries and want to share them? ;-)

EwoutH commented 4 years ago

This looks incredible! @crazyks could you resolve the conflicts, update the dependencies and rebase? I will check with someone from Google if we can merge into master. If not, we can create a fork.

doterax commented 3 years ago

Hi there. I have built Guetzli with CUDA for Windows.

You can download binaries from here.

twitnic commented 1 year ago

@crazyks could you resolve the conflict?

doterax commented 1 year ago

@crazyks could you resolve the conflict?

I continue supporting guetzli with CUDA and OpenCl here, where you can also download windows binaries.