[Beignet] [PATCH 1/4] Add atomic help functions.

Zhigang Gong zhigang.gong at linux.intel.com
Thu Jun 27 04:41:54 PDT 2013


Rong,

So after this patchset, we should already support the following extensions:
cl_khr_global_int32_base_atomics, cl_khr_global_int32_extended_atomics,
cl_khr_local_int32_base_atomics and cl_khr_local_int32_extended_atomics

Right? If so, could you also make a patch to add those extension string to
beignet's runtime library? Thanks.

On Thu, Jun 27, 2013 at 04:47:55PM +0800, Yang Rong wrote:
> Use the data port message "Untyped Atomic Operation" to implement openCL atomic functions.
> This message can handle both global memory and SLM.
> For all atomic functions, the operands will be treated as unsigned int, except imax/imin.
> Only add one opcode Atomic for all atomic functions in ir, and identify the atomic function
> by ir::AtomicOps.
> 
> Signed-off-by: Yang Rong <rong.r.yang at intel.com>
> ---
>  backend/src/backend/gen_context.cpp                |    9 +++
>  backend/src/backend/gen_context.hpp                |    1 +
>  backend/src/backend/gen_defs.hpp                   |   49 +++++++++++--
>  backend/src/backend/gen_encoder.cpp                |   35 +++++++++
>  backend/src/backend/gen_encoder.hpp                |    2 +
>  .../src/backend/gen_insn_gen7_schedule_info.hxx    |    2 +-
>  backend/src/backend/gen_insn_selection.cpp         |   44 +++++++++++
>  backend/src/backend/gen_insn_selection.hpp         |    4 +-
>  backend/src/backend/gen_insn_selection.hxx         |    1 +
>  backend/src/ir/instruction.cpp                     |   77 +++++++++++++++++++-
>  backend/src/ir/instruction.hpp                     |   36 ++++++++-
>  backend/src/ir/instruction.hxx                     |    1 +
>  12 files changed, 247 insertions(+), 14 deletions(-)
> 


More information about the Beignet mailing list