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 pobrecito hablador el Martes, 03 Junio de 2008, 14:28h (#1049958)
    intuyo que has programado unidades vectoriales ;-)

    No solo he programado unidades vectoriales, también he programado el EE y el Cell, por eso sé exactamente de qué me estás hablando :-).

    Y como digo, todo el rollo del LS, tener que dividir tu programa por trozos y montarte los árboles esos de código para que te quepa algo de código y datos suficientes para hacer un poco de cómputo, las transferencias de DMA... Todo eso hay que meterlo a mano, supone hacer transformaciones muy dramáticas al código que lo hacen más ilegible y difícil de depurar. Lleva muchísimo tiempo aunque tengas experiencia haciéndolo... Y al final, tampoco sueles sacar tanto rendimiento respecto a un procesador normal. Precisamente las tareas que mejor van son aquellas para las que no hay que hacer demasiadas guarradas.

    Sin embargo, a la hora de utilizar una GPU (con CUDA), con un esfuerzo cercano a cero puedes fácilmente conseguir una mejora de 4x o 5x. Con un esfuerzo mínimo puedes conseguir hasta 10-15x. Si te lo curras bien, y no estoy hablando ni de lejos de lo que supone currarse un programa a tope en el Cell, puedes conseguir entre 30x y 200x dependiendo de la aplicación.

    Vamos, que con todo lo aparentemente peor que pueda parecer una GPU cuando te pones a listar opciones frente al Cell, la relación rendimiento-esfuerzo es muchísimo más alta que en el Cell. Y de hecho, si comparas rendimiento puramente, mi experiencia es que salvo para unas pocas aplicaciones también gana al Cell. El Cell tiene sus ventajas respecto a la GPU, pero si me preguntas "qué es mejor", y no me lanzaría a decir que mejor el Cell. No sé en qué trabajarás exactamente, pero si tienes posibilidades te recomiendo que pruebes CUDA. Si el problema es suficientemente grande (si trabajas con muy poquitos datos ni te molestes), es muy probable que con CUDA te vaya mejor (y no te pienses que te vas a tener que tirar 6 meses entrenándote en CUDA, en una tarde tendrás ya la idea, en la primera semana tendrás versiones más que decentes y en cuestión de 1 a 3 meses, según el problema, tendrás una versión de las buenillas).
    [ Padre ]
  • Muchas gracias por la explicación, le echaré un ojo al CUDA. Un saludo.
    [ Padre ]