<?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>Async Copy and Prefetch Functions</keyword>
        </keywordset>
    </refentryinfo>
    <refmeta>
        <refentrytitle>Async Copy and Prefetch Functions</refentrytitle>
        <refmiscinfo>
            <copyright>
                <year>2007-2010</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>3</manvolnum>
    </refmeta>
    <refnamediv>
        <refname>Async Copy and Prefetch Functions</refname> 
        <refpurpose>Asynchronous copies between global and local memory and a prefetch from global memory.</refpurpose> 
    </refnamediv>
     
<refsect1 id="springboard"><title></title>
    <informaltable frame="all"><tgroup cols="2" align="left" colsep="1" rowsep="1">
    <colspec colnum="1" colwidth="2*" colname="col1" />
    <colspec colnum="2" colwidth="8*" colname="col2" />
    <tbody>
        <row>
            <entry><citerefentry>
                <refentrytitle>async_work_group_copy</refentrytitle>
            </citerefentry></entry>
            <entry>Perform an async copy</entry>
        </row>
        <row>
            <entry><citerefentry>
                <refentrytitle>async_work_group_strided_copy</refentrytitle>
            </citerefentry></entry>
            <entry>Performs an async gather of <varname>num_elements</varname> <type>gentype</type> elements from source to destination.</entry>
        </row>
        <row>
            <entry><citerefentry>
                <refentrytitle>wait_group_events</refentrytitle>
            </citerefentry></entry>
            <entry>Wait for events that identify the <function>async_work_group_copy</function> operations to complete.</entry>
        </row>
        <row>           
            <entry><citerefentry>
                <refentrytitle>prefetch</refentrytitle>
            </citerefentry></entry>
            <entry>Prefetch bytes into the global cache.</entry>
        </row>
    </tbody>    
    </tgroup></informaltable>   
    </refsect1>
    
    <refsect1 id="description"><title>Description</title>
        <para>
            The OpenCL C programming language implements these functions that provide asynchronous copies between global and local memory and a prefetch from global memory. 
        </para>
        <para> 
        The built-in async copy and prefetch functions are extended with <citerefentry><refentrytitle>cl_khr_fp64</refentrytitle></citerefentry> to include appropriate versions of functions that take <type>double</type>, and <type>double{2|4|8|16}</type> as arguments. They are also extended with with <citerefentry><refentrytitle>cl_khr_fp16</refentrytitle></citerefentry> to include appropriate versions of functions that take <type>half</type>, and <type>half{2|4|8|16}</type> as arguments. 
        </para>
    </refsect1>
    
    <refsect1 id="specification"><title>Specification</title>
        <para>
            <imageobject>
                <imagedata fileref="pdficon_small1.gif" format="gif" />
            </imageobject>
                                                 
            <olink uri="asyncCopyFunctions">OpenCL Specification</olink>
        </para>
    </refsect1>     
<!-- ================================ ALSO SEE  
    <refsect1 id="seealso"><title>Also see</title>
        <para>
            <citerefentry><refentrytitle>clEnqueueNDRangeKernel</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>clEnqueueTask</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>
