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: 750
Joined: Sat Jun 01, 2013 1:04 pm
Location: Germany
Has thanked: 261 times
Been thanked: 149 times

New version of ImPPG: faster processing on the GPU

Post by GreatAttractor »

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α scopes (90 mm, 200 mm), Lunt LS50THa, ATM SSM, ATM Newt 300/1500 mm, PGR Chameleon 3 mono (ICX445)
User avatar
marktownley
Librarian
Librarian
Posts: 31701
Joined: Tue Oct 18, 2011 5:27 pm
Location: Brierley Hills, UK
Has thanked: 5291 times
Been thanked: 2433 times
Contact:

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

Post by marktownley »

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
Way More Fun to Share It!!
Way More Fun to Share It!!
Posts: 1624
Joined: Tue May 09, 2017 7:58 pm
Location: Florida
Has thanked: 609 times
Been thanked: 601 times

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

Post by MalVeauX »

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: 750
Joined: Sat Jun 01, 2013 1:04 pm
Location: Germany
Has thanked: 261 times
Been thanked: 149 times

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

Post by GreatAttractor »

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α scopes (90 mm, 200 mm), Lunt LS50THa, ATM SSM, ATM Newt 300/1500 mm, PGR Chameleon 3 mono (ICX445)
User avatar
MalVeauX
Way More Fun to Share It!!
Way More Fun to Share It!!
Posts: 1624
Joined: Tue May 09, 2017 7:58 pm
Location: Florida
Has thanked: 609 times
Been thanked: 601 times

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

Post by MalVeauX »

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: 750
Joined: Sat Jun 01, 2013 1:04 pm
Location: Germany
Has thanked: 261 times
Been thanked: 149 times

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

Post by GreatAttractor »

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α scopes (90 mm, 200 mm), Lunt LS50THa, ATM SSM, ATM Newt 300/1500 mm, PGR Chameleon 3 mono (ICX445)
User avatar
Stardust5858
Way More Fun to Share It!!
Way More Fun to Share It!!
Posts: 1329
Joined: Tue Oct 29, 2019 11:44 am
Has thanked: 669 times
Been thanked: 930 times

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

Post by Stardust5858 »

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


10ft x 6ft Solar RoR with Warm Room
Lunt 60mm Double Stack HA
80ed WL+ Lunt Hershal Wedge + Badder K-Line filter.
100mm AR + Lunt b1800 Ca-K module.
Neq6 Eq Mount.

2.7m Pulsar Dome.
11in Celestron SCT + White Light Filter.
70mm AR Stellavue.
12inch OO Newtonian.
Nec6 Eq Mount.
User avatar
JochenM
Way More Fun to Share It!!
Way More Fun to Share It!!
Posts: 2405
Joined: Tue Dec 10, 2019 2:26 pm
Location: Belgium
Has thanked: 717 times
Been thanked: 1024 times
Contact:

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

Post by JochenM »

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.


Jochen Maes
Belgium
http://www.jochenmaes.com
User avatar
banjo
Almost There...
Almost There...
Posts: 811
Joined: Sat Sep 17, 2016 12:38 pm
Location: France
Has thanked: 478 times
Been thanked: 664 times

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

Post by banjo »

:bow :bow :bow :bow


bresser/messier 150/1200 Mod -D-Erf 160mm intern-glasspath 1.25-etalon Pst barlow X2 ASI174
https://astropol.pagesperso-orange.fr/b ... 9/best2019
sorry for my English translators google :mrgreen:
User avatar
MalVeauX
Way More Fun to Share It!!
Way More Fun to Share It!!
Posts: 1624
Joined: Tue May 09, 2017 7:58 pm
Location: Florida
Has thanked: 609 times
Been thanked: 601 times

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

Post by MalVeauX »

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 13230 times
GPU, same values:
IMMPG_060_GPU_02.jpg
IMMPG_060_GPU_02.jpg (539.54 KiB) Viewed 13230 times
IMMPG_060_GPU_03.jpg
IMMPG_060_GPU_03.jpg (191.81 KiB) Viewed 13230 times
Very best,


User avatar
GreatAttractor
Almost There...
Almost There...
Posts: 750
Joined: Sat Jun 01, 2013 1:04 pm
Location: Germany
Has thanked: 261 times
Been thanked: 149 times

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

Post by GreatAttractor »

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α scopes (90 mm, 200 mm), 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: 2934
Joined: Tue Nov 27, 2018 4:37 pm
Location: Belgium
Has thanked: 361 times
Been thanked: 854 times
Contact:

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

Post by MAURITS »

Very interesting test from Marty.


Regards,
Maurits

Vista del Cielo Observatory

www.vistadelcielo.be
Boso36
Ohhhhhh My!
Ohhhhhh My!
Posts: 191
Joined: Sat Mar 23, 2019 10:05 pm
Has thanked: 119 times
Been thanked: 102 times

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

Post by Boso36 »

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
Way More Fun to Share It!!
Way More Fun to Share It!!
Posts: 1624
Joined: Tue May 09, 2017 7:58 pm
Location: Florida
Has thanked: 609 times
Been thanked: 601 times

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

Post by MalVeauX »

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: 750
Joined: Sat Jun 01, 2013 1:04 pm
Location: Germany
Has thanked: 261 times
Been thanked: 149 times

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

Post by GreatAttractor »

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α scopes (90 mm, 200 mm), 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: 2934
Joined: Tue Nov 27, 2018 4:37 pm
Location: Belgium
Has thanked: 361 times
Been thanked: 854 times
Contact:

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

Post by MAURITS »

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: 750
Joined: Sat Jun 01, 2013 1:04 pm
Location: Germany
Has thanked: 261 times
Been thanked: 149 times

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

Post by GreatAttractor »

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 13122 times
You can switch between CPU/GPU modes in the menu:
back_end_selection.png
back_end_selection.png (36.8 KiB) Viewed 13122 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α scopes (90 mm, 200 mm), 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: 2934
Joined: Tue Nov 27, 2018 4:37 pm
Location: Belgium
Has thanked: 361 times
Been thanked: 854 times
Contact:

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

Post by MAURITS »

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: 750
Joined: Sat Jun 01, 2013 1:04 pm
Location: Germany
Has thanked: 261 times
Been thanked: 149 times

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

Post by GreatAttractor »

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α scopes (90 mm, 200 mm), 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: 9291
Joined: Wed Mar 07, 2012 12:33 pm
Location: Lancashire, UK
Has thanked: 2460 times
Been thanked: 2234 times

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

Post by Carbon60 »

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

Stu.


H-alpha, WL and Ca II K imaging kit for various image scales.
Fluxgate Magnetometers (1s and 150s Cadence).
Radio meteor detector.
More images at http://www.flickr.com/photos/solarcarbon60/
LTHB
Im an EXPERT!
Im an EXPERT!
Posts: 311
Joined: Thu Mar 03, 2016 7:31 pm
Been thanked: 299 times

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

Post by LTHB »

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: 7208
Joined: Mon Dec 19, 2011 10:45 pm
Location: México D.F.
Been thanked: 1795 times

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

Post by eroel »

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


User avatar
salvo lauricella
Im an EXPERT!
Im an EXPERT!
Posts: 430
Joined: Sun Dec 08, 2019 10:48 am
Location: Syracuse, Italy
Has thanked: 56 times
Been thanked: 75 times
Contact:

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

Post by salvo lauricella »

Thank you for your excellent software!!!


Bruce G
Ohhhhhh My!
Ohhhhhh My!
Posts: 173
Joined: Mon Jul 16, 2018 8:18 pm
Has thanked: 122 times
Been thanked: 109 times

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

Post by Bruce G »

A Christmas present!

Thank you!!!


Bruce G


User avatar
GreatAttractor
Almost There...
Almost There...
Posts: 750
Joined: Sat Jun 01, 2013 1:04 pm
Location: Germany
Has thanked: 261 times
Been thanked: 149 times

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

Post by GreatAttractor »

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 12552 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α scopes (90 mm, 200 mm), Lunt LS50THa, ATM SSM, ATM Newt 300/1500 mm, PGR Chameleon 3 mono (ICX445)
Post Reply