aboutsummaryrefslogtreecommitdiff
path: root/nerv/lib/matrix/generic/cumatrix.c
diff options
context:
space:
mode:
authorQi Liu <liuq901@163.com>2016-06-21 15:42:22 +0800
committerQi Liu <liuq901@163.com>2016-06-21 15:42:22 +0800
commit3856e63dab1b28aaec4133b6b0ec2a44ebf8cf46 (patch)
treeed20795f95854c72137bd7537a4097582e997fb3 /nerv/lib/matrix/generic/cumatrix.c
parentfa6700c2caf2a857b95eb62a8dddbf2cfbad2145 (diff)
complete bp of softmax layer
Diffstat (limited to 'nerv/lib/matrix/generic/cumatrix.c')
-rw-r--r--nerv/lib/matrix/generic/cumatrix.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/nerv/lib/matrix/generic/cumatrix.c b/nerv/lib/matrix/generic/cumatrix.c
index 432222a..52cfe50 100644
--- a/nerv/lib/matrix/generic/cumatrix.c
+++ b/nerv/lib/matrix/generic/cumatrix.c
@@ -244,6 +244,18 @@ void nerv_matrix_(add_row)(Matrix *b, const Matrix *a, double beta,
NERV_SET_STATUS(status, NERV_NORMAL, 0);
}
+void nerv_matrix_(add_col)(Matrix *b, const Matrix *a, double beta,
+ CuContext *context, Status *status) {
+ if (a->nrow != b->nrow)
+ NERV_EXIT_STATUS(status, MAT_MISMATCH_DIM, 0);
+ if (a->ncol != 1)
+ NERV_EXIT_STATUS(status, MAT_COL_VECTOR_EXP, 0);
+ PROFILE_START
+ cudak_(cuda_add_col)(a, b, beta);
+ PROFILE_STOP
+ NERV_SET_STATUS(status, NERV_NORMAL, 0);
+}
+
void nerv_matrix_(fill)(Matrix *self, double val,
CuContext *context, Status *status) {
PROFILE_START