Starting at several high-level points:
- , ( ),
( ), , ,
.
(, , vs.
, - ).
- , .
- / .
- / ,
.
, -
, Chapel
, Chapel 1.15, ,
.
:
:
use BlockDist;
config const n = 10;
const D = {1..n, 1..n} dmapped Block({1..n, 1..n});
var A: [D] real;
forall a in A do
a = here.id;
writeln(A);
, 6 (./myProgram -nl 6) :
0.0 0.0 0.0 0.0 0.0 1.0 1.0 1.0 1.0 1.0
0.0 0.0 0.0 0.0 0.0 1.0 1.0 1.0 1.0 1.0
0.0 0.0 0.0 0.0 0.0 1.0 1.0 1.0 1.0 1.0
0.0 0.0 0.0 0.0 0.0 1.0 1.0 1.0 1.0 1.0
2.0 2.0 2.0 2.0 2.0 3.0 3.0 3.0 3.0 3.0
2.0 2.0 2.0 2.0 2.0 3.0 3.0 3.0 3.0 3.0
2.0 2.0 2.0 2.0 2.0 3.0 3.0 3.0 3.0 3.0
4.0 4.0 4.0 4.0 4.0 5.0 5.0 5.0 5.0 5.0
4.0 4.0 4.0 4.0 4.0 5.0 5.0 5.0 5.0 5.0
4.0 4.0 4.0 4.0 4.0 5.0 5.0 5.0 5.0 5.0
, Chapel . Crays.
, :
use BlockDist;
config const n = 10;
const D = {1..n, 1..n} dmapped Block({1..n, 1..n});
var SD: sparse subdomain(D);
var A: [SD] real;
SD += (1,1);
SD += (n/2, n/4);
SD += (3*n/4, 3*n/4);
SD += (n, n);
forall a in A do
a = here.id + 1;
for i in 1..n {
for j in 1..n do
write(A[i,j], " ");
writeln();
}
:
1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 3.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0 4.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 6.0
forall / node .
:
Chapel 1.15.0, parallelism . + , " GraphBLAS " , -, - . - .
, . Chapel BLAS LAPACK. 1.15 LinearAlgebra. (BLAS LAPACK , LinearAlgebra, ).
SQL (), . / Chapel . Chapel C, SQL.