En effet, j'ai fait une erreur sur la taille de mes vecteurs.
Reprenons, un vecteur de complexes de taille 1x2^22 représente une taille mémoire de 2^22x8x2/(1024^2)=64Mo. Mes deux autres "gros" vecteurs sont de mm taille mais réels au format double (32Mo). Soit un workspace initial de taille 128 Mo environ.
Il ne semble pas que mon programme stoppe à cause de la taille initiale du workspace car il l'aurait fait dès le début.
De plus une simple fft ne l'arrête pas
En revanche il stoppe et affiche l'erreur mémoire sur une ligne de calcul requérant plusieurs calculs de fft et affectations sur une mm ligne de calculs :
x = k1*(1 + a1).*fft( a2.*(k2*abs(a2).^2) + k3*a2.*ifft(a3.*fft(abs(a2).^2 )));
a1,a2 et a3 sont de taille 64Mo et k1,2,3 sont des constantes.
Pensez vous qu'il faille découper la ligne en plusieurs lignes pour contourner le problème? Je vais essayer du moins.
Savez vous si la fft alloue de la mémoire supplémentaire pour son calcul, et dans quelles proportions?
Merci de votre aide.
Partager