<?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>cl_khr_int64_base_atomics</keyword>
        </keywordset>
    </refentryinfo>

    <refmeta>                                    
        <refentrytitle>cl_khr_int64_base_atomics</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>

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

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

        <refpurpose>
            Optional extensions that implement atomic operations on 64-bit signed and unsigned integers to locations in __global and __local memory.
        </refpurpose>
    </refnamediv>


    <!-- ALTERNATIVE SYNTAX SYNOPSIS (NON-FUNCTION) -->
    <refsect2 id="synopsis">
        <title>
        </title>

        <informaltable frame="none">
            <tgroup cols="1" align="left" colsep="0" rowsep="0">
                <colspec colname="col1" colnum="1" />
                <tbody>
                    <row>
                        <entry>
#pragma OPENCL EXTENSION cl_khr_int64_base_atomics : enable
                        </entry>
                    </row>
                </tbody>
            </tgroup>
        </informaltable>
    </refsect2>


<!-- ================================ DESCRIPTION  -->

    <refsect1 id="description" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Description</title>
        <para>
An application that wants to use this extension will need to include the <function>#pragma OPENCL EXTENSION cl_khr_int64_base_atomics : enable</function> 
directive in the OpenCL program source.
        </para>

        <para>
The atomic functions supported by the <function>cl_khr_int64_base_atomics</function> extension are described in the following table. All of the functions listed in the following table are performed in one atomic transaction.
        </para>

        <para>
These transactions are atomic for the device executing these atomic functions. There is no guarantee of atomicity if the atomic operations to the same memory location are being performed by kernels executing on multiple devices.
        </para>


        <informaltable frame="all">
            <tgroup cols="2" align="left" colsep="1" rowsep="1">
                <colspec colname="col1" colnum="1" />
                <colspec colname="col2" colnum="2" />

                <thead>
                    <row>
                        <entry>Function</entry>
                        <entry>Description</entry>
                    </row>
                </thead>

                <tbody>

                    <row>
                        <entry>
<para>
<link xlink:href="reservedDataTypes.html">long</link> <function>atom_add</function>&#160;(volatile <citerefentry 
href="global"><refentrytitle>__global</refentrytitle></citerefentry> <link xlink:href="reservedDataTypes.html">long</link> *<varname>p</varname>, <link xlink:href="reservedDataTypes.html">long</link><varname>val</varname>)
</para>

<para>
<link xlink:href="reservedDataTypes.html">long</link> <function>atom_add</function> (volatile <citerefentry href="local"><refentrytitle>__local</refentrytitle></citerefentry> <link xlink:href="reservedDataTypes.html">long</link> *<varname>p</varname>, <link xlink:href="reservedDataTypes.html">long</link> <varname>val</varname>)
</para>

<para>
<link xlink:href="reservedDataTypes.html">ulong</link> <function>atom_add</function> (volatile <citerefentry 
href="global"><refentrytitle>__global</refentrytitle></citerefentry> <link xlink:href="reservedDataTypes.html">ulong</link> *<varname>p</varname>, <link xlink:href="reservedDataTypes.html">ulong</link> <varname>val</varname>)
</para>

<para>
<link xlink:href="reservedDataTypes.html">ulong</link> <function>atom_add</function> (volatile <citerefentry href="local"><refentrytitle>__local</refentrytitle></citerefentry> <link xlink:href="reservedDataTypes.html">ulong</link> *<varname>p</varname>, <link xlink:href="reservedDataTypes.html">ulong</link> <varname>val</varname>)
</para>
                        </entry>
                        <entry>
Read the 64-bit value (referred to as <varname>old</varname>)
stored at location pointed by <varname>p</varname>. Compute
(<varname>old</varname> + <varname>val</varname>) and store result at location
pointed by <varname>p</varname>. The function returns <varname>old</varname>.
                        </entry>
                    </row>

                    <row>
                        <entry>
<para>
long <function>atom_sub</function> (volatile <citerefentry 
href="global"><refentrytitle>__global</refentrytitle></citerefentry> long *<varname>p</varname>, long&#160;<varname>val</varname>)
</para>

<para>
long <function>atom_sub</function> (volatile <citerefentry href="local"><refentrytitle>__local</refentrytitle></citerefentry> long *<varname>p</varname>, long&#160;<varname>val</varname>)
</para>

<para>
<link xlink:href="reservedDataTypes.html">ulong</link> <function>atom_sub</function> (volatile <citerefentry 
href="global"><refentrytitle>__global</refentrytitle></citerefentry> <link xlink:href="reservedDataTypes.html">ulong</link> *<varname>p</varname>, <link xlink:href="reservedDataTypes.html">ulong</link> <varname>val</varname>)
</para>

<para>
<link xlink:href="reservedDataTypes.html">ulong</link> <function>atom_sub</function> (volatile <citerefentry href="local"><refentrytitle>__local</refentrytitle></citerefentry> <link xlink:href="reservedDataTypes.html">ulong</link> *<varname>p</varname>, <link xlink:href="reservedDataTypes.html">ulong</link> <varname>val</varname>)
</para>
                        </entry>
                        <entry>
Read the 64-bit value (referred to as <varname>old</varname>)
stored at location pointed by <varname>p</varname>. Compute
(<varname>old</varname> - <varname>val</varname>) and store result at location
pointed by <varname>p</varname>. The function returns <varname>old</varname>.
                        </entry>
                    </row>

                    <row>
                        <entry>
<para>
long <function>atom_xchg</function> (volatile <citerefentry 
href="global"><refentrytitle>__global</refentrytitle></citerefentry> long *<varname>p</varname>, long&#160;<varname>val</varname>)
</para>

<para>
long <function>atom_xchg</function> (volatile <citerefentry href="local"><refentrytitle>__local</refentrytitle></citerefentry> long *<varname>p</varname>, long&#160;<varname>val</varname>)
</para>

<para>
<link xlink:href="reservedDataTypes.html">ulong</link> <function>atom_xchg</function> (volatile <citerefentry 
href="global"><refentrytitle>__global</refentrytitle></citerefentry> <link xlink:href="reservedDataTypes.html">ulong</link> *<varname>p</varname>, <link xlink:href="reservedDataTypes.html">ulong</link> <varname>val</varname>)
</para>

<para>
<link xlink:href="reservedDataTypes.html">ulong</link> <function>atom_xchg</function> (volatile <citerefentry href="local"><refentrytitle>__local</refentrytitle></citerefentry> <link xlink:href="reservedDataTypes.html">ulong</link> *<varname>p</varname>, <link xlink:href="reservedDataTypes.html">ulong</link> <varname>val</varname>)
</para>
                        </entry>
                        <entry>
Swaps the <varname>old</varname> value
stored at location <varname>p</varname> with new value given by
<varname>val</varname>). Returns <varname>old</varname> value.
                        </entry>
                    </row>

                    <row>
                        <entry>
<para>
long <function>atom_inc</function> (volatile <citerefentry 
href="global"><refentrytitle>__global</refentrytitle></citerefentry> long *<varname>p</varname>)
</para>

<para>
long <function>atom_inc</function> (volatile <citerefentry href="local"><refentrytitle>__local</refentrytitle></citerefentry> long *<varname>p</varname>)
</para>

<para>
<link xlink:href="reservedDataTypes.html">ulong</link> <function>atom_inc</function> (volatile <citerefentry 
href="global"><refentrytitle>__global</refentrytitle></citerefentry> <link xlink:href="reservedDataTypes.html">ulong</link> *<varname>p</varname>)
</para>

<para>
<link xlink:href="reservedDataTypes.html">ulong</link> <function>atom_inc</function> (volatile <citerefentry href="local"><refentrytitle>__local</refentrytitle></citerefentry> <link xlink:href="reservedDataTypes.html">ulong</link> *<varname>p</varname>)
</para>
                        </entry>
                        <entry>
Read the 64-bit value (referred to as <varname>old</varname>)
stored at location pointed by <varname>p</varname>. Compute
(<varname>old</varname> + 1) and store result at location
pointed by <varname>p</varname>. The function returns <varname>old</varname>.
                        </entry>
                    </row>

                    <row>
                        <entry>
<para>
long <function>atom_dec</function> (volatile <citerefentry 
href="global"><refentrytitle>__global</refentrytitle></citerefentry> long&#160;*<varname>p</varname>)
</para>

<para>
long <function>atom_dec</function> (volatile <citerefentry href="local"><refentrytitle>__local</refentrytitle></citerefentry> long&#160;*<varname>p</varname>)
</para>

<para>
<link xlink:href="reservedDataTypes.html">ulong</link> <function>atom_dec</function> (volatile <citerefentry 
href="global"><refentrytitle>__global</refentrytitle></citerefentry> <link xlink:href="reservedDataTypes.html">ulong</link> <varname>*p</varname>)
</para>

<para>
<link xlink:href="reservedDataTypes.html">ulong</link> <function>atom_dec</function> (volatile <citerefentry href="local"><refentrytitle>__local</refentrytitle></citerefentry> <link xlink:href="reservedDataTypes.html">ulong</link> <varname>*p</varname>)
</para>
                        </entry>
                        <entry>
Read the 64-bit value (referred to as <varname>old</varname>)
stored at location pointed by <varname>p</varname>. Compute
(<varname>old</varname> - 1) and store result at location
pointed by <varname>p</varname>. The function returns <varname>old</varname>.
                        </entry>
                    </row>

                    <row>
                        <entry>
<para>
long <function>atom_cmpxchg</function> (volatile <citerefentry 
href="global"><refentrytitle>__global</refentrytitle></citerefentry> long&#160;<varname>*p</varname>,
                  long&#160;<varname>cmp</varname>, long&#160;<varname>val</varname>)
</para>

<para>
long <function>atom_cmpxchg</function> (volatile <citerefentry href="local"><refentrytitle>__local</refentrytitle></citerefentry> long&#160;<varname>*p</varname>,
                  long&#160;<varname>cmp</varname>, long&#160;<varname>val</varname>)
</para>

<para>
<link xlink:href="reservedDataTypes.html">ulong</link> <function>atom_cmpxchg</function> (volatile <citerefentry 
href="global"><refentrytitle>__global</refentrytitle></citerefentry> <link xlink:href="reservedDataTypes.html">ulong</link><varname>*p</varname>,
<link xlink:href="reservedDataTypes.html">ulong</link> <varname>cmp</varname>, <link xlink:href="reservedDataTypes.html">ulong</link> <varname>val</varname>)
</para>

<para>
<link xlink:href="reservedDataTypes.html">ulong</link> <function>atom_cmpxchg</function> (volatile <citerefentry href="local"><refentrytitle>__local</refentrytitle></citerefentry> <link xlink:href="reservedDataTypes.html">ulong</link> <varname>*p</varname>,
<link xlink:href="reservedDataTypes.html">ulong</link> <varname>cmp</varname>, <link xlink:href="reservedDataTypes.html">ulong</link> <varname>val</varname>)
</para>
                        </entry>
                        <entry>
Read the 64-bit value (referred to as <varname>old</varname>)
stored at location pointed by <varname>p</varname>. Compute
(<varname>old</varname> == <varname>cmp</varname>) ? <varname>val</varname> : <varname>old</varname> and store result at location
pointed by <varname>p</varname>. The function returns <varname>old</varname>.
                        </entry>
                    </row>

                </tbody>
            </tgroup>
        </informaltable>

        <para>
        </para>

        <para>
        </para>
    </refsect1>


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

    <!-- refsect1 id="notes"><title>Notes</title>
        <para>

        </para>
    </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="cl_khr_int64_base_atomics">OpenCL Specification</olink>
        </para>
    </refsect1>


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

    <refsect1 id="seealso"><title>Also see</title>
        <para>
            <citerefentry><refentrytitle>EXTENSION</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>

