On Mon, 2018-08-13 at 20:06 -0400, Jan Vesely wrote: > On Mon, 2018-08-13 at 23:29 +0300, Matt Arsenault wrote: > > > On May 8, 2018, at 18:45, Jan Vesely <jan.ves...@rutgers.edu> wrote: > > > > > > On Tue, 2018-05-08 at 13:28 +0300, Matt Arsenault wrote: > > > > > On Apr 8, 2018, at 19:56, Jan Vesely <jan.ves...@rutgers.edu> wrote: > > > > > > > > > > On Fri, 2018-04-06 at 00:49 -0400, Matt Arsenault wrote: > > > > > > ping > > > > > > > > > > I'll need to setup the rocm stack to test this. It will take some > > > > > time. > > > > > It should work with clover as well (modulo bugs; asm parser, function > > > > > calls, ...), right? > > > > > > > > > > Jan > > > > > > > > I thought calls were broken in general with clover because of the > > > > missing link step? Besides that it should work > > > > > > Linking works (both linking with libclc and cl-1.2 clLinkProgram) it > > > just happens at IR level (if you consider that linking) so all function > > > calls can be inlined. > > > > > > The problem is that llvm backend generates relocation for function > > > calls. This relocation is not handled by clover (you could call this > > > 'calls are broken in general'). > > > > > > I see two ways to fix this; > > > a) fix llvm to use fixup instead of relocation for internal function > > > calls. > > > b) fix clover to handle the function call relocation. > > > > > > I tried a) but a simple > > > "|| (GV->getLinkage() == GlobalValue::InternalLinkage)" > > > in shouldEmitFixup() is not enough (the fixup value looks wrong) > > > > > > I still think that a) is preferable, but now that 6.0 is out with the > > > breakage we'll need to implement b) anyway. > > > > > > I'll try to find some time to dig a bit more into this, but it's tricky > > > since wrong jump leaves the GPU in unrecoverable state that needs > > > manual power cycling on reboot. > > > > > > Jan > > > > > > > > -Matt > > > > > > ping. Should this just skip the clover platform for now? > > this already skips clover due to device regexp (gfx). I just want to > see it run (pass or fail) before stamping it. > It can be either clover (with function calls fixed and changed device > regexp) or other OCL implementation. > Given how user-hostile to rocm-ocl setup is and that -pro version > segfaults, getting clover to support relocations is more likely.
I managed to get ROCm opencl running (its overall piglit situation is unimpressive [0]) and the test works. LGTM. Jan [0] http://paul.rutgers.edu/~jv356/piglit/gcn-latest-3/problems.html > > Jan -- Jan Vesely <jan.ves...@rutgers.edu>
signature.asc
Description: This is a digitally signed message part
_______________________________________________ Piglit mailing list Piglit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/piglit