2012-05-02 15 views
17

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

+0

Consulte los comentarios en http://stackoverflow.com/a/8686409/929437 – aland

Respuesta

3

La memoria está gestionada por un administrador de memoria de video. Puede ser un controlador o lo que usted quiera, siempre que administre la memoria, creo que hay diferentes enfoques para administrarla, pero hay algunos que hacen uso de ella. una arquitectura de memoria compartida (SMA). Un espacio de direcciones virtuales se puede usar para aislar procesos. Una dirección virtual se puede traducir a una dirección lógica donde se almacenan los bits/bytes reales. Por lo general, depende del gerente o del conductor decidir dónde puede dirigirse un proceso.