<?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>Atomic Functions</keyword>
        </keywordset>
    </refentryinfo>
    <refmeta>
        <refentrytitle>Atomic Functions</refentrytitle>
        <refmiscinfo>
            <copyright>
                <year>2007-2013</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>Atomic Functions</refname>
        <refpurpose>
The atomic functions are shown below.
Click an item in the table below for details about that function.
        </refpurpose>
    </refnamediv>

<refsect1 id="springboard"><title></title>

<informaltable frame="all"><tgroup cols="2" align="left" colsep="1" rowsep="1">
    <colspec colnum="1" colwidth="1*" colname="col1" />
    <colspec colnum="2" colwidth="1*" colname="col2" />
    <tbody>
        <row>
            <entry>
                <citerefentry><refentrytitle>atomic_init</refentrytitle></citerefentry>
            </entry>
            <entry>
                <citerefentry><refentrytitle>atomic_work_item_fence</refentrytitle></citerefentry>
            </entry>
        </row>

        <row>
            <entry>
                <citerefentry><refentrytitle>atomic_store</refentrytitle></citerefentry>
            </entry>
            <entry>
                <citerefentry href="atomic_store"><refentrytitle>atomic_store_explicit</refentrytitle></citerefentry>
            </entry>
        </row>

        <row>
            <entry>
                <citerefentry><refentrytitle>atomic_exchange</refentrytitle></citerefentry>
            </entry>
            <entry>
                <citerefentry href="atomic_exchange"><refentrytitle>atomic_exchange_explicit</refentrytitle></citerefentry>
            </entry>
        </row>

        <row>
            <entry>
                <citerefentry href="atomic_compare_exchange"><refentrytitle>atomic_compare_exchange_strong</refentrytitle></citerefentry>
            </entry>
            <entry>
                <citerefentry href="atomic_compare_exchange"><refentrytitle>atomic_compare_exchange_strong_explicit</refentrytitle></citerefentry>
            </entry>
        </row>

        <row>
            <entry>
                <citerefentry href="atomic_compare_exchange"><refentrytitle>atomic_compare_exchange_weak</refentrytitle></citerefentry>
            </entry>

            <entry>
                <citerefentry href="atomic_compare_exchange"><refentrytitle>atomic_compare_exchange_weak_explicit</refentrytitle></citerefentry>
            </entry>
        </row>

        <row>
            <entry>
                <citerefentry><refentrytitle>atomic_fetch_key</refentrytitle></citerefentry>
            </entry>
            <entry>
                <citerefentry href="atomic_fetch_key"><refentrytitle>atomic_fetch_key_explicit</refentrytitle></citerefentry>
            </entry>
        </row>

        <row>
            <entry>
                <citerefentry><refentrytitle>atomic_flag_test_and_set</refentrytitle></citerefentry>
            </entry>

            <entry>
                <citerefentry href="atomic_flag_test_and_set"><refentrytitle>atomic_flag_test_and_set_explicit</refentrytitle></citerefentry>
            </entry>
        </row>

        <row>
            <entry>
                <citerefentry><refentrytitle>atomic_flag_clear</refentrytitle></citerefentry>
            </entry>

            <entry>
                <citerefentry href="atomic_flag_clear"><refentrytitle>atomic_flag_clear_explicit</refentrytitle></citerefentry>
            </entry>
        </row>

    </tbody>

    </tgroup></informaltable>

    <bridgehead>64-bit Atomics</bridgehead>

    <para>
        The optional extension 
        <citerefentry><refentrytitle>cl_khr_int64_base_atomics</refentrytitle></citerefentry>
        implements atomic operations on 64-bit signed 
        and unsigned integers to locations in <code>__global</code>
        and <code>__local</code> memory.
    </para>

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

    <para>
      The <citerefentry><refentrytitle>cl_khr_int64_extended_atomics</refentrytitle></citerefentry>
      extension enables additional atomic functions using types <type>long</type>
      and <type>unsigned long</type>.  An application that wants to use
      this extension will need to include the <code>#pragma OPENCL EXTENSION
      <citerefentry><refentrytitle>cl_khr_int64_extended_atomics</refentrytitle></citerefentry>
      : enable</code> in the OpenCL program source.
    </para>

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

    </tgroup></informaltable>

    </refsect1>

    <refsect1 id="description"><title>Description</title>
        <para>
            As of OpenCL version 1.1, 
            <code>cl_khr_global_int32_base_atomics</code>, 
            <code>cl_khr_global_int32_extended_atomics</code>, 
            <code>cl_khr_local_int32_base_atomics</code> and 
            <code>cl_khr_local_int32_extended_atomics</code> 
            extensions are core features. The built-in atomic function names are changed to use the 
            <code>atomic_ prefix</code> instead of <code>atom_</code>.
        </para>

        <para>
            The list of supported atomic type names are:
        </para>

        <itemizedlist>
            <listitem><type>atomic_int</type></listitem>
            <listitem><type>atomic_uint</type></listitem>
            <listitem><type>atomic_long</type></listitem>
            <listitem><type>atomic_ulong</type></listitem>
            <listitem><type>atomic_float</type></listitem>
            <listitem><type>atomic_double</type></listitem>
            <listitem><type>atomic_intptr_t</type></listitem>
            <listitem><type>atomic_uintptr_t</type></listitem>
            <listitem><type>atomic_size_t</type></listitem>
            <listitem><type>atomic_ptrdiff_t</type></listitem>
        </itemizedlist>

        <para>
            The <type>atomic_long</type> and <type>atomic_ulong</type> types are supported if the 
            <citerefentry><refentrytitle>cl_khr_int64_base_atomics</refentrytitle></citerefentry> and 
            <citerefentry><refentrytitle>cl_khr_int64_extended_atomics</refentrytitle></citerefentry> 
            extensions are supported.
        </para>

        <para>
            The <type>atomic_double</type> type is only supported if double precision is supported and the 
            <citerefentry><refentrytitle>cl_khr_int64_base_atomics</refentrytitle></citerefentry> and 
            <citerefentry><refentrytitle>cl_khr_int64_extended_atomics</refentrytitle></citerefentry> 
            extensions are supported.
        </para>

        <para>
            If the device address space is 64-bits, the data types 
            <type>atomic_intptr_t</type>, <type>atomic_uintptr_t</type>, 
            <type>atomic_size_t</type> and <type>atomic_ptrdiff_t</type> are supported if the 
            <citerefentry><refentrytitle>cl_khr_int64_base_atomics</refentrytitle></citerefentry> and 
            <citerefentry><refentrytitle>cl_khr_int64_extended_atomics</refentrytitle></citerefentry> 
            extensions are supported.
        </para>

        <para>
            Arguments to a kernel can be declared to be a pointer to the above atomic types or the 
            <type>atomic_flag</type> type.
        </para>

        <para>
            The representation of atomic integer, floating-point 
            and pointer types have the same size as their 
            corresponding regular types. The <type>atomic_flag</type> 
            type must be implemented as a 32-bit integer.
        </para>

    </refsect1>

    <refsect1 id="specification"><title>Specification</title>
        <para>
            <imageobject>
                <imagedata fileref="pdficon_small1.gif" format="gif" />
            </imageobject>
            <olink uri="atomicFunctions">OpenCL Specification</olink>
        </para>

    </refsect1>

<!-- ================================ ALSO SEE -->
    <refsect1 id="seealso"><title>Also see</title>
        <para>
            <citerefentry><refentrytitle>memory_order</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>memory_scope</refentrytitle></citerefentry>,
            <citerefentry href="atomic_flag"><refentrytitle>atomic_flag type</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>

<!-- 16-Dec-2013, rev. 19 -->
</refentry>

