Programa de Formación: «Introdución á programación manycore»
O principal obxectivo desta actividade é aprender a deseñar algoritmos nos novos procesadores manycore de Intel, capaces de executar miles de operacións de forma conxunta.
Neste tipo de procesadores, acadar un gran paralelismo é esencial para lograr un rendemento aceptable. Ademais, ao ter unha arquitectura semellante á dos procesadores Intel de servidor ou sobremesa, as técnicas de paralelismo, xestión de memoria e vectorización á utilizar son transferibles a estes. Ao longo das dúas sesións nas que se desenvolverá esta actividade, describirase a arquitectura manycore de Intel e a necesidade de adaptar á programación do nosos códigos a ela, ante a previsión de que nos vindeiros anos se produza unha evolución semellante nos procesadores convencionais.
Mostraranse as técnicas de paralelización, xestión de memoria e vectorización recomendadas por Intel para obter códigos con bo rendemento e portables entre arquitecturas, mediante o uso das últimas versións de OpenMP 4.0 e o compilador icc. No caso de dispor de tempo suficiente, tamén se abordará a utilidade das ferramentas de Intel do Parallel Studio XE como VTune.
REQUIRIMENTOS
Coñecementos de C/C++
Ordenador portátil con conexión á rede da USC (Opcional: o curso poderase seguir sen necesidade de executar códigos).
Debido a que tan so se dispón de dous servidores con licenza do compilador icc (e so un con procesador Xeon Phi) a execución de códigos por parte dos asistentes será limitada, haberá 15 usuarios e non se poderá usar todo o procesador.