code: @OpenCLMapping(atomic32 = true)
     protected int atomicAdd(int[] _arr, int _index, int _delta) {
        if (!Config.disableUnsafe) {
           return UnsafeWrapper.atomicAdd(_arr, _index, _delta);
        } else {
           synchronized (_arr) {
              final int previous = _arr[_index];
              _arr[_index] += _delta;
              return previous;
           }
        }
     }
docs: Atomically adds <code>_delta</code> value to <code>_index</code> element of array <code>_arr</code> (Java) or delegates to <code><a href="http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/atomic_add.html">atomic_add(volatile int*, int)</a></code> (OpenCL).
  
  
  @param _arr array for which an element value needs to be atomically incremented by <code>_delta</code>
  @param _index index of the <code>_arr</code> array that needs to be atomically incremented by <code>_delta</code>
  @param _delta value by which <code>_index</code> element of <code>_arr</code> array needs to be atomically incremented
  @return previous value of <code>_index</code> element of <code>_arr</code> array
  
  @see <code><a href="http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/atomic_add.html">atomic_add(volatile int*, int)</a></code>