Container is just a term for a set of isolation solutions bundled together.
Like file system isolation (chroot), network isolation, process isolation, device isolation...
One of them is ofc chroot, yes container use exactly the same chroot functionality.
So to answer your question, no, you don't need full isolated container. You can use only chroot.
You just need to pass all required devices ( and match the driver version running in kernel with your files in container and (avoid) more than one app having full unrestricted access to GPU as that would result in issues (but dont know the details so can't help you with that)).
On the server side to send you data, using any web server with mmap support will probably be less CPU intensive than app that handles websocket, but yes, the details matter as when reading a lot of small files vs websocket, then websocket could be better for CPU usage especially when you could generate data.
But once again using plain old http allow you to use the speestest software against any CDN very easy IMO.