OPS (Оксфордская параллельная библиотека для решателей структурированных сеток) — это встроенный предметно-ориентированный язык высокого уровня для написания алгоритмов многоблочной структурированной сетки , а также соответствующая программная библиотека и инструменты перевода кода для обеспечения автоматического распараллеливания в многоядерных и многоядерных архитектурах. . Многоблочные структурированные сетки. API OPS встроен в C/C++ и Fortran.
Этот репозиторий содержит реализацию внутренней библиотеки и генератора кода и имеет следующую структуру:
ops
: реализация пользовательских и рабочих API-интерфейсов OPS C/C++.apps
: примеры приложений на языке C. Это примеры кода пользовательских приложений, а также целевой параллельный код, сгенерированный генератором кода OPS.ops_translator
: генератор кода OPS на основе Python/Clang/Fparser/jinja2 для API C/C++/Fortran (новый механизм генерации кода). Примечание. См. инструкции, приведенные в разделе «Чтение документации». для получения подробной информации о зависимостях Python, необходимых для использования этой генерации кода.ops_translator_legacy
: Генератор кода Python OPS для API C/C++/Fortran (старый механизм генерации кода)scripts
: примеры сценариев для установки переменных среды и тестирования приложений.cmake
: установочные файлы cmakemakefiles
: установочные файлы на основе makefile.doc
: Документация Документацию OPS можно просмотреть на сайте Read the Docs.
Чтобы процитировать OPS, обратитесь к следующей статье:
И.З. Регули, Г.Р. Мудалиге и М.Б. Джайлз, Мозаика циклов в крупномасштабных трафаретных кодах во время выполнения с OPS, в IEEE Transactions on Parallel and Distributed Systems, vol. 29, нет. 4, стр. 873–886, 1 апреля 2018 г., doi: 10.1109/TPDS.2017.2778161.
@ARTICLE{Reguly_et_al_2018,
author={Reguly, István Z. and Mudalige, Gihan R. and Giles, Michael B.},
journal={IEEE Transactions on Parallel and Distributed Systems},
title={Loop Tiling in Large-Scale Stencil Codes at Run-Time with OPS},
year={2018},
volume={29},
number={4},
pages={873-886},
doi={10.1109/TPDS.2017.2778161}}
Предпочтительный метод сообщения об ошибках и проблемах с OPS — отправить сообщение о проблеме через систему отслеживания ошибок репозитория. Пользователи также могут отправить электронное письмо авторам напрямую, связавшись с командой OP-DSL.
Чтобы внести свой вклад в OPS, выполните следующие действия:
develop
репозитория OPS. Вклады из ветки develop
будут объединены с веткой master по мере создания нового выпуска.
OPS выпущен как проект с открытым исходным кодом под лицензией BSD с 3 пунктами. Дополнительную информацию смотрите в файле LICENSE.