Get Instant Help From 5000+ Experts For

Writing: Get your essay and assignment written from scratch by PhD expert

Rewriting: Paraphrase or rewrite your friend's essay with similar meaning at reduced cost

Editing:Proofread your work by experts and improve grade at Lowest cost

And Improve Your Grades
Phone no. Missing!

Enter phone no. to receive critical updates and urgent messages !

Attach file

Error goes here

Files Missing!

Please upload all relevant files for quick & complete assistance.

Guaranteed Higher Grade!
Free Quote
High Performance Computing: Characterization, Evaluation, and Implementation

Step 1

Characterise and critically evaluate high performance computing based architectures and their suitability for given applications.
Implement and execute applications using shared and distributed memory programming paradigms.
Describe and critically discuss the roles and applications of cloud and grid computing.

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: 
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.
• 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. 
Grading Criteria 
To achieve a pass mark it is expected that an outline solution will be provided in which at least a basic attempt is evident with some progress.
To achieve a mark in the merit range it is expected that a good solution is provided in which there is clear evidence of progress and understanding. 
To achieve a distinction mark it is expected that high quality solutions and reports are provided in which there is clear evidence of competence in practical, theoretical and presentation skills.If you are unsure about any of these instructions, then please email your tutor or make an appointment to see your tutor as soon as possible.

sales chat
sales chat