Abstract:
|
L’objectiu d’aquest treball és resoldre una problemàtica a l’hora de solucionar
computacionalment sistemes d’equacions tan grans (Matrius de fins a 64Gb
d’espai en el disc) que no caben a la memòria RAM del ordinador. El codi creat té
com a finalitat evitar errors del tipus “out of memory”-que l’ordinador no pot
manipular una matriu tan gran perquè no hi cap a la memòria que té disponible, o
errors del tipus “maximum size allowed exeded”-limitacions en el disseny del programa que
manipula les matrius-.
Per dur a terme un projecte d’aquestes característiques s’ha de recórrer a l’ utilització
d’algoritmes anomenats out-of-core. Aquesta tècnica permet fer operacions a matrius sense
tenir-les carregades en memòria.
Per exemple, intentar fer la descomposició qr() amb Matlab per una matriu de 4Gb dóna
l’error de manca de memòria per crear-la, ja que no hi cap a la memòria RAM de l’ordinador
en qüestió. En canvi, amb el nostre programa, es pot franquejar aquesta limitació.
L’abast d’aquest treball és principalment crear una rutina out-of-core que s’aplica al
terme A i B del sistema d’equacions següent per simplificar significativament l’aïllament outof-core
posterior de la solució X.
[ 𝐴� ] [ 𝑋� ] = [ 𝐵� ] A matriu coneguda m·n
B vector conegut m
X vector incògnita n.
La rutina prèvia al càlcul de la solució que s’ha adaptat per que sigui out-of-core és la
descomposició QR per reflexió d’hiperplans de Householder. D’altre banda, també s’ha
adaptat l’operació d’aïllament de la solució per funcionar out-of-core. S’ha programat en
llenguatge MATLAB ja que és un llenguatge molt enfocat en la optimització de càlculs
matricials, el que ens permetrà fer uns tipus de càlculs que trigarien un temps molt més
significatiu si fos programat en un altre llenguatge. Tot el codi desenvolupat en aquest
projecte es pot utilitzar també en Octave.
Parlant en termes corrents, la tàctica out-of-core és utilitzar el disc dur per substituir
la memòria RAM. Això permet que un ordinador normal pugui fer una tasca molt demandant
en recursos, altrament reservada a sistemes d’ordinadors, o a parts de superordinadors.
L’únic contrapunt és que, per se, aquest mètode triga un temps significatiu |