并行计算

1 HPL(High Performance Linpack)
假设要使用HPL程序在4个进程上解一个4096 * 4096的方程组(4096 * 4096的矩阵加一列方程组的右端项b),按照讲义第14页所示的block-cyclic方式对数据进行分配,NB=512。4个进程按1 * 4和4 * 1两种方式排布。那么,在HPL的回代部分(讲义48到55页),X的各个元素分别是由哪些进程算出的?例如,X[0..512]由进程(3, 0)求出。写出两种排布方式下X的各部分分别由哪些进程计算得到。(5分)

1 矩阵向量乘法(6分)
矩阵向量乘法(gemv)如何用OpenMP或pthread对其并行化(OpenMP和pthread任选一种即可)?假设矩阵按行存储(每一行数据是连续的),处理器有32个核。如果矩阵是按列存储呢?具体实现如何修改?