Контекст: Реализация многих высокоуровневых эффективных алгоритмов полагается в своей основе на примитивные «строительные» блоки, такие как параллельная редукция, сортировка, слияние, префиксная сумма, и т.д. OpenCL является открытым стандартом для программирования параллельных вычислений. Но в силу кросс-платформенности и меньшей популярности, для данного стандарта отсутствует устойчивая, полноценная, современная реализация озвученных ранее примитивов.
Цель: Реализовать эффективные алгоритмы для параллельной сортировки с использованием OpenCL.
Задачи:
Алгоритмы:
Публикации:
Технологии:
Для отбора необходимо решить тестовую задачу, представленную ниже, и пройти техническое интервью.
Задача.
Реализовать любой на выбор алгоритм параллельной сортировки массива целых знаковых чисел с использованием С++ и std::thread. Снабдить решение CMake файлом для сборки, описанием и комментариями. Убедиться, что предложенное решение работает быстрее, чем наивная однопоточная реализация.
Бакалаврская ВКР
Григорьев Семен Вячеславович
Grigorev Semyon
От себя лично