5 Replies Latest reply on Feb 12, 2008 4:57 PM by michael.chu

    SDK parts

    Siltti
      I downloaded the Stream Computing SDK. There was a lot of stuff. How do they relate to each others? Is CAL for example the low-level assembler function library which is then called fro Brook+ functions or how does it go?

      Is it necessary to use exactly Brook+ for calling or can VS c++ be used instead in XP? Earlier mixing attempts of compilers have generated incompatibility headache.

      An extremely clear roadmap "Porting applications to 9170" dor Dummies would be most appreciated.
        • SDK parts
          michael.chu
          Brook+ is meant as the high-level language interface for programming FireStream boards and other stream computing products. It outputs IL + Brook+ runtime (brt) calls. The Brook+ runtime libraries utilize CAL library calls to implement their functionality. The output of a Brook+ compiler run (brcc) are .cpp files which have embedded IL as well as Brook+ runtime calls.

          CAL library function calls are at the level of opening devices, loading up programs, etc. and also have low-level functions that interact more directly with the hardware. CAL is also what takes in IL, compiles it at runtime and generates R600 ISA which is then converted into machine code for the GPU. All of this happens within the context of CAL.

          CAL is also responsible, on the other end, for communicating with the Catalyst base driver. CAL can be thought of as sitting at the same level of the stack as OpenGL or DirectX.

          If you chose to, you could write programs directly in CAL+IL.

          We'd encourage user's to use Brook+ when possible though. And please feed back feature requests to us via streamdeveloper@amd.com so that we can properly prioritize it on our list.

          Thanks!

          Michael.
            • SDK parts
              AndreiB
              If you chose to, you could write programs directly in CAL+IL.

              Two quick question regarding this part:
              1. Are there any documentation on IL available (except for il.pdf which is in SDK and which is almost useless in its current form)
              2. Are there stand-alone compiler for IL to avoid compile&link at runtime?
                • SDK parts
                  michael.chu
                  Unfortunately, il.pdf is the only detailed document for IL at the moment. We are working to improve the document. Besides cleaning up il.pdf, was there other documentation you were hoping for? That way, I can get the appropriate requests into the team to scope out and generate those documents. Thanks!

                  And, for now, a stand-alone compiler for IL is not yet supported. It is something being discussed and I will note your request.

                  Michael.
                    • SDK parts
                      AndreiB
                      Michael, thanks for your reply.

                      Yes, more detailed and user-friendly IL documentation and stand-alone IL compiler are much appreciated.

                      Other documentations seems more-or-less okay, but it's not very easy to read
                        • SDK parts
                          michael.chu
                          I'll take that feedback back to the team!

                          I apologize for the documentation being hard to read! Please bear with us as we make improvements to the documentation and keep the comments coming! :-) And in the mean time, please feel free to ask any level of question you need to help you develop apps on the platform!

                          Michael.