On 11/20/2015 05:29 PM, Hans de Goede wrote:
Hi,

On 20-11-15 17:07, Samuel Pitoiset wrote:


On 11/20/2015 11:36 AM, Hans de Goede wrote:
Hi Samual, et al,

Hi Hans,


In
http://cgit.freedesktop.org/mesa/mesa/commit/src/gallium/drivers/nouveau?id=ff72440b40211326eda118232fabd53965410afd


you write: "This compute support has been tested by
Pierre Moreau and myself with some compute kernels."

Can you provide testing instructions (and the
necessary files) so that I can try to reproduce
your tests ?

And once I've reproduced your tests, the next
question is where / how did you get the compute
kernels for testing. I guess you manually wrote them ?

Yeah, I wrote those compute kernels directly in assembly by hand.

I already said few days ago, you have some examples in
src/gallium/tests/trivial/compute.c which show how to use that compute
support stuff with TGSI kernels and without clover.

Ah, right. Ok I'll take a look at those.

Because clover is not currently able to do OpenCL -> TGSI using
Clang/LLVM, you can't really use your backend directly.

I know I'm fine with manually copying TGSI output by llc for my first
tests. I've the feeling I need to understand how inputs to / outputs
from the TGSI code are handled better before I can do further work
on the llvm TGSI backend.

An other way to achieve what you need is to copy/paste your TGSI
kernel in src/gallium/tests/trivial/compute.c, set up the global
buffers and other stuff (maybe samplers, textures and so on) yourself.
This is a bit painful but should work as expected.


As you know I'm working on a llvm tgsi backend,
it actually produces some output now, if you want
to take a peek it lives here:
http://cgit.freedesktop.org/~jwrdegoede/llvm

I'm currently building your TGSI branch. :-)

Cool, note this is very very preliminary. This really
is just curro's work ported to the latest llvm trunk
without me having added anything (yet).

Before working further on this I want to take
a bottom up approach, so I want to first make
sure we've working TGSI -> compute-kernel and
compute-kernel -> hardware steps. So the next
question is, do you know if we can go from
(manually written) TGSI to a compute-kernel
using say nouveau-compiler ?

Sure, you can use nouveau-compiler to convert TGSI to NV50 IR, but as
I said, you can't directly execute your compute kernel without setting
a ton of stuff before... That's a bunch of fun! :-)

Btw, do you still need compute support on your GK208? or did you have
an other card for testing ?

No I've a GT 610 / GF119 card now (still need to plug it in).

Cool, note that compute support is available on tesla, fermi and kepler since I merged the nv50 compute ~one week ago.

Some bits are missing for tesla and fermi, but I can have look if you need them. Those bits are mostly related to textures, surfaces and samplers, but you can already launch "simple" kernels.


Regards,

Hans

--
-Samuel
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

Reply via email to