You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
На примере ядра BoxFilter отключить генерацию векторизованного кода и убедиться, что время исполнения увеличится. Запустить на RISC-V плате ./perf_algo --gtest_filter=*BoxFilter*
Выбрать и реализовать один из алгоритмов (см. ниже описания задач). Алгоритм может состоять из комбинации разных Halide функций. Допустимо часть алгоритма реализовывать на C++ или использовать OpenCV. Результат должен быть добавлен в виде пулл реквеста в этот репозиторий. Оценка сложности (complexity label) только оценка, задача может оказаться сложнее или легче.
Сперва, добиться корректной работы алгоритма на x86 архитектуре - так быстрее всего отладить ошибки. Затем, попробуйте скомпилировать под RISC-V, без планировщика.
Постановка задач для школы по оптимизации под RISC-V
Скачать и распаковать необходимые инструменты (для Ubuntu 22.04):
1.1 GCC: https://drive.google.com/uc?id=1U3JaUqWyRYvlhfA3lVEfwu56em-Gwonl
1.2 Halide: https://drive.google.com/uc?id=1AoOtkFPF5yQkZIUJDvebk5unekgS0ACf
Воспроизвести инструкции:
2.1 Сгенерировать ассемблер файлы (шаги 3-4, остальное пропустить): https://github.com/dkurt/halide_riscv/blob/main/README.md#generate-aot-kernels
2.2 Собрать проект для RISC-V и запустить тесты на точность/скорость: https://github.com/dkurt/halide_riscv/blob/main/README.md#build-and-go
❓ Если на каком-то из шагов по сборке проекта возникает проблема, сравните действия с тестовым скриптом: https://github.com/dkurt/halide_riscv/blob/main/.github/workflows/test.yaml
На примере ядра BoxFilter отключить генерацию векторизованного кода и убедиться, что время исполнения увеличится. Запустить на RISC-V плате
./perf_algo --gtest_filter=*BoxFilter*
Выбрать и реализовать один из алгоритмов (см. ниже описания задач). Алгоритм может состоять из комбинации разных Halide функций. Допустимо часть алгоритма реализовывать на C++ или использовать OpenCV. Результат должен быть добавлен в виде пулл реквеста в этот репозиторий. Оценка сложности (complexity label) только оценка, задача может оказаться сложнее или легче.
Сперва, добиться корректной работы алгоритма на x86 архитектуре - так быстрее всего отладить ошибки. Затем, попробуйте скомпилировать под RISC-V, без планировщика.
Применить планировщик с векторизацией для RISC-V, добиться ускорения относительно скалярного кода. Попробовать автопланировщик и сравнить с собственной версией. Добавить измерение скорости в таблицу https://github.com/dkurt/halide_riscv?tab=readme-ov-file#performance-results
The text was updated successfully, but these errors were encountered: