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: 967
Joined: Sat Jun 01, 2013 1:04 pm
Location: Switzerland
Has thanked: 762 times
Been thanked: 758 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: 43486
Joined: Tue Oct 18, 2011 5:27 pm
Location: Brierley Hills, UK
Has thanked: 22111 times
Been thanked: 11272 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: 1870
Joined: Tue May 09, 2017 7:58 pm
Location: Florida
Has thanked: 1261 times
Been thanked: 1474 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: 967
Joined: Sat Jun 01, 2013 1:04 pm
Location: Switzerland
Has thanked: 762 times
Been thanked: 758 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: 1870
Joined: Tue May 09, 2017 7:58 pm
Location: Florida
Has thanked: 1261 times
Been thanked: 1474 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: 967
Joined: Sat Jun 01, 2013 1:04 pm
Location: Switzerland
Has thanked: 762 times
Been thanked: 758 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: 1500
Joined: Tue Oct 29, 2019 11:44 am
Has thanked: 803 times
Been thanked: 1182 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.
Eq8 r Pro Mount.
User avatar
JochenM
Way More Fun to Share It!!
Way More Fun to Share It!!
Posts: 2839
Joined: Tue Dec 10, 2019 2:26 pm
Location: Belgium
Has thanked: 1200 times
Been thanked: 1619 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
https://www.jochenmaes.com
User avatar
banjo
Way More Fun to Share It!!
Way More Fun to Share It!!
Posts: 1501
Joined: Sat Sep 17, 2016 12:38 pm
Location: France
Has thanked: 2167 times
Been thanked: 2964 times

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

Post by banjo »

:bow :bow :bow :bow


bresser/messier 150/1200 (or 200/1800 Istar ) 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: 1870
Joined: Tue May 09, 2017 7:58 pm
Location: Florida
Has thanked: 1261 times
Been thanked: 1474 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 16996 times
GPU, same values:
IMMPG_060_GPU_02.jpg
IMMPG_060_GPU_02.jpg (539.54 KiB) Viewed 16996 times
IMMPG_060_GPU_03.jpg
IMMPG_060_GPU_03.jpg (191.81 KiB) Viewed 16996 times
Very best,


User avatar
GreatAttractor
Almost There...
Almost There...
Posts: 967
Joined: Sat Jun 01, 2013 1:04 pm
Location: Switzerland
Has thanked: 762 times
Been thanked: 758 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: 9038
Joined: Tue Nov 27, 2018 4:37 pm
Location: Belgium
Has thanked: 2666 times
Been thanked: 5198 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
User avatar
Radon86
Almost There...
Almost There...
Posts: 788
Joined: Sat Mar 23, 2019 10:05 pm
Has thanked: 763 times
Been thanked: 665 times

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

Post by Radon86 »

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!!


Solar: H-alpha": Quark Chromosphere filter; Baader white light filters
Scopes: Altair Astro Travel ED70mm (F 420mm, D=70mm);; Skywatcher 90mm (F 910mm D=90mm); GSO focuser;;Altair Astro 60mm guidescope (D=60mm,F=225mm)
Cameras: ASI120mm-S,ASI174mm
Mount: SW HEQ5 Pro, SW EQ3 Pro Synscan (SW = Skywatcher),Vixen Polarie tracker (portable setup)
Accessory: SW Auto-focuser
User avatar
MalVeauX
Way More Fun to Share It!!
Way More Fun to Share It!!
Posts: 1870
Joined: Tue May 09, 2017 7:58 pm
Location: Florida
Has thanked: 1261 times
Been thanked: 1474 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: 967
Joined: Sat Jun 01, 2013 1:04 pm
Location: Switzerland
Has thanked: 762 times
Been thanked: 758 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: 9038
Joined: Tue Nov 27, 2018 4:37 pm
Location: Belgium
Has thanked: 2666 times
Been thanked: 5198 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: 967
Joined: Sat Jun 01, 2013 1:04 pm
Location: Switzerland
Has thanked: 762 times
Been thanked: 758 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 16888 times
You can switch between CPU/GPU modes in the menu:
back_end_selection.png
back_end_selection.png (36.8 KiB) Viewed 16888 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: 9038
Joined: Tue Nov 27, 2018 4:37 pm
Location: Belgium
Has thanked: 2666 times
Been thanked: 5198 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: 967
Joined: Sat Jun 01, 2013 1:04 pm
Location: Switzerland
Has thanked: 762 times
Been thanked: 758 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: 14570
Joined: Wed Mar 07, 2012 12:33 pm
Location: Lancashire, UK
Has thanked: 8897 times
Been thanked: 8682 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: 433
Joined: Thu Mar 03, 2016 7:31 pm
Been thanked: 581 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: 9526
Joined: Mon Dec 19, 2011 10:45 pm
Location: México D.F.
Been thanked: 5124 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: 177
Joined: Mon Jul 16, 2018 8:18 pm
Has thanked: 128 times
Been thanked: 121 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: 967
Joined: Sat Jun 01, 2013 1:04 pm
Location: Switzerland
Has thanked: 762 times
Been thanked: 758 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 16318 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