Achronus / weather-analysis-opencl

An application that retrieves temperature data from a text file and returns its statistical values using Parallel Programming in OpenCL and C++.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Weather Analysis OpenCl C++

Large dataset results

An application that retrieves temperature data from a text file and returns its statistical values using Parallel Programming in OpenCL and C++.

The application can be executed through the 'Local windows debugger' and acts as a console application. All commands are clearly labelled when the applications start. For efficient statistical lookup on the large dataset, once the program has loaded input commands '2', '2', and '2'. This selects the large dataset with all statistics.

Statistical results achieved on datasets (to 3 decimal places):

Statistics Small Dataset Large Dataset
Minimum Value -25.000 -25.000
Maximum Value 31.500 45.000
Mean Value 9.727 9.772
Standard Deviation 5.915 5.924
Median Value 9.800 9.800
1st Quartile 5.100 5.300
3rd Quartile 14.000 14.000

Additional information displayed within the console includes:

  • Total records in file
  • Local size
  • Number of work-groups
  • Padding increase value
  • Number of records with padding increase
  • Individual and total kernel execution times
  • Profiling information: queued, submitted, executed and total

Dependencies

This project requires a Microsoft Visual Studio 2019 environment, with the C++ programming language packages enabled. Additionally, it uses Intel's OpenCL SDK that must be downloaded.

With the core packages install, OpenCL requires runtime drivers to run the OpenCL code on your computers hardware. Both Nvidia and AMD GPUs have OpenCL runtimes included with their card drivers. However for CPUs, you are required to install a dedicated driver by Intel, found here (Intel® CPU Runtime for OpenCL™), or an APP SDK for older AMD processors.

A useful resource for getting OpenCL working on Windows can be found here.

Known Errors and Fixes

When activating the large dataset with 'all statistics' enabled, it is possible to receive a CL_OUT_OF_RESOURCES error if the device is used a display driver. This was tested on a NVIDIA Geforce GTX 970 that acts as a display driver for two monitors. To resolve this error, the TDR delay for my PC needed to be increased to 30 seconds (from an initial 2 seconds).

One approach to solve this is to download NVIDIA Nsight that can be found here (requires NVIDIA developer account), following the instructions listed here. Alternatively, TDR can be increase by editing the Windows registry (not advised).

About

An application that retrieves temperature data from a text file and returns its statistical values using Parallel Programming in OpenCL and C++.

License:MIT License


Languages

Language:C++ 98.9%Language:C 1.1%