В данной работе проводятся сравнения CPU и GPU архитектур на примере умножения разреженной матрицы на вектор. Исследования охватывают несколько форматов хранения разреженной матрицы и соответственно несколько алгоритмов. Результаты приводятся в виде графиков. Вычисления проводились для данных с двойной точностью. Дополнительной целью работы являлась оптимизация алгоритмов для достижения производительности, сравнимой с библиотечными (MKL, cuSPARSE).