guetzli icon indicating copy to clipboard operation
guetzli copied to clipboard

Add CUDA & OpenCL support

Open crazyks opened this issue 6 years ago • 26 comments

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:)

crazyks avatar Jul 18 '17 02:07 crazyks

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.

googlebot avatar Jul 18 '17 02:07 googlebot

When can we expect these changes to be released?

rogierlommers avatar Jul 18 '17 06:07 rogierlommers

@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?

kornelski avatar Jul 18 '17 10:07 kornelski

@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.

strongtu avatar Jul 18 '17 12:07 strongtu

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

crazyks avatar Jul 20 '17 02:07 crazyks

Any news on this?

Bukashk0zzz avatar Jul 25 '17 06:07 Bukashk0zzz

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.

robryk avatar Jul 28 '17 15:07 robryk

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

FireEmerald avatar Sep 01 '17 21:09 FireEmerald

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

mikhailnov avatar Sep 25 '17 11:09 mikhailnov

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

leafjungle avatar Sep 30 '17 03:09 leafjungle

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

ianhuang-777 avatar Oct 09 '17 03:10 ianhuang-777

which GPU was used in your environment?

joyjoker2017 avatar Oct 17 '17 07:10 joyjoker2017

Waiting impatiently for this to be merged ))

mikhailnov avatar Oct 31 '17 20:10 mikhailnov

Yes, we all do!

rogierlommers avatar Nov 02 '17 06:11 rogierlommers

@joyjoker2017 Tesla M40

ianhuang-777 avatar Nov 02 '17 08:11 ianhuang-777

🙏 👍 Fingers crossed 🤞 😄

fvm avatar Nov 04 '17 00:11 fvm

Bump...

fvm avatar Dec 08 '17 07:12 fvm

:sleeping:

DanielBiegler avatar Dec 12 '17 22:12 DanielBiegler

Any news on this?

tburschka avatar Apr 12 '18 06:04 tburschka

Is this ever going to be merged ? :)

alexblhr avatar Jun 19 '18 13:06 alexblhr

Any update on this? Please :)

jonathas avatar Dec 12 '18 17:12 jonathas

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

magicdoublem avatar Mar 22 '19 22:03 magicdoublem

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.

EwoutH avatar Dec 12 '19 22:12 EwoutH

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

You can download binaries from here.

doterax avatar Jul 31 '21 22:07 doterax

@crazyks could you resolve the conflict?

twitnic avatar Apr 25 '23 14:04 twitnic

@crazyks could you resolve the conflict?

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

doterax avatar Apr 26 '23 08:04 doterax