From f25e3e71e5fcfbb74f89005001db77c6ec2e6d59 Mon Sep 17 00:00:00 2001 From: Robert Altena Date: Thu, 5 Sep 2019 10:19:39 +0900 Subject: [PATCH] remove lengthLong (#236) Signed-off-by: Robert Altena --- .../solvers/accumulation/EncodingHandler.java | 10 +++---- .../nd4j/linalg/api/ndarray/BaseNDArray.java | 11 -------- .../linalg/api/ndarray/BaseSparseNDArray.java | 5 ---- .../org/nd4j/linalg/api/ndarray/INDArray.java | 12 +-------- .../nd4j/linalg/jcublas/JCublasNDArray.java | 12 ++++----- .../linalg/jcublas/JCublasNDArrayFactory.java | 22 ++++++++-------- .../ops/executioner/CudaExecutioner.java | 26 +++++++++---------- .../ops/executioner/CudaGridExecutioner.java | 2 +- .../cpu/nativecpu/CpuNDArrayFactory.java | 10 +++---- .../nativecpu/ops/NativeOpExecutioner.java | 22 ++++++++-------- .../test/java/org/nd4j/linalg/Nd4jTestsC.java | 2 +- .../java/org/nd4j/linalg/ShufflesTests.java | 4 +-- .../linalg/compression/CompressionTests.java | 2 +- 13 files changed, 57 insertions(+), 83 deletions(-) diff --git a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/EncodingHandler.java b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/EncodingHandler.java index dc632cecd..24a46117a 100644 --- a/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/EncodingHandler.java +++ b/deeplearning4j/deeplearning4j-nn/src/main/java/org/deeplearning4j/optimize/solvers/accumulation/EncodingHandler.java @@ -135,7 +135,7 @@ public class EncodingHandler implements MessageHandler { iterations.get().incrementAndGet(); if (boundary != null && atomicBoundary.get() < 0) - atomicBoundary.compareAndSet(-1, (int) (updates.lengthLong() * boundary)); + atomicBoundary.compareAndSet(-1, (int) (updates.length() * boundary)); INDArray encoded; @@ -160,11 +160,11 @@ public class EncodingHandler implements MessageHandler { double encLen = encoded.data().getInt(0); // if updates are too dense - we fallback to bitmap encoding - if (encLen >= (updates.lengthLong() / 16)) { + if (encLen >= (updates.length() / 16)) { log.debug("Switching back to bitmapEncoding: iteration {}, epoch {}, threshold {}, encoded length {}", iteration, epoch, currThreshold, encLen); bitmapMode.get().set(true); - DataBuffer buffer = Nd4j.getDataBufferFactory().createInt(updates.lengthLong() / 16 + 5); + DataBuffer buffer = Nd4j.getDataBufferFactory().createInt(updates.length() / 16 + 5); encoded = Nd4j.createArrayFromShapeBuffer(buffer, updates.shapeInfoDataBuffer()); Nd4j.getExecutioner().bitmapEncode(updates, encoded, currentThreshold.get().get()); @@ -186,12 +186,12 @@ public class EncodingHandler implements MessageHandler { } } else { //Dense bitmap updates - DataBuffer buffer = Nd4j.getDataBufferFactory().createInt(updates.lengthLong() / 16 + 5); + DataBuffer buffer = Nd4j.getDataBufferFactory().createInt(updates.length() / 16 + 5); encoded = Nd4j.createArrayFromShapeBuffer(buffer, updates.shapeInfoDataBuffer()); long values = Nd4j.getExecutioner().bitmapEncode(updates, encoded, currentThreshold.get().get()); - if (values < (updates.lengthLong() / 16 + 5) / 2) { + if (values < (updates.length() / 16 + 5) / 2) { boolean current = bitmapMode.get().get(); bitmapMode.get().set(false); if(!current) { diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ndarray/BaseNDArray.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ndarray/BaseNDArray.java index 771b74615..126ba2466 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ndarray/BaseNDArray.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ndarray/BaseNDArray.java @@ -4641,17 +4641,6 @@ public abstract class BaseNDArray implements INDArray, Iterable { return jvmShapeInfo.length; } - /** - * Returns the total number of elements in the ndarray - * - * @return the number of elements in the ndarray - */ - @Override - @Deprecated - public long lengthLong() { - return jvmShapeInfo.length; - } - @Override public INDArray broadcast(INDArray result) { Nd4j.getCompressor().autoDecompress(this); diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ndarray/BaseSparseNDArray.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ndarray/BaseSparseNDArray.java index 11a005f91..c9c5cab37 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ndarray/BaseSparseNDArray.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ndarray/BaseSparseNDArray.java @@ -279,11 +279,6 @@ public abstract class BaseSparseNDArray implements ISparseNDArray { return (int) length(); } - @Override - public long lengthLong() { - return length; - } - protected void init(long[] shape) { if (shape.length == 1) { diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ndarray/INDArray.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ndarray/INDArray.java index 9288b6d51..f9f04cc43 100644 --- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ndarray/INDArray.java +++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/ndarray/INDArray.java @@ -2377,17 +2377,7 @@ public interface INDArray extends Serializable, AutoCloseable { * @return the number of elements in the ndarray */ long length(); - - /** - * Returns the total number of elements in the ndarray - * - * @return the number of elements in the ndarray - * @deprecated use {@link #length()} - */ - @Deprecated - long lengthLong(); - - + /** * Broadcasts this ndarray to be the specified shape * diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/java/org/nd4j/linalg/jcublas/JCublasNDArray.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/java/org/nd4j/linalg/jcublas/JCublasNDArray.java index 170f22a52..eb0db01a3 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/java/org/nd4j/linalg/jcublas/JCublasNDArray.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/java/org/nd4j/linalg/jcublas/JCublasNDArray.java @@ -664,7 +664,7 @@ public class JCublasNDArray extends BaseNDArray { //if (1 < 0) { Nd4j.getExecutioner().commit(); - DataBuffer buffer = Nd4j.createBuffer(this.lengthLong(), false); + DataBuffer buffer = Nd4j.createBuffer(this.length(), false); AllocationPoint pointDst = AtomicAllocator.getInstance().getAllocationPoint(buffer); AllocationPoint pointSrc = AtomicAllocator.getInstance().getAllocationPoint(this.data); @@ -686,10 +686,10 @@ public class JCublasNDArray extends BaseNDArray { val perfD = PerformanceTracker.getInstance().helperStartTransaction(); if (pointSrc.isActualOnDeviceSide()) { - if (NativeOpsHolder.getInstance().getDeviceNativeOps().memcpyAsync(pointDst.getDevicePointer(), pointSrc.getDevicePointer(), this.lengthLong() * Nd4j.sizeOfDataType(buffer.dataType()), CudaConstants.cudaMemcpyDeviceToDevice, context.getOldStream()) == 0) + if (NativeOpsHolder.getInstance().getDeviceNativeOps().memcpyAsync(pointDst.getDevicePointer(), pointSrc.getDevicePointer(), this.length() * Nd4j.sizeOfDataType(buffer.dataType()), CudaConstants.cudaMemcpyDeviceToDevice, context.getOldStream()) == 0) throw new ND4JIllegalStateException("memcpyAsync failed"); } else { - if (NativeOpsHolder.getInstance().getDeviceNativeOps().memcpyAsync(pointDst.getDevicePointer(), pointSrc.getHostPointer(), this.lengthLong() * Nd4j.sizeOfDataType(buffer.dataType()), CudaConstants.cudaMemcpyHostToDevice, context.getOldStream()) == 0) + if (NativeOpsHolder.getInstance().getDeviceNativeOps().memcpyAsync(pointDst.getDevicePointer(), pointSrc.getHostPointer(), this.length() * Nd4j.sizeOfDataType(buffer.dataType()), CudaConstants.cudaMemcpyHostToDevice, context.getOldStream()) == 0) throw new ND4JIllegalStateException("memcpyAsync failed"); direction = MemcpyDirection.HOST_TO_DEVICE; @@ -738,7 +738,7 @@ public class JCublasNDArray extends BaseNDArray { if (!this.isView()) { Nd4j.getExecutioner().commit(); - val buffer = Nd4j.createBuffer(this.dataType(), this.lengthLong(), false); + val buffer = Nd4j.createBuffer(this.dataType(), this.length(), false); val pointDst = AtomicAllocator.getInstance().getAllocationPoint(buffer); val pointSrc = AtomicAllocator.getInstance().getAllocationPoint(this.data); @@ -749,10 +749,10 @@ public class JCublasNDArray extends BaseNDArray { val perfD = PerformanceTracker.getInstance().helperStartTransaction(); if (pointSrc.isActualOnDeviceSide()) { - if (NativeOpsHolder.getInstance().getDeviceNativeOps().memcpyAsync(pointDst.getDevicePointer(), pointSrc.getDevicePointer(), this.lengthLong() * Nd4j.sizeOfDataType(buffer.dataType()), CudaConstants.cudaMemcpyDeviceToDevice, context.getOldStream()) == 0) + if (NativeOpsHolder.getInstance().getDeviceNativeOps().memcpyAsync(pointDst.getDevicePointer(), pointSrc.getDevicePointer(), this.length() * Nd4j.sizeOfDataType(buffer.dataType()), CudaConstants.cudaMemcpyDeviceToDevice, context.getOldStream()) == 0) throw new ND4JIllegalStateException("memcpyAsync failed"); } else { - if (NativeOpsHolder.getInstance().getDeviceNativeOps().memcpyAsync(pointDst.getDevicePointer(), pointSrc.getHostPointer(), this.lengthLong() * Nd4j.sizeOfDataType(buffer.dataType()), CudaConstants.cudaMemcpyHostToDevice, context.getOldStream()) == 0) + if (NativeOpsHolder.getInstance().getDeviceNativeOps().memcpyAsync(pointDst.getDevicePointer(), pointSrc.getHostPointer(), this.length() * Nd4j.sizeOfDataType(buffer.dataType()), CudaConstants.cudaMemcpyHostToDevice, context.getOldStream()) == 0) throw new ND4JIllegalStateException("memcpyAsync failed"); direction = MemcpyDirection.HOST_TO_DEVICE; diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/java/org/nd4j/linalg/jcublas/JCublasNDArrayFactory.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/java/org/nd4j/linalg/jcublas/JCublasNDArrayFactory.java index 73daa679d..daebc041e 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/java/org/nd4j/linalg/jcublas/JCublasNDArrayFactory.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/java/org/nd4j/linalg/jcublas/JCublasNDArrayFactory.java @@ -424,7 +424,7 @@ public class JCublasNDArrayFactory extends BaseNativeNDArrayFactory { val perfD = PerformanceTracker.getInstance().helperStartTransaction(); - nativeOps.memcpyAsync(point.getDevicePointer(), point.getHostPointer(), ret.lengthLong() * Nd4j.sizeOfDataType(ret.data().dataType()), CudaConstants.cudaMemcpyHostToDevice, context.getSpecialStream()); + nativeOps.memcpyAsync(point.getDevicePointer(), point.getHostPointer(), ret.length() * Nd4j.sizeOfDataType(ret.data().dataType()), CudaConstants.cudaMemcpyHostToDevice, context.getSpecialStream()); context.getSpecialStream().synchronize(); if (nativeOps.lastErrorCode() != 0) @@ -580,7 +580,7 @@ public class JCublasNDArrayFactory extends BaseNativeNDArrayFactory { if (true) { Nd4j.getExecutioner().push(); - long len = target.lengthLong(); + long len = target.length(); AtomicAllocator allocator = AtomicAllocator.getInstance(); @@ -598,7 +598,7 @@ public class JCublasNDArrayFactory extends BaseNativeNDArrayFactory { if (arrays[i].elementWiseStride() != 1) throw new ND4JIllegalStateException("Native averaging is applicable only to continuous INDArrays"); - if (arrays[i].lengthLong() != len) + if (arrays[i].length() != len) throw new ND4JIllegalStateException("All arrays should have equal length for averaging"); AllocationPoint point = allocator.getAllocationPoint(arrays[i]); @@ -621,7 +621,7 @@ public class JCublasNDArrayFactory extends BaseNativeNDArrayFactory { return target; } else { - long len = target.lengthLong(); + long len = target.length(); Nd4j.getExecutioner().commit(); @@ -637,7 +637,7 @@ public class JCublasNDArrayFactory extends BaseNativeNDArrayFactory { if (arrays[i].elementWiseStride() != 1) throw new ND4JIllegalStateException("Native averaging is applicable only to continuous INDArrays"); - if (arrays[i].lengthLong() != len) + if (arrays[i].length() != len) throw new ND4JIllegalStateException("All arrays should have equal length for averaging"); ((BaseCudaDataBuffer) arrays[i].data()).lazyAllocateHostPointer(); @@ -689,7 +689,7 @@ public class JCublasNDArrayFactory extends BaseNativeNDArrayFactory { Nd4j.getExecutioner().push(); - long len = target != null ? target.lengthLong() : arrays[0].lengthLong(); + long len = target != null ? target.length() : arrays[0].length(); AtomicAllocator allocator = AtomicAllocator.getInstance(); @@ -707,7 +707,7 @@ public class JCublasNDArrayFactory extends BaseNativeNDArrayFactory { if (arrays[i].elementWiseStride() != 1) throw new ND4JIllegalStateException("Native averaging is applicable only to continuous INDArrays"); - if (arrays[i].lengthLong() != len) + if (arrays[i].length() != len) throw new ND4JIllegalStateException("All arrays should have equal length for averaging"); AllocationPoint point = allocator.getAllocationPoint(arrays[i]); @@ -744,7 +744,7 @@ public class JCublasNDArrayFactory extends BaseNativeNDArrayFactory { /** * We expect all operations are complete at this point */ - long len = target == null ? arrays[0].lengthLong() : target.lengthLong(); + long len = target == null ? arrays[0].length() : target.length(); val context = (CudaContext) AtomicAllocator.getInstance().getDeviceContext(); @@ -758,7 +758,7 @@ public class JCublasNDArrayFactory extends BaseNativeNDArrayFactory { if (arrays[i].elementWiseStride() != 1) throw new ND4JIllegalStateException("Native averaging is applicable only to continuous INDArrays"); - if (arrays[i].lengthLong() != len) + if (arrays[i].length() != len) throw new ND4JIllegalStateException("All arrays should have equal length for averaging"); ((BaseCudaDataBuffer) arrays[i].data()).lazyAllocateHostPointer(); @@ -1303,7 +1303,7 @@ public class JCublasNDArrayFactory extends BaseNativeNDArrayFactory { } - int numTads = (int)(tensor.lengthLong() / tadLength); + int numTads = (int)(tensor.length() / tadLength); INDArray[] result = new INDArray[numTads]; long[] xPointers = new long[numTads]; @@ -1378,7 +1378,7 @@ public class JCublasNDArrayFactory extends BaseNativeNDArrayFactory { new CudaPointer(0)); // we're sending > 10m elements to radixSort - boolean isRadix = !x.isView() && (x.lengthLong() > 1024 * 1024 * 10); + boolean isRadix = !x.isView() && (x.length() > 1024 * 1024 * 10); INDArray tmpX = x; // we need to guarantee all threads are finished here diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/java/org/nd4j/linalg/jcublas/ops/executioner/CudaExecutioner.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/java/org/nd4j/linalg/jcublas/ops/executioner/CudaExecutioner.java index 43bbfbdca..6c95d3ce5 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/java/org/nd4j/linalg/jcublas/ops/executioner/CudaExecutioner.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/java/org/nd4j/linalg/jcublas/ops/executioner/CudaExecutioner.java @@ -293,9 +293,9 @@ public class CudaExecutioner extends DefaultOpExecutioner { Pointer yDevTadShapeInfo = null; if (op.y() != null) { - if (dimension.length == 0 || (dimension.length == 1 && dimension[0] == Integer.MAX_VALUE )|| op.x().tensorAlongDimension(0, dimension).lengthLong() != op.y().lengthLong()) { - if (!op.isComplexAccumulation() && op.x().lengthLong() != op.y().lengthLong()) - throw new ND4JIllegalStateException("Op.X [" + op.x().lengthLong() + "] and Op.Y [" + op.y().lengthLong() + "] lengths should match"); + if (dimension.length == 0 || (dimension.length == 1 && dimension[0] == Integer.MAX_VALUE )|| op.x().tensorAlongDimension(0, dimension).length() != op.y().length()) { + if (!op.isComplexAccumulation() && op.x().length() != op.y().length()) + throw new ND4JIllegalStateException("Op.X [" + op.x().length() + "] and Op.Y [" + op.y().length() + "] lengths should match"); if (!op.z().isScalar()) { Pair yTadBuffers = tadManager.getTADOnlyShapeInfo(op.y(), dimension); @@ -536,7 +536,7 @@ public class CudaExecutioner extends DefaultOpExecutioner { } else { if (op.y() != null) { //2 options here: either pairwise, equal sizes - OR every X TAD vs. entirety of Y - if (op.x().lengthLong() == op.y().lengthLong()) { + if (op.x().length() == op.y().length()) { //Pairwise if (!wholeDims && op.x().tensorsAlongDimension(dimension) != op.y().tensorsAlongDimension(dimension)) { throw new ND4JIllegalStateException("Number of TADs along dimension don't match: (x shape = " + @@ -548,11 +548,11 @@ public class CudaExecutioner extends DefaultOpExecutioner { throw new ND4JIllegalStateException("TAD vs TAD comparison requires dimension (or other comparison mode was supposed to be used?)"); //Every X TAD vs. entirety of Y - val xTADSize = op.x().lengthLong() / op.x().tensorsAlongDimension(dimension); + val xTADSize = op.x().length() / op.x().tensorsAlongDimension(dimension); if (xTADSize != op.y().length()) { throw new ND4JIllegalStateException("Size of TADs along dimension don't match for pairwise execution:" + - " (x TAD size = " + xTADSize + ", y size = " + op.y().lengthLong()); + " (x TAD size = " + xTADSize + ", y size = " + op.y().length()); } } } @@ -976,7 +976,7 @@ public class CudaExecutioner extends DefaultOpExecutioner { if (op.y() != null) { //2 options here: either pairwise, equal sizes - OR every X TAD vs. entirety of Y - if (op.x().lengthLong() == op.y().lengthLong()) { + if (op.x().length() == op.y().length()) { //Pairwise if (op.x().tensorsAlongDimension(dimension) != op.y().tensorsAlongDimension(dimension)) { throw new ND4JIllegalStateException("Number of TADs along dimension don't match: (x shape = " + @@ -985,11 +985,11 @@ public class CudaExecutioner extends DefaultOpExecutioner { } } else { //Every X TAD vs. entirety of Y - val xTADSize = op.x().lengthLong() / op.x().tensorsAlongDimension(dimension); + val xTADSize = op.x().length() / op.x().tensorsAlongDimension(dimension); if (xTADSize != op.y().length()) { throw new ND4JIllegalStateException("Size of TADs along dimension don't match for pairwise execution:" + - " (x TAD size = " + xTADSize + ", y size = " + op.y().lengthLong()); + " (x TAD size = " + xTADSize + ", y size = " + op.y().length()); } } } @@ -2031,8 +2031,8 @@ public class CudaExecutioner extends DefaultOpExecutioner { long compressedLength = buffer.getInt(0); long originalLength = buffer.getInt(1); - if (target.lengthLong() != originalLength) - throw new ND4JIllegalStateException("originalLength ["+ originalLength+"] stored in encoded array doesn't match target length ["+ target.lengthLong()+"]"); + if (target.length() != originalLength) + throw new ND4JIllegalStateException("originalLength ["+ originalLength+"] stored in encoded array doesn't match target length ["+ target.length()+"]"); DataBuffer result = target.data(); @@ -2056,7 +2056,7 @@ public class CudaExecutioner extends DefaultOpExecutioner { @Override public long bitmapEncode(INDArray indArray, INDArray target, double threshold) { - long length = indArray.lengthLong(); + long length = indArray.length(); long tLen = target.data().length(); if (tLen != (length / 16 + 5)) @@ -2117,7 +2117,7 @@ public class CudaExecutioner extends DefaultOpExecutioner { context.getBufferScalar(), context.getBufferReduction()); - nativeOps.decodeBitmap(extras, AtomicAllocator.getInstance().getPointer(encoded.data(), context), target.lengthLong(), AtomicAllocator.getInstance().getPointer(target, context), (LongPointer) AtomicAllocator.getInstance().getHostPointer(target.shapeInfoDataBuffer())); + nativeOps.decodeBitmap(extras, AtomicAllocator.getInstance().getPointer(encoded.data(), context), target.length(), AtomicAllocator.getInstance().getPointer(target, context), (LongPointer) AtomicAllocator.getInstance().getHostPointer(target.shapeInfoDataBuffer())); if (nativeOps.lastErrorCode() != 0) throw new RuntimeException(nativeOps.lastErrorMessage()); diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/java/org/nd4j/linalg/jcublas/ops/executioner/CudaGridExecutioner.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/java/org/nd4j/linalg/jcublas/ops/executioner/CudaGridExecutioner.java index ca8e4eb07..850096359 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/java/org/nd4j/linalg/jcublas/ops/executioner/CudaGridExecutioner.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/java/org/nd4j/linalg/jcublas/ops/executioner/CudaGridExecutioner.java @@ -655,7 +655,7 @@ public class CudaGridExecutioner extends CudaExecutioner implements GridExecutio op.setZ(ret); } else { // compare length - if (op.z().lengthLong() != ArrayUtil.prodLong(retShape)) + if (op.z().length() != ArrayUtil.prodLong(retShape)) throw new ND4JIllegalStateException("Shape of target array for reduction [" + Arrays.toString(op.z().shape()) + "] doesn't match expected [" + Arrays.toString(retShape) + "]"); ret = op.z(); diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/CpuNDArrayFactory.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/CpuNDArrayFactory.java index cacf32b38..7cd4101ef 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/CpuNDArrayFactory.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/CpuNDArrayFactory.java @@ -514,7 +514,7 @@ public class CpuNDArrayFactory extends BaseNativeNDArrayFactory { - int numTads = (int)(tensor.lengthLong() / tadLength); + int numTads = (int)(tensor.length() / tadLength); INDArray[] result = new INDArray[numTads]; PointerPointer targets = new PointerPointer(numTads); @@ -693,7 +693,7 @@ public class CpuNDArrayFactory extends BaseNativeNDArrayFactory { if (arrays.length == 1) return target.addi(arrays[0]); - long len = target.lengthLong(); + long len = target.length(); PointerPointer dataPointers = new PointerPointer(arrays.length); @@ -703,7 +703,7 @@ public class CpuNDArrayFactory extends BaseNativeNDArrayFactory { if (arrays[i].elementWiseStride() != 1) throw new ND4JIllegalStateException("Native accumulation is applicable only to continuous INDArrays"); - if (arrays[i].lengthLong() != len) + if (arrays[i].length() != len) throw new ND4JIllegalStateException("All arrays should have equal length for accumulation"); dataPointers.put(i, arrays[i].data().addressPointer()); @@ -744,7 +744,7 @@ public class CpuNDArrayFactory extends BaseNativeNDArrayFactory { return target.assign(arrays[0]); } - long len = target != null ? target.lengthLong() : arrays[0].length(); + long len = target != null ? target.length() : arrays[0].length(); PointerPointer dataPointers = new PointerPointer(arrays.length); val firstType = arrays[0].dataType(); @@ -757,7 +757,7 @@ public class CpuNDArrayFactory extends BaseNativeNDArrayFactory { if (arrays[i].elementWiseStride() != 1) throw new ND4JIllegalStateException("Native averaging is applicable only to continuous INDArrays"); - if (arrays[i].lengthLong() != len) + if (arrays[i].length() != len) throw new ND4JIllegalStateException("All arrays should have equal length for averaging"); dataPointers.put(i, arrays[i].data().addressPointer()); diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/ops/NativeOpExecutioner.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/ops/NativeOpExecutioner.java index e79c21feb..663eb862e 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/ops/NativeOpExecutioner.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/src/main/java/org/nd4j/linalg/cpu/nativecpu/ops/NativeOpExecutioner.java @@ -303,11 +303,11 @@ public class NativeOpExecutioner extends DefaultOpExecutioner { } } else { //Every X TAD vs. entirety of Y - val xTADSize = op.x().lengthLong() / op.x().tensorsAlongDimension(dimension); + val xTADSize = op.x().length() / op.x().tensorsAlongDimension(dimension); if (xTADSize != op.y().length()) { throw new ND4JIllegalStateException("Size of TADs along dimension don't match for pairwise execution:" + - " (x TAD size = " + xTADSize + ", y size = " + op.y().lengthLong()); + " (x TAD size = " + xTADSize + ", y size = " + op.y().length()); } } } @@ -329,7 +329,7 @@ public class NativeOpExecutioner extends DefaultOpExecutioner { long xT = op.x().tensorsAlongDimension(dimension); long yT = op.y().tensorsAlongDimension(dimension); - if (op.z().lengthLong() != xT * yT) + if (op.z().length() != xT * yT) throw new ND4JIllegalStateException("Shape of target array for reduction [" + Arrays.toString(op.z().shape()) + "] doesn't match expected [" + (xT * yT) + "]"); } @@ -358,7 +358,7 @@ public class NativeOpExecutioner extends DefaultOpExecutioner { // we're going to check, if that's TAD vs TAD comparison or TAD vs full array. if later - we're going slightly different route boolean tvf = false; if (op.y() != null) { - if (op.x().tensorAlongDimension(0, dimension).lengthLong() == op.y().lengthLong()) { + if (op.x().tensorAlongDimension(0, dimension).length() == op.y().length()) { tvf = true; } } @@ -366,10 +366,10 @@ public class NativeOpExecutioner extends DefaultOpExecutioner { if (op.isComplexAccumulation()) { yTadBuffers = tadManager.getTADOnlyShapeInfo(op.y(), dimension); - if (op.x().tensorAlongDimension(0, dimension).lengthLong() != op.y().tensorAlongDimension(0, dimension).lengthLong()) + if (op.x().tensorAlongDimension(0, dimension).length() != op.y().tensorAlongDimension(0, dimension).length()) throw new ND4JIllegalStateException("Impossible to issue AllDistances operation: TAD lengths mismatch along given dimension: " + - "x TAD length = " + op.x().tensorAlongDimension(0, dimension).lengthLong() + ", y TAD length " + - op.y().tensorAlongDimension(0, dimension).lengthLong()); + "x TAD length = " + op.x().tensorAlongDimension(0, dimension).length() + ", y TAD length " + + op.y().tensorAlongDimension(0, dimension).length()); } /** @@ -659,7 +659,7 @@ public class NativeOpExecutioner extends DefaultOpExecutioner { //validateDataType(Nd4j.dataType(), op); - if (op.x().lengthLong() != op.z().lengthLong()) + if (op.x().length() != op.z().length()) throw new ND4JIllegalStateException("op.X length should be equal to op.Z length: " + "x.length()=" + op.x().length() + ", z.length()=" + op.z().length() + " - x shape info = [" + Arrays.toString(op.x().shapeInfoDataBuffer().asInt()) + "], z shape info = [" @@ -1449,8 +1449,8 @@ public class NativeOpExecutioner extends DefaultOpExecutioner { long originalLength = buffer.getInt(1); float threshold = buffer.getInt(2); - if (target.lengthLong() != originalLength) - throw new ND4JIllegalStateException("originalLength ["+ originalLength+"] stored in encoded array doesn't match target length ["+ target.lengthLong()+"]"); + if (target.length() != originalLength) + throw new ND4JIllegalStateException("originalLength ["+ originalLength+"] stored in encoded array doesn't match target length ["+ target.length()+"]"); DataTypeEx typeDst = AbstractCompressor.getBufferTypeEx(target.data()); @@ -1465,7 +1465,7 @@ public class NativeOpExecutioner extends DefaultOpExecutioner { @Override public long bitmapEncode(INDArray indArray, INDArray target, double threshold) { - long length = indArray.lengthLong(); + long length = indArray.length(); long tLen = target.data().length(); if (tLen != (length / 16 + 5)) diff --git a/nd4j/nd4j-backends/nd4j-tests/src/test/java/org/nd4j/linalg/Nd4jTestsC.java b/nd4j/nd4j-backends/nd4j-tests/src/test/java/org/nd4j/linalg/Nd4jTestsC.java index 22b911468..8f0c4de35 100644 --- a/nd4j/nd4j-backends/nd4j-tests/src/test/java/org/nd4j/linalg/Nd4jTestsC.java +++ b/nd4j/nd4j-backends/nd4j-tests/src/test/java/org/nd4j/linalg/Nd4jTestsC.java @@ -5155,7 +5155,7 @@ public class Nd4jTestsC extends BaseNd4jTest { INDArray res = x.entropy(1); - assertEquals(10, res.lengthLong()); + assertEquals(10, res.length()); for (int t = 0; t < x.rows(); t++) { double exp = MathUtils.entropy(x.getRow(t).dup().data().asDouble()); diff --git a/nd4j/nd4j-backends/nd4j-tests/src/test/java/org/nd4j/linalg/ShufflesTests.java b/nd4j/nd4j-backends/nd4j-tests/src/test/java/org/nd4j/linalg/ShufflesTests.java index 23c0ae134..f88e78408 100644 --- a/nd4j/nd4j-backends/nd4j-tests/src/test/java/org/nd4j/linalg/ShufflesTests.java +++ b/nd4j/nd4j-backends/nd4j-tests/src/test/java/org/nd4j/linalg/ShufflesTests.java @@ -415,7 +415,7 @@ public class ShufflesTests extends BaseNd4jTest { for (int x = 0; x < newData.rows(); x++) { INDArray row = newData.getRow(x); - for (int y = 0; y < row.lengthLong(); y++) { + for (int y = 0; y < row.length(); y++) { if (Math.abs(row.getFloat(y) - newMap[x]) > Nd4j.EPS_THRESHOLD) { System.out.print("Different data in a row"); return false; @@ -442,7 +442,7 @@ public class ShufflesTests extends BaseNd4jTest { for (int x = 0; x < newData.rows(); x++) { INDArray column = newData.getColumn(x); double val = column.getDouble(0); - for (int y = 0; y < column.lengthLong(); y++) { + for (int y = 0; y < column.length(); y++) { if (Math.abs(column.getFloat(y) - val) > Nd4j.EPS_THRESHOLD) { System.out.print("Different data in a column: " + column.getFloat(y)); return false; diff --git a/nd4j/nd4j-backends/nd4j-tests/src/test/java/org/nd4j/linalg/compression/CompressionTests.java b/nd4j/nd4j-backends/nd4j-tests/src/test/java/org/nd4j/linalg/compression/CompressionTests.java index 69ac8eacc..ec78c53bd 100644 --- a/nd4j/nd4j-backends/nd4j-tests/src/test/java/org/nd4j/linalg/compression/CompressionTests.java +++ b/nd4j/nd4j-backends/nd4j-tests/src/test/java/org/nd4j/linalg/compression/CompressionTests.java @@ -168,7 +168,7 @@ public class CompressionTests extends BaseNd4jTest { INDArray decompressed = Nd4j.create(1, initial.length()); Nd4j.getExecutioner().thresholdDecode(compressed, decompressed); - log.info("Decompressed length: {}", decompressed.lengthLong()); + log.info("Decompressed length: {}", decompressed.length()); assertEquals(exp_d, decompressed); }