Estoy empezando a aprender C++ AMP y he obtenido algunos ejemplos que he creado con VS 2012 RC, pero estoy descubriendo que el rendimiento de la GPU es más lento que la CPU. Por ejemplo, los ejemplos de Kate Gregory: http://ampbook.codeplex.com/releases/view/90595 (relevante para su próximo libro http://www.gregcons.com/cppamp/). Ellos fueron demostrados por ella en una conferencia. Observé dónde obtuvo una mejora de rendimiento de ~ 5x para el ejemplo del capítulo 4 usando la GPU de su computadora portátil (creo que dijo que era una 6650) en comparación con la CPU (no estoy seguro de qué CPU tenía). He intentado probar el ejemplo yo mismo y en un par de configuraciones del sistema (como a continuación). Siempre he encontrado que la CPU es más rápida. También probé otros ejemplos y encontré lo mismo. ¿Estoy haciendo algo mal? ¿Hay alguna razón para el rendimiento más lento de lo esperado? ¿Alguien tiene un ejemplo que definitivamente mostraría que la GPU es más rápida?C++ AMP con GPU rápidas más lentas que la CPU
- Sistema 1: Intel 2600K i7 con gráficos integrados (espero que esto sea más lento)
- Sistema 2: Intel 2630QM i7 con Intel HD conmutable con AMD 6770 (lo tengo funcionando en el modo de rendimiento, por lo que debería ser el uso de la 6770)
- Sistema 3: Intel i5 750 con 2xCrossfire AMD HD 5850
Ejemplo de resultados: los resultados del proyecto en CAPÍTULO4 1.15ms CPU, GPU 2.57ms, 2.55ms GPU de baldosas.
Editar:
Doh, creo que acabo de encontrar la razón por la cual - los valores para el tamaño de las matrices se utilizan en la conferencia eran diferentes. La muestra en el sitio web usa M = N = W = 64. Si utilizo 64, 512 y 256 como lo hizo en la conferencia, obtengo el correspondiente aumento de ~ 5x en el rendimiento.
Me pregunto si [Kate Gregory] (http://stackoverflow.com/users/203458/kate-gregory) está leyendo esto. –
Si lo lee Kate, entonces creo que sería bueno actualizar el código en línea para usar los tamaños de matriz utilizados en la conferencia (http://channel9.msdn.com/Events/TechEd/Europe/2012/DEV334) - Estaba pensando que había algún problema con mi VS o la configuración del proyecto en cuanto a por qué no veía ninguna mejora :) – CarbonTwelve
¿Por qué la gente vota para cerrar esto como "fuera de tema"? ¿Qué pasa con C++ AMP, CPU, GPU y Visual Studio "fuera de tema" para Stack Overflow? –