SuperPi tirando de la GPU NVidia


  • 0

    Hola a todos,

    según esta noticia:

    http://www.theinquirer.es/2008/05/26/superpi_funcionara_con_cuda_en_un_mes.html

    El SuperPi en un mes, mediate CUDA, usará la GPU de Nvidia de la serie 8 o superior para realizar los cálculos.

    ¿Ahora qué hacemos? ¿creamos otra rama para el SuperPi CUDA? ;D

    Salu2!



  • 1

    Se sabe algo mas de esto ?????



  • 2

    Hola
    Tengo un amigo en Inglaterra que tiene una Tesla de nvidia con más de 720 cores lógicos. Según me ha comentado para diseño gráfico, estudio de la proteínas, etc ofrece un rendimiento excepcional, con una tarjeta que puede alcanzar los 2000 euros, aunque cuánto costaría un Pc que alcance dicho renimiento?
    No obstante, el refiere concretamente que en el tema de cálculo, por ejemplo sobre un programa de ajedrez, que ya se está utilizando el fritzbenchmark como banco de pruebas, no es tan eficiente por problemas en el multihilo. El superpí lo hacemos sobre un sólo core, por lo que Cuda ( Tesla de Nvidia) no llegaría a los resultados de según que procesadores. Sobretodo si tenemos en cuanto que se utilizan medios de refrigeración extremos , que en la tarjeta carece de sentido utilizar. Por otro lado, hay un super pi multicore, hay sería interesante ver los resultados. Aunque no tendría nada que hacer con un Blade o superBlade.;)



  • 3

    Lo pregunto, porque en su momento, creo mucha expectativa en la red aunque por lo que veo no se ha vuelto a hablar del tema. Veo que tu eres exceptico en cuanto a la capacidad de las GPU segun para que aplicaciones, pero entiendo que para el calculo de SuperPi, aunque no conozco el algoritmo que emplea, podria ser susceptible de una gran mejora.



  • 4

    Si solo empea una unidad shader de la tarjeta gráfica, no terminaría el SuperPI en menos tiempo que un Procesador del Calibre de un Phenom o un Core 2, puesto que estos procesadores disponen de una FPU más avanzada que la que dispone cada shader de la GPU (que es una FPU muy simple).

    Otra cosa sería hacer el SuperPI empleando todos los shaders de la GPU, que supongo que lo terminaría en 1 segundo xD.



  • 5

    Entonces es una cuestion de codecs el que haga el calculo con todos los shaders no?

    Salu2.



  • 6

    hola
    Nvidia Launches Tesla Personal Supercomputer - Tom's Hardware
    Un Shader es un programa que se ejecuta sobre la GPU en las etapas programables del pipeline y nos permite implementar efectos gráficos muy interesantes. A día de hoy hay tres tipos de Shaders: de vértices, de fragmentos y geométricos:

    Los de vértices nos permiten aplicar operaciones a los vértices que son enviados a la GPU permitiéndonos hacer efectos cómo Skinning, Displacement Mapping …

    Los de fragmentos nos permiten aplicar transformaciones a los pixels en la etapa de fragmentos permitiéndonos hacer efectos como Normal Mapping, Blur, Bloom, Phong shading, DoF ,..

    Los novedosos shaders geométricos nos permiten aplicar transformaciones a las primitivas(un conjunto de vértices) permitiendo hacer efectos como real-time tesellation, destrucción de mesh ....

    GLSL es el lenguaje de descripción de Shaders de OpenGL y en este artículo veremos cómo cargarlos, aplicarlos y pasarles parámetros. Además podréis descargar un ejemplo programado para Gnu/Linux.
    Nada que por todo lo que he leído al respecto, shader es un programa que se ejecuta sobre la gpu, y que afecta sobretodo en efectos gráficos, más que sobre, por ejemplo, los algortimos de otro tipo de bench. En el link, una review muy interesante de Tesla, nvidia sobre un core i7 extreme edition.
    Un saludo.:vayatela:



  • 7

    Como se llama el superpi multicore ? el wPrime ?



  • 8

    @tonibaca:

    Como se llama el superpi multicore ? el wPrime ?

    hola
    http://files.extremeoverclocking.com/file.php?f=211
    En esta página encontrarás software para benvh, y hay un link ruso, pero no lo tengo en favoritos y no recuerdo el nombre.
    Un saludo

    PD: si arrancas en modo seguro y quieres apuirar, primero prueba a ver cuánta ram consume, y luego asignas la cantidad de ram para arrancar. ( con trichanel el mínimo es 256, pero para el multicore necesitarás algo más(:)



  • 9

    @jordiqui:

    hola
    http://files.extremeoverclocking.com/file.php?f=211
    En esta página encontrarás software para benvh, y hay un link ruso, pero no lo tengo en favoritos y no recuerdo el nombre.
    Un saludo

    PD: si arrancas en modo seguro y quieres apuirar, primero prueba a ver cuánta ram consume, y luego asignas la cantidad de ram para arrancar. ( con trichanel el mínimo es 256, pero para el multicore necesitarás algo más(:)

    Gracias por la info, pero wl HyperPi ya lo conocia y no sirve. Lo unico que hace es ejecutar una instancia de SuperPi en cada core pero no esta optimizado para calculo en paralelo. Es como si ejecutaras SuperPi varias veces a la vez.



  • 10

    @jordiqui:

    hola
    Nvidia Launches Tesla Personal Supercomputer - Tom's Hardware
    Un Shader es un programa que se ejecuta sobre la GPU en las etapas programables del pipeline y nos permite implementar efectos gráficos muy interesantes. A día de hoy hay tres tipos de Shaders: de vértices, de fragmentos y geométricos:

    Los de vértices nos permiten aplicar operaciones a los vértices que son enviados a la GPU permitiéndonos hacer efectos cómo Skinning, Displacement Mapping …

    Los de fragmentos nos permiten aplicar transformaciones a los pixels en la etapa de fragmentos permitiéndonos hacer efectos como Normal Mapping, Blur, Bloom, Phong shading, DoF ,..

    Los novedosos shaders geométricos nos permiten aplicar transformaciones a las primitivas(un conjunto de vértices) permitiendo hacer efectos como real-time tesellation, destrucción de mesh ....

    GLSL es el lenguaje de descripción de Shaders de OpenGL y en este artículo veremos cómo cargarlos, aplicarlos y pasarles parámetros. Además podréis descargar un ejemplo programado para Gnu/Linux.
    Nada que por todo lo que he leído al respecto, shader es un programa que se ejecuta sobre la gpu, y que afecta sobretodo en efectos gráficos, más que sobre, por ejemplo, los algortimos de otro tipo de bench. En el link, una review muy interesante de Tesla, nvidia sobre un core i7 extreme edition.
    Un saludo.:vayatela:

    De donde has copiado eso? :D

    No se, lo veo explicado de una forma un poco rara, por que sobretodo llamarles shaders de fragmentos a los pixel shaders uy, que cosa más rara xD.

    Las unidades de shaders unificados de las tarjetas gráficas son micorprocesadores muy simples y muy especificos, como ha dicho jordiqui de una forma un poco rara (xD) que de cara a juegos a la hora de programarlos pueden funcionar como pixel shaders, vertex shaders o geometry shaders. Son unidades que por ejemplo en el caso de nVidia cada una tiene 1 ALU y 1 FPU (mucho más simples que las de una CPU) y en el caso de ATI cada shader tiene 1 FPU y 5 ALU. Son unidades muy simples que son movidas por otra unidad a la que nVidia y ATI la suelen llamar Ultra Dispatch processor, ultra threaded processor, etc. Este se encarga de paralelizar el trabajo entre las microunidades shader lo que ocurre es que en el caso de los juegos, por como se programan, pues se puede repartir el trabajo perfectamente, no es como en una CPU que es algo más complicado.

    Tal y como vemos ahora el SuperPI no se puede ejecutar tal cual en una GPU, necesitaria emplear CUDA, stream o OpenCL, pero vamos, una GTX 275 por ejemplo con 240 FPUs y ALUs que tiene se ventila el SuperPI en un plis.



  • 11

    Hola
    Lo he sacado de t'homshardware. No obstante, hasta que no vea un test de esta tarjeta en superpi, fritzbenchmak, cinebench, cpu burn, winrar ( 200Mb) no me creo que vaya más rápido que un Xeon X7500, por ejemplo, haciendo esas pruebas. Lo afirmo de esta forma, porque mi amigo ( suj en playchess, trabaja para Intel) lo ha probado con resultados bastantes flojos. Es decir cualquier Extreme, kenstfield le ganaba en cálculo con el programa Rybka. ( Acepta hasta 2048 CPU). Si bien, como comentas si usara las FFU pues ya veríamos, aunque no creo que se pueda. Porque son dos tipos de lenguajes distintos.:mudo:
    Un saludo.



  • 12

    Buenas…....

    Por lo que he podido averiguar, SuperPi nunca podrá correr en mas de un procesador puesto que la naturaleza del algoritmo que calcula el numero Pi hace imposible que se paralelize. Se basa en divisiones y para cada decimal que calcula necesita el resto de la división inmediatamente anterior. Por eso el wPrime no calcula el numero Pi sino que hace raices cuadradas de numeros de manera paralela, pero a la postre lo que nos interesa es el numero de operaciones realizadas en un periodo de tiempo concreto que nos permita hacer comparaciones de velocidad.
    Ahora el tema esta en buscan una herramienta wPrime que permita medir en rendimiento de una GPU frente a una CPU. Os animais ?



  • 13

    @tonibaca:

    Buenas…....

    Por lo que he podido averiguar, SuperPi nunca podrá correr en mas de un procesador puesto que la naturaleza del algoritmo que calcula el numero Pi hace imposible que se paralelize. Se basa en divisiones y para cada decimal que calcula necesita el resto de la división inmediatamente anterior. Por eso el wPrime no calcula el numero Pi sino que hace raices cuadradas de numeros de manera paralela, pero a la postre lo que nos interesa es el numero de operaciones realizadas en un periodo de tiempo concreto que nos permita hacer comparaciones de velocidad.
    Ahora el tema esta en buscan una herramienta wPrime que permita medir en rendimiento de una GPU frente a una CPU. Os animais ?

    Hola
    Incluso se podría crear una rama para hacer ese tipo de Benchn, eso sí, a las Tesla de nvidia hay que darles de comer a parte.
    Un saludo.:cool:



  • 14

    @tonibaca:

    Buenas…....

    Por lo que he podido averiguar, SuperPi nunca podrá correr en mas de un procesador puesto que la naturaleza del algoritmo que calcula el numero Pi hace imposible que se paralelize. Se basa en divisiones y para cada decimal que calcula necesita el resto de la división inmediatamente anterior. Por eso el wPrime no calcula el numero Pi sino que hace raices cuadradas de numeros de manera paralela, pero a la postre lo que nos interesa es el numero de operaciones realizadas en un periodo de tiempo concreto que nos permita hacer comparaciones de velocidad.
    Ahora el tema esta en buscan una herramienta wPrime que permita medir en rendimiento de una GPU frente a una CPU. Os animais ?

    Algo me sonava a mi de haber leido que el superpi es un calculo con mucha interdependecia entre los resultados, un solo hilo que recurre a lo bestia a la cache del micro y a la ram, con lo que la grafica con muchos hilos pequenitos y sin caches parece ser que no estaria a la altura.

    Quien sabe, si se va popularizando el aprovechamiento de la grafica para otras cosas, puede que les vayan implementando mas versatilidad, talvez una memoria intermedia, talvez la posibilidad de partir instrucciones y resolverlas en varios hilos.

    Comparar CPU y GPU solo se puede en pruebas muy especificas y aun asi no sirve de referencia, son muy distintos, se puede comparar lo que tardarian en acabar un trabajo que los dos sean capaces de realizar, pero el Wprime por ejemplo igual no da una idea de lo que tardarian en recodificar un video u otros trabajos de interes.

    Salu2.

    PD:
    Las graficas con la arquitectura que conocemos hasta ahora solo pueden hacer trabajos que se puedan partir en pequeños fragmentos independientes, o que sean de por si fragmentos pequeños independientes.



  • 15

    A ver…...

    Una GPU es un procesador especializado para ejecutar determinados programas para los cuales da un rendimiento excepcional. Lo que pretenden fabricantes con Nvidia es extender el concepto de GPU hacia aplicaciones de proposito general, pero para que estas se aprovechen de este mayor rendimiento tienen que ser rediseñadas para que soporten el proceso en paralelo, lo cual no siempre es posible (como el caso de SuperPi) pero existen una gran cantidad de escenarios (creación de contenido digital, calculo científico, CAD, etc) que se pueden beneficiar ampliamente y es ahi donde Nvidia y su CUDA entran en acción.

    Por poner un ejemplo, un equipo con varias tarjetas Tesla puede alcanzar hasta 4 TeraFlops. Para poder alcanzar esta capacidad de procesamiento necesitariamos un cluster de varios cientos de nodos.



  • 16

    @tonibaca:

    A ver…...

    Una GPU es un procesador especializado para ejecutar determinados programas para los cuales da un rendimiento excepcional. Lo que pretenden fabricantes con Nvidia es extender el concepto de GPU hacia aplicaciones de proposito general, pero para que estas se aprovechen de este mayor rendimiento tienen que ser rediseñadas para que soporten el proceso en paralelo, lo cual no siempre es posible (como el caso de SuperPi) pero existen una gran cantidad de escenarios (creación de contenido digital, calculo científico, CAD, etc) que se pueden beneficiar ampliamente y es ahi donde Nvidia y su CUDA entran en acción. ...

    No si yo no preguntava, yo aclarava, y creo que ya sabemos todos bastante bien de que va el tema CUDA, el post trata de "superpi tirando de la GPU Nvidia" y de si el paralelismo masivo plantara cara a la cache masiva calculando superpi. Como comente antes se pueden hacer comparaciones especificas de pruebas concretas pero por las diferencias intrinsecas de arquitectura no se puede hacer una comparacion "global" para un ranking CPU/GPU, ha de ser un ranking para cada prueba concreta.

    @tonibaca:

    … Por poner un ejemplo, un equipo con varias tarjetas Tesla puede alcanzar hasta 4 TeraFlops. Para poder alcanzar esta capacidad de procesamiento necesitariamos un cluster de varios cientos de nodos.

    Hablamos de GPU´s CUDA´s enabled, asi se titula el post y de eso habla el foro donde se origina el rumor, las TESLA ya tienen una arquitectura distinta a las geforce, ademas las tesla cuestan un pico y CUDA pretende aprovechar las posibilidades extra de las graficas que todos ya tenemos (bueno yo no :risitas:).

    He leido el foro un poco por encima (principio y final) y por lo que dicen si que es tecnicamente posible pero es bastante dificil y complicado paralelizar el calculo superpi, y las instrucciones tan especificas de la gpu no ayudan mucho. Y por lo que dicen ya han coseguido paralelizar el calculo entre unos cuantos cores.

    " Quote:
    Originally Posted by trinibwoy
    What would be the point running a serial program on a GPU? The problem isn't cuda or opencl. The problem is that either the math isn't parallelizable or people aren't smart enough (yet) to make it so.
    ! This is correct.
    ! The math IS parallelizable. And the proof is here (already posted):
    ! http://www.xtremesystems.org/forums/…d.php?t=221773
    ! HOWEVER,
    ! It is very difficult to do. It was hard enough to parallel it into several threads for several cores. So it will be MUCH harder to parallel it into hundreds of threads for a GPU...
    ! Also GPUs right now don't have the right instruction set to be efficient with this kind of computation. (They are too specific for graphics.) So I won't be surprised if even the best of GPU implementations have trouble beating a CPU implementation.
    "

    Es natural pensar que aunque las graficas no se lleguen a hacer mas complejas en arquitectura para no robarle terreno a otros productos, o para no encarecerla fuera de la funcion que de momento es la principal (3D), pero en los nucleos nuevos seguro que se estrena microcodigo que venga a facilitar mas estos temas y a abrir nuevas posibilidades.

    Salu2,



  • 17

    @defaultuser:

    Algo me sonava a mi de haber leido que el superpi es un calculo con mucha interdependecia entre los resultados, un solo hilo que recurre a lo bestia a la cache del micro y a la ram, con lo que la grafica con muchos hilos pequenitos y sin caches parece ser que no estaria a la altura.

    Quien sabe, si se va popularizando el aprovechamiento de la grafica para otras cosas, puede que les vayan implementando mas versatilidad, talvez una memoria intermedia, talvez la posibilidad de partir instrucciones y resolverlas en varios hilos.

    Comparar CPU y GPU solo se puede en pruebas muy especificas y aun asi no sirve de referencia, son muy distintos, se puede comparar lo que tardarian en acabar un trabajo que los dos sean capaces de realizar, pero el Wprime por ejemplo igual no da una idea de lo que tardarian en recodificar un video u otros trabajos de interes.

    Ahora encuentro una respuesta lógica a toda la rama
    Gracias Default.;D



  • 18

    Hombre segun la gente del foro donde se inicia la noticia ya consiguen paralelizar el calculo entre algunos nucleos, pero entre cientos se ve que es un palizon. Ya veremos, de momento yo hasta que no vea funcionar algo …

    Salu2.



  • 19

    @defaultuser:

    Es natural pensar que aunque las graficas no se lleguen a hacer mas complejas en arquitectura para no robarle terreno a otros productos, o para no encarecerla fuera de la funcion que de momento es la principal (3D), pero en los nucleos nuevos seguro que se estrena microcodigo que venga a facilitar mas estos temas y a abrir nuevas posibilidades.

    No se, yo creo que en el futuro mejoraran algo los shaders, pues actualmente esos procesadores tienen unidades muy simples. Las unidades ALU solamente son capaces de ejecutar cosas como SIN,COS, etc, y en el caso de las ATI solo un 1/5 de la cantidad total de ALUs puede hacer eso, nada que ver con las de las CPU.

    Tal vez para juegos no haga falta más, eso si que no lo se, pero tener unidades más "amplias" si que ayudaría con CUDA y Stream seguramente.¿Puede que las nuevas gráficas tengan mejoras a ese nivel? Habrá que verlo jaja :D.





Has perdido la conexión. Reconectando a Hardlimit.