/** * tpsv solves a system of linear equations whose coefficients are in a triangular packed matrix. * * @param order * @param Uplo * @param TransA * @param Diag * @param Ap * @param X */ @Override public void tpsv(char order, char Uplo, char TransA, char Diag, INDArray Ap, INDArray X) { if (Nd4j.getExecutioner().getProfilingMode() == OpExecutioner.ProfilingMode.ALL) OpProfiler.getInstance().processBlasCall(false, Ap, X); // FIXME: int cast if (X.data().dataType() == DataBuffer.Type.DOUBLE) { DefaultOpExecutioner.validateDataType(DataBuffer.Type.DOUBLE, X, Ap); dtpsv(order, Uplo, TransA, Diag, (int) X.length(), Ap, X, X.majorStride()); } else { DefaultOpExecutioner.validateDataType(DataBuffer.Type.FLOAT, Ap, X); stpsv(order, Uplo, TransA, Diag, (int) X.length(), Ap, X, X.majorStride()); } OpExecutionerUtil.checkForAny(X); }
public static void checkForAny(INDArray z) { checkForNaN(z); checkForInf(z); }
public static void checkForNaN(CustomOp op) { if (Nd4j.getExecutioner().getProfilingMode() != OpExecutioner.ProfilingMode.NAN_PANIC && Nd4j.getExecutioner().getProfilingMode() != OpExecutioner.ProfilingMode.ANY_PANIC) return; for (val input: op.inputArguments()) checkForNaN(input); for (val output: op.outputArguments()) checkForNaN(output); }
public static void checkForInf(CustomOp op) { if (Nd4j.getExecutioner().getProfilingMode() != OpExecutioner.ProfilingMode.INF_PANIC && Nd4j.getExecutioner().getProfilingMode() != OpExecutioner.ProfilingMode.ANY_PANIC) return; for (val input: op.inputArguments()) checkForInf(input); for (val output: op.outputArguments()) checkForInf(output); }
public static void checkForNaN(Op op) { if (Nd4j.getExecutioner().getProfilingMode() != OpExecutioner.ProfilingMode.NAN_PANIC && Nd4j.getExecutioner().getProfilingMode() != OpExecutioner.ProfilingMode.ANY_PANIC) return; if (op.z() != null && !(op instanceof MatchCondition)) { checkForNaN(op.z()); } }
public static void checkForInf(Op op) { if (Nd4j.getExecutioner().getProfilingMode() != OpExecutioner.ProfilingMode.INF_PANIC && Nd4j.getExecutioner().getProfilingMode() != OpExecutioner.ProfilingMode.ANY_PANIC) return; if (op.z() != null && !(op instanceof MatchCondition)) { checkForInf(op.z()); } }
/** * spr performs a rank-1 update of an n-by-n packed symmetric matrix a: * a := alpha*x*x' + a. * * @param order * @param Uplo * @param alpha * @param X * @param Ap */ @Override public void spr(char order, char Uplo, double alpha, INDArray X, INDArray Ap) { if (Nd4j.getExecutioner().getProfilingMode() == OpExecutioner.ProfilingMode.ALL) OpProfiler.getInstance().processBlasCall(false, Ap, X); // FIXME: int cast if (X.data().dataType() == DataBuffer.Type.DOUBLE) { DefaultOpExecutioner.validateDataType(DataBuffer.Type.DOUBLE, X); dspr(order, Uplo, (int) X.length(), alpha, X, X.majorStride(), Ap); } else { DefaultOpExecutioner.validateDataType(DataBuffer.Type.FLOAT, X); sspr(order, Uplo, (int) X.length(), (float) alpha, X, X.majorStride(), Ap); } OpExecutionerUtil.checkForAny(Ap); }
public void profilingHookOut(CustomOp op, long timeStart) { switch (profilingMode) { case ALL: OpProfiler.getInstance().processStackCall(op, timeStart); OpProfiler.getInstance().timeOpCall(op, timeStart); break; case METHODS: OpProfiler.getInstance().processStackCall(op, timeStart); break; case OPERATIONS: OpProfiler.getInstance().timeOpCall(op, timeStart); break; case NAN_PANIC: OpExecutionerUtil.checkForNaN(op); break; case INF_PANIC: OpExecutionerUtil.checkForInf(op); break; case ANY_PANIC: OpExecutionerUtil.checkForNaN(op); OpExecutionerUtil.checkForInf(op); break; case DISABLED: default: break; } }
public static void checkForNaN(Op op) { if (Nd4j.getExecutioner().getProfilingMode() != OpExecutioner.ProfilingMode.NAN_PANIC && Nd4j.getExecutioner().getProfilingMode() != OpExecutioner.ProfilingMode.ANY_PANIC) return; if (op.z() != null && !(op instanceof MatchCondition)) { checkForNaN(op.z()); } }
public static void checkForInf(Op op) { if (Nd4j.getExecutioner().getProfilingMode() != OpExecutioner.ProfilingMode.INF_PANIC && Nd4j.getExecutioner().getProfilingMode() != OpExecutioner.ProfilingMode.ANY_PANIC) return; if (op.z() != null && !(op instanceof MatchCondition)) { checkForInf(op.z()); } }
/** * tpmv computes a matrix-vector product using a triangular packed matrix. * * @param order * @param Uplo * @param TransA * @param Diag * @param Ap * @param X */ @Override public void tpmv(char order, char Uplo, char TransA, char Diag, INDArray Ap, INDArray X) { if (Nd4j.getExecutioner().getProfilingMode() == OpExecutioner.ProfilingMode.ALL) OpProfiler.getInstance().processBlasCall(false, Ap, X); // FIXME: int cast if (X.data().dataType() == DataBuffer.Type.DOUBLE) { DefaultOpExecutioner.validateDataType(DataBuffer.Type.DOUBLE, X); dtpmv(order, Uplo, TransA, Diag, (int) Ap.length(), Ap, X, X.majorStride()); } else { DefaultOpExecutioner.validateDataType(DataBuffer.Type.FLOAT, X); stpmv(order, Uplo, TransA, Diag, (int) Ap.length(), Ap, X, X.majorStride()); } OpExecutionerUtil.checkForAny(X); }
public void profilingHookOut(Op op, long timeStart) { switch (profilingMode) { case ALL: OpProfiler.getInstance().processStackCall(op, timeStart); OpProfiler.getInstance().timeOpCall(op, timeStart); break; case METHODS: OpProfiler.getInstance().processStackCall(op, timeStart); break; case OPERATIONS: OpProfiler.getInstance().timeOpCall(op, timeStart); break; case NAN_PANIC: OpExecutionerUtil.checkForNaN(op); break; case INF_PANIC: OpExecutionerUtil.checkForInf(op); break; case ANY_PANIC: OpExecutionerUtil.checkForNaN(op); OpExecutionerUtil.checkForInf(op); break; case DISABLED: default: break; } }
/** * ?spr2 performs a rank-2 update of an n-by-n packed symmetric matrix a: * a := alpha*x*y' + alpha*y*x' + a. * * @param order * @param Uplo * @param alpha * @param X * @param Y * @param A */ @Override public void spr2(char order, char Uplo, double alpha, INDArray X, INDArray Y, INDArray A) { if (Nd4j.getExecutioner().getProfilingMode() == OpExecutioner.ProfilingMode.ALL) OpProfiler.getInstance().processBlasCall(false, A, X, Y); // FIXME int cast if (X.data().dataType() == DataBuffer.Type.DOUBLE) { DefaultOpExecutioner.validateDataType(DataBuffer.Type.DOUBLE, A, X, Y); dspr2(order, Uplo, (int) X.length(), alpha, X, X.majorStride(), Y, Y.majorStride(), A); } else { DefaultOpExecutioner.validateDataType(DataBuffer.Type.FLOAT, A, X, Y); sspr2(order, Uplo, (int) X.length(), (float) alpha, X, X.majorStride(), Y, Y.majorStride(), A); } OpExecutionerUtil.checkForAny(A); }
public static void checkForAny(INDArray z) { checkForNaN(z); checkForInf(z); }
/** * @param order * @param Uplo * @param alpha * @param Ap * @param X * @param beta * @param Y */ @Override public void spmv(char order, char Uplo, double alpha, INDArray Ap, INDArray X, double beta, INDArray Y) { if (Nd4j.getExecutioner().getProfilingMode() == OpExecutioner.ProfilingMode.ALL) OpProfiler.getInstance().processBlasCall(false, Ap, X, Y); // FIXME: int cast if (Ap.data().dataType() == DataBuffer.Type.DOUBLE) { DefaultOpExecutioner.validateDataType(DataBuffer.Type.DOUBLE, X, Y); dspmv(order, Uplo, (int) X.length(), alpha, Ap, X, Ap.majorStride(), beta, Y, Y.majorStride()); } else { DefaultOpExecutioner.validateDataType(DataBuffer.Type.FLOAT, X, Y); sspmv(order, Uplo, (int) X.length(), (float) alpha, Ap, X, Ap.majorStride(), (float) beta, Y, Y.majorStride()); } OpExecutionerUtil.checkForAny(Y); }
public void profilingHookOut(Op op, long timeStart) { switch (profilingMode) { case ALL: OpProfiler.getInstance().processStackCall(op, timeStart); OpProfiler.getInstance().timeOpCall(op, timeStart); break; case METHODS: OpProfiler.getInstance().processStackCall(op, timeStart); break; case OPERATIONS: OpProfiler.getInstance().timeOpCall(op, timeStart); break; case NAN_PANIC: OpExecutionerUtil.checkForNaN(op); break; case INF_PANIC: OpExecutionerUtil.checkForInf(op); break; case ANY_PANIC: OpExecutionerUtil.checkForNaN(op); OpExecutionerUtil.checkForInf(op); break; case DISABLED: default: break; } }
/** * trmv computes a matrix-vector product using a triangular matrix. * * @param order * @param Uplo * @param TransA * @param Diag * @param A * @param X */ @Override public void trmv(char order, char Uplo, char TransA, char Diag, INDArray A, INDArray X) { if (Nd4j.getExecutioner().getProfilingMode() == OpExecutioner.ProfilingMode.ALL) OpProfiler.getInstance().processBlasCall(false, A, X); // FIXME: int cast if (A.data().dataType() == DataBuffer.Type.DOUBLE) { DefaultOpExecutioner.validateDataType(DataBuffer.Type.DOUBLE, A, X); dtrmv(order, Uplo, TransA, Diag, (int) X.length(), A, (int) A.size(0), X, X.majorStride()); } else { DefaultOpExecutioner.validateDataType(DataBuffer.Type.FLOAT, A, X); strmv(order, Uplo, TransA, Diag, (int) X.length(), A, (int) A.size(0), X, X.majorStride()); } OpExecutionerUtil.checkForAny(X); }
/** * trsv solves a system of linear equations whose coefficients are in a triangular matrix. * * @param order * @param Uplo * @param TransA * @param Diag * @param A * @param X */ @Override public void trsv(char order, char Uplo, char TransA, char Diag, INDArray A, INDArray X) { if (Nd4j.getExecutioner().getProfilingMode() == OpExecutioner.ProfilingMode.ALL) OpProfiler.getInstance().processBlasCall(false, A, X); // FIXME: int cast if (X.data().dataType() == DataBuffer.Type.DOUBLE) { DefaultOpExecutioner.validateDataType(DataBuffer.Type.DOUBLE, A, X); dtrsv(order, Uplo, TransA, Diag, (int) A.length(), A, (int) A.size(0), X, X.majorStride()); } else { DefaultOpExecutioner.validateDataType(DataBuffer.Type.FLOAT, A, X); strsv(order, Uplo, TransA, Diag, (int) A.length(), A, (int) A.size(0), X, X.majorStride()); } OpExecutionerUtil.checkForAny(X); }
/** * syr performs a rank-1 update of an n-by-n symmetric matrix a: * a := alpha*x*x' + a. * * @param order * @param Uplo * @param N * @param alpha * @param X * @param A */ @Override public void syr(char order, char Uplo, int N, double alpha, INDArray X, INDArray A) { if (Nd4j.getExecutioner().getProfilingMode() == OpExecutioner.ProfilingMode.ALL) OpProfiler.getInstance().processBlasCall(false, A, X); // FIXME: int cast if (X.data().dataType() == DataBuffer.Type.DOUBLE) { DefaultOpExecutioner.validateDataType(DataBuffer.Type.DOUBLE, A, X); dsyr(order, Uplo, (int) X.length(), alpha, X, X.majorStride(), A, (int) A.size(0)); } else { DefaultOpExecutioner.validateDataType(DataBuffer.Type.FLOAT, A, X); ssyr(order, Uplo, (int) X.length(), (float) alpha, X, X.majorStride(), A, (int) A.size(0)); } OpExecutionerUtil.checkForAny(A); }
/** * @param order * @param Uplo * @param alpha * @param X * @param Y * @param A */ @Override public void syr2(char order, char Uplo, double alpha, INDArray X, INDArray Y, INDArray A) { if (Nd4j.getExecutioner().getProfilingMode() == OpExecutioner.ProfilingMode.ALL) OpProfiler.getInstance().processBlasCall(false, A, X, Y); // FIXME: int cast if (X.data().dataType() == DataBuffer.Type.DOUBLE) { DefaultOpExecutioner.validateDataType(DataBuffer.Type.DOUBLE, A, X, Y); dsyr2(order, Uplo, (int) X.length(), alpha, X, X.majorStride(), Y, Y.majorStride(), A, (int) A.size(0)); } else { DefaultOpExecutioner.validateDataType(DataBuffer.Type.FLOAT, A, X, Y); ssyr2(order, Uplo, (int) X.length(), (float) alpha, X, X.majorStride(), Y, Y.majorStride(), A, (int) A.size(0)); } OpExecutionerUtil.checkForAny(A); }