Thanks a lot it’s very helpful.
Thanks for the Google keywords, I should be learning how to better use operators such as OR.
Also I realize how unspecific I was. I’m not allocating a huge chunk but several 1.8 gib chunks.
My end goal is to record (on memory and then on disk) max 20 seconds of opengl textures at 60 hertz in 4k 3840 x 2160.
Traditional pixel retrieval in opengl is too slow, with cuda memcpy from the texture using interoperability mapping functions I achieve max available throughput on my egpu thunderbolt 3 link (cuda memcpy runs at 1.5 GiB/s which is the same figure as can be seen in cuda-z benchmark when my opengl app is running)
1.5 GiB/s is below the actual opengl rendering throughput (rgba 4 bytes 4k 60h is 1.8 GiB/s) so I’m ring buffering in 5GiB gpu memory which gives me max 20 seconds of recording before the GPU has to stall the rendering.
I am using 1 alloc per texture so I’m already chunking data and it’s working great for recording 6 seconds.
But 10 GiB is not enough memory for 20 seconds. I need to use all my computer memory.
Hence my issue.
My solution is starting to be complex and by the look of it will increase in complexity. If you have a different approach for my end goal I’d be happy to hear it. Of course I tried every recording software, they are either too slow or don’t export the alpha layer.
This is for a personal art project.
Thanks for any help!