cancel
Showing results for 
Search instead for 
Did you mean: 

OpenCL

fancyix
Adept I

I develop a branch of sgminer

I am currently working on GitHub - fancyIX/sgminer-phi2-branch: A PHI2 implementation of sgminer for AMD .

I have some questions about OpenCL and optimization on GCN cards.

Please add me to the white list.

The first question I'd like to ask for help:

How to run two work groups per one compute unit on AMD GCN cards

0 Likes
3 Replies
dipak
Big Boss

Hi fancyix,

I have whitelisted you and moving this thread to OpenCL forum.

0 Likes
dipak
Big Boss

GPU scheduler can assign multiple work-groups to a CU if GPU resources (VGPRs, LDS etc.) are available. Actually, ACEs (Asynchronous Compute Engines) are responsible for all compute shader scheduling and resource allocation. ACEs manage compute tasks and GPU resources and accordingly create and dispatch work-group(s) to individual CUs for execution. It is very dynamic in nature.

So, I think GPU scheduler will automatically run two or more work-groups on same CU if :

  • GPU resource usage allows multiple no. of work-groups to be executed concurrently on a CU

AND

  • enough no. of work-groups are available

From OpenCL programming perspective, device fission could be used in case, however, currently device fission is not supported for AMD GPUs. Other than this, I'm not aware of any OpenCL feature that can be used to control the association between work-groups and CUs.

dipak​ Thanks for the answer!

0 Likes