2017-08-26 173 views
3

對於一般和對稱情況(MKL實現的鏈接),存在帶狀矩陣向量乘積的BLAS Level 2中的例程。BLAS 2級頻帶矩陣 - 向量乘積多個向量

cblas_?gbmv

cblas_?sbmv

有沒有辦法使用多個向量(不使用for循環外),最大限度地在這種情況下的表現?

+0

當你有一個密集的完整矩陣(多個向量)時,沒有辦法利用其中一個的帶狀結構來獲得速度。 – percusse

+0

@percusse我不認爲你的陳述成立。也許你誤解了我的問題。我想要多個右側向量,即y = A * x,其中A是稀疏帶狀的,x是N-D。你可以利用x中的每個向量,因爲它們的結果是獨立的(y的每一列) – fcdimitr

+0

是的,這就是爲什麼BLAS3沒有它們,因爲它只是遍歷y的每一列,因此BLAS2函數。 BLAS3使用塊而不是RHS的列。 – percusse

回答

1

我認爲Spike library應該有這樣一個例程的對稱情況。儘管如此,我恐怕不能再有任何幫助,因爲我從來沒有用過它。

Spike(用於系統求解)的算法和實現概述於[Polizzi & Sameh, Comp. Fluids (36), 2007]

+0

我只是因爲你提供了一個有效的替代方案,纔將你的答案標記爲Picaud Vincent的正確答案。但是,我確實認爲這是BLAS實現中應該提供的。 – fcdimitr