Sunteți pe pagina 1din 47

UNIVERSIDAD DE EXTREMADURA Escuela Politcnica

MSTER UNIVERSITARIO EN INICIACIN A LA INVESTIGACIN EN TECNOLOGA (MUIT)


ESPECIALIDAD EN: TECNOLOGAS INFORMTICAS Y DE LAS COMUNICACIONES (TINC)

Trabajo Fin de Mster MUIT-TINC

Aceleracin manycore de procedimientos de agregacin en la ecuacin integral de campo elctrico

Manuel Amaya Bentez Cceres, octubre 2010

UNIVERSIDAD DE EXTREMADURA Escuela Politcnica


MSTER UNIVERSITARIO EN INICIACIN A LA INVESTIGACIN EN TECNOLOGA (MUIT)

Trabajo Fin de Mster MUIT-TINC Aceleracin manycore de procedimientos de agregacin en la ecuacin integral de campo elctrico
Autor: Manuel Amaya Bentez Fdo: Director: Luis Landesa Porras Fdo:

Tribunal Calificador
Presidente: Jos Manuel Taboada Varela Fdo: Secretario: Jess Rubio Ruiz Fdo.: Vocal: Valentn de la Rubia Hernndez Fdo.: CALIFICACIN: FECHA:

ndice general
ndice de tablas ........................................................................................................ 7 ndice de figuras ...................................................................................................... 9 Resumen ................................................................................................................ 11 Abstract ................................................................................................................. 13 Acrnimos ............................................................................................................. 15 Nomenclaturas....................................................................................................... 17 1. Introduccin .................................................................................................. 19 1.1. 1.2. 1.3. 1.4. 2. Motivacin.............................................................................................. 19 Antecedentes y estado actual. ................................................................. 19 Aportacin de este trabajo. ..................................................................... 20 Estructura de esta memoria. ................................................................... 21

La agregacin en el FMM. ............................................................................ 22 2.1. 2.2. EFIE........................................................................................................ 22 MoM ....................................................................................................... 24 Procedimiento de expansin ........................................................... 24 Procedimiento de ponderacin ........................................................ 25

2.2.1. 2.2.2. 2.3. 3.

FMM ....................................................................................................... 27

CUDA sobre Tesla C1060 ............................................................................ 33 3.1. 3.2. 3.3. GPGPU ................................................................................................... 33 Tesla C1060 ............................................................................................ 33 CUDA ..................................................................................................... 34

4.

Agregacin manycore ................................................................................... 36 4.1. 4.2. 4.3. 4.4. Metodologa............................................................................................ 36 Estructuras de datos empleados para la comparativa ............................. 38 Equipos y recursos .................................................................................. 38 Resultados .............................................................................................. 40

5.

Conclusiones y lneas futuras. ....................................................................... 43

Bibliografa ........................................................................................................... 45

ndice de tablas
Tabla 4.1: Tiempo empleado en cada fase del mtodo "Manycore-Aggregation". ..40 Tabla 4.2. Tiempo en calcular la matriz de agregacin (1000M) en el supercomputador FinisTerrae.. 40 Tabla 4.3. Speed-up (1M) en el servidor Tesla: 1 core CPU Tesla vs GPGPU Tesla C1060. ...41 Tabla 4.4. Speed-up estimado (1000M): 1 core CPU FinisTerrae vs GPGPU Tesla C1060. ..41 Tabla 4.5. Speed-up estimado (1000M): CPU FinisTerrae vs GPGPU Tesla C1060 ..42

ndice de figuras
Figura 2.1: Problema propuesto de radiacin-dispersin 22 Figura 2.2: Vectores implicados en la funcin de Green 28 Figura 2.3: Vectores de la expansin del ncleo de la funcin de Green 29 Figura 3.1: Estructura de una CPU vs GPGPU34

Resumen
La importancia de poder simular problemas de radiacin-dispersin electromagntica a frecuencias altas est dando lugar a sucesivas investigaciones centradas en el desarrollo de algoritmos capaces de darles solucin. La industria de la aviacin, automocin y naval, requiere de mtodos de simulacin que permitan el desarrollo de nuevos sistemas de localizacin, emisin y recepcin, cada vez a frecuencias ms elevadas. Este trabajo fin de Mster se ha marcado como objetivo elaborar un algoritmo (Manycore-Aggregation) que permita reducir hasta en un 40% los requerimientos de memoria de los algoritmos basados en el FMM (Fast Multipole Method), por ser ste el que mejores resultados ha dado hasta la fecha en el campo de la simulacin de problemas de radiacin y dispersin electromagntica. El mtodo empleado se centra en el clculo directo de la matriz de agregacin que se utiliza en el FMM, basndose en el uso de los sistemas manycore de la emergente tecnologa de las GPGPU (General-Purpose computation on Graphics Processing Units) en el campo de la supercomputacin. Evita el almacenamiento en memoria de las estructuras de agregacin y las genera in-core cuando se necesitan mediante la GPGPU. Para evaluar la eficacia del algoritmo desarrollado en este trabajo se han obtenidos los valores de speed-up que alcanza en comparacin con los mejores obtenidos hasta la fecha por otros algoritmos. Los resultados expuestos demuestran que este tipo de tecnologa aplicada en los supercomputadores actuales permitira incrementar las exigencias de las simulaciones llevadas a cabo en el campo de la radiacin y dispersin electromagntica. Por lo tanto, quedan abiertas nuevas lneas de investigacin Palabras clave: agregacin, manycore, FMM, GPGPU, HPC, CUDA, electromagnetismo computacional. Para citar: AMAYA B., Manuel. Aceleracin manycore de procedimientos de agregacin en la ecuacin integral de campo elctrico. Direccin: Landesa, Luis. Trabajo fin de mster. [Documento digital]. Universidad de Extremadura, Escuela Politcnica (Cceres), octubre 2010.

11

Abstract
The importance of being able to simulate problems of electromagnetic radiation-scattering at high frequencies is resulting in subsequent research focused on the development of algorithms capable of resolving them. The aviation, automotive and shipbuilding industry, requires simulation methods that allow the development of new tracking, transmission and reception systems, at higher frequencies each time. The aim of this paper is to develop an algorithm ("Manycore-Aggregation") that allows a decrease up to 40% of the memory requirements of algorithms based on the FMM (Fast Multipole Method), due to this is the one best result have shown so far in the field of simulation of electromagnetic radiation-scatterings problems. The method is focused on the direct calculation of the aggregation matrix which is used in the FMM, and it is based on the use of manycore systems of the emerging of GPGPU (General-Purpose computation on Graphic Processing Units) technology in the field of supercomputing. It avoids storing the aggregation structures in memory and these are generated in-core by GPGPU when needed. To evaluate the algorithm developed in this work, it has been checked the rates of speed-up reached compared to the best result obtained by other algorithm to date. The results show that the use of this technology in todays supercomputers would allow increasing the range of simulations in the field of computational electromagnetism. Therefore, new research lines have been opened.

Keywords: aggregation, manycore, FMM, GPGPU, HPC, CUDA, computational electromagnetism.

To index: AMAYA B., Manuel. Aceleracin manycore de procedimientos de agregacin en la ecuacin integral de campo elctrico. Direccin: Landesa, Luis. Trabajo fin de mster. [Documento digital]. Universidad de Extremadura, Escuela Politcnica (Cceres), octubre 2010.

13

Acrnimos
API CnitS CESGA CPU CUDA EFIE FD FEM FFT FMM GPGPU HPC MLFMM MLFMA MoM PEC Application programming interface. Centro Extremeo de Investigacin, Innovacin Tecnologica y Supercomputacin. Centro de Supercomputacin de Galicia. Central Processing Unit. Compute Unified Device Architecture Electric Field Integral Equation. Finite Difference. Finite Element Method. Fast Fourier Transform. Fast Multipole Method. General-Purpose Computing on Graphic Processing Units. High Performace Computing. Multilevel Fast Multipole Method. Multilevel Fast Multipole Algorithm. Method of Moments. Perfect Electric Conductor.

15

Nomenclaturas
A...Z , a...z Parmetros escalares. A...Z,a...z Matrices y vectores espaciales.

A...Z,a...z Vectores columna.


A...Z , a...z Vectores unitarios.

AT , AT

Traspuesto de la matriz A , traspuesto del vector A . Complejo conjugado de la matriz A , complejo conjugado del vector A. Inversa de A . Integral de superficie. Gradiente. Divergencia. Divergencia superficial. Producto vectorial. Longitud de onda. Permitividad. Permeabilidad. Frecuencia angular. Tiempo.

A , A
A 1

17

E H
J

Campo elctrico. Campo magntico. Densidad de corriente superficial. Funcin de Green en espacio libre. Funcin base. Funcin de ponderacin. Operador lineal que transforma las corrientes en sus campos elctricos respectivos. Producto interno o escalar entre las funciones f y t .

fn

tm
Le
f,t

18

Introduccin

1. Introduccin
1.1. Motivacin
La creciente necesidad de simular con precisin problemas de radiacin y dispersin electromagntica [Velamparambil, S.; Chew, W. C.; Song, J. 2003], [Grel, L.; Ergl, O. 2007], [Taboada, J.M., et al. 2009-2010] en multitud de campos de aplicacin (aviacin, embarcaciones, automviles), cada vez a longitudes de onda ms pequeas, est impulsando la investigacin en el desarrollo de potentes algoritmos capaces de solventar esta tarea. El objetivo de este trabajo es el de reducir los requisitos de memoria de los algoritmos de clculo numrico basados en el FMM (Fast Multipole Method), por ser un parmetro que condiciona de manera muy importante las caractersticas de los computadores empleados. Hasta la fecha estos algoritmos son los que han demostrado los mejores resultados en este campo (ej. [Grel, L.; Ergl, . 2007], [Ergl, .; Grel, L. 2008], [Taboada, J.M., et al. 2009] y [Taboada, J.M., et al. 2010]).

1.2. Antecedentes y estado actual.


Los mtodos numricos basados en la resolucin de las ecuaciones de Maxwell en forma diferencial y en forma integral, son los que ofrecen las soluciones ms precisas a problemas generales (fuera de los casos cannicos) de anlisis electromagnticos. Los mtodos basados en la forma diferencial como el mtodo de elementos finitos (Finite Element Method, FEM) [Zienkiewicz; Taylor. 1989] o el de diferencias finitas (Finite Difference, FD) [Ames. 1977] son muy empleados en el anlisis de circuitos pasivos de microondas y en el diseo de antenas pero presentan muchas dificultades ante problemas de radiacin-dispersin donde es difcil imponer condiciones de contorno adecuadas. En cambio, los mtodos numricos basados en la resolucin de las ecuaciones de Maxwell en forma integral s permiten resolver estos problemas, aunque presentan el inconveniente de tener unos requisitos computacionales mayores. El mtodo ms extendido debido a sus buenos resultados es el Mtodo de los Momentos (MoM) introducido por [Harrinton, 1993]. Se basa en una solucin matricial de los problemas y tiene el inconveniente de que al ser aplicado a grandes estructuras (mltiples incgnitas) implica la necesidad del uso de

19

Introduccin

grandes cantidades de memoria y de altas capacidades computacionales. Desde entonces se han desarrollado distintas tcnicas que buscan disminuir estas limitaciones. Una de las grandes lneas de investigacin en este sentido han sido las tcnicas de aceleracin de MoM. De entre stas, la que ha conducido a los mejores resultados ha sido el Mtodo Multipolar rpido (Fast Multipole Method, FMM) [Engheta et al., 1992],[Coifman et al., 1993], [Chew et al., 2001] en sus distintas variantes: la versin multinivel MLFMA (Multi Level Fast Multipole Algorithm) [Song, J. M., et al., 1995, 1997, 1998], FMM-FFT (Fast Fourier Transform FMM) [Taboada, J.M., et al, 2009],MLFMA-FFT [Taboada, J.M., et al, 2010] Recientemente el equipo de HEMCUVE ha anunciado [HEMCUVE. Agosto 2010] que han resuelto el mayor problema hasta la fecha (1000M de incgnitas) con un algoritmo MLFMA-FFT.

1.3. Aportacin de este trabajo.


Este trabajo ha tenido como objetivo el desarrollo de un algoritmo (Manycore-Aggregation) que permite reducir hasta en un 40 % el coste total de la memoria empleada por los algoritmos basados en el FMM sin penalizar el tiempo de ejecucin. Evita almacenar la matriz de agregacin en la memoria RAM (clculos out-core) calculndola directamente cuando se necesita (clculos in-core), basndose en el uso de sistemas manycore como las tarjetas grficas de propsito general (GPGPU, General-Purpose computation on Graphics Processing Units). La tecnologa empleada est a la vanguardia de los supercomputadores, como es el ejemplo del reciente segundo puesto del ranking de junio de la lista Top500 [Top500. June 2010]: el supercomputador chino Nebulae del National Supercomputing Centre in Shenzhen (NSCS), basado en un cluster Dawning TC3600 Blade system con procesadores Intel X5650 y GPGPUs NVidia Tesla C2050. Ostenta el rendimiento terico pico ms alto del ranking (2,98 PFlop/s) y el puesto nmero dos (1.271 PFlop/s) en el rendimiento basado en el Benchmark Linpack.

20

Introduccin

1.4. Estructura de esta memoria.


La estructura de esta memoria consta de cinco captulos. En este primer captulo se explican los motivos que han llevado a centrar este trabajo en el objetivo planteado y cul ha sido la aportacin del mismo. En el captulo dos se expone la formulacin terica que nos acerca al concepto de agregacin, sobre el que se centra el trabajo. El siguiente captulo justifica las caractersticas de la tecnologa de la GPGPU empleada, as como el funcionamiento general de la API utilizada. A continuacin se detalla la metodologa que sigue el algoritmo ManycoreAggregation y su anlisis, as como los equipos y datos utilizados. Por ltimo se recogen las conclusiones a las que se ha llegado con este trabajo y las posibles lneas que permiten darle continuidad al mismo.

21

La agregacin en el FMM.

2. La agregacin en el FMM.
En este captulo se repasa el trayecto terico que nos lleva hasta el concepto de la agregacin por ser, principalmente ste, sobre el que se ha desarrollado este trabajo. Se parte del planteamiento de un problema general de radiacindispersin hasta obtener la EFIE, a la que se aplican las tcnicas de MoM y FMM para simplificar su resolucin. Para mantener la claridad de la explicacin se ha seguido una formulacin anloga a la empleada en [Araujo; 2008].

2.1. EFIE
La resolucin de problemas de radiacin y dispersin electromagntica basada en las ecuaciones de Maxwell en forma integral puede plantearse de la siguiente forma:

Figura 2.1: Problema propuesto de radiacin-dispersin.

Dado el problema en el que un frente de onda Ei incide en un cuerpo cuya superficie S (abierta o cerrada) est formada por un material elctrico conductor perfecto (PEC), en un medio homogneo y sin prdidas, cul sera el valor del campo elctrico disperso? Aplicando la condicin de contorno, que dice que el campo elctrico tangencial total en la superficie de un conductor elctrico perfecto (PEC) es cero (n Etot = 0) , a las ecuaciones de Maxwell, a los teoremas de induccin y

22

La agregacin en el FMM.

equivalencia, obtendremos una ecuacin integro-diferencial (EFIE) que establece un modelo matemtico del problema propuesto.

Por el principio de superposicin, el campo elctrico total Et en un punto de observacin es igual a la suma del campo impreso en ausencia del cuerpo Ei y el campo disperso Es por la superficie (PEC). Obviando la dependencia temporal e jwt , tendramos que:

E t =Ei +Es
(2.1)

Aplicando el principio de equivalencia, el campo disperso Es puede representarse en funcin de las corrientes superficiales J inducidas en la superficie S como:

Es = j A
(2.2)

(r )=

J (r)G (r, r)ds


(2.3)

= (r )

1 4

J (r)G (r, r)ds S


(2.4)

G (r, r) =

jk r r

r r
(2.5)

Siendo el potencial vector, el potencial escalar y G la funcin de Green en espacio libre. Las variables no primadas se relacionan con el punto de observacin y las primadas con la superficie S.

Si introducimos la condicin de contorno anterior (n Etot = 0) tenemos que:


Ettan = 0 Eitan = E s tan
(2.6)

Eitan = ( j A ) tan
(2.7)

23

La agregacin en el FMM.

La solucin del campo elctrico en forma de ecuacin integro-diferencial (EFIE) se obtiene al sustituir en la ecuacin anterior las expresiones del potencial vector y el potencial escalar. La EFIE relaciona el campo elctrico incidente con la densidad de corriente elctrica J inducida en la superficie S:

j 1 )G (r, r)ds + S J (r)G (r, r)ds E (r ) =E (r ) = J (r 4 S S tan


s tan i tan

(2.8)

De manera simplificada podemos expresarla a travs del operador lineal definido sobre el dominio S:

Eitan =J ) tan Le (
(2.9)

L e (J ) = ( j A )
(2.10)

El operador permite expresar los campos dispersos en funcin de la densidad de corriente inducida sobre la superficie S.

2.2. MoM
El Mtodo de los Momentos (MoM) es un mtodo numrico de resolucin de ecuaciones lineales continuas, que permite transformarlas en un sistema de ecuaciones lineales finito, pudindose as resolver de manera matricial en un ordenador. Fue introducido por R.F. Harrington como alternativa a los procedimientos analticos empleados en el campo del electromagnetismo.

2.2.1.

Procedimiento de expansin

Para resolver la EFIE planteada (2.8), el primer paso es expandir la densidad de corriente superficial J en un sumatorio de funciones bases f n (linealmente independientes) conocidas, que deben ser elegidas para modelar adecuadamente la distribucin de corriente y de carga asociada [Taboada. 2001]. Excepto para el caso de problemas sencillos, sera necesario emplear un nmero infinito de funciones base para llegar a la solucin exacta. Para poder resolver el problema numricamente, se procede al truncamiento del sumatorio, obtenindose as una solucin aproximada,

24

La agregacin en el FMM.

J (r )

I f (r)
N n n n =1

(2.11)

donde I n son los coeficientes constantes complejos, incgnita del problema, y N el nmero de funciones bases empleadas. Si empleamos la expresin (2.9) llegamos a que

i tan

I L (f )
N n e n =1

n tan

(2.12)

donde se ha utilizado la linealidad del operador. Esta expresin tambin puede verse como

i tan

I ( jA + )
N n n n =1

tan

(2.13)

Las expresiones del potencial vector y escalar de cada base quedaran: A n (r ) =

f nGds
(2.14)

= j n (r )

1 4

s f nGds
(2.15)

2.2.2.

Procedimiento de ponderacin

Para reducir la ecuacin (2.13) en un sistema matricial de ecuaciones, y poder obtener as los coeficientes de expansin de la corriente, se aplica la ecuacin (2.12) sobre una serie de M puntos o regiones. Para ello se escoge un conjunto de funciones de ponderacin o funciones test t m (m = 1,.., N ) definidas en el rango L e . Se establece M = N para llegar a una solucin nica. Realizaremos la ponderacin empleando el producto simtrico o interno:

25

La agregacin en el FMM.

f , t=

f t ds
(2.16)

Si aplicamos la ponderacin a la ecuacin (2.12) con cada una de las funciones t m elegidas obtendremos el siguiente sistema de ecuaciones lineales:

E , tm
i

I
N n =1 N n n =1

L e (f n ), t m
(2.17)

E , tm
i

I ( j A

mn

+ mn )
(2.18)

Donde por la definicin del producto simtrico quedara que: = Amn A n t m ds


(2.19)

mn = n t m ds
S

(2.20)

El sistema matricial puede representarse de la forma utilizada por Harrington como

Z I = V
(2.21)

Z mn =

L e (f n t m = j Amn + ),

mn

(2.22)

V =

E , tm
i

N n =1

I n ( j A mn + mn )
(2.23)

Z NxN es la matriz generalizada de impedancias o acoplos entre funciones


bases: los valores Z mn son la proyeccin de la radiacin de la funcin fuente f n sobre la funcin de observacin f m .

26

La agregacin en el FMM.

I Nx1 es el vector de corrientes incgnitas: aproximacin de la densidad de


corriente sobre la superficie S.

VNx1 corresponde al vector de excitaciones: campo elctrico incidente.


Tras aplicar MoM a la EFIE y conocidas las excitaciones V , podemos obtener la matriz generalizada de impedancias Z , lo que nos permite despejar el vector de incgnitas I . Este vector podr emplearse para el clculo de radiacin y dispersin electromagntica: = Z 1 V I
(2.24)

El vector de incgnitas I puede obtenerse mediante un mtodo directo basado en la inversin de la matriz o mediante factorizacin de la misma. El principal inconveniente de este mtodo radica en la gran cantidad de memoria necesaria y el elevado coste computacional. Por ello se estn desarrollando distintas tcnicas y variantes que permiten reducir estas necesidades: FMM, nested-FMM, FMM-FFT, MLFMA, MLFMA-FFT...

2.3. FMM
El Fast Multipole Method (FMM) es un procedimiento matemtico que permite reducir las necesidades de memoria y computacin que requiere el mtodo MoM. Parte de una organizacin jerrquica de la geometra en grupos de bases (las empleadas en MoM) representados por su punto central, de tal forma que obtiene las iteraciones entre las funciones bases de dos focos no vecinos, centralizndose en sus focos. Al disminuir el nmero de iteraciones se consigue reducir la necesidad de memoria y el coste computacional. A diferencia de MoM, el FMM llega a la obtencin del vector solucin I sin calcular la matriz Z : obtiene el producto matriz-vector (directamente) y aplica un mtodo iterativo para llegar a la solucin. Para la formulacin del FMM es necesario reescribir la ecuacin (2.19) como

27

La agregacin en el FMM.

Z mn =


Sm Sn

t m f n Gdsds
(2.25)

donde el tensor de Green quedara como 1 G (r, r= I 2 G (r, r) ) k


(2.26)

Recordar que las variables sin primar corresponden a puntos de observacin y las primadas a puntos de la superficie S.

Figura 2.2: Vectores implicados en la funcin de Green.

Mediante el teorema de adicin de Gegenbaue [Abramowitz, M.; Stegun, I. A. 1972] se consigue la separacin de las variables de r y r' por la expansin de la funcin de Green:

jk G (d, D) = e jkd 4
s2


l =0

( j )l (2l + 1)hl(2) (kD) Pl (k D)d 2 k


(2.27)

donde:
s 2 es la esfera unidad (esfera de Ewald),

k son las direcciones definidas sobre la esfera unidad, k es el vector igual a kk ,


hl(2) es la funcin esfrica de Hankel de segunda clase y orden l , y

28

La agregacin en el FMM.

Pl es el polinomio de Legendre grado l .


Hay que tener en cuenta que debe verificarse la condicin de que d < D . De esta expresin se obtiene el trmino de traslacin

(k D)=

( j) (2l +1)h
l l =0

(2) l

(kD) Pl (k D)
(2.28)

Figura 2.3: Vectores de la expansin del ncleo de la funcin de Green.

En este punto se puede aplicar la expansin de la funcin de Green (2.27) a MoM, despus de haber realizado una subdivisin adecuada de la geometra en grupos. Siendo los grupos m y n:

rij = ri r j = rim + rmn + rnj


(2.29)

Si se cumple la condicin rim + rnj < rmn (equivalente a la condicin d < D ), la funcin de Green (2.27) se puede escribir como:

e ij jk jkr G (ri , r j ) = jkrim mn k rmn e nj d 2 k e = rij 4


s2

jkr

(2.30)

Quedando el operador traslacin entre grupos fuentes y observacin como:

mn (k rmn ) =

l =0

( j )l (2l + 1)hl(2) (krmn ) Pl (k rmn )


(2.31)

29

La agregacin en el FMM.

Gracias a este operador, se evitan las iteraciones entre todas y cada una de las bases de la superficie, reducindose a iteraciones entre grupos de bases. Al reemplazar la expresin (2.30) en la frmula de los elementos de la matriz de impedancia (2.25): jk Z ij = 4

s2

R im (k ) mn (k rmn ) Fnj (k )d 2 k
(2.32)

Fnj (k ) =

(
S S

I kk f j (r )e jk (rn r ) dS
(2.33)

R im (k ) =

(I kk ) t (r)e
i

jk ( r rm )

dS
(2.34)

Siendo estas dos expresiones las expansiones multipolares de las funciones base (2.33) y de ponderacin (2.34) respectivamente, donde n es el vector normal 0 , slo es a la superficie S e I kk = + . Puesto que k F = k R = 0 y

nj

im

necesario considerar dos componentes del campo.


Fnj (k ) representa el patrn de radiacin expresado en el espacio k (

transformada de Fourier espacial) de la j-sima funcin base referido al centro del grupo fuente n.

R im (k ) es el patrn de recepcin de la i-sima funcin base con respecto al


centro del grupo de observacin m.

Si se emplea el procedimiento de ponderacin de Galerkin donde las funciones de ponderacin son las mismas que las funciones bases, se obtiene que R im (k ) = Fim (k ) . La expresin (2.32) no es vlida para todos los elementos de la estructura puesto que debe cumplirse la condicin rim + rnj < rmn , es decir, que slo se cumple para elementos m y n no adyacentes ni coincidentes. Para estos casos

30

La agregacin en el FMM.

(autoacoplos y grupos vecinos Bm) se empleara MoM y para el resto (grupos no vecinos Gn) el producto matriz-vector proporcionado por el FMM. De tal forma que el elemento i-simo del producto matriz-vector se obtendra:

= 1 j

Z ij I j =

MoM

jk R im (k ) mn (k rmn ) Fnj (k ) I j d 2 k 4 nBm nBm jGn s2 j Gn Z ij I j


FMM

(2.35)

Para poder discretizar esta expresin (2.35) y ser expresada en forma matricial, es necesario realizar una discretizacin adecuada de la esfera de Ewald s 2 (esfera unidad), por lo que se toman K = + 1)(2 L + 1) puntos de cuadratura, (L siendo L el nmero de trminos considerados en la expansin multipolar de la funcin de Green (2.27). El producto matriz-vector bm para un grupo de observacin m sera:
bm = I n R W Z mn + F m
nBm

nBm

R W mn

In F + m

nBm

mn n

In

,
(2.36)

donde Fn , representa la matriz de agregacin para las polarizaciones y

, y N n es el nmero de funciones base/ponderacin del grupo n. Las columnas


de la matriz representan el patrn de radiacin (2.33) de las funciones bases pertenecientes al grupo fuente n en las direcciones k definidas por la
K

discretizacin de la esfera Ewald.

Fn , = Fn1, (k ) Fn2, (k ) FnN, (k ) n K Nn


(2.37)

La matriz R , es la matriz de desagregacin y representa el patrn de m recepcin de las funciones bases pertenecientes al grupo de observacin m ( T es la traspuesta).
, R , = R1m (k ) n T , R2 m (k ) RN,nm (k )

Nn K

(2.38)

La matriz mn corresponde a la matriz de traslacin, y permite trasladar la radiacin procedente del grupo fuente n al grupo de observacin m.

31

La agregacin en el FMM.

mn = diag mn (k1 rmn ), mn (k2 rmn ), , mn (k K rmn )

K K

(2.39)

La matriz W representa a la matriz de pesos asociados a los puntos de cuadratura de la esfera de Ewald.

W = diag {w1 , w2 , , wK }K K
(2.40)

32

CUDA sobre Tesla C1060

3. CUDA sobre Tesla C1060


Los siguientes apartados explican el motivo de la eleccin de la tecnologa empleada y las caractersticas principales de la API CUDA, que han sido utilizadas para el desarrollo del algoritmo Manycore-Aggregation.

3.1. GPGPU
El concepto de GPGPU (General-Purpose Computing on Graphics Processing Units), GPGP o GP2, hace referencia al aprovechamiento de la capacidad de cmputo de los procesadores grficos (GPU) en el campo de la supercomputacin o HPC (High Performance Computing). Las actuales caractersticas de los procesadores grficos (gran paralelismo, buen rendimiento en como flotante y baja relacin precio/potencia de clculo) ha dado lugar a la expansin de su uso en mltiples aplicaciones de HPC como la simulacin y el mbito cientfico. Las tarjetas grficas con estos procesadores grficos que en un principio fueron concebidos para rotar matrices estn readaptando sus libreras y su diseo estructural para el cmputo fsico y matemtico. No todas las aplicaciones pueden aprovechar las ventajas del uso de las GPGPU, ya que son aplicables en algoritmos con un alto grado de paralelismo, que no necesiten estructuras de datos complejas (restringido por el modo de acceso a memoria) y que requieran un gran nmero de operaciones aritmticas. Actualmente los fabricantes que disputan la mayor batalla en este campo son NVIDIA y ATI. La apuesta por el desarrollo de API privadas o basadas en estndares est manteniendo las diferencias: NVIDIA es compatible con OpenCL pero tiene muy desarrollada su API CUDA, mientras que ATI le est dando la misma prioridad a su API privada como a OpenCL, y aun no las tiene tan desarrolladas.

3.2. Tesla C1060


La tarjeta grfica utilizada para realizar este trabajo es la Nvidia Tesla C1060. Su eleccin se deba al nivel de sus prestaciones y al amplio desarrollo de la API CUDA, que ha motivado su rpida difusin en el campo de la supercomputacin basada en GPGPU.

33

CUDA sobre Tesla C1060

Figura 3.1: Estructura de una CPU vs GPGPU.

En estas dos imgenes podemos apreciar la diferencia entre la estructuras de una CPU y una GPGPU. La tarjeta Tesla C1060 est destinada especficamente a entornos de HPC (double float). Segn el fabricante puede alcanzar los 933 Gflops/seg, y sus 4GB de memoria RAM GDDR3 alcanzan un ancho de banda de 102GB/seg. Para poder implementar un cdigo paralelo con esta tarjeta es necesario conocer cmo se estructuran los hilos (threads) de ejecucin: dispone de 240 ncleos (1.296GHz) repartidos en 30 multiprocesadores. Cada procesador ejecuta un warp (urdimbre) de 32 hilos. Cada multiprocesador puede ejecutar un mximo de 512 hilos. La mayor malla (grid) con la que puede trabajar es de 65535 x 65535 hilos.

3.3. CUDA
CUDA es la API desarrollada por NVIDIA para sus tarjetas grficas compuesto por un compilador nvcc y el kit de desarrollo SDK (Software Development Kit). Emplea como base una variacin del lenguaje C pero tambin puede emplear OpenCL, Fortran, DirectCompute y mediante wrappers (adaptadores) se puede utilizar Python y java. En dispositivos con capacidad de computacin 2.0 (reciente arquitectura Fermi) se puede trabajar con C++ teniendo en cuenta ciertas restricciones. Existen tres jerarquas de memoria a tener en cuenta: la memoria propia del hilo, la memoria del bloque (accesible por sus hilos) y la memoria global (accesible para cualquier hilo de la malla). Adems, existen dos memorias de slo

34

CUDA sobre Tesla C1060

lectura para los hilos: la memoria constante y la de texturas. Todas las memorias de acceso global persisten mientras el kernel (funcin que se ejecuta en la tarjeta grfica o device) est en ejecucin. La divisin de los hilos se realiza de la siguiente manera: El kernel se ejecuta como una malla de hilos agrupados en bloques. Cada bloque de hilos es asignado a un multiprocesador. Cada bloque de hilos se divide en warps (urdimbres) de 32 hilos. Cada warp es ejecutado por un procesador (core). CUDA reparte el nmero de bloques entre la disponibilidad de cores de la tarjeta. Esto lo hace altamente escalable. La distribucin idnea de los threads para disminuir latencias sera aquella en la que los bloques estuvieran compuestos por un nmero de threads mltiplo de 32 (un warp) y mltiplo del nmero de procesadores por multiprocesador. Podran aparecer limitaciones segn los requerimientos de los distintos tipos de memoria dado que son reducidas. A la hora de disear el programa hay que perseguir maximizar el uso de la memoria del bloque (similar a una cach) antes que la principal y mantener la sincronizacin entre hilos en estos casos para evitar incoherencia.

35

Agregacin manycore

4. Agregacin manycore
A continuacin se desarrolla la metodologa empleada para la implementacin del algoritmo Manycore-Aggregation que se propone en este trabajo, as como el mtodo de evaluacin que se ha seguido. Para su anlisis se han contrastado los resultados obtenidos con simulaciones realizadas con los datos publicados ms recientes. Por ltimo se detalla una relacin de los equipos que han sido empleados para obtener los citados datos.

4.1. Metodologa
En el captulo 1 se adelanta que el algoritmo desarrollado ManycoreAggregation evita tener que almacenar toda la matriz de agregacin en la memoria RAM para su uso posterior (clculos out-core), facilitando as los valores de la matriz de manera directa al calcularlos cuando se necesita (clculo in-core) en cada iteracin del mtodo de resolucin empleado. Adems se tiene como objetivo no empeorar los tiempos de ejecucin con respecto al algoritmo FMM original utilizado para su comparacin. Este trabajo tiene como punto de partida el algoritmo FMM elaborado por el grupo HEMCUVE en lenguaje C++, por lo que para poder aprovechar las ventajas de la tarjeta Tesla C1060 se han implementado nuevas funciones que sustituyen a las encargadas de obtener la matriz agregacin en el cdigo original. El algoritmo Manycore-Aggregation consta de cuatro fases: Fase 1: Creacin de las estructuras de datos tipo C. Fase 2: Copia de las estructuras a la memoria de la tarjeta Tesla C1060. Fase 3: Clculo de la matriz de agregacin en la tarjeta Tesla C1060. Fase 4: Copia de los resultados a la memoria principal del sistema.

En primer lugar hay que tener en cuenta que la tarjeta Tesla C1060 slo soporta estructuras de datos de lenguaje C (capacidad de cmputo 1.3) y que el nvcc no tiene compiladas todas las libreras estndares (como la STL), algunas de las cuales son utilizadas en el algoritmo FMM original. Por lo tanto, ha sido necesario simplificar estas estructuras (fase 1), creando otras nuevas en formato

36

Agregacin manycore

de tablas C para almacenar la informacin empleada en el clculo de la matriz de agregacin, como son la relativa a la geometra y a la configuracin de las funciones base del mtodo de los momentos. Para agilizar los clculos en la funcin kernel (que se ejecuta en el device o tarjeta grfica) se han dispuesto los datos en las tablas de forma que los accesos a la memoria sean ptimos (siguiendo el alineamiento requerido). Esta fase de simplificacin de estructuras nicamente es necesario realizarla una vez en todo el algoritmo y es computada por los cores de la CPU. La independencia de las operaciones necesarias hace que se puedan acelerar al paralelizarlas entre los distintos cores. El tiempo necesario para la copia de datos entre la memoria principal de la CPU y la memoria de la GPGPU no es despreciable, sino un elemento crucial relacionado con la configuracin del equipo y la distribucin de los clculos entre las distintas GPGPU. Inicialmente, en el algoritmo desarrollado en este trabajo, la transferencia de las tablas con la informacin sobre geometra y la configuracin de las funciones bases (fase 2) supone cuatro veces el tiempo empleado para el clculo manycore de la matriz de agregacin (fase3); mientras que la copia de la matriz de la agregacin entre la GPGPU y la memoria principal (fase 4) supone un sesenta por ciento de este tiempo. Sin embargo, hay que tener en cuenta que la fase 2 nicamente se realiza una vez (pasando a formar parte del setup) frente a los cientos de veces que se realizarn la fase 3 y la fase 4, una por cada iteracin del mtodo de resolucin del FMM. Cuando se implemente este algoritmo en HEMCUVE, se implementar la parte del clculo del producto matriz-vector de las agregaciones en el kernel de las GPGPU, lo que har que la transferencia de datos de la fase 4 se reduzca considerablemente. En definitiva, se consigue que el algoritmo Manycore Aggregation no penalice significativamente el tiempo de ejecucin. El kernel es la parte ms importante del cdigo, ya que es la funcin que se encarga de realizar los clculos paralelos, por lo que su diseo es fundamental para conseguir altas velocidades de ejecucin. Para conseguir la mayor velocidad de proceso, se ha trabajado con punteros y se ha optado por una solucin que reduce al mnimo el acceso a memoria principal de la tarjeta, aprovechando as la mayor velocidad de los registros de los hilos. El kernel se puede adaptar para poder trabajar con varias tarjetas grficas en paralelo cuando se vayan a utilizar estructuras mayores. Se han implementado varias funciones para poder comparar los resultados con los obtenidos con el algoritmo original, y comprobar tiempos.

37

Agregacin manycore

Para valorar la idoneidad del mtodo propuesto, se calcular el speed-up alcanzado con respecto al tiempo empleado para el clculo de la matriz agregacin. No se tiene en cuenta los tiempos de las otras tres fases dada la poca importancia que tendrn en la versin definitiva de HEMCUVE, tal y como se ha argumentado.

4.2. Estructuras de datos empleados para la comparativa


Las simulaciones de este algoritmo se han realizado sobre una esfera de dimetro 33 y 1 milln de incgnitas (tamao de la estructura 26,6 MB). Se han recogido resultados con el algoritmo original y con el algoritmo basado en CUDA. Para estimar las ventajas que supondra implementar el mtodo propuesto en los nodos de grandes supercomputadores, se han comparado proporcionalmente con los resultados obtenidos por el ltimo hito [HEMCUVE. Agosto 2010] logrado en este campo tras analizar una estructura NASA-Almond de 1000M de incgnitas en el supercomputador FinisTerrae (CESGA). Esta estimacin proporcional es posible ya que la matriz de agregacin crece de manera lineal con el nmero de incgnitas y, en el caso de este ejemplo, su geometra y la frecuencia de anlisis no afecta al nmero de operaciones a realizar.

4.3. Equipos y recursos


Todo el trabajo de desarrollo y simulacin del mtodo propuesto Manycore-Aggregation se ha realizado sobre un servidor Tesla con 4 procesadores Intel Quadcore Xeon (E5520) 64bits 2,27 GHz. Adems el servidor dispone de cuatro tarjetas grficas NVIDIA Tesla C1060 de 240 ncleos y 4 GB de memoria RAM GDDR3 (512 bits, 800MHz) cada una. La simulacin de la estructura NASA-Almond de 1000M de incgnitas a 3,5 THz [HEMCUVE. Septiembre 2010] se realiz en el supercomputador FinisTerrae del Centro de Supercomputacin de Galicia (CESGA). Los recursos empleados fueron: 64 nodos HP Integrity rx7640 de 8 procesadores Intel dual core Itanium-2 (Montvale) 64 bit 1,6GHz y 128 MB de memoria RAM cada uno. En total se utilizaron 1024 cores (ncleos) y 4,3 TB de memoria RAM de los cuales aproximadamente el 40 % (1,728 TB) se emplearon para la matriz

38

Agregacin manycore

agregacin. El tiempo requerido para calcular la agregacin en el producto matrizvector fue de 2,5 seg/nodo. El tiempo total de ejecucin fue de menos de 24h. En las conclusiones se har referencia al supercomputador Lusitania ubicado en el Centro Extremeo de Investigacin, Innovacin Tecnolgica y Supercomputacin (CnitS). Alguna de sus caractersticas [CenitS. Septiembre 2010] que comentaremos son: 2 nodos de cmputo HP Integrity SuperDome SX2000 que hacen un total de 128 procesadores (256 cores) Itanium2 Montvale 1,6GHz, y 2 TB de memoria RAM.

39

Agregacin manycore

4.4. Resultados
Para poder evaluar el algoritmo propuesto, se calcula el speed-up del algoritmo original que se basa en CPUs (clculos out-core) frente al algoritmo Manycore-Aggregation que se basa en el uso de GPGPU (clculos in-core). Los datos de partida son el promedio de los resultados obtenidos para las distintas fases de Manycore-Aggregation en el servidor Tesla, y los datos publicados sobre el reto 1000M de HEMCUVE:

Resultados obtenidos para el modelo 1M Equipo Operacin Crear estructuras C Copiar datos a la memoria de C1060 Calcular la matriz de agregacin Copiar resultados a memoria del servidor Recurso utilizado QuadXeon 2,27 GHZ Tesla C1060 1.296GHz N cores empleados 1 240 Tiempo total Tiempo empleado 9,96 seg 4,63 seg 1,17 seg 0,75 seg 16,51 seg

Servidor Tesla

Tabla 4.1: Tiempo empleado en cada fase del mtodo "Manycore-Aggregation".

Resultados publicados para el modelo 1000M Cores empleados 64 nodos de 16 cores Tiempo empleado para el clculo de la matriz agregacin 180 seg/nodo Memoria empleada para la matriz agregacin 27 GB/nodo *

Equipo

Recurso utilizado

FinisTerrae

Itanium2 1,6 GHz

Tabla 4.2. Tiempo en calcular la matriz de agregacin (1000M) en el supercomputador FinisTerrae.

*: 1,728TB/64 nodos = 27 GB/nodo

40

Agregacin manycore

En primer lugar se analiza el speed-up alcanzado al calcular la matriz de agregacin para el modelo 1M (esfera de 1 milln de incgnitas) en el servidor Tesla:

Resultados obtenidos para el modelo 1M Cores empleados Tiempo empleado para el clculo de la matriz agregacin 218 seg 1,17 seg

Equipo

Recurso utilizado

Speed-up

Servidor Tesla Servidor Tesla

QuadXeon 2,27 GHz Tesla C1060 1.296GHz

1 240

1 186,32

Tabla 4.3. Speed-up (1M) en el servidor Tesla: 1 core CPU Tesla vs GPGPU Tesla C1060.

El speed-up alcanzado para el modelo 1M nos da una idea de la capacidad de cmputo de la tarjeta grfica. La precisin que se ha alcanzado es de 10-9.

Para las siguientes comparativas se emplean los resultados obtenidos mostrados anteriormente para el clculo de la agregacin con la tarjeta Tesla C1060 pero extrapolados (proporcin lineal, ver apartado 4.2) al modelo 1000M. El segundo anlisis consiste en estimar el speed-up que se alcanzara al calcular la matriz de agregacin para el modelo 1000M (NASA-Almond 1000 millones de incgnitas):

Resultados estimados para el modelo 1000M Cores empleados 1 core 240 Tiempo empleado para el clculo de la matriz agregacin 184320 seg * 1170 seg

Equipo

Recurso utilizado

Speed-up

FinisTerrae Servidor Tesla

Itanium2 1,6 GHz Tesla C1060 1.296GHz

1 157,54

Tabla 4.4. Speed-up estimado (1000M): 1 core CPU FinisTerrae vs GPGPU Tesla C1060.

*: 64 nodos x (16 cores/nodo) x 180 seg/nodo = 184320 seg x core/nodo.

41

Agregacin manycore

Como era de esperar, aunque la frecuencia del procesador Xeon 2,27 GHz es superior a la del Itanium2 1,6GHz utilizado, la eficacia del acceso a memoria del supercomputador Finisterrae le confiere mayor velocidad a los procesos. Por ltimo, se muestra cul sera el speed-up estimado si tarjetas Tesla C1060 instaladas en los nodos del supercomputador Finisterrae se encargaran, en exclusiva, de realizar el clculo in-core de la matriz de agregacin, evitando as ocupar la memoria RAM principal. Cabe resaltar que, si se realizara el clculo incore de la matriz de agregacin en las CPU de FinisTerrae, se emplearan 180 seg/nodo para obtener la matriz de agregacin en cada iteracin (centenares) del mtodo de resolucin empleado, lo que hace inviable esta opcin. En cambio, realizando los clculos in-core en las tarjetas Tesla, reducimos estos tiempos en un factor diez cuando empleamos una tarjeta por nodo. A partir de la primera tarjeta, cada vez que duplicamos el nmero de las mismas, se reduce a la mitad los tiempos empleados para el clculo de la matriz agregacin.

Resultados estimados para el modelo 1000M Recursos empleados por nodo 16 cores Itanium2 1 tarjeta Tesla C1060 1 tarjeta Tesla C1060 1 tarjeta Tesla C1060 2 tarjetas Tesla C1060 4 tarjetas Tesla C1060 8 tarjetas Tesla C1060 16 tarjetas Tesla C1060 Tiempo empleado para el clculo de la matriz agregacin por nodo 180 seg/nodo 1170 seg/nodo 167,14 seg/nodo 18,28 seg/nodo* 9,14 seg/nodo 4,57 seg/nodo 2,29 seg/nodo 1,14 seg/nodo Memoria empleada para la matriz agregacin 27 GB/nodo (out-core) 0 GB/nodo (in-core) 0 GB/nodo (in-core) 0 GB/nodo (in-core) 0 GB/nodo (in-core) 0 GB/nodo (in-core) 0 GB/nodo (in-core) 0 GB/nodo (in-core)

Equipo

N nodos empleados

Speedup

FinisTerrae FinisTerrae FinisTerrae FinisTerrae FinisTerrae FinisTerrae FinisTerrae FinisTerrae

64 1 7 64 64 64 64 64

1 0,15 1,08 9,85 19,69 39,38 78,77 157,54

Tabla 4.5. Speed-up estimado (1000M): CPU FinisTerrae vs GPGPU Tesla C1060

* : (1170 seg/nodo) / 64 = 18,28 seg/nodo.

42

Agregacin manycore

5. Conclusiones y lneas futuras.


Los resultados mostrados por este trabajo demuestran que el algoritmo implementado basado en el uso de sistemas manycore como las GPGPU en los nodos de los supercomputadores, puede suponer un ahorro de hasta un 40 % de la memoria RAM total empleada en la resolucin de problemas electromagnticos mediante algoritmos basados en el FMM. Se demuestra que este ahorro es posible con clculos in-core en las GPGPU, siendo inevitable su implementacin out-core en el caso de ser realizado en las CPU debido al tiempo tan elevado que conllevara. El speed-up que alcanza esta solucin en los ncleos de las GPGPU frente a los procesadores empleados permite pensar en la rentabilidad que supondra la inversin en este tipo de tecnologas: los costes de dicha solucin estaran parejos al incremento de memoria RAM pero permitiran procesar algoritmos paralelos a mayores velocidades, como el algoritmo de referencia Linpack que se emplea para elaborar la lista Top500 (www.top500.org). En el caso del supercomputador FinisTerrae (CESGA) la inclusin de este tipo de tecnologa implicara poder analizar el modelo 1000M pasando de un consumo de 4,3 TB a 2,58TB. Esta rebaja permitira analizar problemas de mayor envergadura o por ejemplo se podra incrementar el tamao de las celdas y aprovechar el speed-up de las GPGPU para mantener controlado el tiempo de ejecucin. Una actualizacin similar del supercomputador Lusitania (CnitS) s habra permitido realizar el anlisis del modelo 1000M adaptando ligeramente la resolucin del problema (reduciendo el tamao de celda) para utilizar el mximo de 2TB de memoria RAM disponibles. Para poder mantener valores altos de speed-up es necesario realizar un reparto adecuado de las GPGPU entre los distintos nodos del supercomputador, realizar un balanceado de carga que permita minimizar el nmero de operaciones de copia de datos entre la CPU y la GPGPU, e incluir en el kernel de la GPGPU el mayor nmero de operaciones posibles. El paso inmediato a este trabajo consistira en incluir el clculo del producto matriz-vector de la agregacin en el kernel de la GPGPU. En la misma lnea, se podra intentar incluir otros clculos paralelizables del FMM. Otra de las lneas de futuro se basara en la gestin de varias GPGPU y en el reparto de la carga en

43

Conclusiones y lneas futuras.

cada una de ellas, cuando se trabaja con estructuras que requieren cantidades de memoria superiores a las de las tarjetas GPGPU. Por ltimo aadir que se estn haciendo ensayos que permiten obtener valores mejores de speed-up.

44

Bibliografa
ABRAMOWITZ, M.; STEGUN, I. A. Handbook of Mathematical Functions. New York: Dover Publications Inc., 1972. AMES, W. F. Numerical Method for Partial Differential Equations. New York: Academic Pres, 1977. ARAUJO, Marta G. Aceleracin del Fast Multipole Method (FMM) en problemas electromagnticos de grandes dimensiones. Tesis Doctoral. Directores: Jos Manuel Taboada Varela, Jos Luis Rodrguez Rodrguez. Universidade de Vigo, E.T.S.E. Telecomunicacin, Dpto. Teora do Sinal e Comunicacins, Vigo, 2008. CENITS. Caractersticas tcnicas de Lusitania. [En lnea]. Disponible en Web: http://www.cenits.es/cenits/lusitania/caracteristicas-lusitania [ref. de 25 de septiembre de 2010]. CHEW, W. C., et al. Fast and Efficient Algorithms in Computational Electromagnetics.Boston, 2001, Artech House Inc. ISBN: 1580531520. COIFMAN, R.; ROKHLIN, V.; WANDZURA, S. The fast multipole method for the wave equation: A pedestrian prescription. IEEE Antennas and Propagation Magazine, 1993, vol. 35, num. 3, pp. 712. DARVE, Eric. Mthodes multiples rapidez: Rsolution des quations de Maxwell par formulations intgrales. Tesis Doctoral. Director: M.O. Pironneau. Universit Paris 6, Spcialit Mathematiques Appliques, Paris, 1999. ENGHETA, N.; MURPHY, W.D.; ROKHLIN, V.; VASSILIOU, M.S. The Fast Multipole Method (FMM) for Electromagnetic Scattering Problems. IEEE Transactions on Antennas and Propagation. June 1992, vol. 40, num. 6, pp. 634 641. ERGL, .; GREL, L. "Hierarchical Parallelization of the Multilevel Fast Multipole Algorithm for the Efficient Solution of Large-Scale Scattering Problems". IEEE International Symposium on Antennas and Propagation. July 2008.

45

_____________________. "Efficient Parallelization of the Multilevel Fast Multipole Algorithm for the Solution of Large-Scale Scattering Problems". IEEE Transactions on Antennas and Propagation. August 2008, vol. 56, num. 8, pp. 2335-2345. GREL, L.; ERGL, O. "Fast and Accurate Solutions of Extremely Large Integral-Equation Problems Discretised with Tens of Millions of Unknowns". Electronics Letters. April 2007, vol. 43, num. 9, pp. 499-500. HARRINGTON, R. F. Field Computation by Moment Method. New York, IEEE Press, 1993. HEMCUVE. Record del mundo. [En lnea]. Disponible en Web: http://recordmundo.blogspot.com/2010/08/billion-one-challenge.html [ref. de 25 de septiembre de 2010]. NVIDIA.Why Choose Tesla [En lnea]. Disponible en Web: http://www.nvidia.com/object/why-choose-tesla.html [ref. de 25 de septiembre de 2010] RODRIGUEZ, Jos Luis, et al. On the Use of the Singular Value Decomposition in the Fast Multipole Method. IEEE Transactions on Antennas and Propagation. 2008, vol. 56, num. 8, pp. 2325-2334. SONG, J. M.; CHEW, W. C. "Multilevel Fast Multipole Algorithm for Solving Combined Field Integral Equations of Electromagnetic Scattering". Microwave and Optical Technology Letters. September 1995, vol. 10, num. 1, pp. 14-19. SONG, J. M.; LU, C. C.; CHEW, W. C. "Multi level Fast Multipole Algorithm for Electromagnetic Scattering by Large Complex Objects". IEEE Transactions on Antennas and Propagation. October 1997, vol. 45, num. 10, pp. 1488-1493. SONG, J. M., et al. "Fast Illinois Solver Code (FISC)". IEEE Antennas and Propagation Magazine. June 1998, vol. 40, num. 3, pp. 27-34. TABOADA, J.M., et al. High Scalability FMM-FFT Electromagnetic Solver for Supercomputer Systems. IEEE Antennas and Propagation Magazine. 2009, vol. 51, nm. 6, pp. 20-28.

46

___________________. MLFMA-FFT algorithm for the solution of challenging problems in electromagnetics. Antennas and Propagation Society International Symposium (APSURSI), 2010 IEEE. July 2010. ___________________. MLFMA-FFT parallel algorithm for the solution of large-scale problems in electromagnetics. Progress In Electromagnetics Research. 2010, vol. 105, pp. 15-30. ___________________. Supercomputing challenges in electromagnetics. Antennas and Propagation (EuCAP), 2010 Proceedings of the Fourth European Conference on. April 2010. TOP500. List june 2010. [En lnea]. Disponible en http://www.top500.org/lists/2010/06 [ref. de 25 de septiembre de 2010]. Web:

VELAMPARAMBIL, S.; CHEW, W. C.; SONG, J. 10 Million Unknowns: Is It That Big?. IEEE Antennas and Propagation Magazine. 2003, vol. 45, num. 2 , pp. 4358. ZIENKIEWICZ, O. C.; TAYLOR, R. L. Volume 1: Basic Formulation and Linear Problems. The Finite Element Method. 4th Edition. New York: McGraw Hill Inc., 1989.

47

S-ar putea să vă placă și