small webrev to fix bug in hsail kernel argument logic

Deneau, Tom tom.deneau at amd.com
Thu Feb 6 04:06:25 PST 2014


Christian --

I'm not sure what is being referred to as fragile here.

If it is the logic of not passing a last parameter when it is an int, that has been there all along.
(This webrev just firms up the way it decides whether it is the last parameter or not).

The code that sets up the kernel prologue uses similar logic in that when it wants
to load an int parameter and it is the final int parameter, it knows that that parameter
should not be loaded from the kernel arguments but instead should be set from the hsail workitemabsid instruction.

-- Tom


> -----Original Message-----
> From: Christian Thalinger [mailto:christian.thalinger at oracle.com]
> Sent: Wednesday, February 05, 2014 9:54 PM
> To: Deneau, Tom
> Cc: Doug Simon; graal-dev at openjdk.java.net
> Subject: Re: small webrev to fix bug in hsail kernel argument logic
> 
> The change looks good but in general this looks fragile:
> 
>   93 void HSAILKernelArguments::do_int() {
>   94   // The last int is the iteration variable in an IntStream, but we
> don't pass it
>   95   // since we use the HSAIL workitemid in place of that int value
>   96   if (isLastParameter()) {
>   97     if (TraceGPUInteraction) {
>   98       tty->print_cr("[HSAIL] HSAILKernelArguments::not pushing
> trailing int");
>   99     }
>  100     return;
>  101   }
> 
> On Feb 5, 2014, at 12:35 PM, Deneau, Tom <tom.deneau at amd.com> wrote:
> 
> > Doug --
> >
> > The small webrev
> >
> > http://cr.openjdk.java.net/~tdeneau/graal-webrevs/webrev-kernarg-fixes
> > /webrev/
> >
> > fixes some problems in the HsailKernelArguments code that caused some
> > crashes with certain kernel argument combinations (not any of the
> > existing junit test cases).]
> >
> > In addition added some new test cases that would have failed but now
> pass.
> >
> > -- Tom
> 




More information about the graal-dev mailing list