Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Onde baixar o Code::Blocks; Vamos aprender a criar um projeto Hello World que roda no Console (Tela DOS); Vamos aprender a executar o programa; Vamos aprender a compilar um projeto MPI. Para isso aprenderemos a incluir arquivos .h e linkar com as bibliotecas lib
1
<< email: profpalin@gmail.com Prof. Marcelo Facio Palin >>
O que o Sourceforge.net? SourceForge.net o maior website do mundo voltado ao desenvolvimento de software de cdigo aberto, hospedando mais de 100.000 projetos e mais de 1.000.000 de usurios registrados com um recurso centralizado de gerenciamento de projetos, comunicaes e cdigo. SourceForge.net tem o maior repositrio de cdigo aberto e aplicaes disponvel na internet, e hospeda mais produtos de desenvolvimento de cdigo aberto que qualquer outro site ou rede no mundo. SourceForge.net prov uma grande variedade de servios para projetos hospedados e para a comunidade de Cdigo Aberto.
Download
Ao clicar sobre a palavra Sourceforge na Fig 02, o download se iniciar automaticamente. O arquivo tem o tamanho de 19.3Mb.
2
<< email: profpalin@gmail.com Prof. Marcelo Facio Palin >>
3
<< email: profpalin@gmail.com Prof. Marcelo Facio Palin >>
Console Application
Escolha a opo Console Application e clique OK.
A prxima tela somente de BoasVindas do Wizard (auxiliar para criar um projeto). Se voc marcar a opo essa tela no aparecer mais nas prximas vezes. Para quem est iniciando deixe sem marcar a opo.
4
<< email: profpalin@gmail.com Prof. Marcelo Facio Palin >>
Na tela ao lado digite o Nome do Projeto: HelloWorld Escolha em qual pasta deseja salv-lo. No meu exemplo estou salvando o projeto dentro do diretrio de projetos do .Net 2008, mas poderia ser qualquer pasta.
O Code::Blocks criar um projeto chamado HelloWorld.cbp (CBP code blocks Project). Aps essa tela voc dever indicar o compilador C++ para o projeto. Se voc instalou corretamente o Code::Blocks com o MinGW o compilador j estar definido como o GCC.
5
<< email: profpalin@gmail.com Prof. Marcelo Facio Palin >>
Caso o Code::Blocks tenha sido instalado corretamente o compilador GCC j estar definido. Observe que o cdigo compilado para depurao de cdigo sempre ficar dentro da pasta \bin\Debug e o cdigo final (Release) dentro da pasta Release. Qual a diferena entre o cdigo de Debug e o de Release?
6
<< email: profpalin@gmail.com Prof. Marcelo Facio Palin >>
COMPILAR - EXECUTAR
Na figura acima temos os botes COMPILAR, EXECUTAR e o boto que faz os dois ao mesmo tempo. Fica a seu critrio escolher entre eles e a opo no Menu Build -> Build (F9). A opo compilar e executar est no Menu Build -> Build na run (Ctrl + F9).
Tela de Sada
O code::Blocks no necessita que coloquemos a funo getchar() para parar o cdigo na tela, ele j faz isso automaticamente:
7
<< email: profpalin@gmail.com Prof. Marcelo Facio Palin >>
Depois de copiar o cdigo em MPI para o Editor, clique inverso sobre o nome do projeto e escolha Properties...
8
<< email: profpalin@gmail.com Prof. Marcelo Facio Palin >>
Code::Blocks IDE C++ - Free Programao Paralela Na figura abaixo clique no boto Projects Build options...
Primeiro clique na aba Linker Settings e depois no boto Add.. Na caixa menor chamada Add Library clique no boto (...) e v at aonde o seu arquivo mpi.lib est, indique -o e clique ok. Se surgir a pergunta: Keep this as a relative path? Clique em No. Ou seja, ele manter o caminho exato at o arquivo mpi.lib.
9
<< email: profpalin@gmail.com Prof. Marcelo Facio Palin >>
Code::Blocks IDE C++ - Free Detalhes de como deve ficar o PATH para a mpil.ib Depois de inserido o caminho para a mpi.lib se selecionar e clicar em Edit Voc ver que o caminho para a lib est completo como na figura abaixo.
Feito isso, clique OK. Pronto a biblioteca mpi.lib foi indicada para linkar.
10
<< email: profpalin@gmail.com Prof. Marcelo Facio Palin >>
Na figura abaixo temos um campo chamado Output filename. Nele voc deve indicar o diretrio aonde o .exe ser gravado. Como a pasta MPICH2\examples j est compartilhada e preparada para rodarmos o programa paralelo, troque de \bin\Debug\HelloWorld.exe para C:\Arquivos de programas\MPICH2\examples\HelloWorld_parallel.exe.
Ateno: tudo o que voc configurou valer somente para a compilao em Debug
11
<< email: profpalin@gmail.com Prof. Marcelo Facio Palin >>
Code::Blocks IDE C++ - Free Voc poder fazer o mesmo para o Release Experimente clicar em Release ...
Voc ver que as configuraes sumiram. Portanto, igual o .Net 2008, voc ter que fazer as mesmas configuraes para o Release, caso queira que o programa rode mais rpido e fique mais enxuto. Lembre-se, release = lanamento, quando o programador ir entregar o .exe final sem erros.
Clique em COMPILAR e verifique se no h ERROS!
12
<< email: profpalin@gmail.com Prof. Marcelo Facio Palin >>
COMO EXECUTAR UM PROGRAMA MPI? A tela mostra o exemplo da execuo do programa que calcula o produto escalar entre dois vetores. Lembrando que a dimenso do vetor deve ser maior que o nmero de ns do cluster, e mais, a diviso entre a dimenso pelo nmero de mquinas deve ser exato. Essa primeira verso do programa no trata desses erros. Abra o prompt no diretrio MPICH2/examples onde est o programa calc_prodescalar.exe. Digite mpiexec n 3 calc_prodescalar , onde n 3 indica que rodar em 3 mquinas o programa chamado calc_prodescalar.exe.
No Windows no necessrio digitar CPI.exe, basta somente o nome CPI. No Linux tudo CASE SENSITIVE, ou seja, devemos levar em conta at o Maiscula/Minscula.
Erros comuns
Caso o Windows pea a senha, provavelmente ocorreu um problema no registro da senha do usurio Windows com o wmpiregister.exe. Faa o registro da senha novamente. Lembrando que o Login e a senha so os mesmos do usurio Windows. E que a senha no pode ser NULA! ERRO! EXECUTAR UM PROGRAMA MPI DIRETAMENTE, SEM CHAMAR O MPIEXEC CAUSAR ERRO DE EXECUO! USE O PROMPT DO DOS E CHAME O MPIEXEC
13
<< email: profpalin@gmail.com Prof. Marcelo Facio Palin >>