New version of ImPPG: faster processing on the GPU

The place for all your solar software; capture, stacking, post processing, ancillaries etc. It's all up for discussion here!
Post Reply
User avatar
GreatAttractor
Almost There...
Almost There...
Posts: 630
Joined: Sat Jun 01, 2013 1:04 pm
Location: Poland/Germany

New version of ImPPG: faster processing on the GPU

Post by GreatAttractor » Mon Dec 23, 2019 9:53 pm

ImPPG version 0.6.0 has been released. After some architectural cleanup, I added a GPU/OpenGL back end, that is, almost all processing (except image alignment) is now performed on the GPU. In practical terms, on most computers it means:
  • processing is faster by a factor of several or more
  • for quite big selection sizes and moderate L-R iteration counts, the results are rendered immediately as you move the "sigma" slider
  • no delay of image refresh when scrolling with zoom ≠ 100%
  • cubic interpolation does not cause a slow down
You can see the new version in action in this short video:
https://www.youtube.com/watch?v=giq4jCnC6KM

Benchmarking result of my system - CPU: Ryzen 2700 (8 cores, 16 threads, 3.2 GHz base), GPU: Radeon R370. A typical workload - batch processing of 200 images, 1.2 Mpix each, 50 iterations of L-R deconvolution, unsharp masking and tone mapping. (Note that in CPU mode all cores are used.)
  • CPU mode: 2:20 min
  • GPU mode: 19 s
Even on a 5-year old laptop with an integrated Intel GPU there is a noticeable speed-up.
My software:
Stackistry — an open-source cross-platform image stacker
ImPPG — stack post-processing and animation alignment
My images

SW Mak-Cass 127, ATM Hα scope (D=90 mm, LS50 etalon), Lunt LS50THa, ATM SSM, ATM Newt 300/1500 mm, PGR Chameleon 3 mono (ICX445)

User avatar
marktownley
Librarian
Librarian
Posts: 26738
Joined: Tue Oct 18, 2011 5:27 pm
Location: Brierley Hills, UK
Contact:

Re: New version of ImPPG: faster processing on the GPU

Post by marktownley » Mon Dec 23, 2019 10:05 pm

Brilliant!
Image
http://brierleyhillsolar.blogspot.co.uk/
Solar images, a collection of all the most up to date live solar data on the web, imaging & processing tutorials - please take a look!

User avatar
MalVeauX
Almost There...
Almost There...
Posts: 1168
Joined: Tue May 09, 2017 7:58 pm
Location: Florida

Re: New version of ImPPG: faster processing on the GPU

Post by MalVeauX » Mon Dec 23, 2019 10:14 pm

You're the man! Will try it out!

Is there a minimum or ideal class GPU for this and at what CPU level/class/cores/etc does it run away? I have an 8 core 4ghz (all 8 physical, not just threads) CPU but my GPU is an older nVidia 750Ti.

Very best,

User avatar
GreatAttractor
Almost There...
Almost There...
Posts: 630
Joined: Sat Jun 01, 2013 1:04 pm
Location: Poland/Germany

Re: New version of ImPPG: faster processing on the GPU

Post by GreatAttractor » Mon Dec 23, 2019 10:43 pm

Hard to compare GPU-CPU performance, I'd need many data points. As for a desirable GPU, even my ancient Intel HD Graphics 5500 (integrated) benefits here; generally, the more powerful, the better.

I'm wondering if the current highest-end GPUs could apply L-R in real-time for, say, a 1 Mpix image (if anyone has one, let us know).
My software:
Stackistry — an open-source cross-platform image stacker
ImPPG — stack post-processing and animation alignment
My images

SW Mak-Cass 127, ATM Hα scope (D=90 mm, LS50 etalon), Lunt LS50THa, ATM SSM, ATM Newt 300/1500 mm, PGR Chameleon 3 mono (ICX445)

User avatar
MalVeauX
Almost There...
Almost There...
Posts: 1168
Joined: Tue May 09, 2017 7:58 pm
Location: Florida

Re: New version of ImPPG: faster processing on the GPU

Post by MalVeauX » Mon Dec 23, 2019 11:22 pm

I tried it. So far, something is wrong. Driver maybe. Everything is over-the-top processed when I use it. It's ultra-fast, truly real time rendered without delay at all. But, the values are over the top and I have to dial everything way, way, way, way back, near zero, to see a normal image. The defaults at 1.3 and 50 iterations are way, way, way, way, over the top for me so far. Still experimenting. But it's fast, whatever its doing.

Very best,

User avatar
GreatAttractor
Almost There...
Almost There...
Posts: 630
Joined: Sat Jun 01, 2013 1:04 pm
Location: Poland/Germany

Re: New version of ImPPG: faster processing on the GPU

Post by GreatAttractor » Mon Dec 23, 2019 11:44 pm

Thanks for feedback, Marty.
When you switch to CPU mode, does everything look OK? Also, in GPU mode please try with View/Scaling method/Linear. And check if a saved output image also looks bad.

I tested on 3 different GPUs (Intel, NVidia, AMD), each under Linux and Windows, but yeah, there might be some driver quirks/inconsistencies.

If anyone else is experiencing issues, please let me know.
My software:
Stackistry — an open-source cross-platform image stacker
ImPPG — stack post-processing and animation alignment
My images

SW Mak-Cass 127, ATM Hα scope (D=90 mm, LS50 etalon), Lunt LS50THa, ATM SSM, ATM Newt 300/1500 mm, PGR Chameleon 3 mono (ICX445)

User avatar
Stardust5858
Ohhhhhh My!
Ohhhhhh My!
Posts: 112
Joined: Tue Oct 29, 2019 11:44 am

Re: New version of ImPPG: faster processing on the GPU

Post by Stardust5858 » Tue Dec 24, 2019 12:51 am

Many thanks for the heads up, appreciate and value the software.

User avatar
JochenM
Im an EXPERT!
Im an EXPERT!
Posts: 229
Joined: Tue Dec 10, 2019 2:26 pm
Location: Belgium

Re: New version of ImPPG: faster processing on the GPU

Post by JochenM » Tue Dec 24, 2019 4:21 am

Thanks for the update (and for all your efforts in providing this tool).

I just tested it on a relatively high-end GPU (GTX 1080). For me, the results are consistent regardless of which mode I use (CPU vs GPU). Of course, the GPU mode is way faster in spitting out results.

User avatar
banjo
Im an EXPERT!
Im an EXPERT!
Posts: 441
Joined: Sat Sep 17, 2016 12:38 pm
Location: France

Re: New version of ImPPG: faster processing on the GPU

Post by banjo » Tue Dec 24, 2019 11:05 am

:bow :bow :bow :bow
bresser/messier 150/1200 Mod -D-Erf 160mm intern-glasspath 1.25-etalon Pst barlow X2 ASI174
http://astropol.pagesperso-orange.fr/soleilbis/soleilen
sorry for my English translators google :mrgreen:

User avatar
MalVeauX
Almost There...
Almost There...
Posts: 1168
Joined: Tue May 09, 2017 7:58 pm
Location: Florida

Re: New version of ImPPG: faster processing on the GPU

Post by MalVeauX » Tue Dec 24, 2019 11:35 am

Heya,

I tried swapping between CPU & GPU. The CPU works appropriately as the other versions, takes about 1.5 seconds for a full screen process to occur and preview (smaller FOV are near instant). The GPU setting for me goes crazy. This is an nVidia 750 Ti, driver version is 344.11. I will update to 381.65 today and see if that changes anything. Currently the GPU setting on, the decon and unsharp mask processes work in overdrive, like way way strong. I have to nearly turn them to the minimal value to see the image not like this.

The only other thing I'm curious about is that I have two GPU's in my system (not on the motherboard, two independent GPU's for running many monitors). I wonder if this is a problem? Have you tested multi-GPU systems? How does the software pick which GPU to send the work to? I have an nVidia GT 610 in there as well as my nVidia 750 Ti. The lower end model runs peripheral monitors and the 750 Ti runs the primary monitor. This may also be the issue for me?

Here's some screen shots.

CPU:
IMMPG_060_01.jpg
IMMPG_060_01.jpg (102.21 KiB) Viewed 852 times
GPU, same values:
IMMPG_060_GPU_02.jpg
IMMPG_060_GPU_02.jpg (539.54 KiB) Viewed 852 times
IMMPG_060_GPU_03.jpg
IMMPG_060_GPU_03.jpg (191.81 KiB) Viewed 852 times
Very best,

User avatar
GreatAttractor
Almost There...
Almost There...
Posts: 630
Joined: Sat Jun 01, 2013 1:04 pm
Location: Poland/Germany

Re: New version of ImPPG: faster processing on the GPU

Post by GreatAttractor » Tue Dec 24, 2019 12:28 pm

Hmm, by the looks of it, it's not "too strong", rather the processing went completely bonkers :)

Standard OpenGL has no provisions to choose the active GPU (though there are AMD- and NVidia-specific extensions, as I've now googled), it's up to the operating system/driver configuration. I wouldn't think your having 2 GPUs would cause problems like this, but you could try deactivating each one in turn (and rebooting for good measure) and retrying with ImPPG.

Could you also try if disabling L-R (iterations=0) helps?
My software:
Stackistry — an open-source cross-platform image stacker
ImPPG — stack post-processing and animation alignment
My images

SW Mak-Cass 127, ATM Hα scope (D=90 mm, LS50 etalon), Lunt LS50THa, ATM SSM, ATM Newt 300/1500 mm, PGR Chameleon 3 mono (ICX445)

User avatar
MAURITS
Way More Fun to Share It!!
Way More Fun to Share It!!
Posts: 1336
Joined: Tue Nov 27, 2018 4:37 pm
Location: Belgium
Contact:

Re: New version of ImPPG: faster processing on the GPU

Post by MAURITS » Tue Dec 24, 2019 12:45 pm

Very interesting test from Marty.
Regards,
Maurits

Vista del Cielo Observatory

www.vistadelcielo.be

Boso36
Oh, I get it now!
Oh, I get it now!
Posts: 41
Joined: Sat Mar 23, 2019 10:05 pm

Re: New version of ImPPG: faster processing on the GPU

Post by Boso36 » Tue Dec 24, 2019 10:17 pm

Thanks Great Attractor! I will mark this post, as I will aim to upgrade with similar GPu and cpu speed. Imppgr is great, but I thought it was fast enough already!!

User avatar
MalVeauX
Almost There...
Almost There...
Posts: 1168
Joined: Tue May 09, 2017 7:58 pm
Location: Florida

Re: New version of ImPPG: faster processing on the GPU

Post by MalVeauX » Tue Dec 24, 2019 10:41 pm

I updated drivers and that solved the issue. Full FOV instant processing with GPU enabled is literally instant on my 750 Ti. No waiting time at all. When I slide the sliders, everything instantly changes real time. No lag at all.

Absolutely outstanding work! :bow

Very best,

User avatar
GreatAttractor
Almost There...
Almost There...
Posts: 630
Joined: Sat Jun 01, 2013 1:04 pm
Location: Poland/Germany

Re: New version of ImPPG: faster processing on the GPU

Post by GreatAttractor » Wed Dec 25, 2019 1:05 am

Wow, great to hear this! Thanks for checking. I must get me one of those high-end babies one day... ;)
My software:
Stackistry — an open-source cross-platform image stacker
ImPPG — stack post-processing and animation alignment
My images

SW Mak-Cass 127, ATM Hα scope (D=90 mm, LS50 etalon), Lunt LS50THa, ATM SSM, ATM Newt 300/1500 mm, PGR Chameleon 3 mono (ICX445)

User avatar
MAURITS
Way More Fun to Share It!!
Way More Fun to Share It!!
Posts: 1336
Joined: Tue Nov 27, 2018 4:37 pm
Location: Belgium
Contact:

Re: New version of ImPPG: faster processing on the GPU

Post by MAURITS » Wed Dec 25, 2019 11:20 am

Where can I switch to GPU mode, is it in IMPPG?
Regards,
Maurits

Vista del Cielo Observatory

www.vistadelcielo.be

User avatar
GreatAttractor
Almost There...
Almost There...
Posts: 630
Joined: Sat Jun 01, 2013 1:04 pm
Location: Poland/Germany

Re: New version of ImPPG: faster processing on the GPU

Post by GreatAttractor » Wed Dec 25, 2019 12:41 pm

GPU mode will be activated by default when you first start ImPPG 0.6.0. The current mode is indicated in the status bar in the lower right:
imppg_back_end_info.png
imppg_back_end_info.png (96.9 KiB) Viewed 744 times
You can switch between CPU/GPU modes in the menu:
back_end_selection.png
back_end_selection.png (36.8 KiB) Viewed 744 times
My software:
Stackistry — an open-source cross-platform image stacker
ImPPG — stack post-processing and animation alignment
My images

SW Mak-Cass 127, ATM Hα scope (D=90 mm, LS50 etalon), Lunt LS50THa, ATM SSM, ATM Newt 300/1500 mm, PGR Chameleon 3 mono (ICX445)

User avatar
MAURITS
Way More Fun to Share It!!
Way More Fun to Share It!!
Posts: 1336
Joined: Tue Nov 27, 2018 4:37 pm
Location: Belgium
Contact:

Re: New version of ImPPG: faster processing on the GPU

Post by MAURITS » Wed Dec 25, 2019 12:51 pm

Oh thank you very much for the above GPU solution.
Indeed it works like a dream.
Regards,
Maurits

Vista del Cielo Observatory

www.vistadelcielo.be

User avatar
GreatAttractor
Almost There...
Almost There...
Posts: 630
Joined: Sat Jun 01, 2013 1:04 pm
Location: Poland/Germany

Re: New version of ImPPG: faster processing on the GPU

Post by GreatAttractor » Thu Dec 26, 2019 10:59 am

To those who downloaded the Ubuntu package: I've uploaded a corrected one, which also installs an ImPPG application shortcut (so it can be selected in "application launcher" of your desktop environment).

The same goes for building under any Linux (or alike) system. Pull the latest source code, and the installation step will install also this shortcut.
My software:
Stackistry — an open-source cross-platform image stacker
ImPPG — stack post-processing and animation alignment
My images

SW Mak-Cass 127, ATM Hα scope (D=90 mm, LS50 etalon), Lunt LS50THa, ATM SSM, ATM Newt 300/1500 mm, PGR Chameleon 3 mono (ICX445)

User avatar
Carbon60
Way More Fun to Share It!!
Way More Fun to Share It!!
Posts: 6472
Joined: Wed Mar 07, 2012 12:33 pm
Location: Lancashire, UK

Re: New version of ImPPG: faster processing on the GPU

Post by Carbon60 » Fri Dec 27, 2019 8:06 am

Looking good and running well. Many thanks for this. Excellent work, as always.

Stu.
Lunt LS60THa B1200 PTFT
150mm H-alpha Solar telescope with Lunt35 mod
DMK41, Basler acA1920-155
NEQ6 Pro-mount
Fluxgate Magnetometers (1s and 150s Cadence)
More images at http://www.flickr.com/photos/solarcarbon60/

LTHB
Ohhhhhh My!
Ohhhhhh My!
Posts: 97
Joined: Thu Mar 03, 2016 7:31 pm

Re: New version of ImPPG: faster processing on the GPU

Post by LTHB » Fri Dec 27, 2019 11:08 pm

Just downloaded the new version and tried it, works smooth and fast. Thanks a lot for your work!

Regards,

Frank

User avatar
eroel
Way More Fun to Share It!!
Way More Fun to Share It!!
Posts: 4970
Joined: Mon Dec 19, 2011 10:45 pm
Location: México D.F.

Re: New version of ImPPG: faster processing on the GPU

Post by eroel » Wed Jan 01, 2020 7:14 pm

Thank you very much, a new year to learn your superb softwares.
Best wishes,
Eric.

User avatar
salvo lauricella
Ohhhhhh My!
Ohhhhhh My!
Posts: 196
Joined: Sun Dec 08, 2019 10:48 am
Location: Syracuse, Italy
Contact:

Re: New version of ImPPG: faster processing on the GPU

Post by salvo lauricella » Sun Jan 05, 2020 9:37 pm

Thank you for your excellent software!!!

Bruce G
Ohhhhhh My!
Ohhhhhh My!
Posts: 92
Joined: Mon Jul 16, 2018 8:18 pm

Re: New version of ImPPG: faster processing on the GPU

Post by Bruce G » Mon Jan 06, 2020 2:49 pm

A Christmas present!

Thank you!!!


Bruce G

User avatar
GreatAttractor
Almost There...
Almost There...
Posts: 630
Joined: Sat Jun 01, 2013 1:04 pm
Location: Poland/Germany

Re: New version of ImPPG: faster processing on the GPU

Post by GreatAttractor » Thu Feb 13, 2020 7:55 pm

A small bugfix update – version 0.6.1 – is available at https://github.com/GreatAttractor/imppg/releases

Bug fixes:
  • Invalid batch processing results in OpenGL mode
Enhancements:
  • Tone curve window position reset command

For the rare situations where window positioning does not work correctly, you can now force a reset of the tone curve window's position:
pos_reset_cmd.png
pos_reset_cmd.png (49.93 KiB) Viewed 174 times
My software:
Stackistry — an open-source cross-platform image stacker
ImPPG — stack post-processing and animation alignment
My images

SW Mak-Cass 127, ATM Hα scope (D=90 mm, LS50 etalon), Lunt LS50THa, ATM SSM, ATM Newt 300/1500 mm, PGR Chameleon 3 mono (ICX445)

Post Reply