Categories
- deporte (1)
- entretenimiento (11)
- física (23)
- google SoC (19)
- informática (58)
- desarrollo web (4)
- java (2)
- motos (4)
- opinión (4)
- trabajo (9)
- ull (4)
- ulpgc (38)
- uncategorized (9)
Latest News
- Cómo hacer una interfaz web para un código científico (II)
- Cómo hacer una interfaz web para un código científico (I)
- Problemas computacionales en el SuperComputador de Canarias
- Quadpack
- Arquitectura exoterrestre
- Sistemas de control de versiones: Subversion
- Movistar y timofónica. Odisea 2008: Liberar el móvil.
- Poblaciones del Carbono bajo campo de radiación
- Tasas de absorción y emisión estimulada
- Intel Fortran Compiler
Monthly archives
- November 2009
- June 2009
- May 2009
- November 2008
- June 2008
- May 2008
- April 2008
- February 2008
- November 2007
- October 2007
- September 2007
- March 2007
- February 2007
- November 2006
- October 2006
- August 2006
- July 2006
- June 2006
- May 2006
- April 2006
- March 2006
- February 2006
- January 2006
Links
Blogroll
Universidad
Search
Gprof: Uso básico para efectuar profiling
En este post describiré el modo de utilizar gprof para realizar el profiling de un programa.
Para empezar, debes contar con un compilador como gcc o g95 (éste último para Fortran 95) que soporte la opción -pg. También tienes que tener instaladas las binutils, ya que el gprof viene incluido en ellas. Lo normal es que utilices todo este en un entorno Unix, Linux o Cygwin. Aunque no lo he comprobado, seguro que existen versiones para Windows más o menos funcionales.
A continuación debes compilar tu programa con la opción -pg. Si tienes un programa con muchos ficheros fuente, compila cada fichero objeto con la opción; en el enlazado no es necesaria (y posiblemente no sea adminitad).
A continuación, ejecuta tu programa. Se creará en el directorio un fichero llamado gmon.out. Este fichero contiene la información recopilada durante la ejecución.
Por último, ejecuta gprof nombre-del-ejecutable > analisis.txt. La salida de gprof será redirigida a un fichero de texto que podrás analizar con detenimiento mediante un editor de textos o un analizador gráfico (como kprof).
Eso es todo por ahora. Hay multitud de caracterÃsticas adicionales, como la posibilidad de crear grafos y visualizarlos gráficamente, aunque para ello hacen falta más herramientas. Un vistazo rapido a la Wikipedia puede proveer de la información necesaria para continuar progresando en el profiling.
Posted by dsuarez
Posted in: informática
No Comments »
October 2006
Gprof: Profiling aplicado a optimización de tiempo de ejecución
Gprof es una herramienta de profiling. El profiling consiste en registrar información sobre un programa durante su ejecución. Algunos de los datos interesantes que se pueden extraer son:
- Tiempo consumido en cada función y número de llamadas a la función.
- Grafo de llamadas a funciones, con lo que se puede determinar que funciones llaman a cuales otras.
- Número de veces que se ejecuta cada lÃnea del programa.
Al optimizar un programa, conviene conocer la Ley de Amdahl que básicamente dice lo siguiente, citado directamente de la Wikipedia: “La mejora obtenida en el rendimiento de un sistema debido a la alteración de uno de sus componentes está limitada por la fracción de tiempo que se utiliza dicho componente”. En la siguiente ecuación, Fm es el tiempo del componente que se mejora, y Am es el factor de mejora del componente. Por ejemplo, Si Am=2 entonces el tiempo empleado para realizar la tarea que tardaba Fm es ahora Fm/2.

Gracias a gprof podemos averiguar cuales son las funciones donde el programa consume la mayor parte del tiempo (se dice que el 80% del tiempo de ejecución se consume en un 20% del código: regla 80/20) y por tanto, aquellas que merece la pena optimizar para mejorar el rendimiento global del programa en cuestión.
En un post futuro publicaré una pequeña guÃa de utilización. Hasta entonces.
Posted by dsuarez
Posted in: informática, pfc
No Comments »
October 2006
Decepción
Mi estancia como Technical Student en el CERN no pinta tan bien como esperaba. Me han comunicado que he sido asignado al DSU o Unidad de Servicios de Departamento, y que estaré asignado a un proyecto relativo a la biblioteca digital del CERN.
Mi decepción es debida a que esperaba un puesto donde tuviera que emplear mi conocimientos de programación numérica, trabajo con clusteres o con el grid; en fin, algo relacionado con mis intereses profesionales.
Ahora mismo estoy a la espera de que me comuniquen mi tarea con más detalle para decidirme definitivamente.
Posted by dsuarez
Posted in: informática, trabajo
No Comments »
October 2006
Programa Technical Student en el CERN
El CERN es el Consejo Europeo para la Investigación Nuclear (Conseil Européen pour la Recherche Nucléaire). El CERN recibe fondos de muchos de los paises europeos (España incluida) y en sus instalaciones se investiga principalmente sobre fÃsica de partÃculas. Es uno de los más importantes laboratorios de investigación del mundo.
Las instalaciones se encuentran principalmente en Ginebra, Suiza; Aunque por su extensión (el LHC o Large Hadron Collider tiene 27 km de circunferencia) algunas de sus instalaciones se encuentran en Francia.
El programa para el que me han aceptado consiste en un periodo de entre 6 y 12 meses de trabajo en alguno de los proyectos del CERN. Mi intención es comenzar el 1 de noviembre y permanecer allà hasta finales de junio y volver para poder hacer los exámenes de julio.
Aun no se a que proyecto seré asignado, pero mi interés recae principalmente en el trabajo con clusteres, cómputo paralelo y computación numérica.
Posted by dsuarez
Posted in: física, informática, trabajo
No Comments »
October 2006