Hagas lo que hagas, calcular el siguiente estado para un autómata celular requiere tantos cálculos como celdas en el autómata. Por lo tanto, para obtener un tiempo constante, necesita tantos núcleos informáticos como celdas.
El número de estos en GPU es actualmente de unos pocos miles, mientras que el cálculo del siguiente estado es tan simple que espero que el resultado esté vinculado a IO, es decir, puede obtener una muy buena aproximación del tiempo necesario simplemente considerando el se necesita movimiento de datos (y si no es una buena aproximación, la implementación tiene una ineficiencia o la arquitectura no es adecuada, pero eso sería muy sorprendente).
Para FPGA, la pregunta es más difícil y probablemente dependerá de la combinación de unidades de memoria y cálculo disponibles. Si no estoy demasiado lejos, no tendrás suficiente memoria para mantener ocupadas todas las unidades y si confías en la memoria externa, estás en el mismo asiento que la GPU, el ancho de banda de la memoria será el factor limitante y no se sorprenderá si la conclusión es que no hay ventaja sobre la GPU. (Tenga en cuenta que si bien trabajé con FPGA, fue hace años, ahora puede haber modelos FPGA con una combinación correcta).
ASIC ofrece más flexibilidad. Puede tener fácilmente una implementación similar a la sistólica (pero con el flujo de datos bidireccional, algunos sistólicos generalmente están restringidos al flujo de datos unidireccional), cada celda física es una lógica: un poco de memoria y la lógica necesaria para calcular su próximo estado y se presenta para que sea vecino físico es lógico. Obviamente estás en el reino del tiempo constante. Dependiendo de las macros duras que tenga, puede ser mejor ser un poco menos obvio y tener células físicas que reagrupen varias lógicas. El objetivo es maximizar lo que se hace en un chip, en otras palabras, minimizar la comunicación con el exterior del chip tan pronto como sus necesidades de comunicación sean proporcionales al número de celdas, tendrá un ancho de banda limitado. Sí, eso significa que si necesita mirar todas las celdas para cada paso, probablemente no seas mucho mejor que con GPU. (La personalización completa solo proporcionaría una mejor integración, es decir, más celdas por chip).
Resumen: si desea ver todos los estados intermedios, la GPU es el enfoque más efectivo; si no lo hace, necesita el volumen para justificar que un ASIC tenga algo mejor, FPGA probablemente no ofrecerá suficiente ventaja si tener alguno.