Skip to content

This project implements a parallel computing solution for sequence alignment using MPI, OpenMP, and CUDA. It leverages multiple parallel computing paradigms to efficiently compare DNA, RNA, or protein sequences, optimizing performance across CPUs and GPUs.

Notifications You must be signed in to change notification settings

YosiBs/Parallel_Computation_MPI_OpenMP_CUDA

Repository files navigation

MPI-OpenMP-CUDA Project

This project is a parallel computing implementation using MPI, OpenMP, and CUDA for sequence alignment.

Overview

Sequence alignment is a fundamental problem in bioinformatics, where two sequences of DNA, RNA, or protein are compared to identify regions of similarity. This project implements a parallel solution for sequence alignment using multiple parallel computing paradigms:

  • MPI (Message Passing Interface): For parallelizing tasks across multiple processes.
  • OpenMP: For parallelizing tasks within each MPI process using shared-memory multiprocessing.
  • CUDA (Compute Unified Device Architecture): For offloading compute-intensive tasks to the GPU.

Directory Structure

  • src/: Contains the source code for the project.
    • parallel_seq_alignment.c: Main program file implementing the sequence alignment algorithm.
    • cuda_part.cu: CUDA file containing GPU-accelerated functions for sequence alignment.
    • Other source files for MPI and OpenMP implementations.
  • inputs/: Contains input data files for testing the program.
  • outputs/: Contains output files generated by the program.
  • Makefile: Makefile for compiling and running the program.

Dependencies

  • MPI implementation (e.g., Open MPI)
  • CUDA Toolkit
  • Compiler supporting OpenMP directives
  • Standard C and C++ libraries

Usage

  1. Clone the repository:
  2. git clone https://github.com/your-username/mpi-openmp-cuda-project.git
  3. Navigate to the project directory:
  4. cd mpi-openmp-cuda-project
  5. Compile the program:
  6. make
  7. Run the serial version:
  8. make run_s
  9. Run the parallel version:
  10. make run_p

Authors

About

This project implements a parallel computing solution for sequence alignment using MPI, OpenMP, and CUDA. It leverages multiple parallel computing paradigms to efficiently compare DNA, RNA, or protein sequences, optimizing performance across CPUs and GPUs.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published