CnD

ภาพหน้าจอของซอฟแวร์:
CnD
รายละเอียดซอฟแวร์:
รุ่น: 2012.1
วันที่อัพโหลด: 14 Apr 15
ผู้พัฒนา: Andreas Kloeckner
การอนุญาต: ฟรี
ความนิยม: 11

Rating: nan/5 (Total Votes: 0)

CnD เป็นงูใหญ่ที่มาถึงแหล่งที่มาแปลที่ทำให้ใช้อาร์เรย์ n มิติใน C สบายมากขึ้น & nbsp; มันจะเปลี่ยนรหัสนี้.
เป็นโมฆะ sgemm (float *, b * ลอยลอย * ค, int n)
{
& nbsp; มิติ "Fortran" [N, N];
& nbsp; มิติ "Fortran" ข [N, N];
& nbsp; มิติค [N, N];
& nbsp; for (int i = 1; i <= n; ++ i)
& nbsp; for (int J = 1; J <= n; ++ ญ)
& nbsp; {
& nbsp; ลอย tmp = 0;
& nbsp; for (int k = 1; k <= n; ++ k)
& nbsp; tmp + = [i, k] b * [k, เจ];
& nbsp; ค [i-1, J-1] = tmp;
& nbsp;}
}
เป็นแบบนี้:
เป็นโมฆะ sgemm (float *, b * ลอยลอย * ค, int n)
{
& nbsp; for (int i = 1; i <= n; ++ i)
& nbsp; for (int J = 1; J <= n; ++ ญ)
& nbsp; {
& nbsp; ลอย tmp = 0;
& nbsp; for (int k = 1; k <= n; ++ k)
& nbsp; tmp + = [((k - 1) * ((n - 1) + 1)) + (i - 1)] b * [((ญ - 1) * ((n - 1) + 1) ) + (k - 1)];
& nbsp; ค [((i - 1) * n) + (ญ - 1)] = tmp;
& nbsp;}
}
นอกจากนี้คุณยังอาจจะดูที่เป็นตัวอย่างที่ครอบคลุมมากขึ้นที่แสดงให้เห็นระฆังพิเศษบางและ whistles
มีผลเฉพาะของการประกาศมิติคือการปรับเปลี่ยนการตีความของอาร์เรย์ (IDX) ผู้ประกอบการห้อย ประกาศมิติปฏิบัติตามกฎกำหนดขอบเขต C ปกติ
ฉันยังต้องการที่จะทราบว่า CnD เป็นที่มีประสิทธิภาพ, แปลตัวแยกวิเคราะห์ตามไม่ได้เป็นเครื่องมือที่เปลี่ยนข้อความเป็นขุย มันเข้าใจทุก C99 บวก GNU นามสกุลจำนวนมาก
ข้อมูลจำเพาะแต่ละแกนในการประกาศมิติมีรูปแบบต่อไปนี้:
เริ่มต้น: ปลาย: ก้าว: leading_dimension
เริ่มต้นที่อาจถูกมองข้าม จบและก้าวยังอาจถูกมองข้าม แต่ถ้ารายการหลังจากที่พวกเขาจะได้รับการระบุต่อท้ายทวิภาคของพวกเขาจะต้องอยู่ในสถานที่ ยกตัวอย่างเช่นสเปแกน: 5 เพียงแค่ระบุก้าวของ 5. ก้าวเพียงแค่ทำหน้าที่เป็นตัวคูณในดัชนี การตรวจสอบความน่าเชื่อถือใด ๆ จะทำในการประกาศมิติ คุณอาจจะยิงตัวเองในการเดินเท้าในแบบที่คุณต้องการใด ๆ
หากรูปแบบที่จะได้รับเป็น "C" หรือไม่ได้รับเลยสิ่งต่อไปนี้:
- อาร์เรย์จะวางในการสั่งซื้อแถวที่สำคัญ
- ดัชนีปลายจะนำไปเป็นพิเศษถ้าระบุ
- เริ่มต้นดัชนีเริ่มต้นที่ 0
หากรูปแบบที่จะได้รับเป็น "Fortran" สิ่งต่อไปนี้:
- อาร์เรย์จะวางในลำดับคอลัมน์สำคัญ
- ดัชนีปลายจะนำไปเป็นรวมถ้าระบุ
- เริ่มต้นดัชนีเริ่มต้นที่ 1
(ส่วนใหญ่) ของความรู้ที่มีอยู่ในการประกาศมิติอาจจะ reobtained โปรแกรมโดยฟังก์ชั่น follwing:
- rankof (ก)
- nitemsof (ก)
- lboundof (แกน)
- uboundof (แกน) (ผลตอบแทนที่ผู้ใช้กำหนดขอบเขตบน)
- puboundof (แกน) (ผลตอบแทนดัชนีที่ผ่านมาเพียงปลายของแกน)
- ldimof (แกน)
- strideof (แกน)
ในแต่ละกรณีแกนจะต้องเป็นจำนวนเต็มคงที่ (ไม่แสดงออกคงที่จำนวนเต็มธรรมดา)
การติดตั้ง / การใช้งาน
คุณอาจจะได้รับ CnD โดยการดาวน์โหลด tarball จากดัชนีแพคเกจหรือจาก GitHub:
& nbsp; คอมไพล์คอมไพล์โคลน: //github.com/inducer/cnd.git
& nbsp; cd Cnd
 คอมไพล์ init submodule
& nbsp; คอมไพล์ปรับปรุง submodule
หากต้องการใช้ CnD เพียงแค่เพิ่มการกระจายผบ / bin เพื่อเส้นทางของคุณ
ในการเริ่มต้นเพียงแค่ใช้ (จากภายในราก Cnd):
& nbsp; ตัวอย่าง cd
& nbsp; ถัง ../ / cndcc gcc -std = c99 basic.c
& nbsp; ./ a.out
หากคุณต้องการการควบคุมที่ละเอียดยิ่งขึ้นกว่าการแปลคำสั่ง Cnd exposes เพียงแหล่งที่มาต่อแหล่งที่มาแปล หมายเหตุ Cnd ที่คาดว่าแหล่งที่มา preprocessed คุณอาจจะผ่านตัวเลือก -E จะมี Cnd ทำงาน preprocessor ​​กับแหล่งที่มาของคุณสำหรับคุณ เรียกใช้:
& nbsp; Cnd -h
ที่จะได้รับความช่วยเหลือเต็มรูปแบบบนอินเตอร์เฟซบรรทัดคำสั่ง คุณอาจจะตั้งค่าตัวแปรสภาพแวดล้อม CND_CPP เพื่อ preprocessor ​​ที่คุณต้องการใช้

มีอะไรใหม่ ในข่าวประชาสัมพันธ์นี้:

  • การเปลี่ยนแปลงไวยากรณ์จาก [i; J] เพื่อ [I, J] .
  • การสนับสนุนแยกวิเคราะห์ยังคงมากขึ้นสำหรับส่วนหัวในชีวิตจริง.

ต้องการ

  • หลาม

ซอฟแวร์อื่น ๆ ของนักพัฒนา Andreas Kloeckner

PyOpenCL
PyOpenCL

28 Sep 15

PuDB
PuDB

20 Feb 15

ความคิดเห็นที่ CnD

ความคิดเห็นที่ไม่พบ
เพิ่มความคิดเห็น
เปิดภาพ!