Nombre Curso | Optimización de rendimiento con Cpp |
Duración Curso en Horas | 24 horas |
Descripción | Los alumnos aprenderán sobre C++: Código eficiente, Técnicas de optimización general I/O, Optimización de código, Optimización a través del compilador, Multi-proceso, memoria compartida y MPI, Vectorización y Uso e interpretación de herramientas de profiling (Callgrind, KCacheGrind, etc) |
Contenidos | |
Optimización de código | Asignaciones y desasignaciones
Soporte Run-time Conteo de instrucciones Construcciones y destrucciones Pipeline Acceso a memoria Operaciones más rápidas |
Código eficiente | Compilación, linkado y optimización
El proceso de vectorización Funciones de mejora del rendimiento Medición del rendimiento Construcciones y destrucciones Asignaciones y desasignaciones Move semantics Uso de referencias r-value std::move / std::forward Uso de hilos El uso de shared_pointers: best o worst practice |
Técnicas de optimización general I/O | Sincronizacion de streams
Ficheros binarios de gran tamaño: Formato NetCDF Formato HDF5 |
Optimización a través del compilador | Análisis y generación de reports de compilación (auto-vectorización, reducción de variables)
Flags de compilación (O2, O3, unrolling,…) Multi-proceso, memoria compartida y MPI: Multithreading: OpenMP Vectorización: simd Funciones intrínsecas del procesador (sse, avx,...) Uso e interpretación de herramientas de profiling (Callgrind, KCacheGrind, etc) |
Lista de Tags |