Python vs Julia vs Matlab para programação paralela

Detalhes bibliográficos
Autor(a) principal: Monteiro, Luís Miguel Frade Ferreira
Data de Publicação: 2022
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: http://hdl.handle.net/10362/144294
Resumo: As linguagens de programação Python, Julia e Matlab são muito populares na computação científica, sendo utilizadas, em todo o mundo, para resolução de problemas de elevada complexidade podendo envolver cálculo numérico, resolução de sistemas de equações, efetuar simulações e otimizações, etc. Deste modo, estas linguagens são relevantes para engenheiros, economistas e cientistas a nível mundial, pelo que a sua utilidade se estende muito para além do meio informático. O sucesso destas linguagens está ligado, entre outros fatores, à sua facilidade de aprendizagem e utilização, à qualidade (e quantidade) das bibliotecas providenciadas e à possibilidade de utilizar de forma eficiente os recursos disponíveis para resolução de problemas. Outro aspeto relevante destas linguagens é a eficiência dos mecanismos de paralelismo oferecidos. O recurso à programação paralela tem emergido cada vez mais como um fator imprescindível na programação moderna como forma de melhorar a performance dos programas criados. Perante dúvidas levantadas sobre o desempenho destas linguagens relativamente às formas de paralelismo oferecidas, surgiu a necessidade de fazer uma análise e comparação das mesmas. Deste modo, os utilizadores poderão formar opiniões fundamentadas para decidir a que linguagem recorrer. Para avaliar e comparar o desempenho de programas nas três linguagens recorremos, nesta dissertação, ao uso de benchmarks e microbenchmarks baseados no algoritmo de otimização DMS (utilizado no contexto em que o trabalho se realiza). Fazemos também uma análise dos benefícios e desvantagens de reescrever o algoritmo, inicialmente implementado em Matlab, para Python e Julia.
id RCAP_15a66d7ed869766081d4e115f1c84647
oai_identifier_str oai:run.unl.pt:10362/144294
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling Python vs Julia vs Matlab para programação paralelaParalelismoPythonJuliaMatlabPerformanceBenchmarksDomínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaAs linguagens de programação Python, Julia e Matlab são muito populares na computação científica, sendo utilizadas, em todo o mundo, para resolução de problemas de elevada complexidade podendo envolver cálculo numérico, resolução de sistemas de equações, efetuar simulações e otimizações, etc. Deste modo, estas linguagens são relevantes para engenheiros, economistas e cientistas a nível mundial, pelo que a sua utilidade se estende muito para além do meio informático. O sucesso destas linguagens está ligado, entre outros fatores, à sua facilidade de aprendizagem e utilização, à qualidade (e quantidade) das bibliotecas providenciadas e à possibilidade de utilizar de forma eficiente os recursos disponíveis para resolução de problemas. Outro aspeto relevante destas linguagens é a eficiência dos mecanismos de paralelismo oferecidos. O recurso à programação paralela tem emergido cada vez mais como um fator imprescindível na programação moderna como forma de melhorar a performance dos programas criados. Perante dúvidas levantadas sobre o desempenho destas linguagens relativamente às formas de paralelismo oferecidas, surgiu a necessidade de fazer uma análise e comparação das mesmas. Deste modo, os utilizadores poderão formar opiniões fundamentadas para decidir a que linguagem recorrer. Para avaliar e comparar o desempenho de programas nas três linguagens recorremos, nesta dissertação, ao uso de benchmarks e microbenchmarks baseados no algoritmo de otimização DMS (utilizado no contexto em que o trabalho se realiza). Fazemos também uma análise dos benefícios e desvantagens de reescrever o algoritmo, inicialmente implementado em Matlab, para Python e Julia.Python, Julia, and Matlab are very popular in computer science worldwide for solving highly complex problems, including numerical calculation, resolution of equations systems, performing simulations and optimization, and so forth. These are essential languages for worldwide engineers, economists, and scientists, therefore used on vaster areas and not only computing. These three languages’ success is due, among other factors, to their programing and learning facility, the quality and quantity of libraries provided, and the possibility of efficiently using the available resources for problem-solving. Furthermore, these languages have efficient mechanisms for parallel programming. The use of parallel programming became essential in modern computation as a way of increasing programs' performances. Due to doubts raised concerning these languages’ performance regarding parallelism, the need to analyze and compare them emerged. This way, users can make reasoned decisions regarding which language to use. To evaluate and compare the programs’ performance in the three languages we use, in this dissertation, benchmarks and microbenchmarks based on the DMS optimization algorithm (in the context of this work). We also analyze the potential benefits and disadvantages of rewriting the optimization algorithm (initially implemented in Matlab) in Python and Julia.Duarte, VítorRUNMonteiro, Luís Miguel Frade Ferreira2022-09-27T18:11:45Z2022-022022-02-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10362/144294porinfo:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2024-03-11T05:23:51Zoai:run.unl.pt:10362/144294Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-20T03:51:28.734726Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv Python vs Julia vs Matlab para programação paralela
title Python vs Julia vs Matlab para programação paralela
spellingShingle Python vs Julia vs Matlab para programação paralela
Monteiro, Luís Miguel Frade Ferreira
Paralelismo
Python
Julia
Matlab
Performance
Benchmarks
Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
title_short Python vs Julia vs Matlab para programação paralela
title_full Python vs Julia vs Matlab para programação paralela
title_fullStr Python vs Julia vs Matlab para programação paralela
title_full_unstemmed Python vs Julia vs Matlab para programação paralela
title_sort Python vs Julia vs Matlab para programação paralela
author Monteiro, Luís Miguel Frade Ferreira
author_facet Monteiro, Luís Miguel Frade Ferreira
author_role author
dc.contributor.none.fl_str_mv Duarte, Vítor
RUN
dc.contributor.author.fl_str_mv Monteiro, Luís Miguel Frade Ferreira
dc.subject.por.fl_str_mv Paralelismo
Python
Julia
Matlab
Performance
Benchmarks
Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
topic Paralelismo
Python
Julia
Matlab
Performance
Benchmarks
Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
description As linguagens de programação Python, Julia e Matlab são muito populares na computação científica, sendo utilizadas, em todo o mundo, para resolução de problemas de elevada complexidade podendo envolver cálculo numérico, resolução de sistemas de equações, efetuar simulações e otimizações, etc. Deste modo, estas linguagens são relevantes para engenheiros, economistas e cientistas a nível mundial, pelo que a sua utilidade se estende muito para além do meio informático. O sucesso destas linguagens está ligado, entre outros fatores, à sua facilidade de aprendizagem e utilização, à qualidade (e quantidade) das bibliotecas providenciadas e à possibilidade de utilizar de forma eficiente os recursos disponíveis para resolução de problemas. Outro aspeto relevante destas linguagens é a eficiência dos mecanismos de paralelismo oferecidos. O recurso à programação paralela tem emergido cada vez mais como um fator imprescindível na programação moderna como forma de melhorar a performance dos programas criados. Perante dúvidas levantadas sobre o desempenho destas linguagens relativamente às formas de paralelismo oferecidas, surgiu a necessidade de fazer uma análise e comparação das mesmas. Deste modo, os utilizadores poderão formar opiniões fundamentadas para decidir a que linguagem recorrer. Para avaliar e comparar o desempenho de programas nas três linguagens recorremos, nesta dissertação, ao uso de benchmarks e microbenchmarks baseados no algoritmo de otimização DMS (utilizado no contexto em que o trabalho se realiza). Fazemos também uma análise dos benefícios e desvantagens de reescrever o algoritmo, inicialmente implementado em Matlab, para Python e Julia.
publishDate 2022
dc.date.none.fl_str_mv 2022-09-27T18:11:45Z
2022-02
2022-02-01T00:00:00Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10362/144294
url http://hdl.handle.net/10362/144294
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv
_version_ 1799138108196782080