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 2011la misma como por rendimiento, a cambio <strong>de</strong> un pequeñoe inevitable overhead inherente a la naturalezainterpretada <strong>de</strong> Python y al uso <strong>de</strong> wrappers. Decualquier forma, ese incremento en tiempo es lo suficientemente<strong>de</strong>spreciable para que se pueda ignorarsin temor, máxime si se tiene en cuenta el hecho <strong>de</strong>que a mayor tamaño <strong>de</strong>l problema, más imperceptiblese torna dicha carga <strong>de</strong> trabajo adicional. Por último,pero no por ello menos importante, los autores<strong>de</strong>sean recalcar que la curva <strong>de</strong> aprendizaje necesariapara po<strong>de</strong>r manejarse en este entorno con ciertasolvencia es consi<strong>de</strong>rablemente más suave que laque conlleva el entorno tradicional <strong>de</strong> programación<strong>de</strong> CUDA bajo C/C++, lo cual consi<strong>de</strong>ran un argumento<strong>de</strong> suma importancia para atraer usuariospotenciales, ya sean académicos <strong>de</strong> nueva hornadao investigadores asentados que tienen necesidad <strong>de</strong>cálculo masivo paralelo y que utilizan para ello aplicaciones<strong>de</strong>sarrolladas hace años en lenguajes comoFORTRAN cuyo mantenimiento se hace cada vezmás inviable. En <strong>de</strong>finitiva, si se tiene intención <strong>de</strong>migrar estas aplicaciones, Python y PyCUDA conformanuna alternativa perfectamente capaz.Fig. 6. Fases <strong>de</strong>l algoritmo <strong>de</strong> <strong>de</strong>tección <strong>de</strong> movimientoimagen <strong>de</strong> la figura 6.Por último, queda realizar el fundido en el canalR <strong>de</strong> la imagen original con la imagen resultante <strong>de</strong>aplicar el filtro <strong>de</strong> erosión. Este fundido no es más queuna suma <strong>de</strong> píxel a píxel, obteniendo así el resultadofinal <strong>de</strong> la figura 6.VI. ConclusionesComo se ha podido observar, implementar la resolución<strong>de</strong> problemas relativamente complejos noes especialmente costoso en tiempo con lenguajesdinámicos como Python. Si a eso se le aña<strong>de</strong> la posibilidad<strong>de</strong> utilizar todo el potencial <strong>de</strong> cómputo paraleloque ofrece CUDA a través <strong>de</strong> wrappers comoPyCUDA, el resultado es una herramienta muy potenteque pue<strong>de</strong> satisfacer las necesida<strong>de</strong>s <strong>de</strong> investigadoresy científicos en general tanto por madurez <strong>de</strong>Referencias[1] Andreas Klöckner, Nicolas Pinto, Yunsup Lee, Bryan C.Catanzaro, Paul Ivanov, and Ahmed Fasih, ``Pycuda:Gpu run-time co<strong>de</strong> generation for high-performance computing,''CoRR, vol. abs/0911.3456, 2009.[2] Khronos Group, ``OpenCL - The open standard for parallelprogramming of heterogeneous systems,'' 2011.[3] NVIDIA Corp., ``What is CUDA - NVIDIA DeveloperZone,'' 2011.[4] NVIDIA Corp., ``NVIDIA CUDA C Best PracticesGui<strong>de</strong>,'' 2010.[5] Victor Podlozhnyuk (NVIDIA Corp.), ``Image Convolutionwith CUDA,'' 2007.[6] Derek An<strong>de</strong>rson, ``PyCUBLAS - EasyPython/NumPy/CUDA/CUBLAS Integration,'' 2009.[7] Liu Jiayin, Wang Chuang, and Jae Ho Kim, ``Camera motion<strong>de</strong>tection for conversation scenes in movies,'' in Proceedingsof the 2010 International Conference on Computationaland Information Sciences, Washington, DC, USA,2010, ICCIS '10, pp. 725--728, IEEE Computer Society.[8] Zhiyi Yang, Yating Zhu, and Yong Pu, ``Parallel imageprocessing based on cuda,'' in CSSE (3). 2008, pp. 198--201, IEEE Computer Society.[9] Andrew Kirillov, ``Motion <strong>de</strong>tection algorithms,'' 2007.<strong>JP2011</strong>-334

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

Saved successfully!

Ooh no, something went wrong!