Parallel Programming Assessment 1

Posted Under: Algorithms

Ask A Question
DESCRIPTION
Posted
Modified
Viewed 19
Your task is to develop a simple program for analysing historical weather records from Lincolnshire. The provided data set includes records of air temperature collected over a period of more than 80 years from five weather stations in Lincolnshire: Barkston Heath, Scampton, Waddington, Cranwell and Coningsby. Your program should be able to load the provided dataset and calculate statistical summaries of temperature including the minimum, maximum, mean, and standard deviation. These summary statistics should be calculated for the entire dataset, regardless of acquisition time and location. For additional credit, you should also calculate the median statistic and its 1st and 3rd quartiles (i.e. 25th and 75th percentiles), which will require the development of a suitable sorting algorithm. (note: more information on the task is the assignment brief below. additionally the data files required will be provided once accepted).
Attachments
Assessment Item 1 Module Code & Title: CMP3752M Parallel Programming Contribution to Final Module Mark: 40% Description of Assessment Task and Purpose: Your task is to develop a simple program for analysing historical weather records from Lincolnshire. The provided data set includes records of air temperature collected over a period of more than 80 years from five weather stations in Lincolnshire: Barkston Heath, Scampton, Waddington, Cranwell and Coningsby. Your program should be able to load the provided dataset and calculate statistical summaries of temperature including the minimum, maximum, mean, and standard deviation. These summary statistics should be calculated for the entire dataset, regardless of acquisition time and location. For additional credit, you should also calculate the median statistic and its 1st and 3rd quartiles (i.e. 25th and 75th percentiles), which will require the development of a suitable sorting algorithm. Due to the large amount of data (i.e. 1.8 million records), all statistical calculations should be performed on parallel hardware and implemented by a parallel software component written in OpenCL. Your program should also report memory transfer, kernel execution, and total program execution times for performance assessment. Further credit will be given for additional optimisation strategies that target the parallel performance of the program. In such a case, your program should run and display execution times for different variants of your algorithm. Your basic implementation can assume temperature values expressed as integers and skip all parts after a decimal point. For additional credit, you should also consider the exact temperature values and their corresponding summary statistics. You can base your code on the material provided during workshop sessions, but you are not allowed to use any existing parallel libraries (e.g. Boost.Compute). To help you with code development, a shorter dataset is also provided which is 100 times smaller. The full data set is called “temp_lincolnshire.txt”, and the short dataset is “temp_lincolnshire_short.txt”. These data sets, as well as a "readme.txt" that describes the file format, are available for download from Blackboard in the file “temp_lincolnshire_datasets.zip”. The results and performance measures output by your code should be reported in a console window in a clear and readable format. All file I/O and reporting operations should be provided by the host code. You should pay careful attention to the correctness of the developed algorithms and effectiveness of any optimisation strategies. Your code should follow good programming practices such as clear commenting, proper structure, and use of descriptive names for methods and variables. You must also clearly explain how to run your code by including a “readme” file with your submission. You are also required to provide a short summary of your implementation (max. 300 words), which should be included as a code comment section above the main function in your host code. This should briefly describe the implemented functionality, clearly indicate any original developments in the code (beyond what was provided in the workshops), cite any external sources used, and detail any optimisation strategies employed. Note that your grade will solely depend on the quality of your code, so keep this section concise and do not exceed the word count. Learning Outcomes Assessed: • LO1: demonstrate practical skills in applying parallel algorithms for solving computational problems • LO3: analyse parallel architectures as a means to provide solutions to complex computational problems Knowledge & Skills Assessed: • Understanding of parallel programming patterns • OpenCL parallel programming skills • Analytical skills • Critical thinking • Problem solving • Effective time management • Written communication Assessment Submission Instructions: The deadline for submission of this work is included in the School Submission dates on Blackboard. All developed code should be submitted as a single ZIP file via the Blackboard upload area for this assessment item. Please remove all compiled binary and temporary files to reduce the size of the overall submission (folders such as x64, .vs, debug, release, etc). Format for Assessment: The submitted work should comprise OpenCL code. DO NOT include this briefing document with your submission. Feedback Format: Written feedback will be provided via Blackboard. Additional Information for Completion of Assessment: This assessment is an individually assessed component. Your work must be presented according to the School of Computer Science guidelines for the presentation of assessed written work. Please make sure you have a clear understanding of the grading principles for this component as detailed in the accompanying Criterion Reference Grid. If you are unsure about any aspect of this assessment component, please seek advice from a member of the delivery team. Assessment Support Information: • Staff are available during their office hours and can provide feedback during this time outside of module hours. • Demonstrators are available online throughout the week. Important Information on Dishonesty & Plagiarism: University of Lincoln Regulations define plagiarism as 'the passing off of another person's thoughts, ideas, writings or images as one's own...Examples of plagiarism include the unacknowledged use of another person's material whether in original or summary form. Plagiarism also includes the copying of another student's work'. Plagiarism is a serious offence and is treated by the University as a form of academic dishonesty. Students are directed to the University Regulations for details of the procedures and penalties involved. For further information, see www.plagiarism.org Lincoln School of Computer Science CMP3752M Parallel Programming, Assessment Item 1 Learning Outcome Criterion Pass 2:2 2:1 1st [LO1] demonstrate practical skills in applying parallel algorithms for solving computational problems; [LO3] analyse parallel architectures as a means to provide solutions to complex computational problems. Code implementation (100%) Working program developed, providing basic statistical summaries of the weather data (min/max/mean/ standard deviation) using integer temperature values. The memory transfer and kernel execution times are reported. Coding style is readable. Working program developed, providing basic statistical summaries and some attempt at optimising the code using integer temperature values. Performance of the program is reported. Clear coding style with code comments. Working program developed, providing basic statistical summaries with well optimised kernels using real temperature values. Performance of the program is clearly reported and communicated to the user. Clear and well- commented code. Excellent implementation featuring basic statistical summaries and median-based statistics on real temperature values. Optimisations based on local memory are considered. Program performance is clearly reported and communicated to the user in detail. The code is optimised, efficient, well-structured and well-commented. Weighting The single criterion for this assessment is weighted as indicated. Assessment Item 1 Module Code & Title: CMP3752M Parallel Programming Contribution to Final Module Mark: 40% Description of Assessment Task and Purpose: Your task is to develop a simple program for analysing historical weather records from Lincolnshire. The provided data set includes records of air temperature collected over a period of more than 80 years from five weather stations in Lincolnshire: Barkston Heath, Scampton, Waddington, Cranwell and Coningsby. Your program should be able to load the provided dataset and calculate statistical summaries of temperature including the minimum, maximum, mean, and standard deviation. These summary statistics should be calculated for the entire dataset, regardless of acquisition time and location. For additional credit, you should also calculate the median statistic and its 1st and 3rd quartiles (i.e. 25th and 75th percentiles), which will require the development of a suitable sorting algorithm. Due to the large amount of data (i.e. 1.8 million records), all statistical calculations should be performed on parallel hardware and implemented by a parallel software component written in OpenCL. Your program should also report memory transfer, kernel execution, and total program execution times for performance assessment. Further credit will be given for additional optimisation strategies that target the parallel performance of the program. In such a case, your program should run and display execution times for different variants of your algorithm. Your basic implementation can assume temperature values expressed as integers and skip all parts after a decimal point. For additional credit, you should also consider the exact temperature values and their corresponding summary statistics. You can base your code on the material provided during workshop sessions, but you are not allowed to use any existing parallel libraries (e.g. Boost.Compute). To help you with code development, a shorter dataset is also provided which is 100 times smaller. The full data set is called “temp_lincolnshire.txt”, and the short dataset is “temp_lincolnshire_short.txt”. These data sets, as well as a "readme.txt" that describes the file format, are available for download from Blackboard in the file “temp_lincolnshire_datasets.zip”. The results and performance measures output by your code should be reported in a console window in a clear and readable format. All file I/O and reporting operations should be provided by the host code. You should pay careful attention to the correctness of the developed algorithms and effectiveness of any optimisation strategies. Your code should follow good programming practices such as clear commenting, proper structure, and use of descriptive names for methods and variables. You must also clearly explain how to run your code by including a “readme” file with your submission. You are also required to provide a short summary of your implementation (max. 300 words), which should be included as a code comment section above the main function in your host code. This should briefly describe the implemented functionality, clearly indicate any original developments in the code (beyond what was provided in the workshops), cite any external sources used, and detail any optimisation strategies employed. Note that your grade will solely depend on the quality of your code, so keep this section concise and do not exceed the word count. Learning Outcomes Assessed: • LO1: demonstrate practical skills in applying parallel algorithms for solving computational problems • LO3: analyse parallel architectures as a means to provide solutions to complex computational problems Knowledge & Skills Assessed: • Understanding of parallel programming patterns • OpenCL parallel programming skills • Analytical skills • Critical thinking • Problem solving • Effective time management • Written communication Assessment Submission Instructions: The deadline for submission of this work is included in the School Submission dates on Blackboard. All developed code should be submitted as a single ZIP file via the Blackboard upload area for this assessment item. Please remove all compiled binary and temporary files to reduce the size of the overall submission (folders such as x64, .vs, debug, release, etc). Format for Assessment: The submitted work should comprise OpenCL code. DO NOT include this briefing document with your submission. Feedback Format: Written feedback will be provided via Blackboard. Additional Information for Completion of Assessment: This assessment is an individually assessed component. Your work must be presented according to the School of Computer Science guidelines for the presentation of assessed written work. Please make sure you have a clear understanding of the grading principles for this component as detailed in the accompanying Criterion Reference Grid. If you are unsure about any aspect of this assessment component, please seek advice from a member of the delivery team. Assessment Support Information: • Staff are available during their office hours and can provide feedback during this time outside of module hours. • Demonstrators are available online throughout the week. Important Information on Dishonesty & Plagiarism: University of Lincoln Regulations define plagiarism as 'the passing off of another person's thoughts, ideas, writings or images as one's own...Examples of plagiarism include the unacknowledged use of another person's material whether in original or summary form. Plagiarism also includes the copying of another student's work'. Plagiarism is a serious offence and is treated by the University as a form of academic dishonesty. Students are directed to the University Regulations for details of the procedures and penalties involved. For further information, see www.plagiarism.org Lincoln School of Computer Science CMP3752M Parallel Programming, Assessment Item 1 Learning Outcome Criterion Pass 2:2 2:1 1st [LO1] demonstrate practical skills in applying parallel algorithms for solving computational problems; [LO3] analyse parallel architectures as a means to provide solutions to complex computational problems. Code implementation (100%) Working program developed, providing basic statistical summaries of the weather data (min/max/mean/ standard deviation) using integer temperature values. The memory transfer and kernel execution times are reported. Coding style is readable. Working program developed, providing basic statistical summaries and some attempt at optimising the code using integer temperature values. Performance of the program is reported. Clear coding style with code comments. Working program developed, providing basic statistical summaries with well optimised kernels using real temperature values. Performance of the program is clearly reported and communicated to the user. Clear and well- commented code. Excellent implementation featuring basic statistical summaries and median-based statistics on real temperature values. Optimisations based on local memory are considered. Program performance is clearly reported and communicated to the user in detail. The code is optimised, efficient, well-structured and well-commented. Weighting The single criterion for this assessment is weighted as indicated.
Explanations and Answers 0

No answers posted

Post your Answer - free or at a fee

Login to your tutor account to post an answer

Posting a free answer earns you +20 points.

Login

NB: Post a homework question for free and get answers - free or paid homework help.

Get answers to: Parallel Programming Assessment 1 or similar questions only at Tutlance.

Related Questions