Difference between revisions of "GPU621/Group 8"

From CDOT Wiki
Jump to: navigation, search
(Initial creation of the asssignment page)
 
(Introduction)
 
(5 intermediate revisions by the same user not shown)
Line 5: Line 5:
  
 
== Introduction ==
 
== Introduction ==
 +
 +
''' Overview '''
 +
 +
In this project I aim to analyze the differences in use and performance between the C++ 11 threads library and OpenMP. The goal is not to determine which tools are overall more effective, but instead show where each one shines and the ways they can be utilized most effectively, and provide a high-level familiarity to each of these tools through comparison.
 +
 +
 +
'''What is Multi-Threading: a Short Explanation for the Layperson'''
 +
 +
Essentially, multi-threading is our ability to utilize our processors more efficiently by breaking up the workload of an individual task into multiple smaller workloads that can be completed simultaneously. One example of this could be when seeking the sum of a large pool of numbers, let's say 1,000,000 numbers for this example. Instead of adding all 1,000,000 numbers together sequentially, a programmer might use threads to add batches of 250,000 together at the same time, then combining those smaller sums together.
  
 
== Methodology ==
 
== Methodology ==
 +
 +
''[Please note this is an early draft and subject to adjustment as the project proceeds and instructor input is considered]''
 +
 +
In order to analyze the differences in performance I will design a testing program that will require processing large sets of data utilizing a set of different data structures. I will be considering the ease of use, complexity of code, and of course time performance.
 +
 +
== Case Study ==

Latest revision as of 14:27, 7 March 2023

C++11 Threads Library Comparison to OpenMP

Team

  1. Olivia Brown

Introduction

Overview

In this project I aim to analyze the differences in use and performance between the C++ 11 threads library and OpenMP. The goal is not to determine which tools are overall more effective, but instead show where each one shines and the ways they can be utilized most effectively, and provide a high-level familiarity to each of these tools through comparison.


What is Multi-Threading: a Short Explanation for the Layperson

Essentially, multi-threading is our ability to utilize our processors more efficiently by breaking up the workload of an individual task into multiple smaller workloads that can be completed simultaneously. One example of this could be when seeking the sum of a large pool of numbers, let's say 1,000,000 numbers for this example. Instead of adding all 1,000,000 numbers together sequentially, a programmer might use threads to add batches of 250,000 together at the same time, then combining those smaller sums together.

Methodology

[Please note this is an early draft and subject to adjustment as the project proceeds and instructor input is considered]

In order to analyze the differences in performance I will design a testing program that will require processing large sets of data utilizing a set of different data structures. I will be considering the ease of use, complexity of code, and of course time performance.

Case Study