HW 4 PageRank
Требования для запуска
- CMake 3.17 или выше.
- Компилятор с поддержкой C++17.
- Установленный BLAS и OpenMP.
- ОС на основе UNIX.
Задания
Расчёт степеней матрицы A
Используется следующие оптимизации:
- Быстрое возведение в степень
- Алгоритм Штрассена для перемножения матрицы
- OpenMP для распараллеливания циклов при использовании основных арифметических операциях
- SIMD инструкции для OpenMP
PageRank
Исходные данные были взяты отсюда. Это граф перессылки email внутри большого исследовательского института в Европе. Была произведена некоторая предобработка, чтобы выделить наиболее интересную часть. Данные анонимны, поэтому доступны только идентификаторы сотрудников.
Используется следующие оптимизации:
- OpenMP для распараллеливания циклов при использовании основных арифметических операциях
- SIMD инструкции для OpenMP
Визуализация PageRank и наивного ранжирования
Как запустить
Создать директорию: build
.
mkdir build
cmake -S . -B ./build
Выполнить CMake:
cmake --build ./build --config Release --parallel $(nproc) --target all
Запуск перечисления числа путей:
./build/graph/main_power
Запуск расчёта PageRank:
./build/graph/main_page_rank ./data/simplified.txt ./data/page_rank.txt