Supongamos que tiene una matriz de valor de función enorme (40+ GB) (coma flotante), las filas son características diferentes y las columnas son las muestras/imágenes.cómo hacer un mapa de la memoria de una gran matriz?
La tabla está precalculada en columnas. Luego se accede completamente a filas y a múltiples subprocesos (cada subproceso carga una fila completa) varias veces.
¿Cuál sería la mejor forma de manejar esta matriz? Estoy especialmente ponderando más de 5 puntos:
- Dado que se ejecuta en una PC x64, ¿podría la memoria mapear toda la matriz de una vez, pero tendría sentido?
- ¿Qué pasa con los efectos del multihilo (también computación inicial multiproceso?)?
- Cómo maquetar la matriz: fila o columna principal?
- ¿Ayudaría marcar la matriz como de solo lectura después de que se haya terminado la precomputación?
- ¿Se podría usar algo como http://www.kernel.org/doc/man-pages/online/pages/man2/madvise.2.html para acelerarlo?
Esta pregunta podría cerrarse por * demasiado interesante * para SO - pero espero que no. ¿Hay alguna restricción en el sistema operativo? (Adivinando Linux desde el enlace.) –
No entiendo por qué podría cerrarse, ¿hay alguna regla que haya olvidado? Sí, el software está actualmente restringido a Linux. Pero las respuestas con respecto a Windows también son bienvenidas. – Trass3r