Python vs Julia vs Matlab para programação paralela
Autor(a) principal: | |
---|---|
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 |