Chapelメモ - 3
配列を気軽に作らない
プログラム中で気軽に
var xyz: [1..3] real;
とかしてたら死ぬほど時間がかかったので、
var xyz: 3*real;
に変えたところC言語の10倍以内のスローダウンで済んだ。しかしそれでも遅すぎるのでC言語の二倍以内にはなって欲しいところ。
dmapがやっぱりわからない
コンパイル時にdmapを指定するのはサンプル通りだ。
const Space = [1..8, 1..8]; const D: domain(2) dmapped Block(Space) = Space; var A: [D] int;
今問題にしたいのは、コンパイル時にはドメインが分かっていなくて、実行時に配列を割り当てる時の話である。
const Space = [1..8, 1..8]; var MyBlockDist: dmap(Block(rank=2)); var E: domain(2); var B: [E] int; E = Space dmapped Block(Space);
こんな感じでサクッとdmapされたドメイン、及びそれの上の配列が出来て欲しいんだよねー。