Showing posts with label GPU. Show all posts
Showing posts with label GPU. Show all posts

Saturday, 13 July 2024

What is it with the AMD Adrenaline Software?

Very quick one, I've taken delivery of a new Graphics Card... (oooooo ahhhhh).

And it's a seed change for me as this is my first ever AMD graphics card, so this is of course going in my own main PC, which itself is my first ever AMD CPU powered machine I am therefore all Team Red for the first time ever... EVER!
I have been so excellently impressed with the performance of the Ryzen Zen 2 chip at the heart of my machine and my old EVGA 1080 GTX Superclocked was showing its age.  It was therefore time.

Unfortunately I made a huge mistake... No, it wasn't the model, no it wasn't the price, no it wasn't even paying to import it (because it was cheaper by a margin to have the card fly all the way to me through customs from California than actually buy it here in the UK - Thanks Brexit! - Not).

Anyway, it arrived and I plugged it in, and my monitor didn't come to life; I then found the signal was going to my massive 4K TV (on the HDMI) not my monitor (on the display port - go figure).

That sorted I then needed drivers, so I went to the AMD site and looked and found what it said was the best package to install on Windows 10 64bit for this card....

I don't know ANYTHING about the AMD software, and oh boy is that a mistake.

I installed it and was immediately REALLY REALLY IMPRESSED with it!  Yep, it's beautiful (even if it is backed by Qt and I hate Qt) and smooth and does wonderful things.

Unfortunately, and this is key, it was taking a lot of CPU whilst doing this work... So I closed it... and it STILL took a bunch of CPU, nearly 10%!

Just idle at the desktop, 10% CPU.

I was properly baffled by this, it must be doing something, so I went through all the settings and disabled everything I could see, everything turned off, clean reboot, and it was still taking 10% but now was peaking to 14% on odd occasions just idle!

What the heck, a bunch of goodling and I can find a bunch of folks complaining about exactly this, and one guy properly threatening to boycott their brand unless they explain how to just install the drivers without this software suite.  There was no answer to these please, and they were old posts, like there's been an apparent hard reset of the search results for this kind of question.

I spent a bunch of time trying to fathom this issue to no avail, so I like my forebears in the search results set about trying to find JUST a driver package.  I could not find one,

I therefore just decided to pull the card and possibly return it.  And so uninstalled the AMD Adrenaline Software, it took its time... And really grated on me as it spent about two minutes showing me the text "We value your feedback"... without ever giving me a link or contact in order to tell them anything... and this is during an uninstall process; surely someone when they added this eye stabbing annoying message thought "Oh we need to have them able to give me feedback!" ... Nope, seems not.

Now completely uninstalled and the package opens a website... This website... which I link only for you to see... as it's an advert... for a version of the very card I am uninstalling the software for.... Yes, AMD that's pretty tone deaf, also... WITHOUT YOUR DRIVERS INSTALLED YOU CAN NOT VIEW THAT SITE, so double double own goal there .... Less Advanced Micro Devices and Anyone Might Despair.


Here I am then, flabbergasted, back to a tiny resolution, opening chrome and trying to find just a raw driver package and I can't find one.  My machine has now cooled and I hear the CPU pump has ceased whirring away, as it was constantly with the 10% load on it!

I sat looking for ages when I first installed the card, really ages, we're taking an hour before I went with this Adrenaline stuff.

When suddenly Windows itself kicks into life and installs the Microsoft supplied WHQL driver, and guess what?  Yes, it's the same base driver, and it works absolutely brilliantly... and crucially my machine is not taking any CPU when idle, it's gone quite quen idle, I'm sat now typing this with a YouTube video playing, about 6 chrome tabs open and a copy of Visual Studio Code open too and it is silent, the machine is silent, just as I built it to be (unless under load).

Looking about I see AMD are recruiting software engineers, I have no idea what for, but if they see these pages - I'd suggest a bunch of refactoring is due over there folks.

Tuesday, 27 August 2013

OpenACC

Previously on these pages I talked about getting into GPU processing, well I'm officially setting off on this project for reasons of exploration, but also to help you guys out there – the average programmer – get an easy grasp on the topic step by step.

I've no idea how this all works, so my first port of call has been the nVidia Developer Zone regarding Cuda... https://developer.nvidia.com/what-cuda … And I've spent a fair amount of time reading up on things.

My immediate problem was the dropping of library names and buzz words, which I have no idea what they are, and the page does not directly explain “MKL BLAS, “IPP”, “FFTW” all obfuscating abbreviations which in this days of rich information content on the internet its inexcusible to see them listed with no references.

Another item talked about is “OpenACC” directives, which as the page explains can speed up your loops in Fortran or C... But again there's no link to what “OpenACC” is.

Stepping forward to the “Getting Started” page and firm information is still obfuscated, I think perhaps nVidia's page – as informative as it is on the whole – is trying to not drop too much technical information on the programmer too quickly.  However, this is an advanced programming topic, anyone wondering in to attempt this has to be of a calibre able to soak up more information more quickly than this site seems to dole it out.  Though I have an expectation for there to be a sudden and deep learning curve begin any second.

Our first step is going to be what appears to be the simpler of the items listed, GPU Directives, which are part of the already mentioned “OpenACC”.  These are going to help parallelise loops in code – C code for us.

The page explaining this is fairly well featured, and this tantalising image is presented:



The immediate problem with this “open” standard however is that the companies supporting it are turning it into proprietory tool chains.

Without the tool chain – the compiler and linker – understanding what you're asking of it, your code won't contain or leverage the GPU for you, it'll just be plain old CPU driven code.  The page presented even goes so far as to present trials of software compilers to help gain access to the technology.

Unfortunately a 30 day trial isn't really what I'm after, and not really what I think an “Open” project should end up as.

Indeed crawling the net searching for further details one finds a plethora of content deriding Compilers for their lack of OpenACC acceptance, or even posts prophesying the arrival of OpenACC or even OpenMP support “in 2013”.  But it seems here now in 2013, its still not arrived:



Without tools readily available it leaves you rather stuck as to how to proceed investigating OpenACC.  My next step was this PDF document, explaining the directives: http://www.nvidia.com/docs/IO/117377/directives-tips-for-c.pdf

This is really a nuts and bolts approach to getting your C application to use OpenACC loop practices.  A good introduction.

The big problem with this however, is that it all references back to the Portland Group's proprietary compiler.  To which one can only get a 30 day trial.  Something I'm not open to signup up for just yet, at least not without a whole series of OpenACC code to run through it in short order.