[ot][log] gpgpu video encoding acceleration note
I have one of the very few nvidia cards that doesn't do nvenc, which roughly means not using hardware-accelerated video encoding. I looked for GPGPU (cuda, opencl) implementations for video encoders, but didn't find much of anything. I did find other people looking for this. I wonder if nvidia, amd, and intel, are kind of working together to require the purchase of hardware to do this; I have no idea if that's a conspiracy theory or a normal marketing practice, but I suspect the latter. I'm baffo32 in below internet argument. Talkys is repeating a strange point against general encoder implementations that doesn't seem informed by experience developing software: but I don't really have a strong counterargument because I've never tried to implement an accelerated codec using parallelized operations myself. When I resurrected this month-old thread, Talkys replied to argue further within hours. I'm posting this here because I shared a rare paper on the topic in the conversation. https://www.reddit.com/r/AV1/comments/xnb8gs/will_older_gpus_like_the_1060_t... [–]Silikone 1 point 2 months ago Couldn't you theoretically accelerate encoding with CUDA? I know there are such things for other formats. permalinkembedsavereportgive awardreply [–]Talkys 1 point 1 month ago Yeah, but you need hardware support for AV1. CUDA is just an API for the GPU hardware. permalinkembedsaveparentreportgive awardreply [–]Silikone 1 point 1 month ago It's the API for GPGPU acceleration, not tied to any fixed-function capabilities. The point would be to facilitate encoding on the GPU without hardware encoding support. permalinkembedsaveparentreportgive awardreply [–]Talkys 1 point 1 month ago We already use cuda do encode with avc and hevc. But you can't use it to encode on a format the gpu don't support. permalinkembedsaveparentreportgive awardreply [–]baffo32 1 point 4 hours ago Silkone means that it is possible for somebody to write an encoder that does this. An encoder can be written for CUDA or OpenCL to provide hardware accelerated encoding on older hardware. It would not be as fast as the dedicated hardware, but it can usually be made faster than a pure software encoder. permalinkembedsaveparenteditdisable inbox repliesdeletereply [–]Talkys 1 point 3 hours ago Yeah, but the overhead is really bad. It's better to use software encoding with OpenCL help, but only the gpu will just make a big mess of frames and waste a lot of time joining them. permalinkembedsaveparentreportgive awardreply [–]baffo32 1 point 10 minutes ago* This 2013 paper found a 10%-50% speedup with an OpenCL implementation: https://web.archive.org/web/20180604015042id_/http://onlinepresent.org/proce... Strangely, that paper is missing everywhere on the web, it's not even on sci-hub. I wonder if somebody's hardware marketing efforts got out of hand. [edit: here's an archive: https://arweave.net/za2jckp3GFY-q6Vsz5zS_kS4-CqZtTB-HoKmn6L1LBM/10.14257/ast... ] permalinkembedsaveparenteditdisable inbox repliesdeletereply about blog about advertising careers
participants (1)
-
Undescribed Horrific Abuse, One Victim & Survivor of Many