Tag: VIRTUAL-MEMORY
El mecanismo de gestión de memoria virtual de nivel bajo de CUDA involucra lo siguiente: Asignaciones físicas Reservas de rango de direcciones virtuales Mapeos entre los anteriores De manera conveniente, si mapeas una asignación física a algún rango de direcciones, puedes “liberar” la asignación física y seguir usándola hasta que . . . Read more
Soy consciente de que la memoria asignada por kmalloc es físicamente continua y la memoria virtual que devuelve solo tiene un desplazamiento desde su memoria física. Pero si la CPU intenta acceder a la memoria virtual que se devuelve, ¿se utilizará la Unidad de Administración de Memoria (MMU) y la . . . Read more
Considere el siguiente programa (escrito en sintaxis C): #include <cuda.h> #include <stdio.h> #include <stdlib.h> int main() { CUresult result; unsigned int init_flags = 0; result = cuInit(init_flags); if (result != CUDA_SUCCESS) { exit(EXIT_FAILURE); } CUcontext ctx; unsigned int ctx_create_flags = 0; CUdevice device_id = 0; result = cuCtxCreate(&ctx, ctx_create_flags, device_id); . . . Read more
Dado que diferentes procesos tienen su propia tabla de páginas, ¿cómo diferencia la caché TLB entre dos tablas de páginas? ¿O se vacía la TLB cada vez que un proceso diferente recibe la CPU?
Cuando un programa llama a mmap para asignar una página anónima, también conocida como página con demanda cero, ¿qué aparece en el campo de dirección de la correspondiente entrada de tabla de páginas (PTE)? Supongo que el kernel no crea una página inicializada con ceros en la memoria física (y . . . Read more