Skip to content
This repository has been archived by the owner on Oct 11, 2024. It is now read-only.
/ PixiCUDA Public archive

PixiCUDA is a powerful C++ project designed for efficient multithreaded image processing on NVIDIA GPUs using CUDA. Leveraging the parallel computing capabilities of CUDA, this project enables blazing-fast execution of image processing tasks, offering significant performance improvements over traditional CPU-based approaches.

License

Notifications You must be signed in to change notification settings

TheMegistone4Ever/PixiCUDA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PixiCUDA Motion Blur Filter for images with CUDA acceleration

        — by Mykyta Kyselov (TheMegistone4Ever).

Table of Contents

  1. Getting Started
    1. Deploying the Software
    2. Purpose of Development
  2. Preparing to Work with the Software
    1. System Requirements
    2. Software Requirements
  3. Running the Program
    1. The main page of the PixiCUDA
      1. An example of CPU usage
      2. An example of GPU (CUDA) usage with 64 threads per block
      3. Graph of acceleration of the parallel algorithm
      4. An example of benchmark usage
  4. License

1. Getting Started

1.1 Deploying the Software

To deploy the motion blur filter application, follow these steps:

  • Install CUDA Toolkit 12.2 or later from the official NVIDIA website.

  • Install the latest version of CMake.

  • Install the latest version of Visual Studio.

  • Build the OpenCV library from source with CUDA 12.2 or later support for Visual Studio you have installed. The instructions for building OpenCV with CUDA support can be found here.

  • Create a new CUDA 12.2 (or or later) Runtime project in Visual Studio or another C++ environment and clone the PixiCUDA repository:

    git clone https://github.com/TheMegistone4Ever/PixiCUDA.git

  • Open the project in Visual Studio.

  • Edit path to images in main.cpp file.

  • Build the project in Visual Studio into an executable (.exe) file.

  • Run the application.

  • Select needed parameters. Application will create a new image with motion blur effect.

  • Enjoy the result!

1.2 Purpose of Development

The development aims to provide users with a simple and fast way to apply motion blur effect to images using CUDA acceleration. The application is designed to be user-friendly and easy to use. The application is intended for users who want to apply motion blur effect to images with CUDA acceleration. It also providef usual CPU version of motion blur filter for time comparison.

2 Preparing to Work with the Software

2.1 System Requirements

Minimum Hardware Configuration:

Recommended Hardware Configuration:

2.2 Software Requirements

Minimum Software Configuration:

3 Running the Program

Launch the motion blur filter application PixiCUDA by running the PixiCUDA.exe file, located in the PixiCUDA.zip in release, and you will be presented with the main window of the application. You can also select the needed image and paste it in the images folder in the project directory. Rename it to to_launch.png and run the application.

3.1 The main page of the PixiCUDA

3.1.1 An example of CPU usage

Example of CPU usage

3.1.2 An example of GPU (CUDA) usage with 64 threads per block

Example of GPU (CUDA) usage with 64 threads per block

3.1.3 Graph of acceleration of the parallel algorithm

Graph of acceleration of the parallel algorithm

3.1.4 An example of benchmark usage

Example of benchmark usage

4 License

The project is licensed under the CC BY-NC 4.0 License.

About

PixiCUDA is a powerful C++ project designed for efficient multithreaded image processing on NVIDIA GPUs using CUDA. Leveraging the parallel computing capabilities of CUDA, this project enables blazing-fast execution of image processing tasks, offering significant performance improvements over traditional CPU-based approaches.

Resources

License

Stars

Watchers

Forks

Packages

No packages published