Code Monkey home page Code Monkey logo

parallel-computing's Introduction

University of Lincoln

CMP3110M Parallel Computing, Assessment Item 1

Your task is to develop a simple statistical tool for analysing historical weather records from Lincolnshire. The provided data files include 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 tool should be able to load the provided dataset and perform statistical summaries of temperature including the min, max and average values, and standard deviation. The provided summaries should be performed on the entire dataset regardless their acquisition time and location. For additional credit, you can also consider the median statistic and its 1st and 3rd quartiles (i.e. 25th and 75th percentiles) which will require a development of a suitable sorting algorithm.

Due to the large amount of data (i.e. 1.8 million records), all statistical calculations shall be performed on parallel hardware and implemented by a parallel software component written in OpenCL. Your tool should also report memory transfer, kernel execution and total program execution times for performance assessment. Further credit will be given for additional optimisation strategies which target the parallel performance of the tool. 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 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 original file is called “weather_lincolnshire.txt” and the short dataset is “weather_lincolnshire_short.txt”. More details about the file format are included in the “readme.txt” file. The data files are provided on Blackboard together with this description document in a file “temp_lincolnshire_datasets.zip”. The output results and performance measures should be reported in a console window in a clear and readable format. All reading and displaying operations should be provided by the host code.

The main assessment criteria for this task are related to the correctness of the developed algorithms and effectiveness of optimisation strategies. The code should be well commented and clearly structured into functional blocks.


Objectives

  • [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.

parallel-computing's People

Contributors

ling-kan avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.