2011-07-24 8 views

Respuesta

1

El análisis utilización de la CPU y roscado comprobador de error pueden ser no en la misma herramienta. Para encontrar errores de subprocesamiento, se necesita un gran análisis de los accesos a la memoria. Puedo nombrar Helgrind de valngrind http://valgrind.org/docs/manual/hg-manual.html y Google threadSanitizer, tsan (basado en Helgrind) http://code.google.com/p/data-race-test/wiki/ThreadSanitizer. Ambas herramientas hacen una instrumentación de tiempo de ejecución de código a través del marco de modificación de código dinámico libVEX de valgrind. Esto conduce a una gran desaceleración, p. para Helgrind (de hg-manual):

El rendimiento puede ser muy pobre. desaceleraciones del orden de 100: 1 no son inusuales. Hay un alcance limitado para las mejoras de rendimiento.

Para la utilización de la CPU, debe utilizar el generador de perfiles, que afecta el rendimiento de la aplicación solo un poco (hasta 5-10%), p. oprofile o ejecución de Linux https://perf.wiki.kernel.org/index.php/Main_Page

Si los subprocesos de su aplicación se agregan mediante OpenMP, existen soluciones para analizar el equilibrio de subprocesos OMP, p. La implementación OpenMP de Intel puede registrar información como la que se muestra aquí .gvs (GuideView openmp statistics) file format

Cuestiones relacionadas