OPS (ไลบรารี Oxford Parallel สำหรับตัวแก้ปัญหา mesh แบบมีโครงสร้าง) เป็นภาษาเฉพาะโดเมนแบบฝังระดับสูงสำหรับการเขียนอัลกอริธึม mesh ที่มีโครงสร้างแบบหลายบล็อก และไลบรารีซอฟต์แวร์ที่เกี่ยวข้องและเครื่องมือแปลโค้ดเพื่อเปิดใช้งานการปรับเทียบขนานอัตโนมัติบนสถาปัตยกรรมแบบ multi-core และ multi-core . ตาข่ายที่มีโครงสร้างหลายบล็อก OPS API ถูกฝังอยู่ใน C/C++ และ Fortran
พื้นที่เก็บข้อมูลนี้มีการใช้งานไลบรารีแบ็คเอนด์และเครื่องสร้างโค้ด และมีโครงสร้างดังนี้:
ops
: การใช้งาน API ของผู้ใช้และ OPS C/C++ รันไทม์apps
: ตัวอย่างแอปพลิเคชันใน C นี่คือตัวอย่างของโค้ดแอปพลิเคชันผู้ใช้ และยังรวมถึงโค้ดขนานเป้าหมายที่สร้างโดยโค้ด OPS generator rops_translator
: ตัวสร้างโค้ด OPS ที่ใช้ Python/Clang/Fparser/jinja2 สำหรับ C/C++/Fortran API (เอ็นจิ้นการสร้างโค้ดใหม่) หมายเหตุ: โปรดดูคำแนะนำที่ให้ไว้ในการอ่านเอกสาร สำหรับรายละเอียดเกี่ยวกับการพึ่งพา Python ที่จำเป็นในการใช้การสร้างโค้ดนี้ops_translator_legacy
: ตัวสร้างโค้ด Python OPS สำหรับ C/C++/Fortran API (เอ็นจิ้นการสร้างโค้ดเก่า)scripts
: สคริปต์ตัวอย่างสำหรับการตั้งค่าตัวแปรสภาพแวดล้อมและการทดสอบแอปพลิเคชันcmake
: ไฟล์การติดตั้ง cmakemakefiles
: ไฟล์การติดตั้งที่ใช้ makefiledoc
: เอกสารประกอบ สามารถดูเอกสาร OPS ได้ใน Read the Docs
หากต้องการอ้างอิง OPS โปรดอ้างอิงเอกสารต่อไปนี้:
IZ Reguly, GR Mudalige และ MB Giles, การปูกระเบื้องแบบวนซ้ำในโค้ดลายฉลุขนาดใหญ่ ณ รันไทม์ด้วย OPS ในธุรกรรม IEEE บนระบบขนานและแบบกระจาย ฉบับที่ 1 29, ไม่ใช่. 4, หน้า 873-886, 1 เมษายน 2018, ดอย: 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
จะถูกรวมเข้ากับสาขาหลักในขณะที่เราสร้างรีลีสใหม่
OPS เปิดตัวเป็นโครงการโอเพ่นซอร์สภายใต้ใบอนุญาต BSD 3-Clause ดูไฟล์ชื่อ LICENSE สำหรับข้อมูลเพิ่มเติม