Skip to content

Project for the Supercomputing course aimed at improving the resolution of computationally difficult problems—either through different algorithms and parallelization on both the CPU (using OpenMP) and the GPU (with NVIDIA's Thrust library).

Notifications You must be signed in to change notification settings

Lihsayuri/ProjetoSupercomp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ProjetoSupercomp

Authors 🙋‍♀️ 🙋‍♂️

  • Bernardo Cunha Capoferri.
  • Lívia Sayuri Makuta.

Project Statement 📍 :

You want to spend a weekend watching as many movies as possible, but there are restrictions regarding available times and the number of titles that can be watched in each category (comedy, drama, action, etc.).

Input: An integer N representing the number of available movies to watch and N triples of integers (H[i], F[i], C[i]), representing the start time, end time, and category of the i-th movie. Additionally, an integer M representing the number of categories and a list of M integers representing the maximum number of movies that can be watched in each category.

Output: An integer representing the maximum number of movies that can be watched according to the time restrictions and the maximum number allowed per category.

Descrição dos documentos do repositório:

  • Outputs : Folder containing the outputs of Part 1 of the project.
  • Parte1 : Folder containing the partial submission of Part 1 of the project.
    • aleatorizacao.cpp e aleatorizacao : Source code for the randomization strategy and its executable, respectively.
    • gulosa.cpp e gulosa : Source code for the greedy heuristic and its executable, respectively.
    • projeto.cpp e projeto : Source code for the combined greedy and random strategies and its executable, respectively.
    • meu_programa.cpp e meu_programa : Source code for the input generator and its executable, respectively.
    • callgrind.out.6975 : Callgrind output for the greedy executable.
    • callgrind.out.7748 : Callgrind output for the randomization executable.
    • callgrind.out.8941 : Callgrind output for the combined project executable.
    • RelatorioProjeto.ipynb : Partial project report.
  • Parte2 : Folder containing the final submission of the project, with the implementation of exhaustive search and parallelization.
    • Outputs : Folder containing the outputs of Part 2 of the project.
    • exaustiva.cpp and exaustiva: Source code for the parallelized exhaustive search with OpenMP and its executable, respectively.
    • exaustiva_thrust.cu and exaustiva_thrust: Source code for the parallelized exhaustive search with Thrust and its executable, respectively.
    • RelatorioProjeto.ipynb : Final project report.

Link do Drive para baixar os arquivos de entrada

About

Project for the Supercomputing course aimed at improving the resolution of computationally difficult problems—either through different algorithms and parallelization on both the CPU (using OpenMP) and the GPU (with NVIDIA's Thrust library).

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published