Well … it’s that time of the year again.
The season is slowly closing down, time to reflect on gear and stuff.
So … it seems I want graphics cards for my two desktops.
I am on Linux. I care about privacy but not about binary blobs for hardware. (Otherwise I could not use a camera.) If it works, it works.
So – what to get? And more important – WHY THAT ONE?
I would really like to get hints on where I can gain knowledge and an overview of the graphics card market and how all those things are connected - because from what I gathered on this fine day is a lot of marketing hyperbole, lot’s of halfbaked circumstancial evidence of gamer kids and weird numbering systems that seem to have no consistency.
Benchmarks seem to mean little because the first hurdle to take is support - opencl, rusticl, vulkan, did I miss anything important? And then there are version numbers worse than Mac/iOS, where major changes are hidden in minor or even patch numbers.
AMD has had a hard time deciding which cards they support, which even has graphic support, and seems to have a habit of dropping support for cards that aren’t that old. They’ve flip flopped on this a few times.
RustiCL is too new. Looks good for the future though.
Intel’s cards are also quite new, they also look good for the future, but not really right now.
You’ll want to look at OpenCL support from the card/driver, this is what makes darktable go fast. You need at least openCL v1.2
For darktable use, of course you want openCL to work!
Here are my latest clockings, using this morning’s darktable-git, an Nvidia GFX 1660-Ti, proprietary drivers:
Execution time without openCL = 3.778 seconds.
Execution time with openCL = 1.561 seconds.
During the years, I have also clocked the difference between
Nvidia GTX-1660Ti and GTX-1050.
16 gig RAM versus 32 gig RAM.
4 * 8 gig RAM versus 2 * 16 gig.
I’ve got 450 additional clockings, but I believe that the ones above are of most interest…
I have a GTX-1650 4GB which gives a great improvement in dt speed.
I don’t have any cameras over 24MP though…
This thread - How cheap a GPU will still speed up darktable?
was from when I was trying to work what out what to get. I got a lot of helpful advice!
Right now, Nvidia cards with the closed-source drivers just work, the others have problems/limitations, sad fact of life.
As much GPU memory as you can afford is probably prudent, looking ahead to architectures like vkdt where the imported raw image is immediately loaded into the GPU and all the processing is done there, not pulled out until export. With my 24MP Z 6 raws, import to export with a GeForce GTX 1660 Ti and 6GB of memory takes about 18 milliseconds.
Thank you all for your input, I think I have a much better grip on the situation now.
Looks like it’s going to be either a GTX 1650 or a RTX 4060. Especially the latter is coming in at a really sweet spot between performance, price and power consumption.
I did some benchmark for someone last week in the matrix channel. I used my Nvidia 3060 12gb and limited the available memory to test the total processing in an export. I used Fedora 38 KDE with rpm fusion drivers.
I used a Fuji 50mb file and my standard processing with two D&S instances.
The peak usage of vram was 6gb. (~3s)
At 4gb vram, the processing was impacted but it was minimal (~0.8s more). I think with smaller mb raws, you won’t notice a difference.
Below 2gb, it started to have an impact do to tiling
Below 1gb, it was too much tiling
Since the OS also needs vram, I suggest 8gb. 4gb would work if budget is an issue.
40 series vs 30 series seem to have similar computing units, but the 40 series needs less power (more efficient). Prices difference is currently minimal. The 20 and 10 series have less cu, so they will take longer to process images.
Lastly, check your available power supply. Some of the cards need more power.
Therefore a 3050, 3060, 4050 or 4060 card with 8gb should be good balance of performance/cost.
Very good point - the TDP is not an indicator for the maximum draw.
The 30 and 40 series cards have an extra warning that their peak performance is to high for some power supplies – which would otherwise be nominally easily up to the task.
For AMD GPUs kernel module is in standard Linux (can also be compiled from AMD’s sources, if desired). Userspace is ROCm, usually installed from additional repositories.
For Intel, kernel module is in standard Linux kernel, userspace available in major distributions. Arc series gives good OpenCL performance.
For Nvidia, kernel module compilation is required, which may limit to certain Linux kernel versions. Source for the module as well as “compute” userspace is usually in distribution repositories.
And not just in ROCm. Even on Windows, they arbitrarily register or not libopencl, depending on their whims of the day. It’s easy to fix ovr there, but still mighty annoying.
I went Nvidia last year, after several years on AMD, and it has made OpenCL work so much easier and faster. The AMD OpenCL implementation also seems slower than Nvidia’s.
Maybe soon we’ll be able to sidestep the entire issue with rusticl, but that doesn’t seem quite ready for prime time yet.
That said, I have since moved on to an M1 mac, out of frustration with the whole situation. Its performance is roughly on par with my precious 3060 for Darktable. Hopefully, Asahi Linux and rusticl will make this awesome machine a viable Linux box in the future.
Not being clued up anymore meant that I had to do a bit of reading to make sure that I got a decent card before getting a new PC, at one time I’d have known which card I wanted.
Nvidia 3060 Ti is what I’ve got and it works well and was no hassle to set up. Had a 2017 Imac before with an AMD card and that was a lot of hassle in a few different ways with Linux, opencl stopped working sometimes, it was a pain to setup and worse to update. Not sure if this was because it was a mac though.
Since I have a secondary machine and I like to start testing from the low end,
I picked up a passive MSI GT 1030 with 2GB while shopping for groceries.
Will keep you posted on how that experiment turned out …
PS: I don’t have high hopes for darktable here.
But there are some things I’d like to try that require Vulkan support
and I don’t mind waiting with those.
Also oldschool games can still be run on that thing, so it won’t be a loss.
The problems with my AMD RX 580 were that they were quite picky about negative values in the code and the opencl part made darktable crash but almost everything has been fixed so far in dt. I upgraded to a 6700xt as it’s still supported by rocm drivers and with rusticl on the horizon I can still keep my stack as open as possible. I’d love to compare performance with a nvidia card though.
This is not about picture quality (though isn’t that nowadays pretty much the same across cards, with the digital connections?), but rather GPGPU (acceleration of computationally heavy operations).
I’m on a low-end, aged NVidia 1060 / 6 GB, and it’s fine for my purposes (but my own cameras produce 10 and 16 MP images and my display is only fullHD, so there’s not a lot of data to process).
GPU (acceleration of computationally heavy operations).
I like the 12GB 3060 for price/performance and low power req’t. NB it didn’t work for me alongside a 2080ti on the same board.
I think the max feasible with a single power supply is 2x4090 - see the changing builds advertised on centralcomputer, the last chain in Silicon Valley so lots of discerning customers.