CnD

Phần mềm chụp màn hình:
CnD
Các chi tiết về phần mềm:
Phiên bản: 2012.1
Ngày tải lên: 14 Apr 15
Nhà phát triển: Andreas Kloeckner
Giấy phép: Miễn phí
Phổ biến: 11

Rating: nan/5 (Total Votes: 0)

CND là một nguồn Python-to-nguồn phiên dịch mà làm cho sử dụng mảng n chiều trong C nbsp dễ chịu hơn &; Nó sẽ lần lượt mã này.:
khoảng trống sgemm (float * a, float * b, float * c, int n)
{
& Nbsp; chiều "Fortran" a [n, n];
& Nbsp; chiều "Fortran" b [n, n];
& Nbsp; chiều c [n, n];
& Nbsp; for (int i = 1; i <= n; ++ i)
& Nbsp; for (int j = 1; j <= n; ++ j)
& Nbsp; {
& Nbsp; float tmp = 0;
& Nbsp; for (int k = 1; k <= n; ++ k)
& Nbsp; tmp + = a [i, k] * b [k, j];
& Nbsp; c [i-1, j-1] = tmp;
& Nbsp;}
}
vào đây:
khoảng trống sgemm (float * a, float * b, float * c, int n)
{
& Nbsp; for (int i = 1; i <= n; ++ i)
& Nbsp; for (int j = 1; j <= n; ++ j)
& Nbsp; {
& Nbsp; float tmp = 0;
& Nbsp; for (int k = 1; k <= n; ++ k)
& Nbsp; tmp + = a [((k - 1) * ((n - 1) + 1)) + (i - 1)] * b [((j - 1) * ((n - 1) + 1) ) + (k - 1)];
& Nbsp; c [((i - 1) * n) + (j - 1)] = tmp;
& Nbsp;}
}
Bạn cũng có thể có một cái nhìn tại một ví dụ toàn diện hơn cho thấy một vài thêm chuông và còi.
Tác động duy nhất của một khai báo kích thước là thay đổi cách giải thích của mảng (idx) điều hành subscript. khai báo kích thước tuân theo quy tắc thông thường Phạm vi C.
Tôi cũng muốn lưu ý rằng CND là một, phân tích cú pháp dựa trên phiên dịch mạnh mẽ, không phải là một công cụ thay thế văn bản flaky. Nó hiểu tất cả C99, cộng với nhiều phần mở rộng GNU.
Mỗi đặc điểm kỹ thuật trục trong một tuyên bố chiều có dạng như sau:
bắt đầu: cuối: Bước: leading_dimension
bắt đầu có thể được bỏ qua. kết thúc và sải chân cũng có thể được bỏ qua, nhưng nếu các mục sau chúng đang được xác định, dấu hai chấm đuôi của họ phải duy trì tại chỗ. Ví dụ, các đặc điểm kỹ thuật trục: 5 chỉ định một bước tiến của 5. Các bước tiến chỉ đơn giản đóng vai trò như một nhân vào chỉ số. Không kiểm tra tính hợp lý nào được thực hiện trên tờ khai chiều. Bạn có thể bắn mình trong bàn chân bất kỳ cách nào bạn muốn.
Nếu bố trí được cho là "c" hoặc không được đưa ra ở tất cả, những điều sau đây là đúng:
- Các mảng được đặt ra trong trật tự theo hàng lớn.
- Các chỉ số cuối cùng là thực hiện để được độc quyền, nếu được chỉ định.
- Các mặc định được chỉ số bắt đầu với 0.
Nếu bố trí được cho là "Fortran", những điều sau đây là đúng:
- Các mảng được đặt ra để cột lớn.
- Các chỉ số cuối cùng là thực hiện để tính tổng hợp, nếu được chỉ định.
- Các mặc định được chỉ số bắt đầu cho 1.
(Hầu hết) các kiến ​​thức có trong tờ khai chiều có thể được lập trình reobtained bởi những chức năng đọan:
- Rankof (a)
- Nitemsof (a)
- Lboundof (a, trục)
- Uboundof (a, trục) (trả về người dùng chỉ định trên ràng buộc)
- Puboundof (a, trục) (trả về chỉ số chỉ qua cuối của trục)
- Ldimof (a, trục)
- Strideof (a, trục)
Trong mỗi trường hợp, trục phải là một hằng số nguyên (không phải là một biểu hiện liên tục, một số nguyên đồng bằng).
Cài đặt / Cách sử dụng
Bạn có thể có được CND bằng cách tải về các tarball từ các chỉ số gói, hoặc từ github:
& Nbsp; git clone git: //github.com/inducer/cnd.git
& Nbsp; cd CND
 git submodule init
& Nbsp; git submodule cập nhật
Để sử dụng CND, chỉ cần thêm phân phối-dir / bin vào PATH của bạn.
Để bắt đầu, bạn chỉ cần chạy (từ bên trong gốc CND):
& Nbsp; cd ví dụ
& Nbsp; ../ bin / gcc cndcc -std = c99 basic.c
& Nbsp; ./ a.out
Nếu bạn muốn kiểm soát nhiều hơn hạt mịn trong quá trình dịch, lệnh CND cho thấy nhiều chỉ các dịch nguồn-to-nguồn. Lưu ý CND mà hy vọng nguồn tiền xử lý. Bạn có thể vượt qua các tùy chọn -E có CND chạy tiền xử lý trên mã nguồn của bạn cho bạn. Chạy:
& Nbsp; CND -h
để có được sự giúp đỡ đầy đủ trên giao diện dòng lệnh. Bạn có thể thiết lập các biến môi trường CND_CPP để tiền xử lý, bạn muốn sử dụng.

là gì mới trong phiên bản này:

  • Cú pháp thay đổi từ một [i; j] để a [i, j] .
  • Vẫn còn nhiều hỗ trợ phân tích cú pháp cho tiêu đề thực tế cuộc sống.

Yêu cầu :

  • Python

Phần mềm khác của nhà phát triển Andreas Kloeckner

PuDB
PuDB

20 Feb 15

PyOpenCL
PyOpenCL

28 Sep 15

Ý kiến ​​để CnD

Bình luận không
Nhập bình luận
Bật hình ảnh!