More Related Content
Similar to FPGAによるメニーコアシミュレータScalableCoreシステムの正当性検証 (20)
More from Shinya Takamaeda-Y (18)
FPGAによるメニーコアシミュレータScalableCoreシステムの正当性検証
- 3. Intel Single Chip Cloud Computer
48 cores (x86)
TILERA TILE-Gx100
100 cores (MIPS)
- 4. n
l
Off chip main memory
Off chip main memory
Mem. Node Page
(0,0) buffer Y-
Many-core processor chip
INCC
Memory Path Path Path Comp. Node
Node Node Node Node (X,Y) Core
(0,0) (1,0) (2,0) (M,0)
Router X+ Path Comp. Comp. Comp. Node INCC
Node Node Node Node Memory
(0,1) (1,1) (2,1) (M,1)
(b) Y+
X- Router X+
Path Comp. Comp. Comp.
Y- Node Node Node Node
(0,2) (1,2) (2,2) (M,2)
Path Node (a) Y+
(X,Y)
Path Comp. Comp. Comp.
Node Node Node Node
X- Router X+ (0,N) (1,N) (2,N) (M,N)
(c) Y+
- 5. n
l
Reality
Difficulty to construct
- 9. n
l
n
l
•
l
•
•
–
–
- 10. n
l
l
l
l
Off chip main memory
Off chip main memory
Mem. Node Page
(0,0) buffer Y-
Many-core processor chip
INCC Memory Path Path Path Comp. Node
Node Node Node Node (X,Y) Core
(0,0) (1,0) (2,0) (M,0)
Router X+ Path Comp. Comp. Comp. Node INCC
Node Node Node Node Memory
(0,1) (1,1) (2,1) (M,1)
(b) Y+
X- Router X+
Path Comp. Comp. Comp.
Y- Node Node Node Node
(0,2) (1,2) (2,2) (M,2)
Path Node (a) Y+
(X,Y)
Path Comp. Comp. Comp.
Node Node Node Node
X- Router X+ (0,N) (1,N) (2,N) (M,N)
(c) Y+
- 12. n
l
l
l
l
l
l
l
•
- 14. n
l
l
•
n
l
•
l
•
- 15. volatile static int start_flag = 0;
n volatile int end_flag [RANKY_MAX][RANKX_MAX];
void send_startflag(int rank) {
int rank_x, rank_y;
rank_x = getidx(rank);
l rank_y = getidy(rank);
int dst,x,y;
for(y=1;y<=max_rank_y;y++){
for(x=1;x<=max_rank_x;x++){
end_flag[y-1][x-1] = 0;
l }
}
for(x=1;x<=rank_x;x++){
for(y=1;y<=rank_y;y++){
if(x==1 && y==1) continue;
setidxy(&dst, x, y);
MC_dma_put_4b(dst, (int *)&start_flag, 1);
}
}
}
void wait_startflag() {
while(!start_flag);
}
- 16. Node Node Node Node
(0,1) (1,1) (2,1) (3,1)
Node Node Node Node
(0,2) (1,2) (2,2) (3,2)
Node Node Node Node
(0,3) (1,3) (2,3) (3,3)
- 17. n
time
Node 0 0 1 2 3 4 5 6 7 8 9 10 11
Node 1 0 1 2 3 4 5 6 7 8 9 10 11
Node 2 0 1 2 3 4 5 6 7 8 9 10 11
- 18. n
l
n
l
•
l
•
l
•
l
•
- 19. n
l
l
l
•
B-3C< B<=D=2D7E(57)8B(A+F=57)BG*<: L-AA757*+-=D)M=+7
HIID-<=+-(*
!"#! $#% &#& %#% !"#! $#% &#& %#% !"#! $#% &#& %#%
'()*(+,-*. !/0 !$1 !$$ !"% !/0 !$1 !$$ !"% "J"""K "J"""K "J"""K "J"""K
2(++(345-.,+)+()6('78!9!: %!/ %!/ %!& !$1 %!0 %!0 %!& !1" !J01@K !J01@K "J"""K %J$1/K
33;<=*(*>)1" 4 4 &$1?!! 1/0&"/ 4 4 &$1?!! 1/0&"0 4 4 "J"""K "J""!K
33;<=*(*>)!%" 4 4 %&%@%@! /?!&%&1 4 4 %&%@%0? /?!&%&1 4 4 "J"""K "J"""K
33;<=*(*>)!0" 4 4 ?&$?@"1 !$/&@&%% 4 4 ?&$?@"1 !$/&@&&0 4 4 "J"""K "J"""K
5=*'(3)+5=AA-< !!011%% 0$?@!? ?&@/?% 100/%& !!0"!?% 01$$!1 ?$/1@$ 100/%1 4"J$//K "J001K %J"$@K "J"""K
- 20. n
B-0C; B;<D</D4E(24)5F<2'G<24)BH*;7 M-AA424*+-<D)N<+4
IJJD-;<+-(*
!"#! $#% &#& %#% !"#! $#% &#& %#% !"#! $#% &#& %#%
'()*(+,-*. &$ &$ &$ &$ &$ &$ &$ &$ "K"""L "K"""L "K"""L "K"""L
/(++(012-.,+)+()3('45!6!7 !"$ !"! !"! 89 !"$ !"! !"! 89 "K"""L "K"""L "K"""L "K"""L
00:;<*(*=)>" 1 1 &$>$&! >?@%&& 1 1 &$>$&! >?@%&& 1 1 "K"""L "K"""L
00:;<*(*=)!%" 1 1 %&%8!"9 ?9!&!$9 1 1 %&%8!"9 ?9!&!$9 1 1 "K"""L "K"""L
00:;<*(*=)!@" 1 1 9&$99&? !$?&8%?9 1 1 9&$99&? !$?&8%?9 1 1 "K"""L "K"""L
2<*'(0)+2<AA-; !!8!@%% @98?@" 9?!8&? >@@&$& !!8!@%% @98?@" 9?!8&? >@@&$& "K"""L "K"""L "K"""L "K"""L
- 21. n
l
l
•
•
n
n
l
l