我们使用进行矩阵计算。其中一个特性是使用子矩阵视图;引用内存中相同位置的对象。
示例:
LaGenMatDouble W = LaGenMatDouble::rand(3,4);
LaGenMatDouble A = W(LaIndex(0,2), LaIndex(1,3));
LaGenMatDouble b = W(LaIndex(0,2), LaIndex(0,0));
A和b现在是W的子矩阵。
我怎样才能使b a LaVectorDouble能够用它来执行一些计算?
在应用程序启动时得到了这个核心转储。
Core was generated by `/opt/SURGE/bin/SIM.run 0 0 1'.
Program terminated with signal 7, Bus error.
#0 0xf79d7ddb in __gxx_personality_v0 () from /opt/SURGE/lib/libTsdThreadedInput_ix86-linux-sles9-mt.so
(gdb) bt
#0 0xf79d7ddb in __gxx_personality_v0 () from /opt/SURGE/lib/li
我有一个迭代计算,它涉及到每次迭代中的傅里叶变换。
在高层次上,它看起来如下:
// executed in host , calling functions that run on the device
B = image
L = 100
while(L--) {
A = FFT_2D(B)
A = SOME_PER_PIXEL_CALCULATION(A)
B = INVERSE_FFT_2D(A)
B = SOME_PER_PIXEL_CALCULATION(B)
}
我正在使用“袖口”库进行转换。
现在的问题是我总是在处理全局记忆,
基本上,如果有办法用