OPS (Oxford Parallel library for Structured mesh solvers) est un langage intégré de haut niveau spécifique à un domaine pour l'écriture d'algorithmes de maillage structuré multiblocs , ainsi que la bibliothèque logicielle correspondante et les outils de traduction de code pour permettre la parallélisation automatique sur les architectures multicœurs et multicœurs. . Maillages structurés multiblocs. L'API OPS est intégrée en C/C++ et Fortran.
Ce référentiel contient l'implémentation de la bibliothèque back-end et du générateur de code, et est structuré comme suit :
ops
: Implémentation des API utilisateur et runtime OPS C/C++apps
: Exemples d'applications en C. Ce sont des exemples de code d'application utilisateur et incluent également le code parallèle cible généré par le générateur de code OPS.ops_translator
: générateur de code OPS basé sur Python/Clang/Fparser/jinja2 pour API C/C++/Fortran (nouveau moteur de génération de code). Remarque : Veuillez vous référer aux instructions fournies dans Lire la documentation. pour plus de détails sur les dépendances Python requises pour utiliser cette génération de code.ops_translator_legacy
: Générateur de code Python OPS pour API C/C++/Fortran (Ancien moteur de génération de code)scripts
: exemples de scripts pour définir des variables d'environnement et tester des applicationscmake
: fichiers d'installation de cmakemakefiles
: fichiers d'installation basés sur makefiledoc
: Documentation La documentation OPS peut être consultée sur Read the Docs.
Pour citer OPS, veuillez vous référer à l'article suivant :
IZ Reguly, GR Mudalige et MB Giles, Loop Tiling dans les codes de pochoir à grande échelle au moment de l'exécution avec OPS, dans Transactions IEEE sur les systèmes parallèles et distribués, vol. 29, non. 4, pp. 873-886, 1er avril 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}}
La méthode privilégiée pour signaler les bogues et les problèmes avec OPS consiste à soumettre un problème via le système de suivi des problèmes du référentiel. Les utilisateurs peuvent également envoyer un e-mail directement aux auteurs en contactant l'équipe OP-DSL.
Pour contribuer à OPS, veuillez suivre les étapes suivantes :
develop
du référentiel OPS Les contributions de la branche develop
seront fusionnées dans la branche master au fur et à mesure que nous créons une nouvelle version.
OPS est publié en tant que projet open source sous la licence BSD à 3 clauses. Voir le fichier intitulé LICENSE pour plus d'informations.