need someone to solve this for me without chatgtp -- 2

Job ID: 35948961

Budget: ₹600 – ₹1,500 INR

You need to design an SPMD-style recursive-doubling (of original data elements covered by a partial result) based parallel algorithm for a parallel sum computation of N elements on an m x n 2D mesh of processors (number of processors P = mxn), so that the final sum ends up in all processorswithoutrequiringafinalbroadcaststep,whereN>> P.Assumethatm,narepowers of 2, and that the processors are labeled by two dimensional coordinates (i, j), 0 <= i <= m-1, and 0 <= j <= n-1, in a straight binary order along rows and columns (if you need to, you can treat the i, j labels as (log m)-bit and (log n)-bit bit vectors). In a 2D mesh, processor (i,J) is directly connected to processors (i-1, j), (i+1, j), (i, j-1) and (i, j+1), if they exist (only processors with coordinates in the range [0, n-1] and [0, m-1] exist). Assume that each processor has its local N/P data elements to start with. Use the following simple syntax for sends and receives: send(dest_proc_id, data_item_to_send), receive(source_proc_id, variable_to_recv_data_item).
a) Give a pseudo code with good comments to explain all crucial steps, and also describe the algorithm in text with suitable figures. 100
b) Analyze the parallel time complexity of your algorithm in order (Theta) notation (additive constants can be ignored but not multiplicative ones). For this, you need to take the number of hops of a message and worst-case congestion on any link into account, as in problem 1. Again, use suitable figures to illustrate your analysis
Related categories: C++ Programming Parallel Processing