Accelerating a hydrological uncertainty ensemble model using graphics processing units (GPUs)
- Tristram, Dale, Hughes, Denis A, Bradshaw, Karen L
- Authors: Tristram, Dale , Hughes, Denis A , Bradshaw, Karen L
- Date: 2014
- Subjects: To be catalogued
- Language: English
- Type: text , article
- Identifier: http://hdl.handle.net/10962/475173 , vital:77781 , xlink:href="https://doi.org/10.1016/j.cageo.2013.07.011"
- Description: The practical application of hydrological uncertainty models that are designed to generate multiple ensembles can be severely restricted by the available computer processing power and thus, the time taken to generate the results. CPU clusters can help in this regard, but are often costly to use continuously and maintain, causing scientists to look elsewhere for speed improvements. The use of powerful graphics processing units (GPUs) for application acceleration has become a recent trend, owing to their low cost per FLOP, and their highly parallel and throughput-oriented architecture, which makes them ideal for many scientific applications. However, programming these devices efficiently is non-trivial, seemingly making their use impractical for many researchers. In this study, we investigate whether redesigning the CPU code of an adapted Pitman rainfall-runoff uncertainty model is necessary to obtain a satisfactory speedup on GPU devices. A twelvefold speedup over a multithreaded CPU implementation was achieved by using a modern GPU with minimal changes to the model code. This success leads us to believe that redesigning code for the GPU is not always necessary to obtain a worthwhile speedup.
- Full Text:
- Date Issued: 2014
- Authors: Tristram, Dale , Hughes, Denis A , Bradshaw, Karen L
- Date: 2014
- Subjects: To be catalogued
- Language: English
- Type: text , article
- Identifier: http://hdl.handle.net/10962/475173 , vital:77781 , xlink:href="https://doi.org/10.1016/j.cageo.2013.07.011"
- Description: The practical application of hydrological uncertainty models that are designed to generate multiple ensembles can be severely restricted by the available computer processing power and thus, the time taken to generate the results. CPU clusters can help in this regard, but are often costly to use continuously and maintain, causing scientists to look elsewhere for speed improvements. The use of powerful graphics processing units (GPUs) for application acceleration has become a recent trend, owing to their low cost per FLOP, and their highly parallel and throughput-oriented architecture, which makes them ideal for many scientific applications. However, programming these devices efficiently is non-trivial, seemingly making their use impractical for many researchers. In this study, we investigate whether redesigning the CPU code of an adapted Pitman rainfall-runoff uncertainty model is necessary to obtain a satisfactory speedup on GPU devices. A twelvefold speedup over a multithreaded CPU implementation was achieved by using a modern GPU with minimal changes to the model code. This success leads us to believe that redesigning code for the GPU is not always necessary to obtain a worthwhile speedup.
- Full Text:
- Date Issued: 2014
Determining the difficulty of accelerating problems on a GPU
- Tristram, Dale, Bradshaw, Karen L
- Authors: Tristram, Dale , Bradshaw, Karen L
- Date: 2014
- Subjects: To be catalogued
- Language: English
- Type: text , article
- Identifier: http://hdl.handle.net/10962/475208 , vital:77784
- Description: General-purpose computation on graphics processing units (GPGPU) has great potential to accelerate many scientific models and algorithms. However, since some problems are considerably more difficult to accelerate than others, ascertaining the effort required to accelerate a particular problem is challenging. Through the acceleration of three typical scientific problems, seven problem attributes have been identified to assist in the evaluation of the difficulty of accelerating a problem on a GPU. These attributes are inherent parallelism, branch divergence, problem size, required computational parallelism, memory access pattern regularity, data transfer overhead, and thread cooperation. Using these attributes as difficulty indicators, an initial problem difficulty classification framework has been created that aids in evaluating GPU acceleration difficulty. The difficulty estimates obtained by applying the classification framework to the three case studies correlate well with the actual effort expended in accelerating each problem.
- Full Text:
- Date Issued: 2014
- Authors: Tristram, Dale , Bradshaw, Karen L
- Date: 2014
- Subjects: To be catalogued
- Language: English
- Type: text , article
- Identifier: http://hdl.handle.net/10962/475208 , vital:77784
- Description: General-purpose computation on graphics processing units (GPGPU) has great potential to accelerate many scientific models and algorithms. However, since some problems are considerably more difficult to accelerate than others, ascertaining the effort required to accelerate a particular problem is challenging. Through the acceleration of three typical scientific problems, seven problem attributes have been identified to assist in the evaluation of the difficulty of accelerating a problem on a GPU. These attributes are inherent parallelism, branch divergence, problem size, required computational parallelism, memory access pattern regularity, data transfer overhead, and thread cooperation. Using these attributes as difficulty indicators, an initial problem difficulty classification framework has been created that aids in evaluating GPU acceleration difficulty. The difficulty estimates obtained by applying the classification framework to the three case studies correlate well with the actual effort expended in accelerating each problem.
- Full Text:
- Date Issued: 2014
Evaluating the acceleration of typical scientific problems on the GPU
- Tristram, Dale, Bradshaw, Karen L
- Authors: Tristram, Dale , Bradshaw, Karen L
- Date: 2013
- Subjects: To be catalogued
- Language: English
- Type: text , book
- Identifier: http://hdl.handle.net/10962/477607 , vital:78103 , ISBN 9781450321129 , https://doi.org/10.1145/2513456.2513473
- Description: General-purpose computation on graphics processing units (GPGPU) has great potential to accelerate many scientific models and algorithms. However, some problems are considerably more difficult to accelerate than others, and it may be difficult for those new to GPGPU to ascertain the difficulty of accelerating a particular problem. Additionally, problems of different levels of difficulty require varying complexities of optimisations to achieve satisfactory results, and currently there is no clear separation between the different levels of known optimisations, which would be helpful to new users of GPGPU. Through what was learned in the acceleration of three problems, problem attributes have been identified to assist in evaluating the difficulty of accelerating a problem on a GPU. We envisage that with further development, these attributes could form the foundation of a difficulty classification system that could be used to determine whether GPU acceleration is practical for a candidate GPU acceleration problem, aid in identifying appropriate techniques and optimisations, and outline the required GPGPU knowledge.
- Full Text:
- Date Issued: 2013
- Authors: Tristram, Dale , Bradshaw, Karen L
- Date: 2013
- Subjects: To be catalogued
- Language: English
- Type: text , book
- Identifier: http://hdl.handle.net/10962/477607 , vital:78103 , ISBN 9781450321129 , https://doi.org/10.1145/2513456.2513473
- Description: General-purpose computation on graphics processing units (GPGPU) has great potential to accelerate many scientific models and algorithms. However, some problems are considerably more difficult to accelerate than others, and it may be difficult for those new to GPGPU to ascertain the difficulty of accelerating a particular problem. Additionally, problems of different levels of difficulty require varying complexities of optimisations to achieve satisfactory results, and currently there is no clear separation between the different levels of known optimisations, which would be helpful to new users of GPGPU. Through what was learned in the acceleration of three problems, problem attributes have been identified to assist in evaluating the difficulty of accelerating a problem on a GPU. We envisage that with further development, these attributes could form the foundation of a difficulty classification system that could be used to determine whether GPU acceleration is practical for a candidate GPU acceleration problem, aid in identifying appropriate techniques and optimisations, and outline the required GPGPU knowledge.
- Full Text:
- Date Issued: 2013
- «
- ‹
- 1
- ›
- »