Экспериментальное исследование библиотеки разреженной линейной алгебры, написанной на OpenCL C, на многоядерном процессоре с архитектурой RISC-V

Pocl позволяет компилировать код на OpenCL C не только под GPU, но и под некоторые CPU. В частности, под CPU с архитектурой RISC-V. Существует библиотека разреженной линейной алгебры Spla, разрабатываемая на кафедре. Она написана на OpenCL и отлично работает GPU различных вендоров (Nvidia, AMD, Intel). На сколько хорошо она будет работать на многоядерном процессоре с архитектурой RISC-V? Для этого необходимо научиться собирать её с использованием Pocl, проверить корректность работы, сравнить производительность алгоритмов, написанных с использованием Spla, с аналогичными, написанными с использованием SuiteSparse:GraphBLAS. Проанализировать результаты замеров.

В ходе работы необходимо обратить внимание, что существуют разные способы поддержки параллельности на CPU в Pocl. Например, существует дефолтное решение на TBB и альтернатива в виде Pocl OpenMP. Нужно будет проанализировать различные способы, сравнить их.

Требования к студенту
  • Отличные знания С и/или С++ и соответствующего инструментария: системы сборки, тестирования, проверки качества кода, отладчики, профилировщики.
  • Понимание принципов (кросс)компиляции, устройства компилятора, смысла отдельных шагов компиляции.
  • Навыки постановки эксперимента: элементарная статистика, подготовка окружения, проведение замеров.
Уровень

2 курс, 3 курс


Руководитель

Григорьев Семен Вячеславович


Консультант

Grigorev Semyon


Источник

Кафедра системного программирования СПбГУ