Optimizing OpenCL Local Work Group Size With Machine Learning

Markus Schlafli
Computer Science, School of Informatics, University of Edinburgh
niversity of Edinburgh, 2014

   title={Optimizing OpenCL Local Work Group Size With Machine Learning},

   author={Schlafli, Markus},



Download Download (PDF)   View View   Source Source   



GPU architectures are becoming increasingly important due to their high number of processors. The single input multiple data architecture has proven to work not just for the graphics domain, but also for many other disciplines. This is due to the potential performance that can be achieved by a consumer-level GPU being significantly higher than the CPU counterpart. High level abstractions, such as OpenCL and CUDA, have been introduced to separate the hardware from the software, allowing programmers to develop for a variety of GPUs. However, the programmer needs highly-specialized knowledge of the underlying architecture in order to get the optimal performance of a system. An important part is splitting the workload up into manageable chunks, known as the work group size in OpenCL, that can be distributed across the cores of a GPU. However, due to memory access time and computational complexity of a GPU program, this task is often optimized on a trial-and-error basis. State of the art analytical models and tools can be used to choose the optimal work group size parameter with accuracy less than 30%. We propose a solution using predictive modelling from the domain of machine learning that can choose the optimal parameter of splitting the work between GPU cores a maximum of 86% of the time. OpenCL was the GPGPU framework that was used.
VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)

* * *

* * *

TwitterAPIExchange Object
    [oauth_access_token:TwitterAPIExchange:private] => 301967669-yDz6MrfyJFFsH1DVvrw5Xb9phx2d0DSOFuLehBGh
    [oauth_access_token_secret:TwitterAPIExchange:private] => o29ji3VLVmB6jASMqY8G7QZDCrdFmoTvCDNNUlb7s
    [consumer_key:TwitterAPIExchange:private] => TdQb63pho0ak9VevwMWpEgXAE
    [consumer_secret:TwitterAPIExchange:private] => Uq4rWz7nUnH1y6ab6uQ9xMk0KLcDrmckneEMdlq6G5E0jlQCFx
    [postfields:TwitterAPIExchange:private] => 
    [getfield:TwitterAPIExchange:private] => ?cursor=-1&screen_name=hgpu&skip_status=true&include_user_entities=false
    [oauth:protected] => Array
            [oauth_consumer_key] => TdQb63pho0ak9VevwMWpEgXAE
            [oauth_nonce] => 1477215452
            [oauth_signature_method] => HMAC-SHA1
            [oauth_token] => 301967669-yDz6MrfyJFFsH1DVvrw5Xb9phx2d0DSOFuLehBGh
            [oauth_timestamp] => 1477215452
            [oauth_version] => 1.0
            [cursor] => -1
            [screen_name] => hgpu
            [skip_status] => true
            [include_user_entities] => false
            [oauth_signature] => 833PqL4SfFwFhCR/W4uJuJAjXSc=

    [url] => https://api.twitter.com/1.1/users/show.json
Follow us on Facebook
Follow us on Twitter

HGPU group

2033 peoples are following HGPU @twitter

HGPU group © 2010-2016 hgpu.org

All rights belong to the respective authors

Contact us: