📄 test3.c
字号:
// real a(10, 10), b(10, 10)
//
// !hpf$ distribute a (block, block) onto p
// !hpf$ align b (i, j) with a (j, i)
// !hpf$ processors p (2, 2)
//
// do i = 1, 10
// do j = 1, 10
// a (i, j) = 10 * i + j
// enddo
// enddo
//
// b = a + 2
//
// do i = 1, 10
// print "(10f7.1)", b(i, :)
// enddo
//
// end
#include <stdio.h>
#include "ad++.h"
#include "admacros.h"
void main(int argc, char* argv[]) {
AdlibInit(argc, argv) ;
Procs2 p(2, 2) ;
on(p) {
Range x(10, p.dim(0), BLK) ;
Range y(10, p.dim(1), BLK) ;
Array2<float> a(x, y), b(y, x) ;
where(x) {
where(y) {
a(x, y) = 10 * (1 + x) + 1 + y ;
} erewh(y) ;
} erewh(x) ;
Array2<float> tmp1(x, y) ;
where(x) {
where(y) {
tmp1(x, y) = a(x, y) + 2 ;
} erewh(y) ;
} erewh(x) ;
remap(b, tmp1) ;
aprintf("%7.1f%*N", b, x.size()) ;
} no(p) ;
AdlibFinalize() ;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -