GithubHelp home page GithubHelp logo

kayarasilveira / n-queens-openmp-solver Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 117 KB

Este repositório contém uma implementação em OpenMP do algoritmo de resolução do problema das N rainhas.

C 100.00%
c nqueens nqueens-problem nqueens-solution openmp

n-queens-openmp-solver's Introduction

Solução do Problema das N-Rainhas em OpenMP e MPI

Este repositório contém 2 programas para a solução do problema das N-rainhas, onde o objetivo é posicionar N rainhas em um tabuleiro de NxN de forma que nenhuma delas se ataque. O primeiro programa utiliza a biblioteca OpenMP para a paralelização do processo de resolução do problema. Já o segundo é uma extensão do primeiro com uma camada a mais de paralelismo utilizando MPI.

Compile and Run V1

O programa recebe dois argumentos na linha de comando:

  • O número de rainhas N
  • O número de threads que serão utilizadas para resolver o problema (opcional)

Para compilar o programa, execute o seguinte comando no terminal:

    gcc -fopenmp codv1.c -o codv1

Para executar o programa, use o seguinte comando:

    ./codv1 <n> <t>

Onde n é o tamanho do tabuleiro e t é o número de threads que serão utilizadas para resolver o problema. Se o argumento t não for especificado, o programa executará de forma sequencial.

Compile and Run V2

O programa recebe dois argumentos na linha de comando 3:

  • O número de processos MPI
  • O número de rainhas N
  • O número de threads que serão utilizadas para resolver o problema (opcional)

Para compilar o programa, execute o seguinte comando no terminal:

    mpicc -fopenmp codv2.c -o codv2

Para executar o programa, use o seguinte comando:

    mpirun -np <p> ./codv2 <n> <t>

Onde p é o número de processos, n é o tamanho do tabuleiro e t é o número de threads que serão utilizadas para resolver o problema. Se o argumento t não for especificado, o programa executará de forma sequencial.

Avalicação de Desempenho

Neste repositório, encontra-se o arquivo 'Avaliação de Desempenho.pdf', que apresenta uma análise comparativa entre o desempenho do programa na sua forma sequencial e na sua forma paralela, considerando diferentes números de threads. A avaliação de desempenho visa avaliar a eficiência do programa, fornecendo informações relevantes sobre o tempo de execução e o speedup alcançado em cada uma das abordagens.

Intregrantes do Grupo

  • Alessandra Rosa Galvão
  • Kayara da Silveira Pereira

Licença

Este programa é de código aberto e pode ser utilizado livremente.

n-queens-openmp-solver's People

Contributors

kayarasilveira avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.