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
Кафедра системного программирования СПбГУ