cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

apfel
Adept I

Can i use GCN Assembly kernels in the same why as HSAIL kernels?

TL;DR:

Can i use Kernels written in GCN Assembly with HSA? I like to have the

feature of persistent kernels and feed them work if needed.

Hi,

im planning a project and for preperation i was reading a lot about

gcn and the ways of programming it.

I came to the conclusion that HSA is the way to go, my plan is to

write some kernels, load them to the GPU and give them some work

when needed.

But right now im a little bit unhappy with hsail, writing kernels this way

does not give me the feeling of full control. I gues because im still not

100 % confident with the platform.

I think writing kernels in GCN Assembly directly will help me understand

whats going on and how this translates over to hsail.

Can i use Kernels written in GCN Assembly with HSA? I like to have the

feature of persistent kernels and feed them work if needed. Maybe im just

missing somthing. To be honest, at the moment it is not easy to get through

all this GPUOpen stuff, but keep up the good work who every is part of all

this.

The target platform will be Kaveri in the beginning and later i will move on

to Bristol Ridget, if everything works well.

BR

Simon

0 Likes
1 Solution

Thanks for you Answer.

I was missing some basic knowledge.

You can use HSA to load a hsaco file.

Those hsaco Files can be created in many ways.

Its possible to use OpenCL, HCC, HSAIL or GCN Assembly to write kernels

which you then can turn into hsaco files.

Then you can use 'hsa_executable_load_code_object' to load the hsaco file.

View solution in original post

0 Likes
2 Replies
realhet
Miniboss

Hi,

I think you're looking for this: http://gpuopen.com/amdgcn-assembly/

Also there are more unofficial ways to produce ELF kernels from GCN asm. For example the CLRadeonExtender, or my thing: hetpas. The latter has a small IDE with GCN code completion and the first one has the most complete GCN instruction support I know. The problem with these that we have to follow the new drivers but nowadays I personally don't, so at least with my stuff you have to use old drivers. I've had no time yet to try out the official ROC solution, but I believe that this will be up to date with the newest drivers.

0 Likes

Thanks for you Answer.

I was missing some basic knowledge.

You can use HSA to load a hsaco file.

Those hsaco Files can be created in many ways.

Its possible to use OpenCL, HCC, HSAIL or GCN Assembly to write kernels

which you then can turn into hsaco files.

Then you can use 'hsa_executable_load_code_object' to load the hsaco file.

0 Likes