Optimising the jacobi and gauss-seidel methods

Assignment Help Computer Engineering
Reference no: EM133045707

COMP1680 Clouds, Grids and Virtualisation - University of Greenwich

Learning Outcome 1: Characterise and critically evaluate high performance computing based architectures and their suitability for given applications.

Learning Outcome 2: Implement and execute applications using shared and distributed memory programming paradigms.

Learning Outcome 3: Describe and critically discuss the roles and applications of cloud and grid computing.

You are provided with a two C program codes (called jacobi2d.c and gauss2d.c) that solve a rectangular 2 dimensional heat conductivity problem using the Jacobi and Gauss-Seidel iterative methods.

This code can be compiled and linked to produce a conventional executable files called jacobiSerial and gaussSerial by using the following commands:
gcc jacobi2d.c -o jacobiSerial gcc gauss2d.c -o gaussSerial
To run the executable type in the executable name: jacobiSerial or gaussSerial

As you implement each of the following 4 steps make sure that you retain and do not overwrite previous versions of your solutions.

Step 1
You are required to compute a temperature distribution for a rectangular 2D problem with boundary conditions set at top 100°C, bottom 20°C, left 30°C and right 40°C with a range of problem sizes. To do this you are required to modify the codes to:
• reflect the boundary conditions described above
• report the execution time Record the run-time of your code under a range of problem sizes using different levels of compiler optimization.
Be advised that:
• it is possible that aggressive optimization will break the code
• you will need to stop the results from printing if you are to obtain realistic measurements of the execution time.

Step 2
You are then required to modify the applications you created in step 1 to produce a basic parallel version of the codes using OpenMP. The following commands will compile your parallel version on a platform that has OpenMP installed:
gcc -fopenmp jacobiOpenmp.c -o jacobiOpenmp gcc -fopenmp gaussOpenmp.c -o gaussOpenmp
The parallel codes must include timers to report the parallel run-time of the code. This version must be tested to establish correct operation using 1, 2, 4 and 8 threads/processors, regardless of performance. (These versions may run on any platform you choose as performance is not an issue at this stage.)
Include in your report, the result for a 20x20 problem size for 1,2,4 and 8 processors to demonstrate the code works correctly.
Run the Gauss-Seidel code for only 1 iteration using 1 and 2 threads for a 20x20 problem size. Output the result along with the timings. Discuss the differences in the solutions.

Step 3
Using the cms-grid machines you are to run performance tests with the OpenMP implementation you created in step 2. This will require that you remove most of the print output from the code and increase the problem size to provide sufficient work to demonstrate useful speedup. You are expected to provide speedup results:
• for a range of problem sizes, you are unlikely to see much speedup for small domains, use at least 100x100+
• for a range of number of threads (from 2 up to 8 threads) In calculating the speedup of your parallel code you should use the optimized single processor version of your code you produced in step 1 and compare to this. You will need to apply similar compiler optimizations to your parallel code. Please list your runtimes in a suitable unit.

Step 4
Using different OpenMP directives and clauses you are to further modify your OpenMP application to improve the parallel performance. You are expected to provide results that permit comparison with those you obtained in steps 2 and 3. Comment on the differences between optimising the Jacobi and Gauss-Seidel Methods.

Deliverables
• A PDF file with your report
• A ZIP file with the source code for your solutions.
Your report is required to provide details of your implementation of steps 1 to 4 as described above. The report should include discussion of your solutions and provide a clear description of; the code changes you have implemented, your compilation and execution processes and your test cases. For steps 3 and 4 you are expected to provide tabular and graphical results. Comment on the differences between the two methods and the effect on parallelisation. Your zip file should provide suitably named source code files for each of your implementations.

Attachment:- Grids and Virtualisation.zip

Reference no: EM133045707

Questions Cloud

Explain amazon organization competitive advantage : What is the best way to explain the Amazon organization's competitive advantage strategies and relationships? Please Title and separate paragraphs include the f
How does it impact the supply chain : What is logistics and how does it impact the supply chain?
Main competitors of impossible foods : What are the motivations of the CEO of Impossible Foods behind the production of plant-based meat?
What is the issue price of the bond : The bond matures in 10 years, has a stated rate of 6%, and pays interest annually. What is the issue price of the bond
Optimising the jacobi and gauss-seidel methods : Comment on the differences between optimising the Jacobi and Gauss-Seidel Methods - Comment on the differences between the two methods
State the stockholder equity of the alphabet corporation : State the stockholder's equity of the Alphabet Corporation if it has a current net profit of $1,649,000, beginning-of-the-period retained earnings of $6,848,000
Write a press release zabdesk : Write a press release zabdesk recognize as one of most efficient internet software offered by any university in Pakistan?
What is the ending inventory using dollar-value lifo : One year later its ending inventory was $2,100, and costs had increased 5% during the year. What is the ending inventory using dollar-value LIFO
Describe his-her style of leadership in the company : Strategic management is a process that combines three major interrelated activities: Strategic Analysis, Strategy Formulation and Strategy Implementation.

Reviews

Write a Review

Computer Engineering Questions & Answers

  Write a function to remove duplicate entries in linked list

Write a function to remove duplicate entries in a linked list. For example, given the list (5,2,2,5,3,9,2) as input, your function should change the list.

  Find minimum amount of time invested in the installation

assume you want to test a motherboard used in an installation before you proceed too far into the installation.

  Implement a radix sorting machine

Implement a radix sorting machine. A radix sort for base 10 integers is a mechanical sorting technique that utilizes a collection of bins and one main bin.

  Find the acceleration of a cart

To find the acceleration of a cart, a student measures its initial and final velocities, u; and no and computes the difference (tif - u1).

  What is the minimum number of chopsticks deadlock freedom

Consider the variation of the Dining Philosophers problem shown in Figure where all unused chopsticks are placed in the center of the table and any philosoper.

  How can the average person fight this

Recent news articles are talking about how Internet is being used as a method of posting slanderous, private or simply unverified information.

  What are cgi programs and how are they invoked

What is HTTP? Which port number does it use? What are CGI programs? How are they invoked? How do you access home page of Web server running on your own machine?

  Determine the worst-case complexity of each

Determine the worst-case complexity of each of the following methods in terms of n and k.

  When and why would you consider using multiple nics

Describe a situation where you would purchase a work station with a built in NIC and a situation where you would use an expansion card.

  How virtual methods of class differ from other class methods

Explain how the virtual methods of a class differ from other class methods. How does AVL tree compare with its average-case performance?

  Define compensation structure and job design research

Assess value of the position using a job-based approach. The job based approach will assess the value that the specific position brings to the organization.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd