<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 12 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri","sans-serif";
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">I am proud to announce that AMD is Open Sourcing AMDIL Code Generator for LLVM 2.9. While this version is not for uptake into LLVM mainline, it does build and is compatible with LLVM 2.9.
<o:p></o:p></p>
<p class="MsoNormal">This is the first step of the process, so I know there will be issues that show up. In the next few months, we will be providing more unit tests and an LLVM 3.0 compatible version, and finally a TOT version for inclusion into the tree.
I look forward to any constructive feedback and will as answer any questions that I can.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">For information on the sections of an AMD OpenCL binary, please refer here:<o:p></o:p></p>
<p class="MsoNormal"><a href="http://developer.amd.com/support/KnowledgeBase/Lists/KnowledgeBase/DispForm.aspx?ID=115">http://developer.amd.com/support/KnowledgeBase/Lists/KnowledgeBase/DispForm.aspx?ID=115</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The attached zip file provides the code generator, a patch to LLVM 2.9 that adds the target triple, and a few tests. Again this version is not for submission into the tree, but for people to experiment, examine and provide feedback outside
of AMD. <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Here are a list of the major known issues:<o:p></o:p></p>
<p class="MsoNormal">LLVM-IR that isn’t generated from AMD’s OpenCL frontend does not produce any AMDIL.<o:p></o:p></p>
<p class="MsoNormal">Testing is sparse(I’m working on it)<o:p></o:p></p>
<p class="MsoNormal">No support for most OpenCL math functions. It is up to the library writers to map from OpenCL function calls to AMDIL intrinsic.<o:p></o:p></p>
<p class="MsoNormal">Minor post processing of AMDIL is required for AMDIL source to be accepted by calclCompile/clBuildProgramFromBinary.<o:p></o:p></p>
<p class="MsoNormal">The source is the documentation.<o:p></o:p></p>
<p class="MsoNormal">Only supports compute shader generation.<o:p></o:p></p>
<p class="MsoNormal">The output of the code generator is currently compatible with OpenCL 1.0/1.1 only when processing LLVM-IR from OpenCL binaries generated by AMD APP SDK 2.5 or later with the clBuildProgramSource options “-fbin-llvmir -fno-bin-amdil -fno-bin-exe”.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Enjoy,<o:p></o:p></p>
<p class="MsoNormal">Micah Villmow<o:p></o:p></p>
<p class="MsoNormal">OpenCL GPU Compiler Engineer<o:p></o:p></p>
<p class="MsoNormal">AMD Inc.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>