作者Orodruin (Chris)
标题Re: [理工] 105 台大资工 计系
时间Fri Jan 5 15:55:03 2024
1. (i) (j) (k)
设 Q processor core 使 N/Q 个 nodes 能平行计算
设 FP num 为单精度32 bit
传输效率:10Gbps iff 0.1 ns/bit
1台机器:
(1) N nodes 须计算
(2) transfer 不花时间
T_1(N) = N/Q * A ns
2台机器
(1) 每台机器有 N/2 nodes 须计算
(2) 共 N^2/2 FP nums 须 transfer
T_2(N) = (N/2*Q) * A + (N^2/2)/Q * 32 * 0.1 ns
p 台机器
(1) 每台机器有 N/p nodes 须计算
(2) 共 ((p-1)/p)*N^2 FP nums 须 transfer
(每台有N/p FP nums 须传输至另外的p-1台机器上的各N/p nodes 上,
且共有p组须传输)
T_p(N) = (N/p*Q) * A + ((p-1)/p)*N^2/Q * 32 * 0.1 ns
8. (a)
typedef struct {
semaphore barrier(0);
semaphore mutex_count(1);
int count;
} barrier;
void barrier_wait (barrier *b, int n) {
wait(b->mutex_count);
b->count++;
if (b->count == n) signal(b->barrier);
signal(b->mutex_count);
wait(b->barrier);
wait(b->mutex_count);
b->count--;
signal(b->mutex_count);
}
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.243.25.107 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Grad-ProbAsk/M.1704441305.A.42A.html