โบสถ์เป็นภาษาเขียนโปรแกรมแบบขนานใหม่ที่ถูกพัฒนาขึ้นโดยเครย์อิงค์เป็นส่วนหนึ่งของ DARPA นำโปรแกรมคอมพิวเตอร์ระบบการผลิตสูง (HPCS) โบสถ์ถูกออกแบบมาเพื่อปรับปรุงประสิทธิภาพการผลิตของผู้ใช้คอมพิวเตอร์ระดับไฮเอนด์ในขณะที่ยังทำหน้าที่เป็นรูปแบบการเขียนโปรแกรมแบบขนานแบบพกพาที่สามารถนำมาใช้ในกลุ่มสินค้าโภคภัณฑ์หรือคอมพิวเตอร์ระบบมัลติคอร์ โบสถ์มุ่งมั่นที่จะปรับปรุงอย่างมากมายโปรแกรมของคอมพิวเตอร์แบบขนานขนาดใหญ่ในขณะที่การจับคู่หรือตีประสิทธิภาพการทำงานและการพกพาของรูปแบบการเขียนโปรแกรมในปัจจุบันเช่น MPI
แอปพลิเคโบสถ์สนับสนุนรูปแบบการดำเนินการแบบมัลติเธรดผ่านทางนามธรรมระดับสูงสำหรับขนานข้อมูลขนานงานพร้อมกันและขนานที่ซ้อนกัน & nbsp;. ประเภทสถานโบสถ์ช่วยให้ผู้ใช้สามารถระบุและเหตุผลเกี่ยวกับตำแหน่งของข้อมูลและงานที่เกี่ยวกับสถาปัตยกรรมเป้าหมายในการสั่งซื้อ การปรับแต่งสำหรับท้องที่ โบสถ์สนับสนุนทั่วโลกมองมวลรวมข้อมูลที่มีการใช้งานที่ผู้ใช้กำหนดอนุญาตให้การดำเนินงานเกี่ยวกับโครงสร้างการกระจายข้อมูลที่จะแสดงออกในลักษณะที่เป็นธรรมชาติ ในทางตรงกันข้ามกับที่ก่อนหน้านี้หลายขนานภาษาระดับสูงวิหารได้รับการออกแบบปรัชญา multiresolution อนุญาตให้ผู้ใช้สามารถเขียนโค้ดในขั้นต้นที่เป็นนามธรรมมากและเพิ่มขึ้นแล้วเพิ่มรายละเอียดมากขึ้นจนกว่าพวกเขาจะใกล้เคียงกับเครื่องเป็นความต้องการของพวกเขาจำเป็นต้องใช้ โบสถ์สนับสนุนนำมาใช้ใหม่รหัสและสร้างต้นแบบอย่างรวดเร็วผ่านการออกแบบเชิงวัตถุอนุมานชนิดและมีการเขียนโปรแกรมทั่วไป
โบสถ์ได้รับการออกแบบจากหลักการแรกมากกว่าโดยการขยายภาษาที่มีอยู่ มันเป็นภาษาบล็อกโครงสร้างความจำเป็นที่ได้รับการออกแบบให้ง่ายต่อการเรียนรู้สำหรับผู้ใช้ C, C ++, Fortran, Java, Perl, Matlab และภาษาที่นิยมอื่น ๆ ในขณะที่โบสถ์สร้างขึ้นบนแนวคิดและไวยากรณ์ภาษาจากที่ก่อนหน้านี้หลายคุณสมบัติที่ได้รับการขนานส่วนใหญ่ได้รับอิทธิพลโดยตรงจาก ZPL, ประสิทธิภาพสูง Fortran (HPF) และเอ็มทีเครย์และการค้า; / เครย์ XMT และการค้า; ขยาย C และ Fortran
มีอะไรใหม่ ในข่าวประชาสัมพันธ์ฉบับนี้.
- ไฮไลท์ (ดูรายละเอียดด้านล่าง)
- แยก 'def' คำหลักเป็น 'proc' (สำหรับขั้นตอน) และ 'เราเตอร์ (สำหรับ iterators)
- (ดู '$ CHPL_HOME / util / แปลง-defs --help' สำหรับความช่วยเหลือปรับปรุงรหัสที่มีอยู่)
- เพิ่ม 'จำลอง' การจัดจำหน่ายและการปรับปรุง 'บล็อกวงจร' กระจาย
- (ดู & quot; มาตรฐานการกระจาย & quot; ในสเป็คและตัวอย่าง / ไพรเมอร์ / distributions.chpl)
- เพิ่มงานชั้นเดียวสำหรับสถาน Nanos ++ (BSC) และ Qthreads (ซานเดีย)
- (ดูเอกสาร / README.tasks)
- reworking สำคัญของความหมายและการดำเนินงานช่วง
- (ดู & quot; ความหมายของการเปลี่ยนแปลง / การเปลี่ยนแปลงโบสถ์ภาษา & quot; ด้านล่างเพื่อดูรายละเอียด)
- การสนับสนุนเริ่มต้นสำหรับชนิดระเหย: บูล, int, UINT จริง imag
- (ดูเอกสาร / Technotes / README.volatile)
- การสนับสนุนสำหรับ consts extern และชั้นเรียน (ชี้ไป structs)
- (ดูเอกสาร / Technotes / README.extern)
- การสนับสนุนที่ดีขึ้นสำหรับข้อมูลเกี่ยวกับความเท่าเทียมเครย์ XMT
- การปรับปรุงที่ครอบคลุมเพื่อรหัสตัวอย่างในตัวอย่าง directory /
- (ดูตัวอย่างรหัส 'ด้านล่างและตัวอย่าง / README)
- เพิ่มมากที่สุดตัวอย่างโค้ดจากสเปคที่จะเป็นตัวอย่างใหม่ directory /
- (ดูตัวอย่าง / ข้อมูลจำเพาะ / *)
- เพิ่มบันทึกอธิบายทางเทคนิคที่ผู้ใช้กำหนดอินเตอร์เฟซแผนที่โดเมน
- (ดูเอกสาร / Technotes / README.dsi)
- การปรับปรุงข้อกำหนดที่กว้างขวางภาษา
- (ดู 'เอกสาร' ด้านล่าง)
- การปรับปรุงหลายอย่างเพื่อ tasking รันไทม์และการสื่อสารชั้น
- (ดู & quot; Runtime Library เปลี่ยนแปลง & quot; ด้านล่าง)
- วากยสัมพันธ์ / การตั้งชื่อการเปลี่ยนแปลง
- แยก 'def' คำหลักเป็น 'proc' (สำหรับขั้นตอน) และ 'เราเตอร์ (สำหรับ iterators)
- (ดู '$ CHPL_HOME / util / แปลง-defs --help' สำหรับความช่วยเหลือปรับปรุงรหัสที่มีอยู่)
- เปลี่ยนชื่อเป็น 'คณิตศาสตร์' โดเมน / อาร์เรย์ที่ 'สี่เหลี่ยม' โดเมน / อาร์เรย์
- เพิ่มการสนับสนุนสำหรับตัวอักษรลอยจุดของรูปแบบ '1.E ...
- (ก่อนหน้านี้เท่านั้น '1e ... ' และ '1.0E ... ได้รับการสนับสนุน)
- ความหมายของการเปลี่ยนแปลง / การเปลี่ยนแปลงโบสถ์ภาษา
- การปรับปรุงหลายช่วง (ดู 'ช่วง' บทในภาษาสเปค):
- เพิ่มแนวคิดของการจัดตำแหน่งเพื่อแสดงการจัดเรียงแบบโมดูโล | กางเกง |
- เพิ่มผู้ประกอบการ 'จัด' และแบบสอบถามไปยังช่วงที่ระบุ / การจัดตำแหน่งแบบสอบถาม
- (เช่น '1..10 3 จัด 2' = & gt; '2, 5, 8' ตั้งแต่วันที่ 2 == == 5 8 สมัย 3)
- == กำหนดในช่วงในแง่ของลำดับจำนวนเต็มพวกเขาสร้าง
- กำหนด ident (r1, r2) ที่จะบอกว่า r1 r2 และมีความหมายเหมือนกัน
- กำหนด '# k สำหรับ k & lt; 0 ความหมาย & quot; นับจากจุดสิ้นสุดของช่วง & quot;
- เพิ่ม 'ครั้งแรก', 'สุดท้าย', 'alignedLow' วิธี alignedHigh 'ช่วง
- (เช่น '1..10 โดย -2' = & gt; == แรก 10 == 2 ที่ผ่านมา alignedLow = 2 alignedHigh = 10)
- เพิ่มการสนับสนุนสำหรับความหลากหลายของฟังก์ชั่นการค้นหาช่วงใหม่
- (เช่น alignLow () hasFirst () hasLowBound () isAligned () boundsCheck () ... )
- เพิ่มการสนับสนุนสำหรับบูลระเหย int, UINT จริงและประเภท imag
- (ดูเอกสาร / Technotes / README.volatile)
- เพิ่มส่วนท้ายของแฟ้มที่จะตรวจสอบประเภทของไฟล์
- (e.g. ในขณะที่! infile.eof ... ')
- ลบออกการสนับสนุนสำหรับการรักษาผลตอบแทนใน iterator เป็น 'ผลผลิต'
- (เช่นการเปลี่ยนแปลง 'เราเตอร์ foo () {ผลตอบแทน x;}' เป็น 'เราเตอร์ foo () {ผลผลิต x; ผลตอบแทน;}')
- เพิ่มการสนับสนุนการอ้างอิงโดยไม่ต้องโมดูลแรก use' ไอเอ็นจีพวกเขา
- (เช่นโมดูล M1 {var x ... } โมดูล M2 {... M1.x ... } ในขณะนี้คือกฎหมาย)
- เพิ่มแบบสอบถาม callStackSize ประเภทสถาน
- (เช่น 'here.callStackSize' กลับขนาดสาย stack ในสถานที่ปัจจุบัน)
- ออกอัฒภาคก่อนหน้านี้ต้องจากจุดสิ้นสุดของการประกาศ enum
- (เช่น 'สี enum {สีแดง, สีฟ้า, สีเขียว}' คือตอนนี้กฎหมายที่จำเป็นก่อนหน้านี้ ';')
- เพิ่มการสนับสนุนสำหรับจุลภาคต่อท้ายเดียวในตอนท้ายของรายการ enum
- (เช่น 'สี enum {แดง, สีฟ้า, สีเขียว,}' เป็นกฎหมายในขณะนี้)
- ลบออกการสนับสนุนสำหรับผู้ประกอบการ +/- ในโดเมนสี่เหลี่ยม; ใช้แปล ()
- คุณสมบัติดำเนินการใหม่
- ดำเนิน == /! = สำหรับสี่เหลี่ยมเชื่อมโยงและโดเมนเบาบาง
- มาตรฐานการกระจาย
- เพิ่มแรกร่าง 'จำลอง' กระจายสำหรับการจัดเก็บข้อมูลที่เกินความจำเป็น
- (ดูตัวอย่าง / ไพรเมอร์ / distributions.chpl)
- ที่ดีขึ้น 'บล็อกวงจร' เพียงพอที่จะดำเนินการอย่างถูกต้องและ HPCC PTRANS HPL
- (ดูตัวอย่าง / HPCC / ptrans.chpl, hpl.chpl; ตัวอย่าง / ไพรเมอร์ / distributions.chpl)
- ซ้ำซ้อนถอดออกในคุณสมบัติของผู้นำ iterators ระหว่างโดเมน / อาร์เรย์
- โมดูลมาตรฐาน
- เพิ่ม INFINITY และค่าคงที่น่านไปยังโมดูล Math.chpl
- (ดู 'คณิตศาสตร์' ภายใต้ & quot; มาตรฐานโมดูล & quot; ในภาษาสเปค)
- เพิ่ม isinf () และ isfinite () ขั้นตอนการทดสอบโมดูล Math.chpl
- (ดู 'คณิตศาสตร์' ภายใต้ & quot; มาตรฐานโมดูล & quot; ในภาษาสเปค)
- เพิ่มครึ่งโหลการปฏิบัติมากขึ้นในโมดูล GMP.chpl
- เอกสาร
- เพิ่มบันทึกอธิบายทางเทคนิคใหม่ที่ผู้ใช้กำหนดอินเตอร์เฟซแผนที่โดเมน
- (ดูเอกสาร / Technotes / README.dsi)
- ทำให้การปรับปรุงข้อกำหนดหลายภาษา
- การแก้ไขที่สำคัญในบท Domains เพื่อปรับปรุงความชัดเจน / ความถูกต้อง
- การปรับปรุงและโครงสร้างแบบครบวงจรของประวัติและบทเรียน
- การแก้ไขที่สำคัญในบทแผนที่โดเมนเพื่อปรับปรุงความคมชัด / ความถูกต้อง
- รหัสตัวอย่างเช่นการตั้งชื่อเพื่อให้การอ้างอิงข้ามกับตัวอย่าง / ข้อมูลจำเพาะ / โปรแกรม
- ชี้แจงถูกต้องตามกฎหมายของฉลาก / หยุด / ยังคงอยู่ในลูปขนาน
- การปรับปรุงรายละเอียดของการอ่าน [LN] / เขียน [LN]
- การแก้ไขปัญหาบางอย่างในด้านการสั่งซื้อไฟล์
- รูปแบบใหม่สเปคเป็น 'หนังสือ' ในน้ำยาง
- แก้ไขรายย่อยต่างๆของความผิดพลาด / ผิดพลาด
- คำจำกัดความที่ดีขึ้น / รายละเอียดของข้อตกลงหลาย
- เพิ่มเอกสาร locale.name
- และการเปลี่ยนแปลงอื่น ๆ อีกมากมาย ...
- การปรับปรุงเอกสารอ้างอิงที่รวดเร็วในการรวม def- & gt; proc / เปลี่ยนเราเตอร์จัด op .
- เขียนโค้ด / จัด README.extern ชี้แจงคำอธิบายและนำขึ้นไปวันที่
- เพิ่ม README อธิบาย 'ท้องถิ่น' คำสั่ง (doc / Technotes / README.local)
- เพิ่ม README อธิบายชนิดระเหย (doc / Technotes / README.volatile)
- การปรับปรุง README.comm-วินิจฉัยพูดถึงสถิติส้อมรวดเร็ว
- การปรับปรุงไฟล์ README ต่างๆ
- รหัสตัวอย่าง
- วางไว้มากที่สุดตัวอย่างโค้ดจากข้อมูลจำเพาะภาษา เพื่อสเปคใหม่ / ไดเรกทอรีย่อย
- การปรับปรุงไพรเมอร์ / ไดเรกทอรี:
- เพิ่มไพรเมอร์ใหม่สำหรับการใช้วิธีการ (ไพรเมอร์ / procedures.chpl)
- เพิ่มไพรเมอร์ขั้นพื้นฐานสำหรับโดเมน (ไพรเมอร์ / domains.chpl)
- เปลี่ยนสถานที่ไพรเมอร์เพื่อ locales.chpl และปรับปรุงมัน
- การปรับปรุงการกระจายไพรเมอร์และเพิ่มบล็อกวงจรจำลองแบบและการใช้งาน
- การปรับปรุงช่วงไพรเมอร์ (ไพรเมอร์ / range.chpl)
- การปรับปรุง iterators ไพรเมอร์ (ไพรเมอร์ / iterators.chpl)
- การปรับปรุงการลดลงของไพรเมอร์ (ไพรเมอร์ / reductions.chpl)
- เพิ่ม getCurrentTime () เพื่อไพรเมอร์ตัวนับ (ไพรเมอร์ / timers.chpl)
- เพิ่มรายละเอียดของนามแฝงประเภทและชนิดของการตั้งค่าตัวแปรไพรเมอร์
- (ดูไพรเมอร์ / variables.chpl)
- การปรับปรุง HPCC directory / มาตรฐาน
- เพิ่มรุ่นแรกของ HPCC PTRANS เพื่อ HPCC / directory (ptrans.chpl)
- เพิ่มรุ่นทำความสะอาดของ HPL HPCC เพื่อ HPCC / directory (hpl.chpl)
- เพิ่มสายพันธุ์ / ไดเรกทอรีย่อยตัวอย่าง / HPCC ที่จะแสดงวิธีการอื่น ๆ
- เพิ่มกระแส promoted.chpl ที่จะแสดงการใช้งานของโปรโมชั่นในระดับโลก STREAM สาม
- เพิ่ม RA-cleanloop.chpl ที่จะแสดงให้ทำความสะอาด (แต่ขณะนี้ช้าลง) เคอร์เนล RA
- ตัวอย่างระดับบนสุดที่ดีขึ้น:
- เปลี่ยนชื่อที่มีอยู่ & quot; hello, world & quot; ตัวอย่างที่จะแนะนำเพื่อการอ่านตรรกะ
- (ดูตัวอย่าง / สวัสดี * .chpl)
- เพิ่มข้อมูลข้อมูลแบบขนานและกระจายขนานสวัสดีตัวอย่างโลก
- (ดูตัวอย่าง / hello3-datapar.chpl ตัวอย่าง / hello4-datapar-dist.chpl)
- เพิ่มความคิดเห็นต่างๆสวัสดีตัวอย่างโลก (ตัวอย่าง / สวัสดี * .chpl)
- การปรับปรุงตัวอย่างทั้งหมดเพื่อความหมายภาษาปัจจุบัน
- ใช้ 'proc' / 'เราเตอร์' มากกว่า 'def'
- การปรับปรุงเพื่อให้สอดคล้องกับความหมายช่วงใหม่
- หมายเหตุแพลตฟอร์มเฉพาะ
- สำหรับเครย์ XT / เครย์ XE ปรับปรุง aprun และปืนกลพีบีเอส-aprun
- (ดู & quot; บันทึกเปิดเฉพาะ & quot; ด้านล่าง)
- สำหรับเครย์ XMT, เพิ่มการสนับสนุนสำหรับลูปขนานมากกว่าช่วง
- สำหรับเครย์ XMT เพิ่มรุ่น noalias pragmas เพื่อ forall ตัวแปรห่วง
- เพิ่มการสนับสนุนสำหรับ Marenostrum BSC รวมทั้งเอกสารและปล่อยพิเศษ
- (ดูเอกสาร / แพลตฟอร์ม / README.marenostrum)
- บันทึกเปิดเฉพาะ
- เพิ่มตัวเลือกยิงเฉพาะความสามารถในการที่จะ --help
- การบริหารจัดการที่ดีขึ้นของรหัสสถานะออกผ่านกล
- เปลี่ยนกลเพื่อสนับสนุนการบริหารตาม (มากกว่าระบบ based) คำสั่ง
- ทำปืนกลใช้ 'ยกเลิกการเชื่อมโยงมากกว่าระบบ (RM) เพื่อลบไฟล์ชั่วคราว
- เพิ่มปล่อยสำหรับ Marenostrum BSC ของ
- จำนวนที่ลดลงของไฟล์ชั่วคราวที่ใช้ในการจับภาพการส่งออกของ 'ระบบ' คำสั่ง
- aprun ปรับปรุงปล่อย:
- เพิ่มธง --cc ระบุมอบหมาย CPU w / ในโหนด
- เพิ่มธง -q ที่จะเรียกใช้ปล่อยในโหมดเงียบ
- เพิ่มความสามารถในการแก้ปัญหาผ่านทาง CHPL_LAUNCHER_DEBUG เก็บไฟล์ tmp รอบ
- การปรับปรุงปล่อยพีบีเอส-aprun:
- เพิ่มธง --cc ระบุมอบหมาย CPU w / ในโหนด
- เพิ่มความสามารถในการแก้ปัญหาผ่านทาง CHPL_LAUNCHER_DEBUG เก็บไฟล์ tmp รอบ
- การทำความสะอาดขึ้นการส่งออกในการกำจัดบางพิมพ์ภายนอก
- การสนับสนุนปล่อยทำระบบการทดสอบของเรา
- เพิ่ม --walltime และธง --queue ที่จะเปิดให้เป็นทางเลือกในการ ENV vars.
- คอมไพเลอร์เปลี่ยนแปลง
- ทำคอมไพเลอร์พิมพ์ 'ความจริง' / 'เท็จ' ออกมาในลายเซ็นประเภทมากกว่า 1/0
- เพิ่มการกำหนดค่าพารามิเตอร์ 'noRefCount' ปิดการใช้งานนับการอ้างอิง (อาจรั่วหน่วยความจำ)
- ธงคอมไพเลอร์
- เพิ่ม --print-callstack ต่อข้อผิดพลาดธงเพื่อแสดงสิ่งที่นำไปสู่การเรียกร้องที่ไม่ดี
- เพิ่มธง --no-โค๊ดเจนที่จะข้ามรหัสรุ่นและการเชื่อมโยงเฟส
- การทำงานร่วมกันการเปลี่ยนแปลง
- เพิ่มการสนับสนุนสำหรับ extern C & quot; เรียน & quot; (ชี้ไป struct ชนิด)
- เพิ่มการสนับสนุนสำหรับ consts extern (ดู README.extern)
- การปรับปรุงข้อผิดพลาดข้อความ
- เพิ่มคำเตือนกำพร้า 'ใช้งบนอกของโมดูลประกาศ
- (เช่น 'ใช้ M1; โมดูล M2 {}' โดยปกติควรจะเป็น 'โมดูล M2 {ใช้ M1;}')
- ทำข้อผิดพลาดเวลาแจงใช้มาตรฐาน 'ชื่อไฟล์: lineno:' รูปแบบ
- สร้างข้อผิดพลาดหมายถึงชื่อชั้นในวิธีการหลัก
- (เช่น 'คลาส C {def ซม () {}} ... ตอนนี้สร้างข้อผิดพลาด)
- แก้ไขข้อผิดพลาด / ตรวจสอบความหมายใหม่ (สำหรับความหมายเดิม)
- การตั้งค่ารูปแบบการป้องกันจากการถูกตั้งค่าการใช้เวลาในการประมวลธงบรรทัดคำสั่ง
- คงความสามารถของคอมไพเลอร์ในการจัดการกับสหภาพแรงงานที่มีเขตข้อมูลไม่มี
- คง minloc / ลด maxloc ที่จะจัดการกับช่วงที่ว่างเปล่า / subranges ของค่า
- แก้ไขข้อผิดพลาดในการที่อาร์กิวเมนต์ 'เส้นทาง' เพื่อก่อสร้างไฟล์ก็ไม่สนใจ
- ทำสหภาพแรงงานว่างทำงานอย่างถูกต้อง
- การแก้ไขปัญหาน้ำล้นในช่วง chunking ขึ้นสำหรับการจัดจำหน่าย / parallelization
- การแก้ไขข้อผิดพลาดที่เกี่ยวข้องกับการสนับสนุนชนิดบันทึก extern ว่าง
- การแก้ไขข้อผิดพลาดที่เกี่ยวข้องกับฟังก์ชั่น extern ที่ส่งกลับระเบียน
- การแก้ไขข้อผิดพลาดที่เกี่ยวข้องกับการคัดลอกบันทึกภายนอก
- การดำเนินงานคงที่ของผู้ประกอบการใน +/- เชื่อมโยง / โดเมนเบาบาง
- แก้ไขข้อผิดพลาดที่เกี่ยวข้องกับชื่อโมดูลชื่อไฟล์ตามที่มีหลาย '. ของ
- ข้อความผิดพลาดเพิ่มสำหรับการขยาย / ภายนอก / ภายในผิดปกติในโดเมน
- เพิ่มข้อผิดพลาดสำหรับการก่อสร้าง / destructors กับประเภทผลตอบแทนที่ระบุ
- คงที่คู่ของข้อบกพร่องที่เกี่ยวข้องกับ 'รวดเร็ว' การเพิ่มประสิทธิภาพ
- เพิ่มการตรวจสอบกับการสร้างการเรียนโดยไม่ต้องระบุสาขาทั่วไป
- การเปลี่ยนแปลงบรรจุภัณฑ์
- เพิ่มไวยากรณ์รหัสเน้นหาแหล่งที่มาไฮไลท์ของจี
- (ดู etc / แหล่งที่มาไฮไลท์ / README)
- emacs การปรับปรุงการสนับสนุนสีสำหรับ 22.x รุ่น
- (ดู etc / emacs / README)
- การปรับปรุงสีไวยากรณ์เป็นกลุ่มเพื่อสะท้อนให้เห็นใหม่ 'proc' / 'เราเตอร์' คำหลัก
- (ดู etc / กลุ่ม / README)
- เพิ่มสคริปต์สำหรับการแปลง 'ใช้' รหัสที่มีอยู่ def 'เป็น' เราเตอร์ '/' proc '
- (ดู CHPL_HOME $ / util / แปลง-defs)
- ลบออกตัวอย่าง multirealm และเอกสารในขณะนี้
- ซอฟต์แวร์บุคคลที่สามการเปลี่ยนแปลง
- การปรับปรุง GASNet กับรุ่น 1.16.1
- เพิ่มสำเนาของ Nanos BSC ของ ++ และซานเดียของ Qthreads
- (ดูบุคคลที่สาม / README)
- ทำขั้นตอนหลังการติดตั้งสำหรับ GASNet ที่มีการเปลี่ยนแปลงเส้นทางที่แน่นอนที่จะญาติ
- PVM ลบออกในขณะนี้เนื่องจากความไม่แน่นอน
- Runtime Library เปลี่ยนแปลง
- เพิ่มงานชั้นเดียวสำหรับสถาน Nanos ++ (BSC) และ Qthreads (ซานเดีย)
- การปรับปรุงหลายชั้น tasking รันไทม์:
- เพิ่มอินเตอร์เฟซใหม่สำหรับการมีสายชั้น tasking chpl_main ()
- เปลี่ยน tasking ฟังก์ชั่นที่จะใช้ init maxThreadsPerLocale / callStackSize args
- เพิ่มความสามารถในงานที่ให้ผลตอบแทนกับอินเตอร์เฟซชั้น tasking
- รหัสรันไทม์การปรับปรุงเพื่อหลีกเลี่ยงการใช้ซิงค์ vars ก่อนการเริ่มต้น tasking
- ลบออกรูปแบบมหภาค ized ของอินเตอร์เฟซ tasking; ใช้ชื่อมาตรฐานแทน
- การตั้งชื่อแบบครบวงจรของงานประจำชั้นทุกคนที่จะ chpl_sync _ * () และ chpl_task _ * ()
- ต้องการออกไปใช้อินเตอร์เฟซตัวแปรเดียว
- การเลิกจ้างของหัวข้อย้ายจากชั้น tasking FIFO จะ pthreads เกลียว
- การดำเนินงานที่เรียบง่ายของตัวแปรซิงค์ในชั้นเกลียว pthread
- ย้ายความรับผิดชอบในการนับด้ายจากทาสกิ้ง FIFO จะ pthread เกลียว
- การปรับปรุงหลายชั้นสื่อสารรันไทม์:
- การปรับโครงสร้างหนี้ติดต่อสื่อสารเพื่อสนับสนุนข้อโต้แย้งที่มีความยาว / ประเภท
- เพิ่มอินเตอร์เฟซสำหรับการไม่ได้รับการปิดกั้นการดำเนินงานเพื่อการสื่อสาร อินเตอร์เฟซที่
- แบบครบวงจรทุกระยะไกลได้รับการดำเนินการที่จะใช้ CHPL_COMM_GET () แมโคร
- refactored / เปลี่ยนชื่อส่วนหัวติดต่อสื่อสาร
- ระบบการทดสอบ
- ดีขึ้นอย่างมากมายการทดสอบประสิทธิภาพและความสามารถในการสร้างกราฟ
- (ดูความคิดเห็นที่ด้านหน้าของ start_test สำหรับเอกสาร)
- การสนับสนุนการปรับปรุงระบบการทดสอบสำหรับการทำความสะอาดขึ้นหลังจากที่ตัวเอง
- เพิ่มความสามารถในการหลีกเลี่ยงการใช้ความร้ายของ stdin ใด ๆ
- เพิ่มตัวเลือกที่จะให้เป็นตัวเลือก prediff ทั้งระบบ
- เพิ่มความสามารถในการใช้คุณลักษณะการหมดเวลาของพื้นเมืองปล่อยมากกว่า ธ
- การปรับปรุงวิธีการทดสอบระบบฆ่าทดสอบที่ออกมาครั้ง
- การแก้ไขข้อผิดพลาดในไฟล์ .preexec เพียงทำงานถ้า '.' อยู่ในเส้นทางของคุณ
- ภายใน
- เพิ่ม --break-on-รหัสธงคอมไพเลอร์สำหรับนักพัฒนาเพื่อหาโหนด AST สร้าง
- องค์กรที่ดีขึ้นของ util / เนื้อหาไดเรกทอรี
- การเปลี่ยนแปลงวิธีหมายเลขรุ่นจะคำนวณ / แสดงสำหรับผู้ใช้ที่ใช้ SVN
- เพิ่มการสนับสนุนสำหรับ task- / รหัสโมดูลกระทู้เฉพาะ
- เพิ่มความสามารถในการพิมพ์นับ AST จัดสรรระหว่างกันผ่าน
- เพิ่มนามแฝง gdb ใหม่เรียบเรียง --gdb: 'loc' พิมพ์สถานที่ตั้งของโหนด AST
- การดำเนินงานที่ดีขึ้นอย่างมากของ pragmas / ธงเพื่อหลีกเลี่ยงกรณีข้อผิดพลาด
- ลบออกหลายกรณีของการเปรียบเทียบสตริงไม่จำเป็นในการคอมไพเลอร์
- การใช้งานผิดพลาดได้ง่ายเอาออกของ CHPL_TASKS และ CHPL_THREADS เป็นสัญลักษณ์ preprocessor
- เพิ่มเอกสาร bestPractices สำหรับนักพัฒนา (ไม่รวมอยู่ในการเปิดตัว)
- munging เปลี่ยนแปลงภายในของ '=' และ '==' เป็น 'กำหนด' และ 'เท่ากับ' ตามลำดับ
- เพิ่ม --print-ID-on-ธงข้อผิดพลาดของนักพัฒนาที่จะพิมพ์ ID AST กับข้อผิดพลาด
- การปรับปรุงเข้มงวดต้นแบบ C ++ ตรวจสอบ
- เพิ่มข้อตกลงการมีส่วนร่วมภายนอกต้นไม้ SVN (ไม่ได้อยู่ในการเปิดตัว)
- เพิ่มความคิดของชนิดภายในที่ใช้โดยคอมไพเลอร์ แต่ไม่ใช้
ความคิดเห็นที่ไม่พบ