OPS (Perpustakaan Paralel Oxford untuk Pemecah mesh terstruktur) adalah bahasa khusus domain tertanam tingkat tinggi untuk menulis algoritma mesh terstruktur multi-blok , dan perpustakaan perangkat lunak yang sesuai serta alat terjemahan kode untuk mengaktifkan paralelisasi otomatis pada arsitektur multi-inti dan banyak-inti . Jerat terstruktur multi-blok. OPS API tertanam di C/C++ dan Fortran.
Repositori ini berisi implementasi perpustakaan back-end dan generator kode, dan disusun sebagai berikut:
ops
: Implementasi API OPS C/C++ pengguna dan run-timeapps
: Contoh aplikasi di C. Ini adalah contoh kode aplikasi pengguna dan juga mencakup kode paralel target yang dihasilkan oleh generator kode OPS.ops_translator
: Generator kode OPS berbasis Python/Clang/Fparser/jinja2 untuk C/C++/Fortran API (Mesin pembuat kode baru). Catatan: Silakan lihat petunjuk yang diberikan di Baca Dokumen. untuk detail tentang dependensi Python yang diperlukan untuk memanfaatkan pembuatan kode ini.ops_translator_legacy
: Generator kode OPS Python untuk C/C++/Fortran API (mesin pembuat kode lama)scripts
: contoh skrip untuk mengatur variabel lingkungan dan menguji aplikasicmake
: file instalasi cmakemakefiles
: file instalasi berbasis makefiledoc
: Dokumentasi Dokumentasi OPS dapat dilihat di Baca Dokumen.
Untuk mengutip OPS, silakan merujuk pada makalah berikut:
IZ Reguly, GR Mudalige dan MB Giles, Loop Tiling dalam Kode Stensil Skala Besar saat Run-Time dengan OPS, dalam Transaksi IEEE pada Sistem Paralel dan Terdistribusi, vol. 29, tidak. 4, hlm.873-886, 1 April 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}}
Metode yang lebih disukai untuk melaporkan bug dan masalah dengan OPS adalah dengan mengirimkan masalah melalui pelacak masalah repositori. Pengguna juga dapat mengirim email langsung kepada penulis dengan menghubungi tim OP-DSL.
Untuk berkontribusi pada OPS silakan gunakan langkah-langkah berikut:
develop
repositori OPS Kontribusi di cabang develop
akan digabungkan ke dalam cabang master saat kami membuat rilis baru.
OPS dirilis sebagai proyek sumber terbuka di bawah Lisensi 3-Klausul BSD. Lihat file bernama LISENSI untuk informasi lebih lanjut.