Use GPU for heavy g...
 
Share:
Notifications
Clear all

15th Feb 2024: Astro Pixel Processor 2.0.0-beta29 released - macOS native File Chooser, macOS CMD-Q fixed, read-only Fits on network fixed and other bug fixes

7th December 2023:  added payment option Alipay to purchase Astro Pixel Processor from China, Hong Kong, Macau, Taiwan, Korea, Japan and other countries where Alipay is used.

 

Use GPU for heavy graphical calculations

12 Posts
7 Users
6 Likes
3,789 Views
(@rob_musquetier)
Red Giant
Joined: 7 years ago
Posts: 16
Topic starter  

Use the GPU for heavy graphical calculations and displaying the image in the preview pane to speed up processing even more (program is already rather quick especially for registration ;-).


   
ReplyQuote
(@mabula-admin)
Universe Admin
Joined: 7 years ago
Posts: 4366
 

Thank you Rob,

The necessary libraries for GPU calculations on the GPU cores besides the CPU cores are already compiled into APP, so work will start soon on this 😉

For some calculations I intend to spread the work over the GPUs & CPUs, but I'll need to make smart concurrency implementations to get this working correctly on all systems.

It would enable image drawing and the preview filter to work much friendlier and hopefully faster.

Multi core tasks like registering, star analysis, normalization, integration, data interpolation (lanczos etc) could get very significant speedups once I have got it working 😉

(In systems where there is a good GPU, speedups could easily be more than 2x)

What really interesting will be, is to see what effect the GPU will have on multiple view regression algorithms. These calculations consist of rather complicated algebra with huge matrices.., probably the GPU will show it's strenght there particularly. For simple calculations like adding and subtracting, the GPU really has no big advantage over a CPU in terms of speed of calculation per core.

Mabula


   
ReplyQuote
(@mattmoni)
White Dwarf
Joined: 4 years ago
Posts: 11
 

@mabula-admin

Is APP now using the GPU? Im considering to buy a new laptop as my surface pro 2017 with 4 GB RAM is very slow with APP and integration takes me almost 3 h... so would a laptop with good gpu make a big difference?


   
ReplyQuote
(@vincent-mod)
Universe Admin
Joined: 7 years ago
Posts: 5709
 

Not yet, it will be when APP gets support for Vulkan which Mabula is working on. It is a big feature though so that will take time still. Maybe it's also an idea to look at desktops? They are usually cheaper and more powerful, a nice desktop GPU will then help a lot when Vulkan is supported.


   
ReplyQuote
(@samuel)
Hydrogen Atom
Joined: 4 years ago
Posts: 1
 

I have an old bitcoin miner with multiple gpu. Will the gpu update support multiple gpu processing?


   
ReplyQuote
(@vincent-mod)
Universe Admin
Joined: 7 years ago
Posts: 5709
 

Good question, I have no idea. But since Mabula has programmed APP to be multi-threaded, which is already challenging, I think he will definitely look at that as well and if it would speed things up even more, he will definitely be interested. @mabula-admin


   
ReplyQuote
(@sebastien75)
Hydrogen Atom
Joined: 4 years ago
Posts: 1
 

Hello,

For laptop owners, gpu support will change a lot.

I have a Macbook pro 15" (8 cores) with an e-GPU (AMD Vega 56), for example the difference is really huge for video processing (DaVinci Resolve)

I await this functionality in APP with great interest 😊


   
ReplyQuote
(@tschuh)
White Dwarf
Joined: 5 years ago
Posts: 13
 

I'd like to add my name to the list.  I've long thought that these mathematically intensive applications would be well suited to take advantage of GPUs.  It seems that CUDA has become the standard.  While I don't care for single-vendor solutions they do have ~75% of the market share.  The first stacking/processing software to take advantage of GPUs will have a big advantage IMHO.  I'd really, really like for APP to be that package.  I'll be happy to beta test. 🙂


   
ReplyQuote
(@vincent-mod)
Universe Admin
Joined: 7 years ago
Posts: 5709
 

Yeah we know for sure. Mabula is working on Vulkan support, but that's still a rather big mountain to climb. It's however high up the list, together with moving to Java 11 etc.


   
tschuh reacted
ReplyQuote
(@tschuh)
White Dwarf
Joined: 5 years ago
Posts: 13
 

It is certainly a major undertaking!  I've played with CUDA a little bit and it takes SIGNIFICANT planning to get to a place where you can start throwing work units at the GPU.

Can. Not. Wait!


   
ReplyQuote
(@tschuh)
White Dwarf
Joined: 5 years ago
Posts: 13
 

Vulkan support has been stated as in progress for two years now.  Some sort of progress tracker might help calm the fears of those waiting for years.  This one is from a video game but I think they do a very good job of communicating what is being worked on, when to expect it and when that task is complete.  Working in an AGILE environment this is an every day thing.  Something along these lines would be fantastic to have for APP.  Even if it's a blog entry that's updated monthly.

https://robertsspaceindustries.com/roadmap/progress-tracker


   
ReplyQuote
(@vincent-mod)
Universe Admin
Joined: 7 years ago
Posts: 5709
 

Ah agile. Yeah we're not a fan of that kind of system, though I know companies these days like it. Instead of sprints we like to get the stuff absolutely right (of course within a normal timeframe) before release. 😉 (little teasing sorry). Besides that, Mabula is still the main developer at this time, so that system would make less sense then as well. We do like the Github approach and as we get more developers, that will be a nice system for a small team.

But I do agree a progress overview would be nice, at least we have the overview of what is upcoming ( https://www.astropixelprocessor.com/community/release-information/). Mabula is expanding the company slowly, we will look closer at streamlining certain things in the coming year. Vulkan is still a slow one because it involves a rather big rewrite of portions of the program and other priorities are still in the way. First thing will be Java 11, GraalVM etc.


   
ReplyQuote
Share: