cuda_task1

Описание проекта

Этот проект для практики программирования на CUDA C++ и практики использования этой технологии и решения задач с помощью программирования на видеокарте. В данной проекте приведены примеры реализации решения следующих задач:

  1. Поэлементное суммирование двух векторов.
  2. Поэлементное перемножения двух векторов.
  3. Поэлементное суммирования двух матриц.
  4. Перемножения матрицы на вектор.
  5. Скалярное перемножения двух веторов.
  6. Вычисление косинуса при помощи скалярного произведения.
  7. Перемножение двух матриц.

Также в проекте предоставлены графики корреляции времени исполнения задачи от размера данных.

Примеры графиков

Screenshot Screenshot

В директории assets лежат следующee:

  • task0..6 (сами задачи которые были упомянуты ранее. В каждой из них лежит файл(ы) .png формата с самим графиком, файл(ы) формата .txt данные для постоения, файл формата .cu это файл с программой для получения фанных и файл формата .py для вывода графика по полученным данным.)
  • runner.cpp (файл для получения данных)

Установка проекта

bash

git clone https://github.com/getylman/cuda_task1

Используемые технологии

  • C++
  • CUDA
  • Python3

Сам проект в основном был написан CUDA, для получения данных для построения графиков был использован C++, для отрисовки графиков был использован Python3.

Авторы