Usted no describe para qué sirve, así que solo voy a describir un proyecto modesto que podría encontrar interesante.
Tenga en cuenta que OpenMP es implementado por el compilador, y que hay múltiples compiladores disponibles para una plataforma determinada (por ejemplo, Linux). ¿Difieren en rendimiento? Son algunos mejores que otros? ¿Cómo se separa el rendimiento de OpenMP del rendimiento del cálculo que se está compilando? ¿Las implementaciones del compilador aprovechan, por ejemplo, la retroalimentación dirigida al perfil?
OK, aquí hay otro: probablemente sepa que todos los multiprocesadores son asimétricos hoy en día: hilos, núcleos, módulos, nodos numa. Considere cómo se podría soportar o aprovechar este tipo de estructura en un programa OpenMP. ¿Tiene sentido exponer esta estructura al programador? Si elige una arquitectura de ejemplo (por ejemplo, un sistema haswell-v2 de 4 sockets), ¿puede aproximar cualquiera de los límites de rendimiento en un código compatible con la topología en lugar de ignorarlo?
- ¿Cuál es la diferencia entre la informática y la ingeniería de software? ¿En qué empresas también, puede aterrizar con una especialización en cualquiera de estos dos?
- ¿Qué cursos separan la ingeniería informática de la informática?
- ¿Cuánta carga de trabajo más tengo si quiero duplicar la especialización en EE y CS que la especialización solo en Ingeniería de Computadores?
- Aprendí C a hacer proyectos de microcontroladores. ¿Qué debo aprender a hacer a continuación?
- ¿Cuáles son algunos sistemas basados en computadora?