c memory-management gpu gpgpu

¿Hay protección de memoria en GPUs



memory-management gpgpu (1)

No tengo mucha experiencia con las GPU, así que perdona mi ignorancia. Hoy en día, las GPU se utilizan como GPGPU para la programación general. Pero me preguntaba si las GPU tienen mecanismos de protección de memoria y virtualización. Quiero decir, por ejemplo, que está ejecutando dos núcleos en una GPU, uno podría escribir fácilmente en la dirección de otro si no tiene protección de memoria y virtualización. ¿Cómo se resuelve este problema? ¿Se ha realizado algún trabajo para aumentar la confiabilidad del código que se ejecuta en las GPU? ¿Se pueden ejecutar dos núcleos al mismo tiempo a través de algún mecanismo de aislamiento?


La memoria está gestionada por un gestor de memoria de video, puede ser un controlador o lo que quiera que sea, siempre que gestione la memoria, creo que existen diferentes enfoques para administrar esta memoria, pero creo que algunos utilizan una Arquitectura de Memoria Compartida. (SMA). Se puede utilizar un espacio de direcciones virtuales para aislar procesos. Una dirección virtual se puede traducir a una dirección lógica donde se almacenan los bits / bytes reales. A menudo depende del administrador o del conductor decidir dónde puede dirigirse un proceso.