GPU Enhanced Processing - How to Get This Working!

Feb 12, 2024


Having trouble getting your GPU acceleration enabled? This might just help!


Table of Contents Show (Click on lines to navigate)

    Introduction

    When I first built my image processing computer, it was at a time when Covid supply chain issues made GPUs relatively unavailable.   

    So, I used an old GPU on my previous workstation and patiently waited until the supply chain was in better shape.

    This changed recently when I installed a new Gigabyte 4070TI card.

     

    The Card I Chose…

     

     Now that the card was installed, I was interested in using it to superpower my smart AI routines in PI - these days, this consists of the Starnet 2 and the suite of tools produced by RC-Astro: StarXTerminator, NoiseXTerminator, and BlurXTerminator.

     These tools have changed how I process my images.

    They do a great job - but their application can be very slow - even on my fast 12-core Ryzen processor.  I can start BlurXternator or StarXTermianor and then go for coffee.  It was not unusual to wait five or even seven minutes to run these processes. Of course, their results were so impressive that it was worth the wait.

    So, I was very interested in taking advantage of the GPU to speed these processes up!

    But - what if you did not need to wait?

    What if you could run these processes in seconds instead of minutes?

    That is the promise of GPU acceleration.

    GPU Acceleration

    If you have used the RC-Astro tools at all, you have probably heard that they can be accelerated by leveraging your GPU.

    Great - let’s turn on that mode and get started!

    Unfortunately, it is not that easy. Pixinsight does not natively support GPU acceleration so you need to do a bunch of library installs and swaps to make this work.

    RC-Astro has a page dedicated to this and you can see that HERE.

    There are other sources for this info as well.

    So, I decided to take the plunge and follow these directions to get things going.

    Disaster

    Long story short - these were a disaster for me.

    They left me unsure of what versions of each library were needed.

    They led me to install these HUGE development environments where all I really needed was some select libraries.

    I ended up with:

    • Big files

    • long and involved installs

    • confusion about what versions of what libraries should be used

    • and was still not able to enable GPU acceleration!

    I was pretty frustrated. I have a reasonable computer background but I was not able to cut my way through this maze.

    And Then A Solution… 

    Then I searched around and discovered the secret to make this all happen.

    No - I am not going to tell you how to do this step-by-step.  

    Rather, I am going to share a link that made all of this super simple and clear for me - and I know it will be clear for you as well!

    Riku Talvio's blog: https://rikutalvio.blogspot.com/2023/02/pixinsight-cuda.html

     
     

    Thank you, Riku, for creating this blog post!

    This set of instructions is clear and concise. It tells you just what you need to download and what to do - step-by-step.

    I followed this, and Voila! Suddenly, things started to work!

    For example, I ran BXT on one image, which took over 7 minutes. Then I set up the GPU Acceleration, and this time dropped to 19 seconds! Outstanding!

    In another section of his blog, Riku Explores various versions of libraries and the performance they achieve - and he concludes that his original recommendation still seems the best - and I can tell you they have worked great for me

    You can read through that info HERE.

    So, if you have not yet tried to enable your GPU to help speed up these processes - do it!  You will love the result!

    If you have tried this in the past and were crushed under the weight of confusing instructions with large, complex environments - give it one more try with this link - It really is worth it!

    A Final Note

    Russ Croman recently posted about an experimental Respostory approach that would use Piixinsight itself to load all of the needed libraries for GPU acceleration.

    You can read about that HERE.

    I have not tried this myself, so I can’t comment on how well it works - but it certainly sounds interesting.

    If you have not done this manually, this might be an even better way to go, and most of this would be automated. It sounds like you should either do this manually - like shown in the blog I am recommending here - or stick with the repository method. If you do it one way and then try the other, you may end up with a mix of incompatible libraries and links.

    Since I have this working fine now, I will not be trying this in the short term - but I wanted to share this with you.


    Patrick A. Cosgrove

    A retired technology geek leveraging his background and skills in Imaging Systems and Computers to pursue the challenging realm of Astrophotography. This has been a fascinating journey where Art and Technology confront the beauty and scale of a universe that boggles the mind…. It’s all about capturing ancient light - those whispering photons that have traveled long and far….

    https://cosgrovescosmos.com/
    Next
    Next

    Smoke in Sky - The Impact on Astrophotographers!