Detalle del congreso

Autores: Rodrigo Baravalle.

Resumen: En este trabajo queremos transmitir nuestras primeras experiencias utilizando dos métodos para acelerar código en Python: Cython y PyOpenCL. Cython propone la definición de tipos en las variables del código Python, ayudando a hacer una transcripción a código C optimizado. PyOpenCL es una herramienta que permite comunicarse con OpenCL, librería que explota el paralelismo de las placas gráficas. Si bien es cierto que PyOpenCL permite, en general, mayor aceleración que Cython, también es cierto que en determinados casos, el traspaso de memoria a la GPU es costoso y puede impactar negativamente en la performance. Por este motivo, en nuestro trabajo mostramos ejemplos de utilización combinada de Cython y PyOpenCL. Mostramos el caso de una aplicación escrita en Python simulando el modelado procedimental de geometrías de migas de pan, las cuales se representan en un campo escalar representado por una matriz 3D de dimensiones considerables. El programa consiste en dos etapas: 1) definición de la deformación por parte del usuario, 2) utilización de los puntos de control para la deformación de un volumen, El usuario interactúa definiendo puntos de control sobre un plano. Estos puntos de control deforman una imagen de manera interactiva, permitiendo observar cómo será deformado el volumen. La deformación de la imagen por medio de puntos de control se computa en tiempo interactivo gracias a la utilización de ambos métodos.

Tipo de reunión: Conferencia.

Producción: Experiencias con Cython y PyOpenCL.

Reunión científica: SciPyConAr 2014, Conferencia de Python en la Ciencia.

Lugar: Bahía Blanca.

Institución organizadora: Departamento de Ingeniería Eléctrica y Computadoras de la Universidad Nacional del Sur.

Publicado: No

Mes de reunión: 10

Año: 2014.