题目内容

请简述“晴雯补裘”的故事。

查看答案
更多问题

编程题:矩阵乘法的实现考虑计算两个大规模的矩阵乘法: C=A*B。其中A的大小为1000×800,B矩阵大小为800×1200,C矩阵大小为1000×1200。矩阵初始化要求如下:(1)A矩阵的初始化:每一行第1个位置为学号最后1位,以后位置为第1个位置依次加1。例如张三同学学号:20210001123,A[0][0] =3,A[0][1] =4,A[0][2] =5...(2)B矩阵的初始化:每一行第1个位置为学号倒数第2位,以后位置为第1个位置依次加1。例如张三同学学号:20210001123,B[0][0] =2,B[0][1] =3,B[0][2] =4...实现步骤如下:(1)先完成C语言版本的矩阵乘法,将其结果保存到变量C_ref变量中,作为与后面GPU计算结果的验证。(2)利用Global Memory 实现上述矩阵乘法的计算,将结果保存到变量C_gm中,并将结果与CPU计算的结果C_ref进行比较。(3)利用Share Memory实现上述矩阵乘法的计算,将结果保存到变量C_sm中,并将结果与CPU计算的结果C_ref进行比较。(4)对上述三种实现方法进行计时,计算加速比。实现过程中需要完成如下函数:(1)int verify_result(int *input, int *ref, int row, int col); //对结果进行的正确性进行校验。其中input为待校验结果(C_gm或者C_sm),ref为正确结果(C_ref);(2)voidMatrixMulCPU(int *p_A, int *p_B, int *p_C, int A_row, int A_col, int B_col); //CPU 串行矩阵乘法,因为C矩阵的row=A矩阵的row,C矩阵的col=B矩阵的col,这里进行了简化只传了A_row, A_col, B_col 三个参数;(3)voidMatrixMul_gm(int *p_A, int *p_B,int *p_C,int A_row, int A_col, int B_col);//GPU global memory矩阵乘法(4)voidMatrixMul_sm(int *p_A, int *p_B,int *p_C,int A_row, int A_col, int B_col); //GPU share memory矩阵乘法总结:比较几种方法的加速比,并对加速比结果进行分析,有没有更好的办法进行进一步提速空间?

哪些引起系统误差( )

A. 天平砝码未校正
B. 判断滴定终点颜色总是偏深
C. 滴定终点和化学计量点不完全一致
D. 滴定时有溶液从锥形瓶中溅失
E. 移液管转移溶液后残留量稍有不同

下列情况将引起偶然误差的是: ( )

A. 砝码被腐蚀;
B. 容量瓶没有被校正;
C. 重量分析中杂质被共沉淀;
D. 称量时,最后一位读数估计不准;
E. 以含量99%的邻苯二甲酸氢钾作基准物标定氢氧化钠溶液;

下列系统误差的消减方法中错误的是: ( )

A. 对照实验;
B. 空白实验;
C. 增加平行测定次数;
D. 校正仪器;
E. 提纯试剂。

答案查题题库