Trójwymiarowa macierz , AVX(256 bit)

0

Jak sprawdzić ile miejsca w pamięci zajmie trójwymiarowa macierz, która przechowuje elementy typu double? Rozmiar macierzy powinien być dostosowany do możliwości wykorzystanie instrukcji AVX.

0

sizeof(double) * liczba elementow nie wystarczy?

0

No właśnie w tym problem, ze inny sposób musi być.

0

Przepatrzenie po internecie zwraca tylko wyniki z sizeof. Naprawdę +10 dla Ciebie do komplikowania sobie zycia:)

0
badumts napisał(a):

No właśnie w tym problem, ze inny sposób musi być.

<a href = >No to życzę Państwu przyjemnego lotu.</a> Każdy inny sposób niż ten podany przez @lion137 jest nieprzenośnym "haksem" albo grubym workaroundem. Ja wiem, że nie wiesz o co pytasz i na pewno nie potrzebujesz dalszej odpowiedzi, ale jeżeli jednak chcesz spróbować. to masz jeden sposób ode mnie.

Na linuxie jeśli poprosisz system o zaalokowanie dużej porcji pamięci system operacyjny przydzieli Ci dodatkową porcję pamięci na stercie, innymi słowy rozmiar Twojego procesu urośnie. Dane o procesie pobierasz za pomocą getrusage. Tylko pamiętaj, że to musi być spora ilośc pamięci, bo na starcie linux daje Twojemu procesowi trochę sterty do dyspozicji, także jeśli rozmiar będzie za mały to rozmiar Twojego procesu się nie zmieni.

UWAGA!!!
Mam nadzieję, że wyraziłem się dość jasno by powyższego sposobu nie wykorzystywać w niczym poważnym.

0
lion137 napisał(a):

Przepatrzenie po internecie zwraca tylko wyniki z sizeof. Naprawdę +10 dla Ciebie do komplikowania sobie zycia:)

Powiem jedno : STUDIA.

0
lion137 napisał(a):

sizeof(double) * liczba elementow nie wystarczy?

Może nie wystarczyć, bo skoro potrzebne są instrukcje AVX to tam jakiś alignment jeszcze jest potrzebny.

1 użytkowników online, w tym zalogowanych: 0, gości: 1