Hi list,

I wondered, where the problems with "older" ATI cards like HD 3xxx is
and looked a little into the brooks source. I must admit, i don't
understand whats going on there. That is voodoo, definitely some black
magic. :)

But I came across the attribute "Attribute[GroupSize(64)]" about which
the brooks documentation says, its for newer ATI cards to allow multiple
kernels to share the same memory area.
Looking deeper into the source, I didn't find any explicit on-card
memory sharing using the keyword "shared" for uint4[].

For my it looked like the code should work without any sharing of
on-card memory between threads. But I don't have any experience
regarding GPU coding, so I tried.

I simply removed the attribute, recompiled the .il and the Stream
Analyzer now reports that the models "FireStream" and "Radeon HD
3/4/5xxx" will run the kernel.
(funny that the througput for HD5870 raises from 2041 MThreads/sec to
2189 MThreads/sec, thats a 7% speedup)


When running Kraken with the new .il, I didn't find any problems yet.
I re-ran 15 searches now using A5Ati without any difference to the
result of A5Cpu.

Would the omitted "Attribute[GroupSize(64)]" cause any side effects that
may pop up spuriously, or is it left-over from an old ATI code which
required this?

BR,
Georg

_______________________________________________
A51 mailing list
[email protected]
http://lists.lists.reflextor.com/cgi-bin/mailman/listinfo/a51

Reply via email to