2
這與我的文章here有些相關。高效地從矢量拉任意切片
我想在Rust中實現矩陣乘法,我認爲爲了有效地做到這一點,我需要能夠從矩陣中獲取列數據。這很難,因爲我以矩陣格式存儲矩陣。
我正在使用展開的網點產品實現,詳情請參閱上述link以及我以前的question。我希望能夠從一個矩陣和另一個矩陣的列中提供此方法。
如何從我的矩陣中有效選擇列數據?更一般地說:我如何選擇任意數據模式(如R,matlab,numpy等)?
我已經試過:
- 使用跨入視圖和收集迭代器 - 這似乎過於緩慢。
- 使用標準的循環迭代,但這似乎不是由鏽編譯器矢量化。
我覺得你錯過了上下文。例如,爲什麼不能直接使用跨步視圖?你可以先調整整個(sub? - )矩陣,並重復這個工作嗎?什麼不是矢量化的? - 也許我們可以解決這個問題。 – Veedrac
即使識別出一個循環的循環,LLVM也不一定會自動化一個循環,請參閱http://llvm.org/docs/Vectorizers.html#scatter-gather – bluss