⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test3.c

📁 shpf 1.9一个并行编译器
💻 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 + -