This content has been marked as final. Show 2 replies
I've been doing a bit of CAL/IL programming recently, and, up to one or two differences between the documentation and implementation (e.g. source swizzles), things seemed to have pretty much worked properly. I think I've posted about most issues I've come up against, in particular on negating doubles, driver problems with large streams on linux, and the interpretation of domain parameters.
Hi, I'm just a user but there have a been some previous threads regarding your questions. Here:
1. As far as I know IL supports ints and Brook+ should also (although they stated this it is NOT in the documentation anywhere, in fact, the Mar08 release note says Brook+ does NOT support ints while the May08 release notes never say that it does), not sure if bitwise operations are supported but I believe not, but I could be wrong, maybe someone from AMD will answer this one for you.
2. Local arrays are not supported yet in Brook+:
3. Unsigned ints are not supported:
4. There has not been any word of a published timeline on an official Firestream SDK, my guess would be it's far off since Brook+ is so limited right now in BETA. They have said that since Brook+ is biult on CAL that CAL gets the features first, then they build them into Brook+, so at any given moment, I would imagine CAL to be more robust, also since you can code directly in GPU ISA. That said, the learning curve for CAL is much higher and it certainly increases development time (the code overhead in CAL is quite large, pretty much like setting up an SL kernel).
Personally, after trying to work in Brook+ I simply found it entirely too limited to be of any practical use (even for applications that are embarassingly parallel) so I have moved on to CAL. I have not yet discovered a way to deal with non-same size arrays in CAL.
Only 1 output scatter stream, PERIOD:
Also, they have not tested multiple output streams of differing sizes. I have tried this to no avail.
Also, I have tried multiple output streams where one is a scatter and the other is a stream, also to no avail.
Also, scatter streams only support 128-bit (float4/int4/double2).
By far the biggest disadvantage and limitation of Brook+ is undoubtedly the extremely limited documentation. I honestly hope that AMD strongly considers releasing proper documentation when they release the official version.