-
Notifications
You must be signed in to change notification settings - Fork 0
/
textoSuelto
351 lines (137 loc) · 25.2 KB
/
textoSuelto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
Resumen
En este trabajo se presenta una optimizacion del algoritmo de dinamica molecular para simulacion de sistemas de particulas que interaccionan mediante potenciales de no unión. En primer lugar se desarrolla una implementacion del metodo de dinamica molecular sobre GPU, que evoluciona siguiendo exlusivamente un modelo de potencial de Lennard-Jones. Usando este desarrollo co,mo referencia, se implementan adaptaciones para el calculo de las fuerzas, basadas en el uso de valores tabulados del potencial teniendo en cuenta tanto las propiedades de la funcion como las caracteristicas del hardware sobre el cual se trabaja.
Además de las mejoras en performance, se tiene en cuenta otro aspecto importante: la precisión numérica con la que se opera. Dado que la utilización de valores tabulados implica un error en la fuerza resultante, es necesario evaluar la implicancia de este sobre la correctitud de la simulación.
La implementación inicial demuestra la gran mejora en la performance que puede ser obtenida producto de la arquitectura altamente paralelizada del hardware. Las adaptaciones realizadas en este trabajo presentan una mejora extra (complementaria??) manteniendo la calidad númerica de los resultados.
****ESTA PARTECITA PUEDE IR ACA O EN EL OBJETIVO*******
Existen diversas implementaciones del algoritmo de dinamica molecular con diferentes modelos de interaccion. Las distintas implementaciones existentes involucran al potencial de Lennard-Jones como aporte para evaluar las interacciones de no-union y, en todos los casos, el calculo de este tipo de interacciones representa la mayor parte del costo computacional asociado al método. Se espera entonces que las modificaciones estudiadas en este trabajo puedan ser integradas en diversas implementaciones existentes obteniendo una mejora considerable en la performance.
*********************************************
********************************************
CAPITULO 1 - Introduccion
*********************************************
********************************************
1.1 - Objetivos
El principal objetivo de la tesis es obtener una implementacion del método de dinámica molecular basada en gpu, que siga un modelo de interaccion de Lennard-Jones(potencial de no-union), y que resuelva el calculo de las fuerzas utilizando valores tabulados en el sistema de memoria provisto por la arquitectura.
La forma funcional que describe el potencial de Lennard-Jones permitiria obtener una buena aproximación del valor utilizando una tabla de resultados precalculados. Además, el sistema de memorias de la arquitectura, que ha evolucionado desde el origen de esta, permite obtener de forma eficiente el valor asociado en un esquema de tablas. De esta forma, se espera que la modificacion resulte en una mejora de la performance manteniendo la correctitud en los resultados de la simulación.
1.2 - Fundamentos del metodo de dinamica molecular
Los sistemas químicos de interés como las proteínas suelen ser complejos de estudiar debido a su gran tamaño. La superficie de energia libre es la funcion que describe la energia del sistema, y a partir de la cual se podrian derivar todas las propiedades termodinamicas y cineticas de interes. Esta, sin embargo, es una funcion 3N dimensional (siendo N el numero de particulas del sistema), lo que hace imposible derivar analiticamente las propiedades debido al altisimo costo computacional asociado.
Otra forma de analizar estos sistemas es mediante una aproximación numérica, a traves de simulaciones computacionales.
La simulación computacional de biomoléculas involucra la exploración de su superficie de energía libre, la cual, debido a la complejidad de estos sistemas, es altamente accidentada, contiene una gran cantidad de mínimos locales y de barreras de energéticas. Si los parametros de la simulacion estan correctamente ajustados(?definidos?), se podran calcular las propiedades de interes a partir del conjunto de conformaciones adoptadas durante la ejecucion.
Los métodos de simulación molecular nos permiten obtener una serie de configuraciones representativas del sistema, de modo que las propiedades termodinámicas extraídas del mismo se correspondan de manera precisa con los valores reales.
Una de las formas de obtener estas configuraciones es mediante el metodo de dinamica molecular. Este metodo implica simular la progresion temporal "real" del sistema, obteniendo distintas conformaciones a medida que avanza el tiempo de simulacion.
La tecnica de simulacion de Dinamica Molecular se basa en resolver las Ecuaciones de Movimiento de Newton para cada átomo del sistema; así, en cada "paso" de la simulación se calcula la energia potencial entre las particulas y de esta se derivan las fuerzas que actúan sobre cada átomo.
Las ecuaciones de Newton relacionan las fuerzas resultantes del potencial con la aceleracion que tendra cada particula y, por lo tanto el cambio en la velocidad y en la posicion con el tiempo. Dado que el potencial es una funcion continua dependiente de la posicion, los cambios en las velocidades y posiciones resultan de una integracion a lo largo de la trayectoria de la particula.
En la practica, la integración de las Ecuaciones de Newton se calcula computacionalmente mediante el llamado Algoritmo de Verlet [14], el cual resuelve la integración en una ecuacion discreta donde las posiciones estan separadas por intervalos de tiempo dt .
Usando las fuerzas resultantes, junto con las posiciones y velocidades atómicas de la iteracion correspondiente, el algoritmo de Verlet calcula las nuevas posiciones y velocidades en un intervalo de tiempo posterior ("dt"). De este modo se genera una trayectoria, determinada por las posiciones de las particulas en cada paso de la simulacion. Esta trayectoria describe como cambia la conformación espacial del sistema a lo largo del tiempo.
La elección del "dt" es una situación de compromiso, ya que un dt muy chico, si bien representa la propagación del movimiento de forma "mas exacta"(mas cercana al valor de la integracion) , provoca que se requiera una mayor cantidad de cálculos para alcanzar la longitud de de una dada trayectoria total.
El algoritmo general de dinamica molecular se puede resumir en esta representacion grafica:
*************PONER ALGUN ESQUEMA QUE TENGA TODOS LOS PASOS DEL ALGORITMO LO MAS CLARO POSIBLE***************
El potencial utilizado se obtiene modelando al sistema molecular mediante la mecanica clasica (metodo de mecanica molecular, MM).
Usando un método de MM [12] , se ignoran los electrones y la naturaleza cuántica de estos. La energía potencial del sistema, entonces, depende exclusivamente de las posiciones de los núcleos atómicos. Se modela cada molécula como un conjunto de sitios -que representan los átomos que la componen- y resortes -que representan los enlaces químicos entre estos- junto con un potencial parametrizado ad hoc.
Este potencial es una función matemática que depende exclusivamente de las posiciones de los atomos, intentando ajustarse a las interacciones entre los componentes del sistema sistema real. Este tipo de repesentacion simplificada del sistema permite reducir la complejidad de los calculos necesarios para la simulacion, y por lo tanto el costo computacional asociado, pero limita el tipo de procesos que se pueden estudiar. Por ej. no se pueden estudiar reacciones quimicas que impliquen ruptura o formación de enlaces ya que estos no son considerados con suficiente detalle.
The choice of the molecular mechanics force fields is an important aspect of the MD simulation . The forcefield governs how the parts of a molecule relate to each other, how each atom is affected by its atomic environment and how these forces can contribute to the structure of the molecule under a certain set of constraints
En los métodos MM, las interacciones entre los núcleos se agrupan en dos tipos:
1) de unión: Describen las interacciones entre dos átomos unidos entre si directamente o hasta 2 enlaces
de distancia. Consisten en aquellos términos del potencial cuya energía se ve afectada por los
estiramientos de los enlaces, las flexiones de los ángulos entre 2 átomos, y la rotación de dos átomos
adyacentes sobre un eje (ángulos dihedros). Los estiramientos y las flexiones angulares son modeladas
mediante un oscilador armónico, mientras que las rotaciones de los enlaces en el plano son modeladas
mediante una función trigonométrica.
2) de no unión: describen la interacción entre átomos ubicados a más de 3 enlaces de distancia de la
misma molécula, o bien entre átomos de moléculas distintas, y consisten en un término para la
contribución electrostática computada con la Ley de Coulomb, y un término para la contribución de
Vaan Der Waals modelada por un potencial de Leenard-Jones 12-6.
Un ejemplo de funcion potencial seria: ***PONER la funcion que marca la diferencia entre los parametros de union y los de no union PAGINA 15 DE LA TESIS***
1.3 - El potencial de Lennard-Jones:
El calculo del potencial de no union es una parte importante en la implementacion del algoritmo ya que implica la mayor parte del costo computacional asociado a la simulacion. Esto se debe a que se debe calcular entre todos los elementos del sistema. En particular es importante el termino correspondiente al potencial de Lennard-Jones, ya que este existe siempre, independientemente de la carga neta en las particulas que interaccionan.
La ecuacion que representa este potencial es:
La forma funcional de esta interaccion resulta: ****PONER GRAFICO DEL POTENCIAL vs DISTANCIA
A partir de los valores del grafico, resulta razonable pensar que, si se desprecia el aporte de este potencial para interacciones entre particulas a una distancia mayor que cierto valor de corte, se podra obtener una buena aproximacion del comportamiento a la vez que se reduce considerablemente la cantidad de calculos necesarios en cada paso de la simulacion.
***************LA INTRODUCCION PUEDE TERMINAR ACA, APUNTANDO AL POTENCIAL DE LENNARD-JONES, O PUEDE INCLUIR TAMBIEN LO QUE SIGUE*********
*********************ESTO QUE SIGUE PUEDE IR DIRECTAMENTE EN LA PARTE DE ALGORITMOS ***************************
*******HABLA DE LA DIVERSIDAD DE VARIANTES QUE EXISTEN, Y ALGO DE LAS OPTIMIZACIONES DEL ALGORITMO (OPTIMIZACIONES RELACIONADAS CON EL METODO EN SI Y VARIACIONES EN LOS CALCULOS QUE HAY QUE HACER)*******
*****PUEDO ARRANCAR EXPLICANDO POR QUE ES NECESARIO OPTIMIZAR EL METODO PARA PODER EJECUTAR MAS TIEMPO. TENGO QUE OPTIMIZARLO PARA REALIZAR EJECUCIONES MAS EFICIENTEMENTE Y PARA PODER AMPLIAR LA UTILIZACION DEL METODO PARA SIMULAR SISTEMAS MAS GRANDES Y DURANTE MAS TIEMPO, PARA PODER APLICARLO A OTROS SISTEMAS Y PROCESOS DE INTERES***
Dada la gran utilidad y aceptacion del metodo de dinamica molecular se han desarrollado diversas implementaciones del algoritmo.
El modelo de interaccion(campo de fuerzas) es la principal diferencia entre los distintos paquetes de software para simulaciones de dinamica molecular.
Este campo de fuerzas esta parametrizado especificamente para el tipo de sistema que se intenta simular, de forma que se ajuste lo mejor posible a la realidad. De esta forma, existen versiones especificas para simular sistemas biologicos (proteinas, acidos nucleicos), otros que intentan abarcar a sistemas de quimica organica en general, etc.
Ademas de estas diferencias, existen distintas aproximaciones para evaluar las interacciones que apuntan a optimizar el costo computacional asociado al calculo. Algunas implementaciones permiten definir un potencial de solvente implicito, ...... (referencia : Born solvation model [V. Tsui & D.A. Case, Biopolymers (Nucl. Acid. Sci.) 56, 275-291 (2001)].)
Otra optimizacion posible es para el calculo del potencial de interaccion electrostatico : PME. Este es importante ya que permite simplificar el calculo del aporte electroestatico el cual, al ser un potencial de no-union, implica una gran cantidad de calculos.
Como se menciono antes, el potencial de L-J es uno de los componentes que se encuentra en la mayoria los campos de fuerza existentes, por lo que optimizar el calculo de este tendria una gran ventaja. Ademas, al ser una interaccion de no union, existe, al menos debilmente, entre todos los pares de particulas del sistema, lo que implica una gran cantidad de calculos por paso. El calculo de potenciales de no union representa asi la mayor parte del costo computacional asociado a la simulacion, existen algunas optimizaciones para el calculo del aporte electroestatico pero no para el componente de L-J de manera que este genera un cuello de botella en las mejoras del tiempo de ejecucion.
///////////////****************************////////////////////////////////////
///////////////****************************////////////////////////////////////
///////////////****************************////////////////////////////////////
CAPITULO 2 - Arquitectura
***LO MINIMO INDISPENSABLE PARA QUE SE ENTIENDA*****
///////////////****************************////////////////////////////////////
///////////////****************************////////////////////////////////////
///////////////****************************////////////////////////////////////
*******************************
*******************************
CAPITULO 3 - ALGORITMOS
*******************************
*******************************
PRIMERO HAY UNA PARTE GENERAL DE ´INTRODUCCION´: EN ESTA PARTE TENGO QUE ACLARAR BIEN LOS FUNDAMENTOS DE LA MODIFICACION
-EN PRIMER LUGAR TENGO QUE EXPLICAR QUE ES LO QUE YA EXISTE EN CUANTO A IMPLEMENTACIONES DE DINAMICA MOLECULAR (AMBER GPU, ETC). P
PUEDO ARRANCAR ´ASUMIENDO´ QUE LA IMPLEMENTACION SECUENCIAL ES CASI OBVIA Y DIRECTA A PARTIR DE LA ESPECIFICACION QUE SE DIO EN LA INTRODUCCION.
VOY PLANTEANDO TODAS LAS OPTIMIZACIONES QUE SE FUERON HICIENDO(APROVECHANDO AVANCES EN LAS ARQUITECTURAS/MODELOS DE COMPUTO). EN LA INTRODUCCION YA HABLE DE OPTIMIZACIONES REFERIDAS AL METODO EN SI MISMO Y TERMINE DICIENDO QUE LA PARTE DE L-J ES LA QUE MAS CUESTA Y LA QUE MENOS OPTIMIZACIONES TIENE.
-DESPUES EXPLICO POR QUE SE PUEDE PENSAR QUE USANDO LA GPU (Y ASUMIENDO LA IMPLEMENTACION SOBRE GPU COMO BASE) PUEDO USAR UNA TABLA PARA BUSCAR LOS RESULTADOS DE LA FUNCION (POTENCIAL L-J). ACA PUEDO DECIR QUE LA TABLA PUEDE SER IMPLEMENTADA EN CUALQUIER SISTEMA DE MEMORIA. ES DEICR, SI BIEN SE PUEDE IMPLEMENTAR SOBRE CPU ESTA SOLUCION (Y DE HECHO LO HICE) USAMOS LA GPU POR LA MEMORIA DE TEXTURA Y POR SER HOY EN DIA UN ESTANDAR EN LO QUE RESPECTA A DINAMICA MOLECULAR
DESPUES DE LA INTRODUCCION ARMO UNA SECCION (3.1, 3.2, etc) PARA CADA UNA DE LAS VARIANTES. AHI DETALLO CADA VARIANTE:
SOLO ARMO 3 SECCIONES: EL ALGORITMO BASE DONDE EXPLICO TODO, EL ALGORITMO QUE USA UNA TABLA CON EL POTENCIAL, Y EL ALGORITMO QUE USA UNA TABLA CON EL VALOR DE LAS DERIVADAS.
DESCRIBO LOS ALGORITMOS IMPLEMENTADOS, AGREGANDO CUALQUIER DETALLE QUE HAGA FALTA (QUE NO ESTE EN LA INTRODUCCION DE DINAMICA MOL.).
LA PARTE DE PERIODICIDAD LA EXPLICO ACA???
***ESTE PRIMER PARRAFO QUE DICE QUE LAS IMPLEMENTACIONES SOBRE GPU SON UN ESTANDAR ....*****LO SAQUE DE LA PARTE DE OBJETIVOS**
A partir de la descripción del método presentada en el capitulo 1 se puede llegar a una implementacion secuencial en forma casi directa. Este tipo de versiones son las que se utilizaron inicialmente para realizar las simulaciones.
La utilidad que ha mostrado esta técnica desde sus inicios y la posibilidad que ofrece para nuevas aplicaciones hizo que se desarrollen diversas implementaciones para aprovechar los nuevos modelos de computo disponibles, los cuales han avanzado considerablemente teniendo en cuenta que la tecnica fue creada hace ya un largo tiempo.
Entre los nuevos algoritmos, una gran cantidad se ha enfocado en explotar las caracteristicas intrinsecamente paralelas del metodo. En los ultimos años, con avance de las arquitecturas de GPU y su utilizacion para computo de proposito general, estos algoritmos han sido portados para adaptarse a las caracteristicas propias de GPGPU.
De las versiones mencionadas en el capitulo 1, gran parte de ellas han sido portadas para poder ejecutarse sobre estas arquitecturas. (referencias amberGPU?? gromacs gpu??).
En el capitulo anterior se mostraron las ventajas que brinda el metodo de GPGPU para aplicaciones altamente paralelizables. De la misma forma, la implementacion del metodo de dinamica molecular sobre esta arquitectura resulta en un aumento muy importante en la performance en forma casi directa. Además de las mejoras en la performance, el bajo costo del hardware en relacion a su poder de computo que provee la arquitectura hace que estas implementaciones sean un estandar de uso en el area.
De esta forma, hoy en dia se puede encontrar una gran variedad de software para simulaciones de dinamica molecular implementado sobre GPU. A pesar de la gran cantidad de modificaciones que se han agregado y la evolucion en el hardware existente, se sigue dedicando un gran esfuerzo para continuar optimizando el algoritmo con el fin de poder simular nuevos procesos y sistemas de interes que requieren una mayor cantidad de calculos.
Si se analizan las implementaciones que se utilizan actualmente, se puede ver que la mayor parte del costo computacional del metodo se mantiene asociado al calculo de las interacciones de no-union(entre particulas que no forman enlaces quimicos entre si), el cual esta representado principalmente por el potencial de L-J. Este calculo tiene una complejidad de orden N2 sobre el numero de particulas del sistema....
En el capitulo 1 se describio una aproximacion muy utilizada para intentar reducir la cantidad de calculos necesarios, la cual consiste en despreciar las interacciones entre particulas que se encuentren a mayor distancia que cierto valor de cutoff. Esta aproximacion esta basada en las propiedades de la funcion que describe el potencial de L-J. Incluso ajustando el valor de cutoff a valores suficientemente chicos, el costo que implica este paso representa la mayor parte de los requerimiento......Por esta razon, una gran parte de los esfuerzos se centran en optimizar esta etapa.
****HASTA ACA YA DEFINI QUE LAS IMPLEMENTACIONES SOBRE GPU SON EL ESTANDAR HOY EN DIA, Y QUE SE HA OPTIMIZADO POCO DEL CALCULO DEL POTENCIAL DE LENNARD-JONES PERO SI DE OTROS ASPECTOS, INCLUSO SE HA OPTIMIZADO EL CALCULO DE LAS INTERACCIONES ELECTROSTATICAS***
****AHORA EXPLICO CUALES SON LAS CARACTERISTICAS DE LA FUNCION DE L-J QUE HACEN QUE PUEDA SER TABULADO Y DAR UNA BUENA APROXIMACION
DESPUES EXPLICO QUE LAS CARACTERISTICAS DE LA MEMORIA DE TEXTURA ENCAJAN JUSTO PARA IMPLEMENTAR LA TABLA Y LA BUSQUEDA EFICIENTE DEL RESULTADO ASOCIADO***
Como se puede apreciar a partir de la descripcion de este potencial en el capitulo 1, la forma funcional que lo describe se caracteriza por tener un rango de distancias donde el resultado crece(o decrece) exponencialmente, y un punto a partir del cual converge y el valor asociado a la interaccion se hace despreciable.
Basandose en estas caracteristicas es razonable pensar que, utilizando una tabla conteniendo los resultados para un rango de valores definido y, aun sin tener ésta un tamaño excesivo, se podria obtener una buena aproximacion del resultado para cualquier distancia.
****ACA PONGO LAS CARACTERISTICAS QUE OFRECE LA GPU Y QUE PUEDEN SER USADAS APROVECHANDO QUE HOY EN DIA LA MAYORIA DEL SOFT. ESTA IMPLEMENTADO SOBRE GPU*****
Para implementar este mecanismo hay varias propiedades del sistema de memoria que se puede usar y que se deben analizar......................................................
****ALGO MAS ANTES DE TERMINAR***
Se debe tener en cuenta que, aún cuando sea posible realizar una buena aproximacion utilizando tablas, el algoritmo de dinamica molecular implica utilizar este valor para obtener las fuerzas y movimientos resultantes de la interaccion, lo cual afecta la posicion (y por lo tanto el valor del potencial asociado) en la proxima iteracion. De esta forma, los errores resultantes de la aproximacion por utilizar tablas de valores seran propagados a lo largo de una simulacion que involucra miles de pasos.....
****TERMINO CON****
Asi, en este trabajo se estudiarán distintas formas de utilizar el sistema de memoria de la gpu para realizar el calculo del potencial de Lennard Jones, analizando su utilizacion en el contexto del método de dinamica molecular. Dado que el calculo de este potencial representa la mayor parte del costo asociado a la simulacion, se espera obtener una mejora considerable en el tiempo de ejecución con respecto al algoritmo estandar sobre GPU, el cual resuelve la ecuacion de L-J para cada interaccion a evaluar.
************************************
ACA TERMINA LA ´INTRODUCCION´ DEL CAPITULO Y PASO DIRECTAMENTE A LA PRIMERA IMPLEMENTACION QUE HICE (LA IMPLEMENTACION BASE SOBRE GPU)
****************************************
**********************************
EN ESTAS SECCIONES DEBERIA HACER UNA DESCRIPCION GENERAL DE LOS 3 ESQUEMAS QUE DESARROLLO(DESPUES CADA UNO PUEDE LLEVAR A 1 O MAS IMPLEMENTACIONES Y VARIANTES).
-EN EL ALGORITMO QUE USA LA TABLA DEL POTENCIAL SIMPLEMENTE PONGO QUE USO UNA TABLA DONDE POR CADA VALOR DE DISTANCIA TENGO ASOCIADO UN VALOR, QUE A PARTIR DE AHI TENGO QUE AGARRAR 2 VALORES DE LA TABLA PARA PODER OBTENER LA DERIVADA, PUEDO AGREGAR QUE LA VENTAJA DE TENER TABULADO EL VALOR DEL POTENCIAL ES QUE SI QUIERO CALCULAR EL POTENCIAL TOTAL SOLO TENGO QUE LEER 1 DATO DE LA TABLA....BLA BLA.....NO MUCHO MAS.
-EN LA OTRA VERSION, DONDE TENGO TABULADA LA DERIVADA, TENGO QUE EXPLICAR PRIMERO POR QUE NECESITO LA DERIVADA (SUPUESTAMENTE ESTO YA TIENE QUE ESTAR BASTANTE CLARO),
3.1 Algoritmo base sobre GPU
***PUEDO ARRANCAR DE UNA EXPLICANDO EL ALGORITMO Y DESPUES COMENTO LA VENTAJA DE TENER ESTA IMPLEMENTACION ****
El algoritmo inicial sigue la especificacion que se detallo en el capitulo 1....
Dado que el aporte al campo de fuerzas que nos interesa es el correspondiente al potencial de L-J (potencial de no union), este es el unico aporte que se va a considerar. De esta forma, el sistema evoluciona en el tiempo a partir de las velocidades iniciales de las particulas y las fuerzas que se derivan de este potencial, unicamente. Si bien este modelo (considerando solo la interaccion de L-J) no es de utilidad para simular sistemas biologicos de interes (donde existen diversos enlaces entre los elementos), en este caso
Si bien el codigo aqui implementado ya está implementado como parte de distintos paquetes de software de dinamica molecular, el objetivo de realizar un algoritmo independiente, donde la evolucion temporal ocurra unicamente en base al potencial de L-J
Dado que el trabajo se centra puntualmente en modificar la forma en que se calcula el potencial de L-J, el primer paso consiste en implementar un algoritmo de dinamica molecular que utilice exclusivamente un
Dentro de las multiples versiones del algoritmo que poseen implementaciones sobre GPU, gran parte implementa optimizaciones orientadas a mejorar el rendimiento basadas en las propiedades del sistema a simular . Por ej. variaciones en la forma de representar las interacciones con el solvente, ....
Dado que en este trabajo apuntamos a optimizar el calculo del potencial de interaccion de L-J, en primer lugar se realiza una implementacion propia del algoritmo de Dinamica molecular sobre GPU que utiliza exclusivamente un potencial de interaccion de L-J.
El objetivo de esto es, en primer lugar, facilitar la implementacion de esta modificacion/optimizacion en el algoritmo, y en segundo lugar probar las propiedades de esta variante de forma independiente a cualquier otra implementacion existente sobre GPU.
Utilizando una implementacion propia se puede evaluar, de forma aislada, las ventajas y desventajas del uso de una tabla numerica. De esta forma se puede verificar facilmente que las variaciones en el tiempo y en la precision de los resultados son producto exclusivo de las modificaciones implementadas en cada paso.
Idealmente, las ventajas resultantes de este trabajo se sumaran a las caracteristicas de cualquier implementacion existente.
****describo brevemente el algoritmo*****
*****ACA METO LO DE PERIODICIDAD???***
**PUEDO EXPLICAR EN FORMA ABSTRACTA CUAL ES LA IDEA DE LA PERIODICIDAD, MASOMENOS QUE TENGO QUE TENER EN CUENTA A LA HORA DE IMPLEMENTARLO EN EL ALGORITMO, EL RESTO LO EXPLICO EN LA PARTE DE IMPLEMENTACION***
3.2 ........
///////////////****************************////////////////////////////////////
///////////////****************************////////////////////////////////////
///////////////****************************////////////////////////////////////
4 - Implementaciones
Aca describo el kernel y aspectos relevantes de las versiones implementadas:
-que variables tengo que tener en cuenta en las implementaciones(por ej. el tamaño de la tabla,el rango, etc)
-que resultados espero!!!!
-como afecta la periodicidad. la describo aca o en el capitulo anterior??
-la granularidad
///////////////****************************////////////////////////////////////
///////////////****************************////////////////////////////////////
///////////////****************************////////////////////////////////////
5 - Resultados
EN ESTE CAPITULO DESCRIBO LAS PRUEBAS, MUESTRO LOS RESULTADOS Y ANALIZO LOS DATOS EN BASE A LO QUE DESCRIBI EN EL CAPITULO ANTERIOR QUE HABIA QUE TENER EN CUENTA, QUE SE ESPERABA, ETC
Conclusiones