cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

Tapejara
Journeyman III

Getting Started with Stream CAL and IL

Hi,

I am an experienced C/C++/Assembly programmer and I have been writing a compiler for a parallel programming language that I have been developing for 23 years.  Now that I have a parser well under-way, I am looking at the possiblity of not just supporting AMD64/SSE but the GPGPL method of massive parallelism using Stream processors.  Although the OpenCL tools are interesting, I would prefer to generate Intermediate Code directly.  From what I gather, this would be IL which looks something like x86 assembler.  What documents are there that explain the language/architecture and what SDK am I going to need ?  Any helpful information will be appreciated.  My current development host is Windows XP-32 but my target will be a Phenom II X4 running Windows 7-64. 

Thanks

0 Likes
5 Replies
genaganna
Journeyman III

Getting Started with Stream CAL and IL

Originally posted by: Tapejara Hi,

 

I am an experienced C/C++/Assembly programmer and I have been writing a compiler for a parallel programming language that I have been developing for 23 years.  Now that I have a parser well under-way, I am looking at the possiblity of not just supporting AMD64/SSE but the GPGPL method of massive parallelism using Stream processors.  Although the OpenCL tools are interesting, I would prefer to generate Intermediate Code directly.  From what I gather, this would be IL which looks something like x86 assembler.  What documents are there that explain the language/architecture and what SDK am I going to need ?  Any helpful information will be appreciated.  My current development host is Windows XP-32 but my target will be a Phenom II X4 running Windows 7-64. 

 

 

Tapejara,

            You can use SDK2.0 available at http://developer.amd.com/gpu/ATIStreamSDK/Pages/default.aspx.

           Please read ATI_Intermediate_Language_(IL)_Specification_v2.pdf doc available at http://developer.amd.com/gpu/ATIStreamSDK/pages/Documentation.aspx

          and  Stream_Computing_User_Guide.pdf doc available at http://developer.amd.com/gpu_assets/Stream_Computing_User_Guide.pdf

 

       From which language you want to convert to CAL IL?

0 Likes
Tapejara
Journeyman III

Getting Started with Stream CAL and IL

Originally posted by: genaganna
       From which language you want to convert to CAL IL?
I call it φ.  It is somewhat C-like but is a true parallel programming language with implicit SIMD and multi-core/threading. 
Thank you for you help.


0 Likes
genaganna
Journeyman III

Getting Started with Stream CAL and IL

Originally posted by: Tapejara
Originally posted by: genaganna

       From which language you want to convert to CAL IL?
I call it φ.  It is somewhat C-like but is a true parallel programming language with implicit SIMD and multi-core/threading. 
Thank you for you help.

 

Tapejara,

              Is it possible to get source code of your compiler?  where can i get your C-like language specification?  Brook+ language specification might give a lot of thought on language specification. Brook+ is well know parallel language specification.

0 Likes
Tapejara
Journeyman III

Getting Started with Stream CAL and IL

 

Originally posted by: genaganna              Is it possible to get source code of your compiler?  where can i get your C-like language specification?  Brook+ language specification might give a lot of thought on language specification. Brook+ is well know parallel language specification.


φ is not open-source and the 'specification' is not even completely stable.  Currently, only the editor and parser exist but I am actively researching target hardware, thus my original post.  I say "C like" because it is an imperative language like C (not a functional language). I will look into Brook+.  Thanks. 

 

0 Likes
Tapejara
Journeyman III

Re: Getting Started with Stream CAL and IL

It is now January of 2012. I am well into the code generator now targetting AMD64.

0 Likes