I don't have much experience with GPUs so please forgive my ignorance. Nowadays, GPUs are being used as GPGPUs for general purpose programming. But I was wondering if GPUs have memory protection and virtualization mechanism. I mean, for example, you are running two kernels on a GPU, one could easily write to another's address if you don't have vritualization and memory protection. How is this problem solved? Has there been any work done on increasing reliability of code running on GPUs? Can two kernels be run at the same time through some sandboxing mechanism?
The memory is managed by a video memory manager this can be a driver or whatever you want it to be as long as it manages the memory, I believe theres different approaches to manage this memory but i red that some make use of a Shared Memory Architecture (SMA). A virtual address space can be used to isolate proccesses. A virtual address can be translated to a logical address where actual bits/bytes are stored. Its often up to the manager or driver to decide where a proccess can address in.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With