¿Es posible simular / emular / codificar el poder de pensamiento de una CPU en una GPU?

No estoy seguro de lo que quieres decir con “poder de pensamiento”. Personalmente, no concibo las computadoras como “máquinas pensantes”, sino como máquinas que son muy buenas para ejecutar grandes conjuntos de instrucciones simples muy rápidamente.

¿Es posible emular perfectamente el comportamiento de ejecución de programas de una CPU en una GPU? , pero puede que no sea eficiente.

Cualquier dispositivo informático completo de Turing puede emular perfectamente el comportamiento de cualquier otro, dado el tiempo suficiente y la memoria suficiente . Cualquier CPU, y cualquier GPU moderna, con sombreadores programables, ciertamente calificaría como Turing-complete.

Sin embargo, esta emulación probablemente no será eficiente . Las CPU y GPU modernas están diseñadas para ser eficientes en diferentes tipos de tareas: las CPU tienen hardware especial para la predicción de ramificaciones (averiguar cuál de las dos posibles rutas podría tomar un programa dependiendo de algunas aún desconocidas) y para administrar la memoria para una multitarea sistema operativo de forma segura. Las GPU, por otro lado, tienen hardware que es realmente eficiente para ejecutar las mismas operaciones simples una y otra vez, como sumar o multiplicar largos vectores de números.

Por lo tanto, podría escribir un programa para una CPU que emule el comportamiento de una GPU (los controladores de gráficos hacen esto por las características faltantes de chips de GPU particulares), y probablemente podría escribir un programa para una GPU que emule una CPU. Sin embargo, especialmente este último, probablemente correría extremadamente lento dada la dificultad de emular muchas características de la CPU sin hardware especializado.