Abordagem para Ensino de Programação Paralela em Ambientes Heterogêneos Usando OpenCL

Authors

  • Lucas Henrique Silva Valentim PUC Minas
  • Henrique Cota de Freitas PUC Minas

DOI:

https://doi.org/10.5753/ijcae.2018.4850

Keywords:

OpenCL, programação paralela, arquiteturas paralelas, computação heterogênea, ensino

Abstract

Este artigo apresenta uma abordagem para ensino de programação paralela em ambientes heterogêneos a ser utilizada nos cursos de graduação de computação. O principal objetivo dessa abordagem é possibilitar uma transição suave entre o paradigma de programação sequencial para a programação paralela em ambientes heterogêneos, capacitando os alunos de graduação a extrair melhor desempenho das arquiteturas atuais. A linguagem de programação utilizada é OpenCL, devido a sua alta portabilidade, ser um padrão de linguagem livre de programação e por ser uma linguagem de programação paralela que possibilita utilizar todos os recursos de uma arquitetura heterogênea. A abordagem de ensino é divida em dois componentes, onde o componente introdutório aborda as principais características da linguagem de programação OpenCL, a identificação de hardware com suporte a OpenCL em um ambiente heterogêneo e a configuração do ambiente de desenvolvimento. O Componente de transição é composto por aplicações com nível de complexidade crescente, afim de possibilitar o ensino prático da programação paralela em ambientes heterogêneos.

Descargas

Los datos de descargas todavía no están disponibles.

Citas

A. Dakkak, C. Pearson and W. M. Hwu, "WebGPU: A Scalable Online Development Platform for GPU Programming Courses," 2016 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW), Chicago, IL, 2016, pp. 942-949.

I. Finlayson, J. Mueller, S. Rajapakse and D. Easterling, "Introducing Tetra: An Educational Parallel Programming System," 2015 IEEE International Parallel and Distributed Processing Symposium Workshop, Hyderabad, 2015, pp. 746-751.

S. Borkar, 2007. Thousand core chips: a technology perspective. Proceedings of Annual Design Automation Conference (DAC) pp.746-749.

R. W. Keyes, "Fundamental limits of silicon technology," in Proceedings of the IEEE, vol. 89, no. 3, pp. 227-239, Mar 2001.

C. H. Lu, C. S. Lin, H. L. Chao, J. S. Shen and P. A. Hsiung, "Reconfigurable Multi-core Architecture -- A Plausible Solution to the Von Neumann Performance Bottleneck," 2013 IEEE 7th International Symposium on Embedded Multicore Socs, Tokyo, 2013,pp.159-164. DOI: 10.1109/MCSoC.2013.32.

R. Muresano, D. Rexachs, E. Luque, "Learning parallel programming: a challenge for university students", Procedia Computer Science, Volume 1, Issue 1, 2010, pp. 875-883.

A.MUNSHI, "The opencl specification". In: Hot Chips 21 Symposium (HCS). IEEE, 2009. p. 1-314.

M. Paprzycki, "Education: Integrating Parallel and Distributed Computing in Computer Science Curricula," in IEEE Distributed Systems Online, vol. 7, no. 2, pp. 6-6, Feb. 2006

A. Marowka, "Think Parallel: Teaching Parallel Programming Today," in IEEE Distributed Systems Online, vol. 9, no. 8, pp. 1-1, Aug. 2008

A. Shafi, A. Akhtar, A. Javed and B. Carpenter, "Teaching Parallel Programming Using Java," 2014 Workshop on Education for High Performance Computing, New Orleans, LA, 2014, pp. 56-63

S. Oaks and H. Wong, Java Threads, Third Edition, 3rd ed. O’Reilly Media, Inc., 2004

R. Chandra, L. Dagum, D. Kohr, D. Maydan, J. McDonald, and R. Menon, Parallel Programming in OpenMP.Morgan Kaufmann Publishers Inc., 2001.

M. Frigo, C. E. Leiserson, and K. H. Randall, “The implementation of the Cilk-5 multithreaded language,” in Proceedings of the ACM SIGPLAN ’98 Conference on Programming Language Design and Implementation (PLDI),1998, pp. 212–223.

A. Shafi, B. Carpenter, and M. Baker, “Nested parallelism for multi-core HPC systems using Java,” Journal of Parallel and Distributed Computing, vol. 69, no. 6, pp. 532 – 545, 2009.

T. White, Hadoop: The Definitive Guide, 1st ed. O’Reilly Media, Inc., 2009

V. Kumar, A. Grama, A. Gupta, and G. Karypis, Introduction to Parallel Computing: Design and Analysis of Algorithms. Benjamin/Cummings Publishing Company, 1994.

W. Gropp, K. Kennedy, L. Torczon, A. White, J. Dongarra, I. Foster, and G. C. Fox. The Sourcebook of Parallel Computing (The Morgan Kaufmann Series in Computer Architecture and Design). Morgan Kaufmann, November 2002.

HENNESSY, John L.; PATTERSON, David A. Computer architecture: a quantitative approach. Elsevier, 2011.

FLYNN, M. J.; RUDD, K. W. Parallel Architectures. ACM Computing Surveys (CSUR), 1996,pp. 67-70 .

Published

2018-12-01

Cómo citar

Valentim, L. H. S., & Freitas, H. C. de. (2018). Abordagem para Ensino de Programação Paralela em Ambientes Heterogêneos Usando OpenCL. International Journal of Computer Architecture Education, 7(1), 11–18. https://doi.org/10.5753/ijcae.2018.4850

Issue

Section

Artículos Completos