Mam wektor kolumnowy A, który ma 10 elementów. Mam macierz B, która wynosi 10 na 10. Pamięć dla B jest kolumną główną. Chciałbym, aby zastąpić pierwsze wiersz w B z kolumna wektora A.Czy istnieje standardowa, skrócona wersja memcpy?
Oczywiście, mogę zrobić:
for (int i=0; i < 10; i++)
{
B[0 + 10 * i] = A[i];
}
gdzie zostawiłem zero w 0 + 10 * i
podkreślić, że korzysta z kolumny B -główne przechowywanie (zero to indeks wiersza).
Po kilku przesłuchaniach na dzisiejszej ziemi CUDA, pomyślałem, że może istnieć funkcja procesora do wykonania skomplikowanego memcpy ?? Wydaje mi się, że na niskim poziomie wydajność zależałaby od istnienia instrukcji z obciążeniem/przechowywaniem, której nie pamiętam w zestawie x86.
Może powinieneś rozważyć zmianę strategii przechowywania dla tej macierzy lub zapisać jej transpozycję. –