2つの行列の要素ごとの合計である、アプリケーションのボトルネックを解決しようとしています。
NumPyとCythonを使用しています。cdef
行列属性を持つクラスがあります。Cythonはまだクラス属性のバッファー配列をサポートしていないので、これに従い、data
マトリックスの属性へのポインターを使用しようとしました。結果が示すように、私は何か間違ったことをしていると確信しています。
私がやろうとしたことは、多かれ少なかれ次のとおりです。
cdef class the_class:
cdef np.ndarray the_matrix
cdef float_t* the_matrix_p
def __init__(self):
the_matrix_p = <float_t*> self.the_matrix.data
cpdef the_function(self):
other_matrix = self.get_other_matrix()
the_matrix_p += other_matrix.data