Code Monkey home page Code Monkey logo

cuda-matrix-multiplication's Introduction

CUDA Matrix Multiplication

Multiplication matrix by using CUDA

Each element of the resulting matrix in the operation of multiplication is calculated regardless of the rest, which makes it possible to paralle this operation. In this work, CUDA technology was used to parallelize calculations on the graphic processor. Each CUDA block in this work contains 16 on 16 processes, each of which has cleared one element of the resulting matrix by multiplying vectors. To calculate the acceleration, consistent time is measured on a regular processor and on a graphic one. In addition, a check of the correctness of multiplication is being verified.

To compile use nvcc kernel.cu kernel.

Каждый элемент результирующей матрицы в операции умножения вычисляется независимо от остальных, что дает возможность распаралеллить эту операцию. В этой ЛР была использована технология CUDA для распараллеливания вычислений на графическом процессоре. Каждый CUDA блок в этой ЛР вмещает в себя 16 на 16 процессов, каждый из которых вычисялет один эелемент результирующей матрицы путем умножения векторов. Для вычисления ускорения производится замер времени последовательного исполнения на обычном процессоре и на графическом. Кроме этого, выпоняется проверка корректности умножения.

Экспериментальные результаты

Эксперименты производились с использованием процессора AMD Ryzen 5 2600 и графического ускорителя NVIDIA GeForce RTX 2060.

Размер матриц Время последовательного выполнения, ms Время паралелльного выполнения, ms Ускорение
160 13 323 0.04
320 102 316 0.32
640 810 363 2.23
1280 8466 401 21.11
1600 18556 560 33.13

cuda-matrix-multiplication's People

Contributors

nikolay1998 avatar

Watchers

James Cloos avatar  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.