How-To: Speed up StarNet++ as PI Module on nVidia GPUs with CUDA on Windows

darkarchon

Member
Mar 28, 2018
20
11
Hello all,

you surely know about StarNet and its PixInsight module and we all know it can be very useful for generating Star Masks. However we also all know that is very slow.
We (well technically, @patdufour) have found and documented a way how to run StarNet on the GPU. At least for Windows and nVidia GPUs. It might be very specific but maybe this will help someone out running StarNet faster.

In terms of speed; I did test runs on my example images (8.3MP, drizzled 2x, 6708×5058)

CPU (Ryzen 7 2700X): 03:45.94 (that's 3 minutes, 45 seconds)
GPU (2080Ti): 25.804 seconds

For me this gives a 9 times speed increase. Results may vary but the GPU will pretty much always outperform the CPU.

Long story short, you can find the tutorial how to set it up here: https://darkskies.space/pixinsight-starnet-cuda/

Thanks for reading and have clear skies,
Stanley
 
Last edited:

pfile

PTeam Member
Nov 23, 2009
5,298
63
excellent, thanks for the writeup. this is something i wanted to try but i don't use windows.
 

darkarchon

Member
Mar 28, 2018
20
11
I think a similar solution might be possible for Linux since there is a tensorflow-gpu available for Linux as well. Technically all it would take would be to replace the original (.so I presume) and get CUDA 10.0 with cuDNN to run on the system. For OSX I don't know, I think that is more limited since OSX does not support tensorflow-gpu for all I know.
 

pfile

PTeam Member
Nov 23, 2009
5,298
63
yes it should work on linux but (you guessed it) i use osx. google dropped support for tensorflow-gpu some time ago. it might have something to do with apple locking out new nvidia cards after osx 10.13.

rob
 

pfile

PTeam Member
Nov 23, 2009
5,298
63
i will check it out after i build this new machine - my current mac has an nvidia graphics card.
 
  • Like
Reactions: szymon

szymon

Active member
May 2, 2020
42
9
Oh meh. Scratch that. Seems like ROCm that supports AMD doesn't actually support macOS. Ruddy things.
 

RobC

New member
Jan 2, 2014
4
0
Is there a minimum Cuda Compute Capability for running StarNet++ GPU ? I have two older nVidia graphic cards (1) a GeForce GT 730M with a Cuda Compute Capability of 3 and (2) a GeForce 930MX with 5. The GPU is not invoked on either of these cards when running StarNet++ gpu.

My understanding was that "libTensorflow_gpu" should execute in GPU mode on graphic cards with a Cuda Compute Capability of 3 or more. Elsewhere I have seen that a defect is causing "libTensorFlow-gpu" to only execute on graphic boards with a Cuda Compute Capability > 6.

Can some please clarify if there is a minimum Cuda Compute Capability for StarNet++ GPU.

Thanks and Cheers

RobC