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
