[crf] using 32 bytes for posix_memalign to align blocks of 4 doubles for remez algorithm to fix test which uses an odd-sized context
This commit is contained in:
@@ -41,7 +41,7 @@ crf_context_t *crf_context_new(int flag, size_t L, size_t T) {
|
||||
|
||||
if (context->flag & CRF_CONTEXT_MARGINALS) {
|
||||
#if defined(INTEL_SSE) || defined(ARM_NEON)
|
||||
context->exp_state = double_matrix_new_aligned(T, L, 16);
|
||||
context->exp_state = double_matrix_new_aligned(T, L, 32);
|
||||
if (context->exp_state == NULL) goto exit_context_created;
|
||||
double_matrix_zero(context->exp_state);
|
||||
#else
|
||||
@@ -53,7 +53,7 @@ crf_context_t *crf_context_new(int flag, size_t L, size_t T) {
|
||||
if (context->mexp_state == NULL) goto exit_context_created;
|
||||
|
||||
#if defined(INTEL_SSE) || defined(ARM_NEON)
|
||||
context->exp_state_trans = double_matrix_new_aligned(T, L * L, 16);
|
||||
context->exp_state_trans = double_matrix_new_aligned(T, L * L, 32);
|
||||
if (context->exp_state_trans == NULL) goto exit_context_created;
|
||||
double_matrix_zero(context->exp_state_trans);
|
||||
#else
|
||||
@@ -65,7 +65,7 @@ crf_context_t *crf_context_new(int flag, size_t L, size_t T) {
|
||||
if (context->mexp_state_trans == NULL) goto exit_context_created;
|
||||
|
||||
#if defined(INTEL_SSE) || defined(ARM_NEON)
|
||||
context->exp_trans = double_matrix_new_aligned(L, L, 16);
|
||||
context->exp_trans = double_matrix_new_aligned(L, L, 32);
|
||||
if (context->exp_trans == NULL) goto exit_context_created;
|
||||
double_matrix_zero(context->exp_trans);
|
||||
#else
|
||||
@@ -131,13 +131,13 @@ bool crf_context_set_num_items(crf_context_t *self, size_t T) {
|
||||
if (self->flag & CRF_CONTEXT_MARGINALS &&
|
||||
(
|
||||
#if defined(INTEL_SSE) || defined(ARM_NEON)
|
||||
!double_matrix_resize_aligned(self->exp_state, T, L, 16) ||
|
||||
!double_matrix_resize_aligned(self->exp_state, T, L, 32) ||
|
||||
#else
|
||||
!double_matrix_resize(self->exp_state, T, L) ||
|
||||
#endif
|
||||
!double_matrix_resize(self->mexp_state, T, L) ||
|
||||
#if defined(INTEL_SSE) || defined(ARM_NEON)
|
||||
!double_matrix_resize_aligned(self->exp_state_trans, T, L * L, 16) ||
|
||||
!double_matrix_resize_aligned(self->exp_state_trans, T, L * L, 32) ||
|
||||
#else
|
||||
!double_matrix_resize(self->exp_state_trans, T, L * L) ||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user