One question I asked myself is what level should this driver run on the Linux operating system. The GPU historically runs embedded on the Linux Kernel as a device driver. However there are several reasons why I am debating putting this into the user space. The first reason is that according to Marshall McKusick is that it is faster to use a subprocess than a lot of hardware interrupts. Also it is possible to cause a kernel panic.
I looked on Docker and it appears to run on built in containers rather than on LXC. I also would give runc a greater look.
I looked into SR IOP and found that AMD produces a version similar to what I wish to do called GIM. However it is specific to AMD. I wish to make it generic. However a reddit thread pointed out some issues. It is only available in enterprise GPUs because it uses ASIC. I hope to use FPGA and asking researchers on researchgate if this is theoretically possible. I found these two articles that I am reviewing:
“Docker Frequently Asked Questions (FAQ).” Docker Documentation, 7 Jan. 2018, docs.docker.com/engine/faq/.
“How Is Docker Different from a Normal Virtual Machine?” Stack Overflow, stackoverflow.com/questions/16047306/how-is-docker-different-from-a-normal-virtual-machine.
McKusick, Marshall Kirk. “Introduction to the FreeBSD Open-Source Operating System.” O'Reilly | Safari, Addison-Wesley Professional, June 2015, www.safaribooksonline.com/library/view/introduction-to-the/9780134306049/FBSD_02_02.html.
“No SR-IOV Support on RX Vega. Confirmed by AMD • r/Amd.” Reddit, www.reddit.com/r/Amd/comments/6tpkf8/no_sriov_support_on_rx_vega_confirmed_by_amd/.
Opencontainers. “Opencontainers/Runc.” GitHub, 15 Dec. 2017, github.com/opencontainers/runc.
I found some good material on the construction of GPUs and am reviewing them. These include:
Farber, Rob. Parallel Programming with OpenACC. Morgan Kaufmann, 2017.
Garney, Ben, and Eric Preisz. Video Game Optimization. Course Technology Cengage Learning, 2011.
Kim, Chul-Woo, et al. High-Bandwidth Memory Interface. Springer, 2014.
Sarbazi-Azad, Hamid. Advances in GPU Research and Practice. Elsevier, 2017.
Shackleford, James, et al. High-Performance Deformable Image Registration Algorithms for Manycore Processors. Elsevier/MK, 2013.