Question: Given the following code which multiplies two vectors that contain single-precision complex numbers. for (i=0; i <300; i++) { c_re[i] = a_re[i] * b_re[i] a_im[i]
Given the following code which multiplies two vectors that contain single-precision complex numbers.
for (i=0; i<300; i++)
{
c_re[i] = a_re[i] * b_re[i] a_im[i] * b_im[i];
c_im[i] = a_re[i] * b_im[i] + a_im[i] * b_re[i];
}
(a) What is the arithmetic intensity of this code?
(b) Convert this code in to VMIPS assembly code using strip mining.
(c) Develop a roofline model for a processor that has a peak computational throughput of 85 GFLOP/sec and a 30 GB/sec memory bandwidth.
(d) Assume your code is to be executed on the above processor. Will the code be memory bound or compute bound?
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
