Evaluación de interfaces de programación modernas para el despliegue de aplicaciones en entornos computacionales heterogéneos

En el campo de la computación de alto desempeño (HPC) se han desarrollado en los últimos años diferentes frameworks e interfaces de programación modernas que han dado lugar para desarrollar diferentes tipos de pruebas en entornos computacionales heterogéneos para poder evaluar el rendimiento de esta...

Full description

Autores:
Álvarez Pérez, Anderson León
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2023
Institución:
Universidad Autónoma de Occidente
Repositorio:
RED: Repositorio Educativo Digital UAO
Idioma:
spa
OAI Identifier:
oai:red.uao.edu.co:10614/15124
Acceso en línea:
https://hdl.handle.net/10614/15124
https://red.uao.edu.co/
Palabra clave:
Ingeniería Electrónica y Telecomunicaciones
Computación heterogénea
Heterogeneous computing
Sistemas de cómputo heterogéneos
Caracterización de la portabilidad y el rendimiento
Aceleradores de hardware
Interfaces de programación paralelas
Despliegue de benchmarks
Rights
openAccess
License
Derechos reservados - Universidad Autónoma de Occidente, 2023
id REPOUAO2_41bdab9723a85cfd03f3ec4608a7ffae
oai_identifier_str oai:red.uao.edu.co:10614/15124
network_acronym_str REPOUAO2
network_name_str RED: Repositorio Educativo Digital UAO
repository_id_str
dc.title.spa.fl_str_mv Evaluación de interfaces de programación modernas para el despliegue de aplicaciones en entornos computacionales heterogéneos
title Evaluación de interfaces de programación modernas para el despliegue de aplicaciones en entornos computacionales heterogéneos
spellingShingle Evaluación de interfaces de programación modernas para el despliegue de aplicaciones en entornos computacionales heterogéneos
Ingeniería Electrónica y Telecomunicaciones
Computación heterogénea
Heterogeneous computing
Sistemas de cómputo heterogéneos
Caracterización de la portabilidad y el rendimiento
Aceleradores de hardware
Interfaces de programación paralelas
Despliegue de benchmarks
title_short Evaluación de interfaces de programación modernas para el despliegue de aplicaciones en entornos computacionales heterogéneos
title_full Evaluación de interfaces de programación modernas para el despliegue de aplicaciones en entornos computacionales heterogéneos
title_fullStr Evaluación de interfaces de programación modernas para el despliegue de aplicaciones en entornos computacionales heterogéneos
title_full_unstemmed Evaluación de interfaces de programación modernas para el despliegue de aplicaciones en entornos computacionales heterogéneos
title_sort Evaluación de interfaces de programación modernas para el despliegue de aplicaciones en entornos computacionales heterogéneos
dc.creator.fl_str_mv Álvarez Pérez, Anderson León
dc.contributor.advisor.none.fl_str_mv Mondragón Martínez, Oscar Hernán
dc.contributor.author.none.fl_str_mv Álvarez Pérez, Anderson León
dc.contributor.corporatename.spa.fl_str_mv Universidad Autónoma de Occidente
dc.subject.spa.fl_str_mv Ingeniería Electrónica y Telecomunicaciones
topic Ingeniería Electrónica y Telecomunicaciones
Computación heterogénea
Heterogeneous computing
Sistemas de cómputo heterogéneos
Caracterización de la portabilidad y el rendimiento
Aceleradores de hardware
Interfaces de programación paralelas
Despliegue de benchmarks
dc.subject.armarc.spa.fl_str_mv Computación heterogénea
dc.subject.armarc.eng.fl_str_mv Heterogeneous computing
dc.subject.proposal.spa.fl_str_mv Sistemas de cómputo heterogéneos
Caracterización de la portabilidad y el rendimiento
Aceleradores de hardware
Interfaces de programación paralelas
Despliegue de benchmarks
description En el campo de la computación de alto desempeño (HPC) se han desarrollado en los últimos años diferentes frameworks e interfaces de programación modernas que han dado lugar para desarrollar diferentes tipos de pruebas en entornos computacionales heterogéneos para poder evaluar el rendimiento de estas interfaces de programación y así aprovechar de una manera eficiente los recursos computacionales para resolver problemas científicos y/o de la industria. Esto es lo que busca sintetizar este trabajo a través de una amplia revisión de los recursos disponibles sobre el tema de la computación paralela y de alto desempeño. Se han seleccionado algunos benchmarks que dan cuenta del rendimiento de los entornos computacionales utilizados en este trabajo, que puestos en práctica proporcionan mayor claridad para identificar y desplegar el paralelismo en los algoritmos desarrollados y así tener un entendimiento de los beneficios y limitaciones de los frameworks e interfaces de programación seleccionados. Debido a que el rendimiento de las implementaciones secuenciales se ha estancado, se hace importante para los programadores conocer cómo vienen diseñados los procesadores actuales, así como estas nuevas interfaces de programación que potencian esos diseños y su estructura para beneficiar la portabilidad, la productividad y la eficiencia. Este trabajo presenta la evaluación y comparación de interfaces de programación modernas a través del despliegue de aplicaciones ejecutadas y desarrolladas en entornos computacionales heterogéneos.
publishDate 2023
dc.date.accessioned.none.fl_str_mv 2023-12-04T14:35:22Z
dc.date.available.none.fl_str_mv 2023-12-04T14:35:22Z
dc.date.issued.none.fl_str_mv 2023-10-25
dc.type.spa.fl_str_mv Trabajo de grado - Pregrado
dc.type.coarversion.fl_str_mv http://purl.org/coar/version/c_71e4c1898caa6e32
dc.type.coar.eng.fl_str_mv http://purl.org/coar/resource_type/c_7a1f
dc.type.content.eng.fl_str_mv Text
dc.type.driver.eng.fl_str_mv info:eu-repo/semantics/bachelorThesis
dc.type.redcol.eng.fl_str_mv https://purl.org/redcol/resource_type/TP
format http://purl.org/coar/resource_type/c_7a1f
dc.identifier.uri.none.fl_str_mv https://hdl.handle.net/10614/15124
dc.identifier.instname.spa.fl_str_mv Universidad Autónoma de Occidente
dc.identifier.reponame.spa.fl_str_mv Repositorio Educativo Digital
dc.identifier.repourl.spa.fl_str_mv https://red.uao.edu.co/
url https://hdl.handle.net/10614/15124
https://red.uao.edu.co/
identifier_str_mv Universidad Autónoma de Occidente
Repositorio Educativo Digital
dc.language.iso.spa.fl_str_mv spa
language spa
dc.relation.cites.spa.fl_str_mv Álvarez Pérez, A. L. (2023). Evaluación de interfaces de programación modernas para el despliegue de aplicaciones en entornos computacionales heterogéneos (Proyecto de grado). Universidad Autónoma de Occidente. Cali. Colombia. https://red.uao.edu.co/handle/10614/15124
dc.relation.references.none.fl_str_mv Alvarado Escobar, D. A., Ramírez Sierra, B. S., Sepúlveda Rodríguez, L. E., Duque Madrid, N. B., Candela Uribe, C. A., y Sánchez López, A. (septiembre 15-18, 2015). Computación de Alto Desempeño para Cálculos de Química MecanoCuántica [Sesión de conferencia]. Encuentro Internacional de Educación en Ingeniería ACOFI, Cartagena, Colombia. https://acofipapers.org/index.php/eiei/article/download/1139/1140/2245.
Artigues, V., Kormann, K., Rampp, M., y Reuter K. (2019). Evaluation of performance portability frameworks for the implementation of a particle‐in‐cell code. Concurrency and Computation Practice and Experience, 32(11), 1- 23. https://doi.org/10.1002/cpe.5640.
Castaño Roldan, G. (2021). Intel-oneAPI for Heterogeneous Computing [Tesis de maestría, Universidad Complutense de Madrid]. https://eprints.ucm.es/id/eprint/66814/.
Chang, T. (2020). Evaluation of programming models for manycore and / or heterogeneous architectures for Monte Carlo neutron transport codes [Tesis doctoral, Institut Polytechnique de Paris]. https://theses.hal.science/tel03086536/document.
Codeplay Software Ltd. (2023). ComputeCPP Community Edition.https://developer.codeplay.com/products/computecpp/ce/home/.
Codeplay Software Ltd. (2023). oneAPI for NVIDIA GPUs.https://developer.codeplay.com/products/oneapi/nvidia/2023.0.0/guid es/get-started-guide-nvidia.
Deakin, T., Price, J., Martineau, M., y McIntosh-Smith, S. (2018). Evaluating attainable memory bandwidth of parallel programming models via BabelStream. International Journal of Computational Science and Engineering, 17(3), 247-262. https://doi.org/10.1504/ijcse.2018.095847.
GitHub - AdaptiveCPP. (2023). AdaptiveCPP. https://github.com/OpenSYCL/OpenSYCL.
GitHub - Codeplay Software Ltd. (2023). Collection of samples and utilities for using ComputeCpp, Codeplay's SYCL implementation.https://github.com/codeplaysoftware/computecpp-sdk.
GitHub - CUP-ECS. (2022). CajitaFluids. https://github.com/CUP-ECS/cajitafluids.
GitHub - CUP-ECS. (2023). Beatnik. https://github.com/CUP-ECS/beatnik.
GitHub - ECP-copa. (2018). ExaMiniMD. https://github.com/ECP-copa/ExaMiniMD.
GitHub - LLNL. (2018). Kripke.https://github.com/LLNL/Kripke.
GitHub - LLNL/RAJA. (2022). Add ability to turn off vectorization #1327. LLNL/RAJA.https://github.com/LLNL/RAJA/issues/1327.
GNU. (2023). Offloading Support in GCC. https://gcc.gnu.org/wiki/Offloading.
Halver, R., Meinke, J. H., y Sutmann, G. (2020). Examining Performance Portability with Kokkos for an Ewald Sum Coulomb Solver [Sesión de conferencia]. International Conference on Parallel Processing and Applied Mathematics. Bialystok, Polonia. https://doi.org/10.1007/978-3-030-43222-5_4.
Harrell, S. L., Kitson, J., Bird, R., Pennycook, S. J., Sewall, J., Jacobsen, D., Asanza, D. N., Hsu, A., Carrillo, H., Kim, H., y Robey, R. (2018). Effective Performance Portability. IEEE, 1-13. https://doi.org/10.1109/P3HPC.2018.00006.
Hernández Ariza, M. L. (2016). Procesamiento Masivamente Paralelo de Aplicaciones Científicas en Arquitecturas Híbridas Soportado por Multi-GPU. [Tesis de maestría, Universidad Industrial de Santander]. http://tangara.uis.edu.co/biblioweb/tesis/2016/161058.pdf.
Intel Corporation. (2023). oneAPI: A New Era of Heterogeneous Computing. https://www.intel.com/content/www/us/en/developer/tools/oneapi/overview.ht ml.
Intel Corporation. (2023). Procesador Intel® Core™ i3-3250. https://www.intel.la/content/www/xl/es/products/sku/74744/intel-core-i33250-processor-3m-cache-3-50-ghz/specifications.html.
Intel Corporation. (2023). Procesador Intel® Xeon® E5-2650 v4. https://www.intel.la/content/www/xl/es/products/sku/91767/intel-xeonprocessor-e52650-v4-30m-cache-2-20-ghz/specifications.html.
IT Creations. (2023). NVIDIA Tesla V100 16GB GPU. https://www.itcreations.com/nvidia-gpu/nvidia-tesla-v100-16gb-gpu.
Kasmeridis, I. K., y Dimakopoulos V. V. (agosto 2022). OpenMP Offloading in the Jetson Nano Platform [Sesión de conferencia]. International Conference on Parallel Processing, Bordeaux, Francia. https://doi.org/10.1145/3547276.3548517.
Khronos Group. (2023). SYCL Overview. https://www.khronos.org/sycl/.
Lawrence Livermore National Security. (2023). RAJA. https://raja.readthedocs.io/en/develop/.
Liang, X., Humos, A. A., y Pei, T. (2017). Vectorization and Parallelization of Loops in C/C++ Code. Frontiers in Education: CS and CE. https://www.jsums.edu/robotics/files/2016/12/FECS17_ProceedingsFEC3555.pdf.
LLVM. (2023). The LLVM Compiler Infrastructure. https://llvm.org.
Márquez Franco, J. D. (2022). Improving heterogenous storage performance in HPC Cloud systems using efficient storage algorithms informed by statistical models [Tesis doctoral, Universidad Autónoma de Occidente]. https://hdl.handle.net/10614/13693.
Martínez Sánchez, P. A. (2023). Mejorando el Rendimiento, la Portabilidad y Usabilidad de los Aceleradores Hardware [Tesis doctoral, Universidad de Murcia]. http://hdl.handle.net/10201/132506
National Technology & Engineering Solutions of Sandia LLC. (2014). Kokkos: The Programming Model. https://kokkos.github.io/kokkos-core-wiki/.
National Technology & Engineering Solutions of Sandia LLC. (2014). CMake Keywords. https://kokkos.github.io/kokkos-core-wiki/keywords.html#cmakekeywords.
NC State University. (s. f.). SIMD vectorization. https://arcb.csc.ncsu.edu/~mueller/cluster/ps3/SDK3.0/docs/accessibility/sdkpt/cbet_1simdvector.html.
NVIDIA. (octubre 17, 2023). CUDA C++ Programming Guide. https://docs.nvidia.com/cuda/pdf/CUDA_C_Programming_Guide.pdf.
oneAPI. (2023). oneAPI. https://www.oneapi.io.
OpenMP. (2023). Reference Guides.https://www.openmp.org/resources/refguides/.
Pandya, G., y Shkoller, S. (2023). 3D Interface Models for Rayleigh-Taylor Problems. arXiv. https://doi.org/10.48550/arXiv.2201.04538.
Peccerillo, B., Mannino, M., Mondelli, A., y Bartolini, S. (2022). A survey on hardware accelerators: Taxonomy, trends, challenges, and perspectives. Journal of Systems Architecture, 129. 1-51. https://doi.org/10.1016/j.sysarc.2022.102561.
Pennycook, S. J., Sewall, J. D., Jacobsen, D. W., Deakin, T., y McIntosh-Smith, S. (2021). Navigating Performance, Portability and Productivity. Computing in Science & Engineering, 23(5), 28-38. https://doi.org/10.1109/mcse.2021.3097276.
Pindl, P. (Julio 5, 2022). Performance Portability for HPC Applications through the RAJA abstraction layer [Sesión de conferencia]. Performance Portable Programming of HPC Applications. https://events.gwdg.de/event/243/contributions/508/attachments/144/184/RAJA_paper.pdf.
RAJA Team. (2022). A Tutorial Introduction to RAJA [Notas de la conferencia sobre RAJA]. Argonne National Laboratory. https://extremecomputingtraining.anl.gov/wpcontent/uploads/sites/96/2022/11/ATPESC-2022-Track-2c-Talk-6-ChenRaja.pdf.
Reed, D., Gannon, D., y Dongarra, J. (2022). Reinventing High Performance Computing: Challenges and Opportunities. arXiv. https://doi.org/10.48550/arXiv.2203.02544.
Reguly, I. Z., y Mudalige, G. R. (2020). Productivity, performance, and portability for computational fluid dynamics applications. Computers & Fluids, 199. 1- 44. https://doi.org/10.1016/j.compfluid.2020.104425.
Robey, R., y Zamora Y. (2021). Parallel and High-Performance Computing. Manning Publications.
Rupp, K. (2018). 50 years of Microprocessor Trend Data. GitHub. https://github.com/karlrupp/microprocessor-trend-data.
Sandia National Laboratories. (2020). The Kokkos Lectures [Notas de la clase Modulo 1 Introducción]. GitHub. Kokkos Tutorials – Lecture Series. https://github.com/kokkos/kokkostutorials/blob/main/LectureSeries/KokkosTutorial_01_Introduction.pdf>.
Smith, R. (2015). The NVIDIA GeForce GTX Titan X Review. https://www.anandtech.com/show/9059/the-nvidia-geforce-gtx-titan-xreview/2.
Song, C. (2021). Analysis on Heterogeneous Computing. Journal of Physics: Conference Series, 2031. 1-8. https://doi.org/10.1088/1742- 6596/2031/1/012049.
Su, Y. (s. f.). MTH121 Riemann sum and approximation of Pi with GeoGebra. https://www.geogebra.org/m/pS3rH3u9.
Sulaiman, D. R. (2011). Microprocessors Thermal Challenges for Portable and Embedded Systems Using Thermal Throttling Technique. Procedia Computer Science, 3, 1023-1032. https://doi.org/10.1016/j.procs.2010.12.168.
Vivas, A. (2020). Límites de la Computación Científica en Sistemas Desktop Grid [Tesis de maestría, Universidad de los Andes]. https://repositorio.uniandes.edu.co/bitstream/handle/1992/48665/u833325.pdf?sequence=1&isAllowed=y.
Wang, Y. (2011). Runge-Kutta Method. Oklahoma State University. https://math.okstate.edu/people/yqwang/teaching/math4513_fall11/Notes/rungekutta.pdf.
Wolfe, M. (2021). Performant, Portable, and Productive Parallel Programming with Standard Languages. Computing in Science & Engineering, 23(5), 39-45. https://doi.org/10.1109/mcse.2021.3097167.
dc.rights.spa.fl_str_mv Derechos reservados - Universidad Autónoma de Occidente, 2023
dc.rights.coar.fl_str_mv http://purl.org/coar/access_right/c_abf2
dc.rights.uri.eng.fl_str_mv https://creativecommons.org/licenses/by-nc-nd/4.0/
dc.rights.accessrights.eng.fl_str_mv info:eu-repo/semantics/openAccess
dc.rights.creativecommons.spa.fl_str_mv Atribución-NoComercial-SinDerivadas 4.0 Internacional (CC BY-NC-ND 4.0)
rights_invalid_str_mv Derechos reservados - Universidad Autónoma de Occidente, 2023
https://creativecommons.org/licenses/by-nc-nd/4.0/
Atribución-NoComercial-SinDerivadas 4.0 Internacional (CC BY-NC-ND 4.0)
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.extent.spa.fl_str_mv 86 páginas
dc.format.mimetype.eng.fl_str_mv application/pdf
dc.publisher.spa.fl_str_mv Universidad Autónoma de Occidente
dc.publisher.program.spa.fl_str_mv Ingeniería Electrónica y Telecomunicaciones
dc.publisher.faculty.spa.fl_str_mv Facultad de Ingeniería
dc.publisher.place.spa.fl_str_mv Cali
institution Universidad Autónoma de Occidente
bitstream.url.fl_str_mv https://red.uao.edu.co/bitstreams/972bf8a0-75ca-45e3-b903-ae8e941fae72/download
https://red.uao.edu.co/bitstreams/2c45b080-4c25-43f1-a53e-b77c0f2f59d6/download
https://red.uao.edu.co/bitstreams/9f2ef232-35c7-481c-95f5-d573d234d1ef/download
https://red.uao.edu.co/bitstreams/22e69089-4a43-4978-bb78-f464aa4a4b56/download
https://red.uao.edu.co/bitstreams/7c631de8-8126-4bb1-8c61-4323701d0d17/download
https://red.uao.edu.co/bitstreams/05614162-f18a-4e74-8887-63a406df083b/download
https://red.uao.edu.co/bitstreams/1ee629d3-2307-400e-bd7a-7da3ab537b4d/download
bitstream.checksum.fl_str_mv 9cb3ba739c479eb23981c6131d3ea230
52e595aa613c9a38635b710fd3d8470d
20b5ba22b1117f71589c7318baa2c560
1b7ffaf57294319f3195a593a0c47001
e1c06d85ae7b8b032bef47e42e4c08f9
5f69677560f7f1aa192ad0e03eaa1de3
b83ddf47a833b3d6011ac4ba1408040a
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Digital Universidad Autonoma de Occidente
repository.mail.fl_str_mv repositorio@uao.edu.co
_version_ 1828230208270893056
spelling Mondragón Martínez, Oscar Hernánvirtual::3386-1Álvarez Pérez, Anderson León258ea16dc5c71186dc31933ef625b67bUniversidad Autónoma de Occidente2023-12-04T14:35:22Z2023-12-04T14:35:22Z2023-10-25https://hdl.handle.net/10614/15124Universidad Autónoma de OccidenteRepositorio Educativo Digitalhttps://red.uao.edu.co/En el campo de la computación de alto desempeño (HPC) se han desarrollado en los últimos años diferentes frameworks e interfaces de programación modernas que han dado lugar para desarrollar diferentes tipos de pruebas en entornos computacionales heterogéneos para poder evaluar el rendimiento de estas interfaces de programación y así aprovechar de una manera eficiente los recursos computacionales para resolver problemas científicos y/o de la industria. Esto es lo que busca sintetizar este trabajo a través de una amplia revisión de los recursos disponibles sobre el tema de la computación paralela y de alto desempeño. Se han seleccionado algunos benchmarks que dan cuenta del rendimiento de los entornos computacionales utilizados en este trabajo, que puestos en práctica proporcionan mayor claridad para identificar y desplegar el paralelismo en los algoritmos desarrollados y así tener un entendimiento de los beneficios y limitaciones de los frameworks e interfaces de programación seleccionados. Debido a que el rendimiento de las implementaciones secuenciales se ha estancado, se hace importante para los programadores conocer cómo vienen diseñados los procesadores actuales, así como estas nuevas interfaces de programación que potencian esos diseños y su estructura para beneficiar la portabilidad, la productividad y la eficiencia. Este trabajo presenta la evaluación y comparación de interfaces de programación modernas a través del despliegue de aplicaciones ejecutadas y desarrolladas en entornos computacionales heterogéneos.Proyecto de grado (Ingeniero Electrónico y de Telecomunicaciones)-- Universidad Autónoma de Occidente, 2023PregradoIngeniero(a) en Electrónica y Telecomunicaciones86 páginasapplication/pdfspaUniversidad Autónoma de OccidenteIngeniería Electrónica y TelecomunicacionesFacultad de IngenieríaCaliDerechos reservados - Universidad Autónoma de Occidente, 2023https://creativecommons.org/licenses/by-nc-nd/4.0/info:eu-repo/semantics/openAccessAtribución-NoComercial-SinDerivadas 4.0 Internacional (CC BY-NC-ND 4.0)http://purl.org/coar/access_right/c_abf2Ingeniería Electrónica y TelecomunicacionesComputación heterogéneaHeterogeneous computingSistemas de cómputo heterogéneosCaracterización de la portabilidad y el rendimientoAceleradores de hardwareInterfaces de programación paralelasDespliegue de benchmarksEvaluación de interfaces de programación modernas para el despliegue de aplicaciones en entornos computacionales heterogéneosTrabajo de grado - Pregradohttp://purl.org/coar/resource_type/c_7a1fTextinfo:eu-repo/semantics/bachelorThesishttps://purl.org/redcol/resource_type/TPhttp://purl.org/coar/version/c_71e4c1898caa6e32Álvarez Pérez, A. L. (2023). Evaluación de interfaces de programación modernas para el despliegue de aplicaciones en entornos computacionales heterogéneos (Proyecto de grado). Universidad Autónoma de Occidente. Cali. Colombia. https://red.uao.edu.co/handle/10614/15124Alvarado Escobar, D. A., Ramírez Sierra, B. S., Sepúlveda Rodríguez, L. E., Duque Madrid, N. B., Candela Uribe, C. A., y Sánchez López, A. (septiembre 15-18, 2015). Computación de Alto Desempeño para Cálculos de Química MecanoCuántica [Sesión de conferencia]. Encuentro Internacional de Educación en Ingeniería ACOFI, Cartagena, Colombia. https://acofipapers.org/index.php/eiei/article/download/1139/1140/2245.Artigues, V., Kormann, K., Rampp, M., y Reuter K. (2019). Evaluation of performance portability frameworks for the implementation of a particle‐in‐cell code. Concurrency and Computation Practice and Experience, 32(11), 1- 23. https://doi.org/10.1002/cpe.5640.Castaño Roldan, G. (2021). Intel-oneAPI for Heterogeneous Computing [Tesis de maestría, Universidad Complutense de Madrid]. https://eprints.ucm.es/id/eprint/66814/.Chang, T. (2020). Evaluation of programming models for manycore and / or heterogeneous architectures for Monte Carlo neutron transport codes [Tesis doctoral, Institut Polytechnique de Paris]. https://theses.hal.science/tel03086536/document.Codeplay Software Ltd. (2023). ComputeCPP Community Edition.https://developer.codeplay.com/products/computecpp/ce/home/.Codeplay Software Ltd. (2023). oneAPI for NVIDIA GPUs.https://developer.codeplay.com/products/oneapi/nvidia/2023.0.0/guid es/get-started-guide-nvidia.Deakin, T., Price, J., Martineau, M., y McIntosh-Smith, S. (2018). Evaluating attainable memory bandwidth of parallel programming models via BabelStream. International Journal of Computational Science and Engineering, 17(3), 247-262. https://doi.org/10.1504/ijcse.2018.095847.GitHub - AdaptiveCPP. (2023). AdaptiveCPP. https://github.com/OpenSYCL/OpenSYCL.GitHub - Codeplay Software Ltd. (2023). Collection of samples and utilities for using ComputeCpp, Codeplay's SYCL implementation.https://github.com/codeplaysoftware/computecpp-sdk.GitHub - CUP-ECS. (2022). CajitaFluids. https://github.com/CUP-ECS/cajitafluids.GitHub - CUP-ECS. (2023). Beatnik. https://github.com/CUP-ECS/beatnik.GitHub - ECP-copa. (2018). ExaMiniMD. https://github.com/ECP-copa/ExaMiniMD.GitHub - LLNL. (2018). Kripke.https://github.com/LLNL/Kripke.GitHub - LLNL/RAJA. (2022). Add ability to turn off vectorization #1327. LLNL/RAJA.https://github.com/LLNL/RAJA/issues/1327.GNU. (2023). Offloading Support in GCC. https://gcc.gnu.org/wiki/Offloading.Halver, R., Meinke, J. H., y Sutmann, G. (2020). Examining Performance Portability with Kokkos for an Ewald Sum Coulomb Solver [Sesión de conferencia]. International Conference on Parallel Processing and Applied Mathematics. Bialystok, Polonia. https://doi.org/10.1007/978-3-030-43222-5_4.Harrell, S. L., Kitson, J., Bird, R., Pennycook, S. J., Sewall, J., Jacobsen, D., Asanza, D. N., Hsu, A., Carrillo, H., Kim, H., y Robey, R. (2018). Effective Performance Portability. IEEE, 1-13. https://doi.org/10.1109/P3HPC.2018.00006.Hernández Ariza, M. L. (2016). Procesamiento Masivamente Paralelo de Aplicaciones Científicas en Arquitecturas Híbridas Soportado por Multi-GPU. [Tesis de maestría, Universidad Industrial de Santander]. http://tangara.uis.edu.co/biblioweb/tesis/2016/161058.pdf.Intel Corporation. (2023). oneAPI: A New Era of Heterogeneous Computing. https://www.intel.com/content/www/us/en/developer/tools/oneapi/overview.ht ml.Intel Corporation. (2023). Procesador Intel® Core™ i3-3250. https://www.intel.la/content/www/xl/es/products/sku/74744/intel-core-i33250-processor-3m-cache-3-50-ghz/specifications.html.Intel Corporation. (2023). Procesador Intel® Xeon® E5-2650 v4. https://www.intel.la/content/www/xl/es/products/sku/91767/intel-xeonprocessor-e52650-v4-30m-cache-2-20-ghz/specifications.html.IT Creations. (2023). NVIDIA Tesla V100 16GB GPU. https://www.itcreations.com/nvidia-gpu/nvidia-tesla-v100-16gb-gpu.Kasmeridis, I. K., y Dimakopoulos V. V. (agosto 2022). OpenMP Offloading in the Jetson Nano Platform [Sesión de conferencia]. International Conference on Parallel Processing, Bordeaux, Francia. https://doi.org/10.1145/3547276.3548517.Khronos Group. (2023). SYCL Overview. https://www.khronos.org/sycl/.Lawrence Livermore National Security. (2023). RAJA. https://raja.readthedocs.io/en/develop/.Liang, X., Humos, A. A., y Pei, T. (2017). Vectorization and Parallelization of Loops in C/C++ Code. Frontiers in Education: CS and CE. https://www.jsums.edu/robotics/files/2016/12/FECS17_ProceedingsFEC3555.pdf.LLVM. (2023). The LLVM Compiler Infrastructure. https://llvm.org.Márquez Franco, J. D. (2022). Improving heterogenous storage performance in HPC Cloud systems using efficient storage algorithms informed by statistical models [Tesis doctoral, Universidad Autónoma de Occidente]. https://hdl.handle.net/10614/13693.Martínez Sánchez, P. A. (2023). Mejorando el Rendimiento, la Portabilidad y Usabilidad de los Aceleradores Hardware [Tesis doctoral, Universidad de Murcia]. http://hdl.handle.net/10201/132506National Technology & Engineering Solutions of Sandia LLC. (2014). Kokkos: The Programming Model. https://kokkos.github.io/kokkos-core-wiki/.National Technology & Engineering Solutions of Sandia LLC. (2014). CMake Keywords. https://kokkos.github.io/kokkos-core-wiki/keywords.html#cmakekeywords.NC State University. (s. f.). SIMD vectorization. https://arcb.csc.ncsu.edu/~mueller/cluster/ps3/SDK3.0/docs/accessibility/sdkpt/cbet_1simdvector.html.NVIDIA. (octubre 17, 2023). CUDA C++ Programming Guide. https://docs.nvidia.com/cuda/pdf/CUDA_C_Programming_Guide.pdf.oneAPI. (2023). oneAPI. https://www.oneapi.io.OpenMP. (2023). Reference Guides.https://www.openmp.org/resources/refguides/.Pandya, G., y Shkoller, S. (2023). 3D Interface Models for Rayleigh-Taylor Problems. arXiv. https://doi.org/10.48550/arXiv.2201.04538.Peccerillo, B., Mannino, M., Mondelli, A., y Bartolini, S. (2022). A survey on hardware accelerators: Taxonomy, trends, challenges, and perspectives. Journal of Systems Architecture, 129. 1-51. https://doi.org/10.1016/j.sysarc.2022.102561.Pennycook, S. J., Sewall, J. D., Jacobsen, D. W., Deakin, T., y McIntosh-Smith, S. (2021). Navigating Performance, Portability and Productivity. Computing in Science & Engineering, 23(5), 28-38. https://doi.org/10.1109/mcse.2021.3097276.Pindl, P. (Julio 5, 2022). Performance Portability for HPC Applications through the RAJA abstraction layer [Sesión de conferencia]. Performance Portable Programming of HPC Applications. https://events.gwdg.de/event/243/contributions/508/attachments/144/184/RAJA_paper.pdf.RAJA Team. (2022). A Tutorial Introduction to RAJA [Notas de la conferencia sobre RAJA]. Argonne National Laboratory. https://extremecomputingtraining.anl.gov/wpcontent/uploads/sites/96/2022/11/ATPESC-2022-Track-2c-Talk-6-ChenRaja.pdf.Reed, D., Gannon, D., y Dongarra, J. (2022). Reinventing High Performance Computing: Challenges and Opportunities. arXiv. https://doi.org/10.48550/arXiv.2203.02544.Reguly, I. Z., y Mudalige, G. R. (2020). Productivity, performance, and portability for computational fluid dynamics applications. Computers & Fluids, 199. 1- 44. https://doi.org/10.1016/j.compfluid.2020.104425.Robey, R., y Zamora Y. (2021). Parallel and High-Performance Computing. Manning Publications.Rupp, K. (2018). 50 years of Microprocessor Trend Data. GitHub. https://github.com/karlrupp/microprocessor-trend-data.Sandia National Laboratories. (2020). The Kokkos Lectures [Notas de la clase Modulo 1 Introducción]. GitHub. Kokkos Tutorials – Lecture Series. https://github.com/kokkos/kokkostutorials/blob/main/LectureSeries/KokkosTutorial_01_Introduction.pdf>.Smith, R. (2015). The NVIDIA GeForce GTX Titan X Review. https://www.anandtech.com/show/9059/the-nvidia-geforce-gtx-titan-xreview/2.Song, C. (2021). Analysis on Heterogeneous Computing. Journal of Physics: Conference Series, 2031. 1-8. https://doi.org/10.1088/1742- 6596/2031/1/012049.Su, Y. (s. f.). MTH121 Riemann sum and approximation of Pi with GeoGebra. https://www.geogebra.org/m/pS3rH3u9.Sulaiman, D. R. (2011). Microprocessors Thermal Challenges for Portable and Embedded Systems Using Thermal Throttling Technique. Procedia Computer Science, 3, 1023-1032. https://doi.org/10.1016/j.procs.2010.12.168.Vivas, A. (2020). Límites de la Computación Científica en Sistemas Desktop Grid [Tesis de maestría, Universidad de los Andes]. https://repositorio.uniandes.edu.co/bitstream/handle/1992/48665/u833325.pdf?sequence=1&isAllowed=y.Wang, Y. (2011). Runge-Kutta Method. Oklahoma State University. https://math.okstate.edu/people/yqwang/teaching/math4513_fall11/Notes/rungekutta.pdf.Wolfe, M. (2021). Performant, Portable, and Productive Parallel Programming with Standard Languages. Computing in Science & Engineering, 23(5), 39-45. https://doi.org/10.1109/mcse.2021.3097167.Comunidad generalPublicationhttps://scholar.google.com/citations?user=oD3MzGcAAAAJ&hl=esvirtual::3386-10000-0002-5772-6545virtual::3386-1https://scienti.minciencias.gov.co/cvlac/visualizador/generarCurriculoCv.do?cod_rh=0001099140virtual::3386-112461af9-e662-45ff-8b8a-4266f2973120virtual::3386-112461af9-e662-45ff-8b8a-4266f2973120virtual::3386-1ORIGINALT10879_Evaluación de interfaces de programación modernas para el despliegue de aplicaciones en entornos computacionales heterogéneos.pdfT10879_Evaluación de interfaces de programación modernas para el despliegue de aplicaciones en entornos computacionales heterogéneos.pdfTexto archivo completo del trabajo de grado. PDFapplication/pdf1451920https://red.uao.edu.co/bitstreams/972bf8a0-75ca-45e3-b903-ae8e941fae72/download9cb3ba739c479eb23981c6131d3ea230MD51TA10879_Autorización trabajo de grado.pdfTA10879_Autorización trabajo de grado.pdfAutorización publicación del trabajo de gradoapplication/pdf879865https://red.uao.edu.co/bitstreams/2c45b080-4c25-43f1-a53e-b77c0f2f59d6/download52e595aa613c9a38635b710fd3d8470dMD52LICENSElicense.txtlicense.txttext/plain; charset=utf-81665https://red.uao.edu.co/bitstreams/9f2ef232-35c7-481c-95f5-d573d234d1ef/download20b5ba22b1117f71589c7318baa2c560MD53TEXTT10879_Evaluación de interfaces de programación modernas para el despliegue de aplicaciones en entornos computacionales heterogéneos.pdf.txtT10879_Evaluación de interfaces de programación modernas para el despliegue de aplicaciones en entornos computacionales heterogéneos.pdf.txtExtracted texttext/plain96938https://red.uao.edu.co/bitstreams/22e69089-4a43-4978-bb78-f464aa4a4b56/download1b7ffaf57294319f3195a593a0c47001MD54TA10879_Autorización trabajo de grado.pdf.txtTA10879_Autorización trabajo de grado.pdf.txtExtracted texttext/plain2https://red.uao.edu.co/bitstreams/7c631de8-8126-4bb1-8c61-4323701d0d17/downloade1c06d85ae7b8b032bef47e42e4c08f9MD56THUMBNAILT10879_Evaluación de interfaces de programación modernas para el despliegue de aplicaciones en entornos computacionales heterogéneos.pdf.jpgT10879_Evaluación de interfaces de programación modernas para el despliegue de aplicaciones en entornos computacionales heterogéneos.pdf.jpgGenerated Thumbnailimage/jpeg6649https://red.uao.edu.co/bitstreams/05614162-f18a-4e74-8887-63a406df083b/download5f69677560f7f1aa192ad0e03eaa1de3MD55TA10879_Autorización trabajo de grado.pdf.jpgTA10879_Autorización trabajo de grado.pdf.jpgGenerated Thumbnailimage/jpeg15024https://red.uao.edu.co/bitstreams/1ee629d3-2307-400e-bd7a-7da3ab537b4d/downloadb83ddf47a833b3d6011ac4ba1408040aMD5710614/15124oai:red.uao.edu.co:10614/151242024-07-26 10:49:05.846https://creativecommons.org/licenses/by-nc-nd/4.0/Derechos reservados - Universidad Autónoma de Occidente, 2023open.accesshttps://red.uao.edu.coRepositorio Digital Universidad Autonoma de Occidenterepositorio@uao.edu.coRUwgQVVUT1IgYXV0b3JpemEgYSBsYSBVbml2ZXJzaWRhZCBBdXTDs25vbWEgZGUgT2NjaWRlbnRlLCBkZSBmb3JtYSBpbmRlZmluaWRhLCBwYXJhIHF1ZSBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsYSBMZXkgMjMgZGUgMTk4MiwgbGEgTGV5IDQ0IGRlIDE5OTMsIGxhIERlY2lzacOzbiBhbmRpbmEgMzUxIGRlIDE5OTMsIGVsIERlY3JldG8gNDYwIGRlIDE5OTUgeSBkZW3DoXMgbGV5ZXMgeSBqdXJpc3BydWRlbmNpYSB2aWdlbnRlIGFsIHJlc3BlY3RvLCBoYWdhIHB1YmxpY2FjacOzbiBkZSBlc3RlIGNvbiBmaW5lcyBlZHVjYXRpdm9zLiBQQVJBR1JBRk86IEVzdGEgYXV0b3JpemFjacOzbiBhZGVtw6FzIGRlIHNlciB2w6FsaWRhIHBhcmEgbGFzIGZhY3VsdGFkZXMgeSBkZXJlY2hvcyBkZSB1c28gc29icmUgbGEgb2JyYSBlbiBmb3JtYXRvIG8gc29wb3J0ZSBtYXRlcmlhbCwgdGFtYmnDqW4gcGFyYSBmb3JtYXRvIGRpZ2l0YWwsIGVsZWN0csOzbmljbywgdmlydHVhbCwgcGFyYSB1c29zIGVuIHJlZCwgSW50ZXJuZXQsIGV4dHJhbmV0LCBpbnRyYW5ldCwgYmlibGlvdGVjYSBkaWdpdGFsIHkgZGVtw6FzIHBhcmEgY3VhbHF1aWVyIGZvcm1hdG8gY29ub2NpZG8gbyBwb3IgY29ub2Nlci4gRUwgQVVUT1IsIGV4cHJlc2EgcXVlIGVsIGRvY3VtZW50byAodHJhYmFqbyBkZSBncmFkbywgcGFzYW50w61hLCBjYXNvcyBvIHRlc2lzKSBvYmpldG8gZGUgbGEgcHJlc2VudGUgYXV0b3JpemFjacOzbiBlcyBvcmlnaW5hbCB5IGxhIGVsYWJvcsOzIHNpbiBxdWVicmFudGFyIG5pIHN1cGxhbnRhciBsb3MgZGVyZWNob3MgZGUgYXV0b3IgZGUgdGVyY2Vyb3MsIHkgZGUgdGFsIGZvcm1hLCBlbCBkb2N1bWVudG8gKHRyYWJham8gZGUgZ3JhZG8sIHBhc2FudMOtYSwgY2Fzb3MgbyB0ZXNpcykgZXMgZGUgc3UgZXhjbHVzaXZhIGF1dG9yw61hIHkgdGllbmUgbGEgdGl0dWxhcmlkYWQgc29icmUgw6lzdGUuIFBBUkFHUkFGTzogZW4gY2FzbyBkZSBwcmVzZW50YXJzZSBhbGd1bmEgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybywgcmVmZXJlbnRlIGEgbG9zIGRlcmVjaG9zIGRlIGF1dG9yIHNvYnJlIGVsIGRvY3VtZW50byAoVHJhYmFqbyBkZSBncmFkbywgUGFzYW50w61hLCBjYXNvcyBvIHRlc2lzKSBlbiBjdWVzdGnDs24sIEVMIEFVVE9SLCBhc3VtaXLDoSBsYSByZXNwb25zYWJpbGlkYWQgdG90YWwsIHkgc2FsZHLDoSBlbiBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvczsgcGFyYSB0b2RvcyBsb3MgZWZlY3RvcywgbGEgVW5pdmVyc2lkYWQgIEF1dMOzbm9tYSBkZSBPY2NpZGVudGUgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4gVG9kYSBwZXJzb25hIHF1ZSBjb25zdWx0ZSB5YSBzZWEgZW4gbGEgYmlibGlvdGVjYSBvIGVuIG1lZGlvIGVsZWN0csOzbmljbyBwb2Ryw6EgY29waWFyIGFwYXJ0ZXMgZGVsIHRleHRvIGNpdGFuZG8gc2llbXByZSBsYSBmdWVudGUsIGVzIGRlY2lyIGVsIHTDrXR1bG8gZGVsIHRyYWJham8geSBlbCBhdXRvci4gRXN0YSBhdXRvcml6YWNpw7NuIG5vIGltcGxpY2EgcmVudW5jaWEgYSBsYSBmYWN1bHRhZCBxdWUgdGllbmUgRUwgQVVUT1IgZGUgcHVibGljYXIgdG90YWwgbyBwYXJjaWFsbWVudGUgbGEgb2JyYS4K