A GPU for vkdt...

So, my kid, having moved into our basement for a couple of months before he buys his own house, has loaned me his GeForce GTX 1050 GPU with 4GB memory out of his streaming computer (yes, he has a few machines to do his nefarious thing…) , to try out vkdt. Still putting stuff together (modular PSU on order), how will this do?

yay cool! looking forward to your findings. 4G should be enough for most tasks, and the 1050 sounds like a solid starting point for fast processing.

i did btw try to compile vkdt as library at some point, but got distracted. there are some minor things to consider/solve:

  • -fPIC vs -fPIE needs to change for executable vs library, and i didn’t spend enough time on it to introduce a switch into the build system for this
  • vkdt depends on a few files on disk (cameras.xml from rawspeed, colour profiles, compiled shader code, etc), and the current way of detecting the base folder uses readlink /proc/self/exe which needs to change for a library that has a different executable.
1 Like

Intel Arc are promising, but you’ll need a fairly new motherboard to get the most out of them and the drivers need some more time in the oven:

1 Like

…also in more parts of the world than in others you’ll have to be lucky to actually get your hands on one :frowning: (still hoping to be lucky here).

1 Like

Turns out I didn’t need the PSU, didn’t look closely enough for the modular connectors. pffft…

So, an installed GeForce GTX 1050, a compiled vkdt, but I get this:

WARNING: lavapipe is not a conformant vulkan implementation, testing use only.

vkdt -d qvk shows this for device 0:

dev 0: llvmpipe (LLVM 13.0.1, 256 bits)

instead of the card nomenclature. So, I assume lavapipe (software emulator?) is in the way of getting to the GPU, n’est ce pas? Then, as it seems to be part of mesa, can I unistall all that and get to goodness?

Never mind, installed the version 515 drivers and it’s up and running!

2 Likes

yay cool! good to hear. the llvm thing is strange, but maybe eventually it’ll grow into a cpu emulation of the whole vulkan layer. that will be useful once it works well.

let me know if anything seems broken or clumsy, so i can fix.

Right now, warming to your UI… :laughing: I’m more of a “File → Open…” kind of fellow, but I’ll figure it out.

The most jarring thing was to open a raw and have it presented fully processed, in less time than rawproc takes just to generate the display output. Freaking quick…

(time passess…)

<stream_of_consciousness> Okay, okay, if I can figure out how to save my work, I’m going to trash every other thing I’ve built/installed ('cept G’MIC) and just use this. Once I figured out that little blop in most every parameter is a slider (yer dealing with an old fool here… :crazy_face: ) It Just Works! …Need to code a PR to save the processing string in the exported image file, then I can rm -rf rawproc… …Gotta figure out how to claim eminent domain over my kid’s GPU… </stream_of_consciousness>

What’s that song? “This Is How We Do It…” (repeat 'till you’re sick of hearing it…) :laughing:

3 Likes

Noooooooooooo!
I use both of these programs, I hope that’s only a joke from you :slight_smile:
Rawproc may not be fast/slick etc. but it is excellent for tinkering and learning about raw processing.

2 Likes

Kidding… :laughing:

Actually, what I’d like to do is remove rawproc’s gimage.cpp library and replace it with vkdt’s…

Edit: @hanatos is probably throwing up, now…

2 Likes

Well, that didn’t last long. Kid reclaimed the GPU, his backup one fried. I put the old one back in my machine, uninstalled the new drivers, but something is keeping the old one from doing better than one port, 1024x768…
x(

Sooo, just ordered a GIGABYTE GeForce GTX 1660 Ti OC 6G 192-bit GDDR6, arrives Thursday…

1 Like

I think there is a typo. It should be 4090 instead of 1660 :slight_smile:

2 Likes

Tyranny of the budget… :frowning:

2 Likes

hehe i would not do that. i’m sure there are processing options/user interactions that are dear to you and not supported by vkdt.

it’s similar to dt, it saves a sidecar .cfg file along with the input image (as well as a folder-wide vkdt.db with colour labels/star ratings etc).

:smiley: to my defense that is stock imgui. i did not change the widgets (yet?).

sounds like an interesting project. will be slower for sure (need to copy back stuff from gpu for display and hand it through the f$^^s*^stack instead. easiest is to call system("vkdt-cli") and save the output to /dev/shm/ i suppose, compiling a library will need some adjustments to makefile and resource path detection (see above).

to tell the truth i’m not sure the 4090 will do anything for raw processing here. faster for sure, but if you’re not rendering 60fps timelapses with 40MP it’d probably not be worth the cost.

1 Like

Absolutely, but it is worth the cost for gaming. Dual purpose GPU. :slight_smile: :grin:

1 Like

Y’mean I can lose at Solitaire faster? Yay… :crazy_face:

3 Likes

Oh, no need for defense, you’re dealing with and old command-line fool here, had never seen that arrangement before. I’m actually in awe of what you’ve accomplished, with a build process that’s so simple to boot.

Actually, I was thinking of the exported image. I’m noodling around with a suggestion for one-off images (e.g., PlayRaws) where one might not want to bother the db; I’ll relay it when I’ve had a chance to poke at the export code.

Yeah, thinking through that on my morning walk, would be best to preserve the vkdt display in the GPU, find a way to communicate to whatever UI toolkit what’s needed to just decorate it in-situ.

I have some time now to poke through the code, as I DON’T HAVE A USABLE DESKTOP DISPLAY RIGHT NOW, but my kid’s back up and gaming… :laughing:

2 Likes

ah. the way i do it is to save the image to /tmp (default download location of my firefox) and then i’ll just point vkdt to that. the db code does not write the vkdt.db file if you give a single image as cmdline argument. i should probably also not write it in case you didn’t change star ratings or labels. anyhow it’s just a simple text file in a directory, it does not create a central link in an index structure or anything. vkdt’s file view is really just showing actual directories on disk, no extra database structure.

right. i think most widget libraries would be able to create some kind of gpu context. it seems qt 5.10 has some support to open a window with vulkan context, probably need to start there and code your way alongside something in src/gui/ replacing glfw on the way.

(i really have to say i’m very happy with imgui though. it’s so bloat free and simple and direct and fast… i’m certainly not going back to one of the dinosaur toolkits. and it has gamepad support! one more thing you should steal from your kid if they have one…)

1 Like

Yep, that’s my kind of ‘gaming’… :slight_smile:

1 Like

geesh, finally have the whole thing put back together. Also installed a 8TB drive for the photo repository and a 5x1 card reader that still won’t read my Z 6 cards … :laughing:

Here’s my hwinfo:

glenn@bena:~$ hwinfo --gfxcard --short
graphics card:
                       nVidia TU116 [GeForce GTX 1660 Ti]

vkdt is still just blazingly fast, and I’m figuring out more of the processing. @patdavid, @darix, could we add .cfg files to the allowed upload list so folks doing PlayRaw with vkdt could upload their sidecars?

2 Likes