อ่าน 3 นาที
โบสถ์ (ภาษาโปรแกรม)
Chapelซึ่งเป็นภาษา Cascade High Productivity Languageเป็นภาษาการเขียนโปรแกรมแบบขนานที่พัฒนาโดยCray และต่อมาโดยHewlett Packard Enterpriseซึ่งเข้าซื้อกิจการ Cray...
โบสถ์ (ภาษาโปรแกรม)
| โบสถ์ | |
|---|---|
| กระบวนทัศน์ | การเขียนโปรแกรม เชิงวัตถุพื้นที่แอดเดรสส่วนกลางแบบ แบ่ง ส่วน การเขียนโปรแกรมแบบขนาน |
| ออกแบบโดย | เดวิด คัลลาฮาน, ฮานส์ ซิมา, แบรด แชมเบอร์เลน, จอห์น เปลวียัค |
| นักพัฒนา | บริษัท ฮิวเลตต์ แพคการ์ด เอ็นเตอร์ไพรส์ (เดิมชื่อบริษัท เครย์ อิงค์ ) |
| ปรากฏครั้งแรก | 2009 |
| เวอร์ชันเสถียร | 2.6.0 / 18 กันยายน 2025 |
| วินัยในการพิมพ์ | คงที่อนุมานได้ |
| แพลตฟอร์ม | รองรับหลายแพลตฟอร์ม รวมถึงAmazon Web ServicesและHPE Cray EX |
| โอเอส | Mac OS , Linux , POSIX , Windows (พร้อมCygwin ), NetBSD |
| ใบอนุญาต | ใบอนุญาต Apache 2.0 |
| นามสกุลไฟล์ | .chpl |
| เว็บไซต์ | chapel-lang |
| ได้รับอิทธิพลจาก | |
| Ada , C# , [ 1 ] C , Fortran , C++ , Java , HPF , ZPL , ส่วนขยาย Cray MTA / XMTสำหรับ C และ Fortran [ 2 ] | |
Chapelซึ่งเป็นภาษา Cascade High Productivity Languageเป็นภาษาการเขียนโปรแกรมแบบขนานที่พัฒนาโดยCray [ 3 ]และต่อมาโดยHewlett Packard Enterpriseซึ่งเข้าซื้อกิจการ Cray ภาษาดังกล่าวได้รับการพัฒนาเป็นส่วนหนึ่งของโครงการ Cray Cascade ซึ่งเป็นผู้เข้าร่วมใน โครงการ High Productivity Computing Systems (HPCS) ของDARPAโดยมีเป้าหมายเพื่อเพิ่ม ประสิทธิภาพของ ซูเปอร์คอมพิวเตอร์ ภายในปี 2010 ภาษาดัง กล่าวได้รับการพัฒนาเป็น โครงการ โอเพนซอร์ส ภายใต้ สัญญาอนุญาต Apacheเวอร์ชัน 2 [ 4 ]
คอมไพเลอร์ Chapel เขียนด้วยภาษาCและC++ ( C++14 ) แบ็กเอนด์ (เช่น ตัวเพิ่มประสิทธิภาพ) คือLLVMซึ่งเขียนด้วยภาษา C++ ต้องใช้ Python 3.7 หรือใหม่กว่าสำหรับส่วนประกอบเสริมบางอย่าง เช่น ระบบทดสอบของ Chapel และ c2chapel ซึ่งเป็นเครื่องมือสำหรับสร้างการเชื่อมต่อ C สำหรับ Chapel โดยค่าเริ่มต้น Chapel จะคอมไพล์เป็นไฟล์ปฏิบัติการไบนารี แต่ก็สามารถคอมไพล์เป็นโค้ด C ได้เช่นกัน ซึ่งในกรณีนี้จะไม่ใช้ LLVM โค้ดของ Chapel สามารถคอมไพล์เป็นไลบรารีเพื่อเรียกใช้จาก C หรือ Fortran หรือ Python ก็ได้ Chapel รองรับการเขียนโปรแกรม GPUผ่านการสร้างโค้ดสำหรับหน่วยประมวลผลกราฟิก NVIDIA และ AMD [ 5 ]
เป้าหมาย
Chapel มีเป้าหมายที่จะปรับปรุงความสามารถในการเขียนโปรแกรมของคอมพิวเตอร์แบบขนานโดยทั่วไป และระบบ Cascade โดยเฉพาะ ด้วยการให้ระดับการแสดงออกที่สูงกว่าภาษาโปรแกรมในปัจจุบัน และโดยการปรับปรุงการแยกส่วนระหว่างการแสดงออกเชิงอัลกอริทึมและรายละเอียดการใช้งาน โครงสร้างข้อมูล
นักออกแบบภาษามุ่งหวังให้ Chapel เชื่อมช่องว่างระหว่าง ผู้ปฏิบัติงานด้านการ เขียนโปรแกรมคอมพิวเตอร์ประสิทธิภาพสูง (HPC) ในปัจจุบัน ซึ่งพวกเขาอธิบายว่าเป็นผู้ใช้ Fortran, C หรือ C++ ที่เขียนโค้ดเชิงกระบวนการโดยใช้เทคโนโลยีเช่นOpenMPและMPIในด้านหนึ่ง และโปรแกรมเมอร์คอมพิวเตอร์ที่เพิ่งจบการศึกษาซึ่งมักจะชอบ Java, Python หรือ Matlab โดยมีเพียงบางส่วนเท่านั้นที่มีประสบการณ์กับ C++ หรือ C Chapel ควรนำเสนอความก้าวหน้าด้านผลิตภาพที่นำเสนอโดยชุดภาษาหลังโดยไม่ทำให้ผู้ใช้ชุดแรกรู้สึกแปลกแยก[ 2 ]
คุณสมบัติ
Chapel รองรับ โมเดลการเขียนโปรแกรมแบบ ขนานหลายเธรดในระดับสูงโดยรองรับนามธรรมสำหรับการประมวลผลแบบขนานของข้อมูลการประมวลผลแบบขนานของงานและ การประมวล ผลแบบขนานซ้อนกันช่วยให้สามารถเพิ่มประสิทธิภาพสำหรับตำแหน่งข้อมูลและการคำนวณในโปรแกรมผ่านนามธรรมสำหรับการกระจายข้อมูลและ การจัดวางการคำนวณย่อย ตามข้อมูลช่วยให้สามารถนำโค้ดกลับมาใช้ใหม่และมีความเป็นทั่วไปผ่านแนวคิดเชิงวัตถุ และคุณสมบัติ การเขียนโปรแกรมทั่วไปตัวอย่างเช่น Chapel อนุญาตให้ประกาศภาษาท้องถิ่น ได้ [ 6 ]
แม้ว่า Chapel จะยืมแนวคิดจากภาษาโปรแกรมก่อนหน้าหลายภาษา แต่ แนวคิดเชิงขนานของมันนั้นอิงตามแนวคิดจากHigh Performance Fortran (HPF), ZPLและส่วนขยายของCray MTA สำหรับ FortranและC มากที่สุด
ดูเพิ่มเติม
หมายเหตุ
- ^ "รายละเอียดโบสถ์ (คำขอบคุณ)" (PDF) . Cray Inc. 1 ตุลาคม 2015 . สืบค้นเมื่อ14 มกราคม 2016 .
- ^ a b Chamberlain, Bradford L. "ภาพรวมโดยย่อของ Chapel" (PDF) . Cray Inc . สืบค้นเมื่อ22 เมษายน 2015 .
- ^ Lightfoot, David E. (2006). ภาษาโปรแกรมแบบโมดูลาร์: การประชุมภาษาโปรแกรมแบบโมดูลาร์ร่วมครั้งที่ 7. Springer . หน้า 20. ISBN 978-3-540-40927-4.
- ^ "ข้อมูลใบอนุญาตโบสถ์" . chapel-lang.org . สืบค้นเมื่อ15 พฤศจิกายน 2015 .
- ^ "เอกสารทางเทคนิคของ Chapel: การเขียนโปรแกรม GPU" . Hewlett Packard Enterprise. 2023-09-28 . สืบค้นเมื่อ2023-11-03 .
- ^ Bongen Gu; Wikuan Yu; Yoonsik Kwak (28–30 มิถุนายน 2554). "การสื่อสารและการคำนวณที่ทับซ้อนกันผ่านการซิงโครไนซ์งานในสภาพแวดล้อมโบสถ์หลายสถานที่" ใน James J. Park, Laurence T. Yang และ Changhoon Lee (บรรณาธิการ). เทคโนโลยีสารสนเทศแห่งอนาคต ตอนที่ 1: การประชุมนานาชาติครั้งที่ 6.ลูทรากิ ประเทศกรีซ: Springer-Verlag. หน้า 285–292 . doi : 10.1007/978-3-642-22333-4_37 . ISBN 978-3-642-22332-7.
อ่านเพิ่มเติม
- Brueckner, Rich (6 สิงหาคม 2014). "ทำไมต้องใช้ Chapel สำหรับการเขียนโปรแกรมแบบขนาน?" . InsideHPC . สืบค้นเมื่อ 23 มีนาคม 2015 .
- Dun, Nan; Taura, K. (2012). "การศึกษาประสิทธิภาพเชิงประจักษ์ของภาษาการเขียนโปรแกรม Chapel" 2012 IEEE 26th International Parallel and Distributed Processing Symposium Workshops & PhD Forum . IEEE . หน้า 497– 506. doi : 10.1109/IPDPSW.2012.64 . ISBN 978-1-4673-0974-5. S2CID 5904611 .
- Padua, David, บรรณาธิการ (2011). สารานุกรมการประมวลผลแบบขนานเล่ม 4. Springer Science & Business Media. หน้า 249–256 . ISBN 9780387097657.
- Panagiotopoulou, K.; Loidl, HW (2016). "การประมวลผลแบบขนานที่ยืดหยุ่นและโปร่งใสสำหรับ Chapel" การประชุมเชิงปฏิบัติการด้านการประมวลผลแบบขนานและแบบกระจาย (IPDPSW), การประชุมวิชาการนานาชาติ IEEE ปี 2016 , ชิคาโก, อิลลินอยส์. doi : 10.1109/IPDPSW.2016.102 ISBN 978-1-5090-3682-0
ลิงก์ภายนอก
- เว็บไซต์อย่างเป็นทางการ
- โบสถ์บนGitHub
- เบียร์ 99 ขวดในชาเปล
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ โบสถ์ (ภาษาโปรแกรม)
Chapelซึ่งเป็นภาษา Cascade High Productivity Languageเป็นภาษาการเขียนโปรแกรมแบบขนานที่พัฒนาโดยCray และต่อมาโดยHewlett Packard Enterpriseซึ่งเข้าซื้อกิจการ Cray...
เป้าหมาย
Chapel มีเป้าหมายที่จะปรับปรุงความสามารถในการเขียนโปรแกรมของ คอมพิวเตอร์แบบขนาน โดยทั่วไป และระบบ Cascade โดยเฉพาะ ด้วยการให้ระดับการแสดงออกที่สูงกว่าภาษาโปรแกรมในปัจจุบัน และโดยการปรับปรุงการแยกส่วนระหว่างการแสดงออกเชิงอัลกอริทึมและรายละเอียดการใช้งาน...
คุณสมบัติ
Chapel รองรับ โมเดลการเขียนโปรแกรมแบบ ขนานหลายเธรด ในระดับสูงโดยรองรับนามธรรมสำหรับ การประมวลผลแบบขนานของข้อมูล การ ประมวลผลแบบขนานของงาน และ การประมวล ผลแบบขนานซ้อนกัน ช่วยให้สามารถเพิ่มประสิทธิภาพสำหรับ ตำแหน่งข้อมูล...
ดูเพิ่มเติม
ฟอร์ทราน Coarray ป้อม ซีขนานแบบรวม คูณ 10 ราฟท์ลิบ