30.07.2015 Views

Actas JP2011 - Universidad de La Laguna

Actas JP2011 - Universidad de La Laguna

Actas JP2011 - Universidad de La Laguna

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Actas</strong> XXII Jornadas <strong>de</strong> Paralelismo (<strong>JP2011</strong>) , <strong>La</strong> <strong>La</strong>guna, Tenerife, 7-9 septiembre 2011Métodos no lineales basados en el gradienteconjugado para GPUsH. Migallón, 1 V. Migallón 2 y J. Penadés 2Resumen— En este artículo se presentan algoritmos paralelospara resolver sistemas no lineales, diseñados para GPUs (GraphicsProccesing Unit), para lo cual se hecho uso <strong>de</strong> CUDA (ComputeUnified Device Architecture). Los algoritmos propuestos estánbasados tanto en la versión <strong>de</strong> Fletcher-Reeves <strong>de</strong>l método <strong>de</strong>l gradienteconjugado, como en precondicionadores polinomiales construidosmediante el método por bloques en dos etapas. Se analizandiversas estrategias para la paralelización <strong>de</strong> dichos algoritmos,así como diferentes formatos <strong>de</strong> almacenamiento/compresión <strong>de</strong> lasmatrices dispersas consi<strong>de</strong>radas en este trabajo. Expondremos resultadosnuméricos comparando la ejecución en plataformas paralelas<strong>de</strong> grano fino (GPU) con la ejecución en plataformas paralelasbasadas en hilos (multiprocesadores <strong>de</strong> memoria compartida o multicores).Palabras clave—GPGPU, librerías GPU, gradiente conjugado nolineal, precondicionadores paralelos, factorizaciones ILU, métodospor bloques en dos etapas.I. INTRODUCCIÓNSE consi<strong>de</strong>ra la resolución <strong>de</strong>l sistema no linealAx = Φ(x), (1)don<strong>de</strong> A ∈ R n×n es una matriz simétrica y <strong>de</strong>finida positiva,y Φ : R n → R n es una función no lineal con ciertaspropieda<strong>de</strong>s. Sea Ψ : R n → R una aplicación no lineal, ysea 〈x, y〉 = x T y el producto interno en R n . El problema<strong>de</strong> minimización consistente en encontrar x ∈ R n tal queJ(x) = min J(y), (2)y∈Rn don<strong>de</strong> J(x) = 1 2〈Ax, x〉 − Ψ(x), es equivalente a encontrarx ∈ R n tal que F (x) = Ax − Φ(x) = 0, don<strong>de</strong>Φ(x) = Ψ ′ (x).Un método efectivo para resolver el sistema (1), teniendoen cuenta la conexión con el problema <strong>de</strong> minimización(2), es la versión <strong>de</strong> Fletcher-Reeves [1] <strong>de</strong>l método <strong>de</strong>lgradiente conjugado no lineal (NLCG), que se <strong>de</strong>talla acontinuación:Algoritmo 1: (GC no lineal (Fletcher-Reeves))Dado un vector inicial x (0)r (0) = Φ(x (0) ) − Ax (0)p (0) = r (0)Para i = 0, 1, . . . , hasta convergenciaα i =→ (ver a continuación)x (i+1) = x (i) + α i p (i)r (i+1) = r (i) − Φ(x (i) ) + Φ(x (i+1) ) − α i Ap (i)Test <strong>de</strong> convergenciaβ i+1 = − 〈r(i+1) ,r (i+1) 〉〈r (i) ,r (i) 〉p (i+1) = r (i+1) − β i+1 p (i)1 Dpto. <strong>de</strong> Física y Arquitectura <strong>de</strong> Computadores, <strong>Universidad</strong>Miguel Hernán<strong>de</strong>z, e-mail: hmigallon@umh.es.2 Dpto. <strong>de</strong> Ciencia <strong>de</strong> la Computación e InteligenciaArtificial, <strong>Universidad</strong> <strong>de</strong> Alicante, e-mail:violeta,jpena<strong>de</strong>s@dccia.ua.es.En el Algoritmo 1 la elección <strong>de</strong> α i <strong>de</strong>be minimizar lafunción asociada J en la dirección p (i) . Esto es equivalentea resolver el problema unidimensional <strong>de</strong> punto cerodJ(x (i) +α ip (i) )dα i12= 0. De la <strong>de</strong>finición <strong>de</strong> J, se <strong>de</strong>duce queJ(x (i) + αp (i) ) =〈A(x (i) + α ip (i) ), x (i) + α ip (i)〉 − Ψ(x (i) + α ip (i) ).Por tanto, diferenciando respecto a α i se obtienedJ(x (i) + α ip (i) )dα i=α i〈Ap (i) , p (i)〉 〈− r (i) , p (i)〉 〈+ Φ(x (i) ) − Φ(x (i) + α ip (i) ), p (i)〉 ,don<strong>de</strong> r (i) = Φ(x (i) ) − Ax (i) es el residuo no lineal.Por otra parte, pue<strong>de</strong> verse que la segunda <strong>de</strong>rivada respectoa α i esd 2 J(x (i) + α ip (i) )dα 2 =i〈Ap (i) , p (i)〉 〈− Φ ′ (x (i) + α ip (i) )p (i) , p (i)〉 .Por lo tanto, si se usa el método <strong>de</strong> Newton para resolverel problema <strong>de</strong> punto cero para α i , se obtiene α (k+1)α (k)i− δ (k) , don<strong>de</strong> (siendo γ = (x (i) + α (k)i p (i) ))δ (k) =dJ(x(i) + α (k)i p (i) )/dα id 2 J(x (i) + α (k)i p (i) )/dα 2 i=i =〈α (k)i Ap (i) , p (i)〉 〈− r (i) , p (i)〉 +〈Φ(x (i) ) − Φ(γ), p (i)〉〈Ap (i) , p (i)〉 − 〈 Φ ′ (γ)p (i) , p (i)〉 .Hay que remarcar que para obtener δ (k) , los productosinternos 〈Ap (i) , p (i) 〉 y 〈r (i) , p (i) 〉 pue<strong>de</strong>n computarseúnicamente en la iteración inicial <strong>de</strong>l método <strong>de</strong> Newton.A<strong>de</strong>más Ap (i) ha sido calculado en la iteración correspondiente<strong>de</strong>l método <strong>de</strong>l gradiente conjugado.El objetivo <strong>de</strong>l precondicionamiento es mejorar elnúmero <strong>de</strong> condición (cond) <strong>de</strong> la matriz <strong>de</strong>l sistema aresolver. Supongamos que M es una matriz simétricay <strong>de</strong>finida positiva que aproxima a A, y fácilmente invertible.Entonces, po<strong>de</strong>mos resolver indirectamente elsistema Ax = Φ(x) resolviendo el sistema M −1 Ax =M −1 Φ(x). Si cond(M −1 A)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!