Historias
Slashboxes
Comentarios
 
Este hilo ha sido archivado. No pueden publicarse nuevos comentarios.
Mostrar opciones Umbral:
Y recuerda: Los comentarios que siguen pertenecen a las personas que los han enviado. No somos responsables de los mismos.
  • por faragon (17575) el Lunes, 30 Enero de 2012, 20:47h (#1299597)
    ( http://www.voluntariado.net/ | Última bitácora: Domingo, 10 Junio de 2012, 21:48h )

    Habría que ver si consume mucha más memoria, si para ser más rápido el código ocupa mucho más y en GPU da más problemas por acceder a más memoria de la natural de un núcleo, o accesos a memoria no ortogonal (algo he leído de GPUs pero no me acuerdo del nombre). En resumen, si no cabe en una unidad de GPU o accede a memoria desordenadamente puede ser más lento.
    Por poner dos ejemplos, en la tarjeta gráfica de mi PC (AMD Radeon HD6670) con OpenCL sólo veo 32KB de memoria local, y con el Cell de la PS3, 256KB por cada unidad vectorial ("SPE", CPU especializada en SIMD, poco apta para el propósito general). Dependiendo del número de muestras, si el tamaño de las tablash hash es proporcional al número de muestras, puede ser un hándicap para una implementación "tal cual", aunque seguro que se pueden hacer "apaños" para usar menos memoria, a cambio de penalización en tiempo.

    En resumen, si no cabe en una unidad de GPU o accede a memoria desordenadamente puede ser más lento.
    Más lento, o incluso directamente inviable. Las tablas hash, dependiendo de la arquitectura ni siquiera se pueden paginar, e.g. si el sistema usa cache y acceso a memoria global, sí, pero si hace la transferencia por DMA (e.g. Cell), no habría solución fácil (habría que repensar el problema, e.g. reemplazando tablas hash por otras de menor orden y resolver las colisiones por búsqueda). Quizá para la búsqueda hayan optado por otros mecanismos, e.g. tablas ordenadas (con índices), árboles (WORM -write once, read many; sin reorganizar nodos-), etc.

    Quizá haya alguien que lo haya implementado, tengo ganas de ver algún ejemplo.
    [ Padre ]