cavis/libnd4j/include/ops/declarable/helpers/cpu
raver119 0613485654
compression ops (#436)
* Added declarations for decode/encode_bitmap ops.

Signed-off-by: shugeo <sgazeos@gmail.com>

* Added implementation for bitmap encoding/decoding ops.

Signed-off-by: shugeo <sgazeos@gmail.com>

* Added helpers for encode/decode bitmap ops.

Signed-off-by: shugeo <sgazeos@gmail.com>

* Refactored encodingBitmap helper.

Signed-off-by: shugeo <sgazeos@gmail.com>

* threshold encode/decode skeleton

* helper skeleton

* minor import fix

* encoder shape fn & op impl

* thresholdEncode cpu impl

Signed-off-by: raver119@gmail.com <raver119@gmail.com>

* thresholdDecode cpu impl

Signed-off-by: raver119@gmail.com <raver119@gmail.com>

* Only cosmetical changes.

Signed-off-by: shugeo <sgazeos@gmail.com>

* placeholder

Signed-off-by: raver119@gmail.com <raver119@gmail.com>

* Added cuda implementation for bitmap decode helper.

Signed-off-by: shugeo <sgazeos@gmail.com>

* cuda thresholdEstimate

Signed-off-by: raver119@gmail.com <raver119@gmail.com>

* cuda thresholdDecode

Signed-off-by: raver119@gmail.com <raver119@gmail.com>

* next step

Signed-off-by: raver119@gmail.com <raver119@gmail.com>

* - nano cmakelist update (get rid of Clion section)
- fixed forgotten throw in AtomicTests

Signed-off-by: raver119@gmail.com <raver119@gmail.com>

* thesholdEncode cuda impl

Signed-off-by: raver119@gmail.com <raver119@gmail.com>

* Added tests for bitmap encoding/decoding ops.

Signed-off-by: shugeo <sgazeos@gmail.com>

* Fixed tests for encode/decode bitmaps.

Signed-off-by: shugeo <sgazeos@gmail.com>

* Refactored decode/encode helpers.

Signed-off-by: shugeo <sgazeos@gmail.com>

* Fixed crashes with bitmap decode/encode helpers.

Signed-off-by: shugeo <sgazeos@gmail.com>

* bitmap encode/decode CPU

Signed-off-by: raver119@gmail.com <raver119@gmail.com>

* bitmap encode/decode CUDA

Signed-off-by: raver119@gmail.com <raver119@gmail.com>

* C API removed for threshold/bitmap encode

Signed-off-by: raver119@gmail.com <raver119@gmail.com>

* EncodeBitmap/DecodeBitmap Java side

Signed-off-by: raver119@gmail.com <raver119@gmail.com>

* EncodeThreshold/DecodeThreshold Java side

Signed-off-by: raver119@gmail.com <raver119@gmail.com>

* EncodeThreshold/DecodeThreshold Java side

Signed-off-by: raver119@gmail.com <raver119@gmail.com>

* few more tests for threshold encoding

Signed-off-by: raver119@gmail.com <raver119@gmail.com>

* minor test tweak

Signed-off-by: raver119@gmail.com <raver119@gmail.com>

* two special tests

Signed-off-by: raver119@gmail.com <raver119@gmail.com>

* encodeBitmap CPU fix

Signed-off-by: raver119@gmail.com <raver119@gmail.com>

* parallel_long/parallel_double proper spans fix

Signed-off-by: raver119@gmail.com <raver119@gmail.com>

* encodeThreshold CUDA fix

Signed-off-by: raver119@gmail.com <raver119@gmail.com>

* nano fix

Signed-off-by: raver119@gmail.com <raver119@gmail.com>

* grid tweaks

Signed-off-by: raver119@gmail.com <raver119@gmail.com>

* RTX adaptation for thresholdEncode

Signed-off-by: raver119 <raver119@gmail.com>

* don't allow threshold encoding for length < 2

Signed-off-by: raver119@gmail.com <raver119@gmail.com>

* get rid of NDArrayCompressor in EncodingHandler

Signed-off-by: raver119@gmail.com <raver119@gmail.com>

* one more minor update of EncodingHandler

Signed-off-by: raver119@gmail.com <raver119@gmail.com>

* one more minor tweak of EncodingHandler

Signed-off-by: raver119@gmail.com <raver119@gmail.com>

* - matmul allows integer data types use
- EncodingHandler boundary default value
- few tests for integer matmul

Signed-off-by: raver119@gmail.com <raver119@gmail.com>

* minor fix of CUDA bitmap encode

Signed-off-by: raver119@gmail.com <raver119@gmail.com>

* boundary changed to integer everywhere

Signed-off-by: raver119@gmail.com <raver119@gmail.com>

* boundary changed to integer everywhere

Signed-off-by: raver119@gmail.com <raver119@gmail.com>

* re-enable CUDA deallocator

Signed-off-by: raver119@gmail.com <raver119@gmail.com>

* threshold encoder fix for systems without omp

Signed-off-by: raver119@gmail.com <raver119@gmail.com>

* - encode_threshold now requires non-negative boundary
- minor tweak in EncodingHandler

Signed-off-by: raver119@gmail.com <raver119@gmail.com>

* restore parallelism in decode_bitmap

Signed-off-by: raver119@gmail.com <raver119@gmail.com>

* fall back to omp for encode_bitmap cpu

Signed-off-by: raver119@gmail.com <raver119@gmail.com>

* single time casts

Signed-off-by: raver119@gmail.com <raver119@gmail.com>

* - additional test for encode_threshold
- sync buffers to device before calling for shape function

Signed-off-by: raver119@gmail.com <raver119@gmail.com>

Co-authored-by: shugeo <sgazeos@gmail.com>
2020-05-08 20:59:39 +03:00
..
compilation_units libnd4j polishing (#273) 2020-03-02 12:49:41 +03:00
compression compression ops (#436) 2020-05-08 20:59:39 +03:00
BarnesHutTsne.cpp Revert "OpenMP Threads execution (#297)" (#299) 2020-03-09 08:22:49 +03:00
README.md Merge master to upstream (#7945) 2019-06-27 18:37:04 +03:00
activations.cpp Revert "OpenMP Threads execution (#297)" (#299) 2020-03-09 08:22:49 +03:00
addBias.cpp Revert "OpenMP Threads execution (#297)" (#299) 2020-03-09 08:22:49 +03:00
adjust_hue.cpp Revert "OpenMP Threads execution (#297)" (#299) 2020-03-09 08:22:49 +03:00
adjust_saturation.cpp Revert "OpenMP Threads execution (#297)" (#299) 2020-03-09 08:22:49 +03:00
axis.cpp libnd4j polishing (#273) 2020-03-02 12:49:41 +03:00
batched_gemm.cpp Revert "OpenMP Threads execution (#297)" (#299) 2020-03-09 08:22:49 +03:00
batchnorm.cpp [WIP] Shyrma coords (#305) 2020-03-11 16:21:59 +03:00
betaInc.cpp Revert "OpenMP Threads execution (#297)" (#299) 2020-03-09 08:22:49 +03:00
clip.cpp Backpropagation implementation of mergemax, mergeadd and mergeavg ops (#343) 2020-03-25 08:40:30 +03:00
col2im.cpp Nullify (#304) 2020-03-20 08:49:28 +03:00
compare_elem.cpp Revert "OpenMP Threads execution (#297)" (#299) 2020-03-09 08:22:49 +03:00
concat.cpp profiling of stack and unstack ops (#261) 2020-03-03 07:32:37 +03:00
confusion.cpp Revert "OpenMP Threads execution (#297)" (#299) 2020-03-09 08:22:49 +03:00
convolutions_col2vol.cpp Split convolutions implementations for compilation speed up (#339) 2020-03-23 07:30:26 +03:00
convolutions_conv2d.cpp Split convolutions implementations for compilation speed up (#339) 2020-03-23 07:30:26 +03:00
convolutions_conv2dBP.cpp Split convolutions implementations for compilation speed up (#339) 2020-03-23 07:30:26 +03:00
convolutions_depthwiseConv2d.cpp Split convolutions implementations for compilation speed up (#339) 2020-03-23 07:30:26 +03:00
convolutions_depthwiseConv2dBP.cpp Split convolutions implementations for compilation speed up (#339) 2020-03-23 07:30:26 +03:00
convolutions_pooling2d.cpp Split convolutions implementations for compilation speed up (#339) 2020-03-23 07:30:26 +03:00
convolutions_pooling2dBP.cpp Split convolutions implementations for compilation speed up (#339) 2020-03-23 07:30:26 +03:00
convolutions_pooling3d.cpp Split convolutions implementations for compilation speed up (#339) 2020-03-23 07:30:26 +03:00
convolutions_pooling3dBP.cpp Split convolutions implementations for compilation speed up (#339) 2020-03-23 07:30:26 +03:00
convolutions_sconv2d.cpp Split convolutions implementations for compilation speed up (#339) 2020-03-23 07:30:26 +03:00
convolutions_upsampling2d.cpp Split convolutions implementations for compilation speed up (#339) 2020-03-23 07:30:26 +03:00
convolutions_upsampling2dBP.cpp Split convolutions implementations for compilation speed up (#339) 2020-03-23 07:30:26 +03:00
convolutions_upsampling3d.cpp Split convolutions implementations for compilation speed up (#339) 2020-03-23 07:30:26 +03:00
convolutions_upsampling3dBP.cpp Split convolutions implementations for compilation speed up (#339) 2020-03-23 07:30:26 +03:00
convolutions_vol2col.cpp Split convolutions implementations for compilation speed up (#339) 2020-03-23 07:30:26 +03:00
crop_and_resize.cpp libnd4j polishing (#273) 2020-03-02 12:49:41 +03:00
crop_and_resize.hpp Revert "OpenMP Threads execution (#297)" (#299) 2020-03-09 08:22:49 +03:00
cross.cpp Revert "OpenMP Threads execution (#297)" (#299) 2020-03-09 08:22:49 +03:00
d_t_s.cpp Fix for certain non-ews cases (#402) 2020-04-21 12:41:30 +03:00
diGamma.cpp Revert "OpenMP Threads execution (#297)" (#299) 2020-03-09 08:22:49 +03:00
diag.cpp libnd4j polishing (#273) 2020-03-02 12:49:41 +03:00
dilation2d.cpp Revert "OpenMP Threads execution (#297)" (#299) 2020-03-09 08:22:49 +03:00
dropout.cpp Revert "OpenMP Threads execution (#297)" (#299) 2020-03-09 08:22:49 +03:00
dynamic.cpp Revert "OpenMP Threads execution (#297)" (#299) 2020-03-09 08:22:49 +03:00
extract_patches.cpp Revert "OpenMP Threads execution (#297)" (#299) 2020-03-09 08:22:49 +03:00
eye.cpp Backpropagation implementation of mergemax, mergeadd and mergeavg ops (#343) 2020-03-25 08:40:30 +03:00
fake_quantization.cpp libnd4j polishing (#273) 2020-03-02 12:49:41 +03:00
flatten.cpp libnd4j polishing (#273) 2020-03-02 12:49:41 +03:00
gather.cpp Revert "OpenMP Threads execution (#297)" (#299) 2020-03-09 08:22:49 +03:00
gatherTransforms.cpp Backpropagation implementation of mergemax, mergeadd and mergeavg ops (#343) 2020-03-25 08:40:30 +03:00
gradient.cpp libnd4j polishing (#273) 2020-03-02 12:49:41 +03:00
hamming.cpp Revert "OpenMP Threads execution (#297)" (#299) 2020-03-09 08:22:49 +03:00
hashcode.cpp Revert "OpenMP Threads execution (#297)" (#299) 2020-03-09 08:22:49 +03:00
histogram.cpp libnd4j polishing (#273) 2020-03-02 12:49:41 +03:00
histogramFixedWidth.cpp libnd4j polishing (#273) 2020-03-02 12:49:41 +03:00
im2col.cpp Revert "OpenMP Threads execution (#297)" (#299) 2020-03-09 08:22:49 +03:00
image_draw_bounding_boxes.cpp Revert "OpenMP Threads execution (#297)" (#299) 2020-03-09 08:22:49 +03:00
image_resize.cpp Revert "OpenMP Threads execution (#297)" (#299) 2020-03-09 08:22:49 +03:00
image_suppression.cpp libnd4j polishing (#273) 2020-03-02 12:49:41 +03:00
imagesHelpers.cpp [WIP] Shyrma coords (#305) 2020-03-11 16:21:59 +03:00
invertPermutation.cpp Backpropagation implementation of mergemax, mergeadd and mergeavg ops (#343) 2020-03-25 08:40:30 +03:00
ismax.cpp Revert "OpenMP Threads execution (#297)" (#299) 2020-03-09 08:22:49 +03:00
legacy_helper.cpp libnd4j polishing (#273) 2020-03-02 12:49:41 +03:00
lgamma.cpp libnd4j polishing (#273) 2020-03-02 12:49:41 +03:00
lrn.cpp Revert "OpenMP Threads execution (#297)" (#299) 2020-03-09 08:22:49 +03:00
lstm.cpp Revert "OpenMP Threads execution (#297)" (#299) 2020-03-09 08:22:49 +03:00
lstsq.cpp libnd4j polishing (#273) 2020-03-02 12:49:41 +03:00
lup.cpp libnd4j fixes for context sync in operation execution (#350) 2020-03-30 16:33:51 +03:00
matrixSetDiag.cpp [WIP] Shyrma coords (#305) 2020-03-11 16:21:59 +03:00
matrix_band.cpp libnd4j polishing (#273) 2020-03-02 12:49:41 +03:00
matrix_diag_part.cpp Revert "OpenMP Threads execution (#297)" (#299) 2020-03-09 08:22:49 +03:00
max_pooling.cpp libnd4j polishing (#273) 2020-03-02 12:49:41 +03:00
merge.cpp Backpropagation implementation of mergemax, mergeadd and mergeavg ops (#343) 2020-03-25 08:40:30 +03:00
meshgrid.cpp libnd4j polishing (#273) 2020-03-02 12:49:41 +03:00
minimax.cpp libnd4j polishing (#273) 2020-03-02 12:49:41 +03:00
nth_element.cpp Revert "OpenMP Threads execution (#297)" (#299) 2020-03-09 08:22:49 +03:00
one_hot.cpp Revert "OpenMP Threads execution (#297)" (#299) 2020-03-09 08:22:49 +03:00
pad.cpp Backpropagation implementation of mergemax, mergeadd and mergeavg ops (#343) 2020-03-25 08:40:30 +03:00
percentile.cpp libnd4j polishing (#273) 2020-03-02 12:49:41 +03:00
polyGamma.cpp Revert "OpenMP Threads execution (#297)" (#299) 2020-03-09 08:22:49 +03:00
prefix.cpp libnd4j polishing (#273) 2020-03-02 12:49:41 +03:00
print_variable.cpp libnd4j polishing (#273) 2020-03-02 12:49:41 +03:00
qr.cpp libnd4j fixes for context sync in operation execution (#350) 2020-03-30 16:33:51 +03:00
random.cpp Revert "OpenMP Threads execution (#297)" (#299) 2020-03-09 08:22:49 +03:00
randomShuffle.cpp Backpropagation implementation of mergemax, mergeadd and mergeavg ops (#343) 2020-03-25 08:40:30 +03:00
random_crop.cpp libnd4j polishing (#273) 2020-03-02 12:49:41 +03:00
range.cpp Revert "OpenMP Threads execution (#297)" (#299) 2020-03-09 08:22:49 +03:00
reverse.cpp Revert "OpenMP Threads execution (#297)" (#299) 2020-03-09 08:22:49 +03:00
roll.cpp libnd4j polishing (#273) 2020-03-02 12:49:41 +03:00
s_t_b.cpp [WIP] Shyrma coords (#305) 2020-03-11 16:21:59 +03:00
s_t_d.cpp Fix for certain non-ews cases (#402) 2020-04-21 12:41:30 +03:00
scatter.cpp [WIP] Shyrma coords (#305) 2020-03-11 16:21:59 +03:00
scatterUpdateAndSimple.cpp Backpropagation implementation of mergemax, mergeadd and mergeavg ops (#343) 2020-03-25 08:40:30 +03:00
segment.cpp Revert "OpenMP Threads execution (#297)" (#299) 2020-03-09 08:22:49 +03:00
sequence_mask.cpp Revert "OpenMP Threads execution (#297)" (#299) 2020-03-09 08:22:49 +03:00
sg_cb.cpp Revert "OpenMP Threads execution (#297)" (#299) 2020-03-09 08:22:49 +03:00
shift.cpp libnd4j polishing (#273) 2020-03-02 12:49:41 +03:00
softmax.cpp Revert "OpenMP Threads execution (#297)" (#299) 2020-03-09 08:22:49 +03:00
solve.cpp Revert "OpenMP Threads execution (#297)" (#299) 2020-03-09 08:22:49 +03:00
split.cpp [WIP] Shyrma coords (#305) 2020-03-11 16:21:59 +03:00
sru.cpp Revert "OpenMP Threads execution (#297)" (#299) 2020-03-09 08:22:49 +03:00
stack.cpp Revert "OpenMP Threads execution (#297)" (#299) 2020-03-09 08:22:49 +03:00
svd.cpp libnd4j polishing (#273) 2020-03-02 12:49:41 +03:00
tile.cpp Backpropagation implementation of mergemax, mergeadd and mergeavg ops (#343) 2020-03-25 08:40:30 +03:00
toggle_bits.cpp libnd4j polishing (#273) 2020-03-02 12:49:41 +03:00
top_k.cpp libnd4j fixes for context sync in operation execution (#350) 2020-03-30 16:33:51 +03:00
trace.cpp Backpropagation implementation of mergemax, mergeadd and mergeavg ops (#343) 2020-03-25 08:40:30 +03:00
triangular_solve.cpp Revert "OpenMP Threads execution (#297)" (#299) 2020-03-09 08:22:49 +03:00
triu.cpp Backpropagation implementation of mergemax, mergeadd and mergeavg ops (#343) 2020-03-25 08:40:30 +03:00
updaterAdaDelta.cpp Learning updaters for gradient (#335) 2020-03-23 07:28:31 +03:00
updaterAdaGrad.cpp Learning updaters for gradient (#335) 2020-03-23 07:28:31 +03:00
updaterAdaMax.cpp Learning updaters for gradient (#335) 2020-03-23 07:28:31 +03:00
updaterAdam.cpp Learning updaters for gradient (#335) 2020-03-23 07:28:31 +03:00
updaterAmsGrad.cpp Learning updaters for gradient (#335) 2020-03-23 07:28:31 +03:00
updaterNadam.cpp Learning updaters for gradient (#335) 2020-03-23 07:28:31 +03:00
updaterNesterovs.cpp Learning updaters for gradient (#335) 2020-03-23 07:28:31 +03:00
updaterRmsProp.cpp Learning updaters for gradient (#335) 2020-03-23 07:28:31 +03:00
weights.cpp libnd4j polishing (#273) 2020-03-02 12:49:41 +03:00
zeta.cpp Revert "OpenMP Threads execution (#297)" (#299) 2020-03-09 08:22:49 +03:00

README.md

This folder contains OpenMP implementations for operations helpers. Basically suited for homogenous x86-like platforms.