Pregunta

En las últimas veces escuché a muchas personas afirmando que el procesador celular está muerto, principalmente debido a las siguientes razones:

  • Falta de soporte en la nueva PlayStation 3, ya que el usuario no puede instalar Linux
  • El aumento del poder de procesamiento de las GPU y sus costos se hunden
  • La existencia de un enfoque de programación unificado (OPENCL) para diferentes GPU y no para el CBE (¡bueno, hoy se anunció para la celda!)
  • Carencia del mundo real Ejemplos de uso de la célula (aparte de los círculos académicos)
  • Sentimiento global de falta de éxito

¿Qué piensas? Si comenzó hace dos o tres años para programar la celda, ¿continuará con esto o está considerando cambiar a GPU? ¿Viene una nueva versión de la celda?

Gracias

¿Fue útil?

Solución

Diría que las razones de la falta de popularidad para el desarrollo celular están más cerca de:

  • La falta de éxito en la PS3 (debido a muchos errores en la parte de Sony y la fuerte competencia de la Xbox 360)
  • Bajo rendimiento de fabricación, alto costo (en parte debido al bajo rendimiento) y la falta de sistemas de hardware asequibles distintos de la PS3
  • Dificultad de desarrollo (la célula es un procesador inusual para diseñar y faltan las herramientas)
  • No lograr diferencias de rendimiento significativas en comparación con el hardware de productos básico basado en X86 existente. Incluso el procesador de arquitectura de potencia triple de varios años de Xbox 360 ha demostrado ser competitivo, en comparación con un procesador Modern Core2 Quad, las ventajas de la célula simplemente no son evidentes.
  • Aumento de la competencia de las plataformas informáticas de propósito general como CUDA como CUDA

Otros consejos

Es más fácil escribir programas paralelos para 1000 hilos que para 10s de hilos. Las GPU tienen 1000 hilos, con programación de hilos de hardware y equilibrio de carga. Aunque las GPU actuales son adecuadas principalmente para pequeños núcleos paralelos de datos, tienen herramientas que hacen que hacer tal programación trivial. Cell tiene solo unos pocos, orden de 10s, de procesadores en configuraciones de consumo. (Los derivados celulares utilizados en las supercomputadoras cruzan la línea y tienen 100 procesadores).

En mi humilde opinión, uno de los mayores problemas con la celda fue la falta de un caché de instrucciones. (Argumenté esto vociferantemente con los arquitectos celulares en un avión de la micro conferencia Barcelona en 2005. Aunque no estuvieron de acuerdo conmigo, he escuchado lo mismo de los usuarios de computadoras de Bigsuper de Cell). Las personas pueden hacer frente a los recuerdos de datos de tamaño fijo. - Las GPU tienen el mismo problema, aunque se quejan. Pero ajustar el código en la memoria de instrucciones de tamaño fijo es un dolor. Agregue una declaración IF, y el rendimiento puede caer de un acantilado porque debe comenzar a usar superposiciones. Es mucho más fácil controlar sus estructuras de datos que evitar tener que agregar código para corregir errores al final del ciclo de desarrollo.

Las GPU originalmente tenían los mismos problemas que la celda: sin cachés, ni yo ni D.

Pero las GPU hicieron más hilos, el paralelismo de datos mucho mejor que la celda, que comieron ese mercado. Dejando la celda solo es bloqueado en los clientes de la consola y códigos que eran más complicados que las GPU, pero menos complicadas que el código de la CPU. Apretado en el medio.

Y, mientras tanto, las GPU están agregando I $ y D $. Por lo tanto, se están volviendo más fáciles de programar.

¿Por qué murió celda?

1) El SDK era horrible. Vi a algunos desarrolladores muy brillantes sobre rascarse los ojos a través de las listas de correo de IBM tratando de descubrir este problema o eso con el SDK de la celda.

2) El autobús entre las unidades de cálculo estaba comenzando a mostrar problemas de escala y nunca habría llegado a 32 núcleos.

3) OpenCl fue aproximadamente 3-4 años demasiado tarde para ser de cualquier utilidad.

Si comenzó hace dos o tres años para programar la celda, ¿continuará con esto o está considerando cambiar a GPU?

Hubiera pensado que el 90% de las personas que programan el procesador celular no están en una posición en la que puedan decidir arbitrariamente dejar de programarlo. ¿Estás apuntando a esta pregunta a una comunidad de desarrollo muy específica?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top