PDF de programación - Programación Paralela y Computación de Altas Prestaciones

Imágen de pdf Programación Paralela y Computación de Altas Prestaciones

Programación Paralela y Computación de Altas Prestacionesgráfica de visualizaciones

Publicado el 30 de Julio del 2018
682 visualizaciones desde el 30 de Julio del 2018
954,7 KB
15 paginas
Creado hace 7a (26/10/2016)
https://www.flickr.com/photos/125992663@N02/14597682251/

Programación Paralela y Computación de Altas
Prestaciones
Departamento de Informática y Sistemas

Control de Plataformas de Stewart y programación en
Raspberry Pi

Murcia, Octubre 2016

Agenda

1. Motivación

2. Conceptos matemáticos

3. Descripción del problema

4. Metodología

5. Raspberry Pi

6. Otras opciones de paralelismo con Pi



3
4

6

8

(1 diap.)
(2 diap.)



(2 diap.)



(3 diap.)

11



(3 diap.)

14



(1 diap.)



2

Motivación

• Se ha identificado un problema en robótica que requiere un alto

coste computacional para su resolución

• En concreto se trata de modelar una Plataforma de Stewart (un

tipo de robot manipulador paralelo)

• Se controlan los 6 grados de libertad, tres de posición (x y z) y

tres de orientación (θ ψ ϕ), de una parte del mecanismo, en
concreto el terminal

• Se usan en la simulación de sistemas

mecánicos, como por ejemplo:

o Barcos
o Aviones
o Helicópteros

3

Conceptos matemáticos utilizados

• Imprescindibles: el álgebra lineal y los sistemas de coordenadas

espaciales, y sus transformaciones

• Se debe poder:

o Expresar la situación de los cuerpos del robot, los unos

respecto a los otros

o Especificar la situación que debe tomar el sistema de

coordenadas del terminal, así como su velocidad

• Cinemática directa e inversa:

modelos matemáticos para
calcular la relación entre la
posición de los actuadores y
el elemento final, y viceversa

4

Conceptos matemáticos utilizados

• Ej. Cinemática directa:



• Todas las coordenadas son referenciadas respecto a la base
• La configuración mecánica (actuadores y bielas) determina:

o Las ecuaciones de traslación y rotación
o Las ecuaciones de restricción (p.e. posiciones máximas

alcanzables según la longitud de los elementos)

o Que pueden aportar soluciones múltiples, Ej:

5

Descripción del problema

• Se deben resolver los sistemas de ecuaciones planteadas
• Nuestro robot está formado por 6 brazos, cada uno con un
actuador rotativo y una biela. Empleando notación matricial:

o Las ecuaciones del terminal se pueden expresar como

matrices de 12x12

o Las ecuaciones de las manivelas se pueden expresar como

matrices de 18x18

• Se usa un método iterativo obteniendo pequeños Δ que se

suman a la posición actual, hasta obtener un error menor a un
valor prefijado. El caso de no convergencia es controlado por
un tiempo límite de ejecución

• Primero se calcula el terminal, y luego los brazos, que no

tienen dependencia entre ellos  PARALELIZACION

6

Descripción del problema

7

Metodología

• La UPCT de Cartagena nos entrega la versión secuencial del
programa de control del robot en Intel© Fortran, desarrollado
con Microsoft© Visual Studio, usando la librería MKL (Lapack)
• Analizamos la estructura del código fuente e identificamos las

rutinas de cálculo y las funciones de álgebra matricial: DGETRF
(factorización LU) y DGETRS (resolución de sistemas)

• Desarrollamos un simulador que contiene la misma carga de

computación que el original, pero le añadimos la opción de:

o Tomar tiempos de ejecución
o Parametrizar el tamaño del problema: dimensión de las
matrices, número de grupos estructurales y número de
iteraciones

o Poderse ejecutar en secuencial o en paralelo, para

comparativas

8

Metodología

Los datos de los grupos estructurales se almacenan en arrays
indexados por número de grupo  podemos abordar paralelismo en
memoria compartida

Ejemplo OpenMP de llamadas al cálculo de cada brazo o grupo
estructural:

9

Metodología

10

Raspberry Pi

11

Raspberry Pi

• El sistema operativo usado en las pruebas ha sido Raspbian, una

versión de Linux basada en Debian y optimizada para el
hardware de las Pi

• La portabilidad del código fuente desde Intel© Fortran en

Windows© hacia GNU Fortran sobre Raspbian supuso los
siguientes cambios:

o Incluir el parámetro -std=legacy para asegurar la

compatibilidad de algunas funciones

o Prescindir del uso de la librería MKL ya que no es posible

instalar el SDK de Intel©. En su lugar instalaremos la
liblapack-dev

o Reemplazar la función QueryPerformanceCounter (propietaria de

Windows©) por una librería desarrollado en C para la toma
de tiempos de ejecución

GNU Fortran soporta OpenMP desde la versión 4.9

12

Raspberry Pi

Escenario de test:
• Número de ejecuciones: 300 iteraciones
• Bucle secundario (simulando la búsqueda de un error por debajo de una

tolerancia prefijada): 20 iteraciones
• Variando tamaños de las matrices

13

Otras opciones de paralelismo con Pi

Cluster MPI

https://www.lab7.io/rpi-cluster-1/

14

http://pixabay.com/es/pregunta-signo-de-interrogaci%C3%B3n-298479/

15
  • Links de descarga
http://lwp-l.com/pdf12805

Comentarios de: Programación Paralela y Computación de Altas Prestaciones (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad