siddhant-vij / Concurrent-Matrix-Multiplication

Matrix multiplication using concurrency in multiple programming languages.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Concurrent Matrix Multiplication

Aims to showcase the power of concurrency and multithreading across different programming environments by implementing matrix multiplication.

The project will demonstrate how to leverage the concurrency features of Java, C++, Go, and Python to improve the performance of a computationally intensive task like matrix multiplication.


Table of Contents

  1. Features
  2. Technical Scope
  3. Installation and Usage
  4. Contributing
  5. License

Features

  • Concurrent multiplication of two matrices.
  • Dynamic input of matrix sizes and values or generation of matrices with random values.
  • Performance metrics comparing concurrent and sequential implementations.
  • Multi-language support: Java, C++, Go, and Python.

Technical Scope

  • Java: Utilizing ExecutorService and Future for managing concurrent tasks.
  • C++: Leveraging std::thread and std::future for multithreading.
  • Go: Implementing goroutines and channels for concurrent execution.
  • Python: Using concurrent.futures for threading or multiprocessing.

Installation and Usage

  1. Clone the Repository:
    git clone https://github.com/siddhant-vij/Concurrent-Matrix-Multiplication.git
  2. Navigate to Language Directory:
    cd Concurrent-Matrix-Multiplication/[language]
  3. Install Dependencies: Standard instructions to be followed for each language, if any external dependency.
  4. Build and Run the Application: Standard instructions to be followed for each language.

Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch:
    git checkout -b feature/AmazingFeature
  3. Commit your Changes:
    git commit -m 'Add some AmazingFeature'
  4. Push to the Branch:
    git push origin feature/AmazingFeature
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

About

Matrix multiplication using concurrency in multiple programming languages.

License:MIT License


Languages

Language:C++ 33.4%Language:Java 24.2%Language:Python 19.2%Language:Go 17.5%Language:CMake 5.7%