<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
              "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
<refentry>
    <refentryinfo>
        <keywordset>
            <keyword>         
                clCreateProgramWithSource
            </keyword>
        </keywordset>
    </refentryinfo>

    <refmeta>
        <refentrytitle>       
            clCreateProgramWithSource
        </refentrytitle>

        <refmiscinfo>
            <copyright>
                <year>2007-2009</year>
                <holder>The Khronos Group Inc. 
 Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and/or associated documentation files (the
"Materials"), to deal in the Materials without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Materials, and to
permit persons to whom the Materials are furnished to do so, subject to
the condition that this copyright notice and permission notice shall be included
in all copies or substantial portions of the Materials.</holder>
            </copyright>
        </refmiscinfo>
        <manvolnum>2</manvolnum>
  
    </refmeta>


<!-- ================================ SYNOPSIS -->  

    <refnamediv id="clCreateProgramWithSource">
        <refname>     
            clCreateProgramWithSource
        </refname> 

        <refpurpose>          
            Creates a program object for a context, and loads the source code specified by the text strings in
			the <varname>strings</varname> array into the program object. 
        </refpurpose> 
    </refnamediv> 

    <refsynopsisdiv xmlns:xlink="http://www.w3.org/1999/xlink"><title></title>
        <funcsynopsis>
            <funcprototype>
                <funcdef>              
                    cl_program <function>clCreateProgramWithSource</function>
                </funcdef>
					<paramdef><link xlink:href="abstractDataTypes.html">cl_context</link><parameter>context</parameter></paramdef>
					<paramdef><link xlink:href="scalarDataTypes.html">cl_uint</link><parameter>count</parameter></paramdef>
					<paramdef>const <link xlink:href="scalarDataTypes.html">char</link><parameter>**strings</parameter></paramdef>
					<paramdef>const <link xlink:href="scalarDataTypes.html">size_t</link><parameter>*lengths</parameter></paramdef>
					<paramdef><link xlink:href="scalarDataTypes.html">cl_int</link><parameter>*errcode_ret</parameter></paramdef>
            </funcprototype>
        </funcsynopsis>     
    </refsynopsisdiv>


<!-- ================================ PARAMETERS --> 

    <refsect1 id="parameters">
        <title>Parameters</title>
        <variablelist>


            <varlistentry>
                <term>
                    <varname>
						context
                    </varname>
                </term>

                <listitem>
                    <para> 
						Must be a valid OpenCL context.
                    </para>
               </listitem>
            </varlistentry>

            <varlistentry>
                <term>
                    <varname>
						strings
                    </varname>
                </term>

                <listitem>
                    <para>
						An array of <varname>count</varname> pointers to optionally null-terminated character strings that make up the source code.
                    </para> 
               </listitem>
            </varlistentry>
			
            <varlistentry>
                <term>
                    <varname>
						lengths
					</varname>
				</term>
				
				<listitem>
					<para>
						An array with the number of chars in each string (the string length). If
						an element in <varname>lengths</varname> is zero, its accompanying string is null-terminated. If <varname>lengths</varname> is NULL, all strings in the <varname>strings</varname> argument are considered null-terminated. Any length value passed in that is greater than zero excludes the null terminator in its count.
					</para>
				</listitem>
			</varlistentry>

            <varlistentry>
                <term>
                    <varname>
						errcode_ret
					</varname>
				</term>
				
				<listitem>
					<para>
						Returns an appropriate error code. If <varname>errcode_ret</varname> is NULL, no error code is returned.
                    </para>

               </listitem>
            </varlistentry>

        </variablelist>
    </refsect1>

    
<!-- ================================ NOTES  -->        
 

    <refsect1 id="notes"><title>Notes</title>
        <para>
			The devices associated with the program object are the devices associated with <varname>context</varname>.
        </para>
		 <para>
		 OpenCL allows applications to create a program object using the program source or binary and build appropriate program executables. This allows applications to determine whether they want
to use the pre-built offline binary or load and compile the program source and use the executable
compiled/linked online as the program executable. This can be very useful as it allows
applications to load and build program executables online on its first instance for appropriate
OpenCL devices in the system. These executables can now be queried and cached by the
application. Future instances of the application launching will no longer need to compile and
build the program executables. The cached executables can be read and loaded by the
application, which can help significantly reduce the application initialization time.
        </para>
		 <para>
		An OpenCL program consists of a set of kernels that are identified as functions declared with the <citerefentry href="functionQualifiers"><refentrytitle>__kernel</refentrytitle></citerefentry> qualifier in the program source. OpenCL programs may also contain auxiliary functions and constant data that can be used by <citerefentry href="functionQualifiers"><refentrytitle>__kernel</refentrytitle></citerefentry> functions. The program executable can be generated <emphasis>online</emphasis> or <emphasis>offline</emphasis> by the OpenCL compiler for the appropriate target device(s).
		</para>
    </refsect1>   
	
	

<!-- ================================ ERRORS  -->       


    <refsect1 id="errors"><title>Errors</title>
        <para>
			<function>clCreateProgramWithSource</function> returns a valid non-zero program object and <varname>errcode_ret</varname> is set to
			<errorname>CL_SUCCESS</errorname> if the program object is created successfully. Otherwise, it returns a NULL value
			with one of the following error values returned in <varname>errcode_ret</varname>:
		</para>
				<itemizedlist mark="disc">
					<listitem>
						<errorname>CL_INVALID_CONTEXT</errorname> if <varname>context</varname> is not a valid context.
					</listitem>
					<listitem>
						<errorname>CL_INVALID_VALUE</errorname> if <varname>count</varname> is zero or if <varname>strings</varname> or any entry in <varname>strings</varname> is NULL.
					</listitem>
					<listitem>
						<errorname>CL_OUT_OF_HOST_MEMORY</errorname> if there is a failure to allocate resources required by the
						OpenCL implementation on the host.
					</listitem>
				</itemizedlist>
	</refsect1>
    

<!-- ================================ EXAMPLE  -->  
<!-- DO NOT DELETE IN CASE AN EXAMPLE IS ADDED IN THE FUTURE -->
<!--    
    <refsect2 id="example1">
        <title>
            Example
        </title>

        <informaltable frame="none">
            <tgroup cols="1" align="left" colsep="0" rowsep="0">
                <colspec colname="col1" colnum="1" />
                <tbody>
                    <row>
                        <entry>
                            Example goes here - it will be set in "code" type with white space preserved.
                        </entry>
                    </row>
                </tbody>
            </tgroup>
        </informaltable>   
    </refsect2>  
--> 


<!-- ================================ SPECIFICATION  -->        
<!-- Set the "uri" attribute in the <olink /> element to the "named destination" for the PDF page
-->     
    <refsect1 id="specification"><title>Specification</title>
        <para>
            <imageobject>
                <imagedata fileref="pdficon_small1.gif" format="gif" />
            </imageobject>
			
				      
            <olink uri="clCreateProgramWithSource">OpenCL Specification</olink>
        </para>
    </refsect1>     


<!-- ================================ ALSO SEE  -->     
   

    <refsect1 id="seealso"><title>Also see</title>
        <para>
            <citerefentry><refentrytitle>clCreateProgramWithBinary</refentrytitle></citerefentry>, 
			<citerefentry><refentrytitle>clReleaseProgram</refentrytitle></citerefentry>, 
			<citerefentry><refentrytitle>clRetainProgram</refentrytitle></citerefentry>
        </para>
    </refsect1>

<!-- ================================ COPYRIGHT  -->  
<!-- Content included from copyright.inc.xsl -->

    <refsect3 id="Copyright"><title></title>
		<imageobject>
                <imagedata fileref="KhronosLogo.jpg" format="jpg" />
        </imageobject>
		<para />
    </refsect3>

</refentry>

