929 resultados para programación paralela


Relevância:

60.00% 60.00%

Publicador:

Resumo:

Duración (en horas): Más de 50 horas. Destinatario: Estudiante y Docente

Relevância:

60.00% 60.00%

Publicador:

Resumo:

El desarrollo de algoritmos ensambladores de genes y la utilización de estos está viviendo un aumento muy espectacular en los últimos años. Debido a las mejoras ofrecidas en los dispositivos hardware de los numerosos supercomputadores que existen hoy en día se pueden realizar experimentos científicos de una manera más asequible que hace unos años. Este proyecto servirá como introducción en el complejo mundo de algoritmos científicos, más concretamente en algoritmos ensambladores de genomas. Veremos de primera mano cómo utilizar estas nuevas tecnologías, con ejemplos sencillos, pero con un desarrollo lo bastante importante para darnos una idea del funcionamiento de todas las fases de experimentación que engloban los algoritmos ensambladores y la utilización de la programación paralela en supercomputadores. Concretamente en este proyecto se van a analizar exhaustivamente una serie de algoritmos ensambladores que serán probados en uno de los supercomputadores más potentes de España, el Magerit 2. En estas pruebas vamos a proceder al ensamblado de genomas de tres tipos de organismos como bacterias (Staphylococcus Aureus, y Rhodobacter Sphaeroides) y una prueba gran escala con el genoma del Cromosoma 14 del Homo Sapiens Sapiens (Ser humano). Después procederemos a la comparación de todos los resultados obtenidos para poder comprobar que algoritmos realizan mejor su trabajo y ajustar dicha decisión a las necesidades que tenemos actualmente para buscar un algoritmo eficaz.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

En el presente documento se hablará acerca del desarrollo de un proyecto para la mejora de un programa de análisis de señales; con ese fin, se hará uso de técnicas de optimización del software y de tecnologías de aceleración, mediante el aprovechamiento del paralelismo del programa. Además se hará un análisis de acerca del uso de dos tecnologías basadas en diferentes paradigmas de programación paralela; una mediante múltiples hilos con memoria compartida y la otra mediante el uso de GPUs como dispositivos de coprocesamiento. This paper will talk about the development of a Project to improve a program that does signals analysis; to that end, it will make use of software optimization techniques and acceleration technologies by exploiting parallelism in the program. In Addition will be done an analysis on the use of two technologies based on two different paradigms; one using multiple threads with shared memory and the other using GPU as co-processing devices.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

A raíz de la aparición de los procesadores dotados de varios “cores”, la programación paralela, un concepto que, por otra parte no era nada nuevo y se conocía desde hace décadas, sufrió un nuevo impulso, pues se creía que se podía superar el techo tecnológico que había estado limitando el rendimiento de esta programación durante años. Este impulso se ha ido manteniendo hasta la actualidad, movido por la necesidad de sistemas cada vez más potentes y gracias al abaratamiento de los costes de fabricación. Esta tendencia ha motivado la aparición de nuevo software y lenguajes con componentes orientados precisamente al campo de la programación paralela. Este es el caso del lenguaje Go, desarrollado por Google y lanzado en 2009. Este lenguaje se basa en modelos de concurrencia que lo hacen muy adecuados para abordar desarrollos de naturaleza paralela. Sin embargo, la programación paralela es un campo complejo y heterogéneo, y los programadores son reticentes a utilizar herramientas nuevas, en beneficio de aquellas que ya conocen y les son familiares. Un buen ejemplo son aquellas implementaciones de lenguajes conocidos, pero orientadas a programación paralela, y que siguen las directrices de un estándar ampliamente reconocido y aceptado. Este es el caso del estándar OpenMP, un Interfaz de Programación de Aplicaciones (API) flexible, portable y escalable, orientado a la programación paralela multiproceso en arquitecturas multi-core o multinucleo. Dicho estándar posee actualmente implementaciones en los lenguajes C, C++ y Fortran. Este proyecto nace como un intento de aunar ambos conceptos: un lenguaje emergente con interesantes posibilidades en el campo de la programación paralela, y un estándar reputado y ampliamente extendido, con el que los programadores se encuentran familiarizados. El objetivo principal es el desarrollo de un conjunto de librerías del sistema (que engloben directivas de compilación o pragmas, librerías de ejecución y variables de entorno), soportadas por las características y los modelos de concurrencia propios de Go; y que añadan funcionalidades propias del estándar OpenMP. La idea es añadir funcionalidades que permitan programar en lenguaje Go utilizando la sintaxis que OpenMP proporciona para otros lenguajes, como Fortan y C/C++ (concretamente, similar a esta última), y, de esta forma, dotar al usuario de Go de herramientas para programar estructuras de procesamiento paralelo de forma sencilla y transparente, de la misma manera que lo haría utilizando C/C++.---ABSTRACT---As a result of the appearance of processors equipped with multiple "cores ", parallel programming, a concept which, moreover, it was not new and it was known for decades, suffered a new impulse, because it was believed they could overcome the technological ceiling had been limiting the performance of this program for years. This impulse has been maintained until today, driven by the need for ever more powerful systems and thanks to the decrease in manufacturing costs. This trend has led to the emergence of new software and languages with components guided specifically to the field of parallel programming. This is the case of Go language, developed by Google and released in 2009. This language is based on concurrency models that make it well suited to tackle developments in parallel nature. However, parallel programming is a complex and heterogeneous field, and developers are reluctant to use new tools to benefit those who already know and are familiar. A good example are those implementations from well-known languages, but parallel programming oriented, and witch follow the guidelines of a standard widely recognized and accepted. This is the case of the OpenMP standard, an application programming interface (API), flexible, portable and scalable, parallel programming oriented, and designed for multi-core architectures. This standard currently has implementations in C, C ++ and Fortran. This project was born as an attempt to combine two concepts: an emerging language, with interesting possibilities in the field of parallel programming, and a reputed and widespread standard, with which programmers are familiar with. The main objective is to develop a set of system libraries (which includes compiler directives or pragmas, runtime libraries and environment variables), supported by the characteristics and concurrency patterns of Go; and that add custom features from the OpenMP standard. The idea is to add features that allow programming in Go language using the syntax OpenMP provides for other languages, like Fortran and C / C ++ (specifically, similar to the latter ), and, in this way, provide Go users with tools for programming parallel structures easily and, in the same way they would using C / C ++.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

En el presente trabajo se propone dar solución a uno de los problemas principales surgido en el campo del análisis de imágenes hiperespectrales. En las últimas décadas este campo está siendo muy activo, por lo que es de vital importancia tratar su problema principal: mezcla espectral. Muchos algoritmos han tratado de solucionar este problema, pero que a través de este trabajo se propone una cadena nueva de desmezclado en paralelo, para ser acelerados bajo el paradigma de programación paralela de OpenCl. Este paradigma nos aporta el modelo de programación unificada para acelerar algoritmos en sistemas heterogéneos. Podemos dividir el proceso de desmezclado espectral en tres etapas. La primera tiene la tarea de encontrar el número de píxeles puros, llamaremos endmembers a los píxeles formados por una única firma espectral, utilizaremos el algoritmo conocido como Geometry-based Estimation of number of endmembers, GENE. La segunda etapa se encarga de identificar los píxel endmembers y extraerlos junto con todas sus bandas espectrales, para esta etapa se utilizará el algoritmo conocido por Simplex Growing Algorithm, SGA. En la última etapa se crean los mapas de abundancia para cada uno de los endmembers encontrados, de esta etapa será encargado el algoritmo conocido por, Sum-to-one Constrained Linear Spectral Unmixing, SCLSU. Las plataformas utilizadas en este proyecto han sido tres: CPU, Intel Xeon E5-2695 v3, GPU, NVidia GeForce GTX 980, Acelerador, Intel Xeon Phi 31S1P. La idea de este proyecto se basa en realizar un análisis exhaustivo de los resultados obtenidos en las diferentes plataformas, con el fin de evaluar cuál se ajusta mejor a nuestras necesidades.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

El avance en la potencia de cómputo en nuestros días viene dado por la paralelización del procesamiento, dadas las características que disponen las nuevas arquitecturas de hardware. Utilizar convenientemente este hardware impacta en la aceleración de los algoritmos en ejecución (programas). Sin embargo, convertir de forma adecuada el algoritmo en su forma paralela es complejo, y a su vez, esta forma, es específica para cada tipo de hardware paralelo. En la actualidad los procesadores de uso general más comunes son los multicore, procesadores paralelos, también denominados Symmetric Multi-Processors (SMP). Hoy en día es difícil hallar un procesador para computadoras de escritorio que no tengan algún tipo de paralelismo del caracterizado por los SMP, siendo la tendencia de desarrollo, que cada día nos encontremos con procesadores con mayor numero de cores disponibles. Por otro lado, los dispositivos de procesamiento de video (Graphics Processor Units - GPU), a su vez, han ido desarrollando su potencia de cómputo por medio de disponer de múltiples unidades de procesamiento dentro de su composición electrónica, a tal punto que en la actualidad no es difícil encontrar placas de GPU con capacidad de 200 a 400 hilos de procesamiento paralelo. Estos procesadores son muy veloces y específicos para la tarea que fueron desarrollados, principalmente el procesamiento de video. Sin embargo, como este tipo de procesadores tiene muchos puntos en común con el procesamiento científico, estos dispositivos han ido reorientándose con el nombre de General Processing Graphics Processor Unit (GPGPU). A diferencia de los procesadores SMP señalados anteriormente, las GPGPU no son de propósito general y tienen sus complicaciones para uso general debido al límite en la cantidad de memoria que cada placa puede disponer y al tipo de procesamiento paralelo que debe realizar para poder ser productiva su utilización. Los dispositivos de lógica programable, FPGA, son dispositivos capaces de realizar grandes cantidades de operaciones en paralelo, por lo que pueden ser usados para la implementación de algoritmos específicos, aprovechando el paralelismo que estas ofrecen. Su inconveniente viene derivado de la complejidad para la programación y el testing del algoritmo instanciado en el dispositivo. Ante esta diversidad de procesadores paralelos, el objetivo de nuestro trabajo está enfocado en analizar las características especificas que cada uno de estos tienen, y su impacto en la estructura de los algoritmos para que su utilización pueda obtener rendimientos de procesamiento acordes al número de recursos utilizados y combinarlos de forma tal que su complementación sea benéfica. Específicamente, partiendo desde las características del hardware, determinar las propiedades que el algoritmo paralelo debe tener para poder ser acelerado. Las características de los algoritmos paralelos determinará a su vez cuál de estos nuevos tipos de hardware son los mas adecuados para su instanciación. En particular serán tenidos en cuenta el nivel de dependencia de datos, la necesidad de realizar sincronizaciones durante el procesamiento paralelo, el tamaño de datos a procesar y la complejidad de la programación paralela en cada tipo de hardware.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Visualization of vector fields plays an important role in research activities nowadays -- Web applications allow a fast, multi-platform and multi-device access to data, which results in the need of optimized applications to be implemented in both high-performance and low-performance devices -- Point trajectory calculation procedures usually perform repeated calculations due to the fact that several points might lie over the same trajectory -- This paper presents a new methodology to calculate point trajectories over highly-dense and uniformly-distributed grid of points in which the trajectories are forced to lie over the points in the grid -- Its advantages rely on a highly parallel computing architecture implementation and in the reduction of the computational effort to calculate the stream paths since unnecessary calculations are avoided, reusing data through iterations -- As case study, the visualization of oceanic currents through in the web platform is presented and analyzed, using WebGL as the parallel computing architecture and the rendering Application Programming Interface

Relevância:

60.00% 60.00%

Publicador:

Resumo:

This paper presents the implementation of a high quality real-time 3D video system intended for 3D videoconferencing -- Basically, the system is able to extract depth information from a pair of images coming from a short-baseline camera setup -- The system is based on the use of a variant of the adaptive support-weight algorithm to be applied on GPU-based architectures -- The reason to do it is to get real-time results without compromising accuracy and also to reduce costs by using commodity hardware -- The complete system runs over the GStreamer multimedia software platform to make it even more flexible -- Moreover, an autoestereoscopic display has been used as the end-up terminal for 3D content visualization

Relevância:

30.00% 30.00%

Publicador:

Resumo:

[ES]El objetivo principal del presente Trabajo Fin de Grado es diseñar un interpolador de trayectorias y programarlo en Labview. Para ello, se ha de analizar primeramente la cinemática del mecanismo a utilizar, un robot de cinemática paralela 5R, y calcular su espacio de trabajo. Después, se deducirán y programarán diversos perfiles de velocidades (trapezoidal de velocidades, trapezoidal de aceleraciones y sinusoidal) para moverse en rectas, así como el movimiento en curvas mediante splines. También se hallarán experimentalmente las características de los motores disponibles y se averiguarán las velocidades máximas que puede alcanzar el mecanismo. Así podremos presentar un software que sirva para generar trayectorias para el robot 5R. Se presentan también, entre otros, el presupuesto del proyecto y los riesgos en los que se puede incurrir. El documento finaliza con unos anexos de planos CAD, resultados y código de programación.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

[ES]El presente Trabajo de Fin de Grado tiene como objetivo contribuir al desarrollo de un proyecto de investigación mediante la programación y control del movimiento de mecanismos de cinemática paralela para la realización de ensayos dinámicos. Dicho proyecto está enmarcado dentro de una línea de investigación del grupo de investigación CompMech de la UPV-­‐EHU que gira en torno al desarrollo y estudio de este tipo de mecanismos. Esto es; este trabajo, más allá de la utilidad que pudiera tener por sí mismo, está pensado para formar parte de un proyecto de mayor envergadura, para cuyo éxito será imprescindible la colaboración con otros investigadores y la integración de este trabajo con los realizados por ellos. Consiste en la creación de un software para el control y movimiento de mecanismos, generando vibraciones para la realización de ensayos dinámicos. Para ello, se programarán sobre la plataforma LabVIEW la interfaz de usuario y el motor de cálculo. Una vez se compruebe que el programa funciona correctamente, se integrará dentro de un programa principal, un control articular que será el encargado de comunicarse con la máquina. Posteriormente, se procederá a la realización de ensayos experimentales sobre los propios robots, en taller. Se tomarán medidas mediante acelerómetros y otros dispositivos, determinando las medidas más adecuadas para su correcta validación. Finalmente, se generalizará el trabajo realizado para posibilitar su empleo futuro en diferentes mecanismos

Relevância:

30.00% 30.00%

Publicador:

Resumo:

Comprobar si la enseñanza programada es un método eficaz para la enseñanza de la Geografía en particular, y de las Ciencias Sociales en general, en sexto de EGB. Se compone de 56 alumnos de sexto de EGB pertenecientes al Colegio Nacional Ramón Laporta de Quart de Poblet, Valencia. Se forman dos grupos de 28 alumnos: grupo control que sigue el método programado y grupo paralelo que sigue el método tradicional. Para verificar la hipótesis se contraponen la enseñanza tradicional y la programada, basada en el método lineal de Skinner. Tras un control inicial en ambos grupos, se aplican los distintos métodos, pasándose al finalizar estos un nuevo control con el fin de medir los conocimientos adquiridos. Al cabo de un mes se pasa una nueva prueba para evaluar los conocimientos que perduran. Cuestionario de conocimientos geográficos, de 60 ítems de elección múltiple. Encuesta a los alumnos que siguieron la enseñanza programada sobre la experiencia. Validez y fiabilidad del cuestionario según los métodos Spearman-Brown y Hoyt. Prueba T de significación entre los distintos pases análisis comparativo. El resultado obtenido con la prueba de significación entre ambos métodos es de 7'69 por ciento, lo que demuestra que la cantidad de materia aprendida es significativamente diferente. Los resultados entre el segundo y tercer pase del cuestionario fueron de 4'04 por ciento en la clase paralela y de 6'42 por ciento en la clase piloto, lo que demuestra que la enseñanza programada permite recordar la materia durante más tiempo. De la encuesta se desprende que el 90 por ciento prefieren las cuestiones breves tal y como son planteadas por la enseñanza programada, produciendo una respuesta positiva en los alumnos. Así pues, la enseñanza programada permite aprender mayor cantidad de materia, utilizando el mismo tiempo que la enseñanza tradicional, permite recordar la materia asimilada durante más tiempo, se adapta mejor a la fisonomía individual de cada sujeto, etc..

Relevância:

20.00% 20.00%

Publicador:

Resumo:

[ES] Proponemos un modelo de programación por metas para la estimación del plan de producción (case-mix) que debe reflejarse en el Contrato–Programa que suscriben anualmente los Hospitales Públicos y la Administración. Las variables de decisión son los volúmenes de actividad de cada servicio médico del hospital y los atributos son los indicadores básicos que se manejan al elaborar el Contrato-Programa: fi nanciación, número de altas, estancia media y peso de complejidad. Para resolver nuestro modelo empleamos la herramienta SOLVER de la hoja de cálculo EXCEL. La utilización de esta herramienta permite simular varios escenarios de una manera ágil, lo que es de gran ayuda para el estudio y discusión de las cantidades a contratar entre el Hospital y la Administración. El artículo finaliza con una breve presentación de los resultados obtenidos al aplicar nuestro modelo a un hospital de tamaño medio (118 camas) del Servicio Vasco de Salud.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

En este proyecto final de carrera se van a tratar los aspectos referentes a la ampliación de robots. Para ello se utilizará una placa Arduino que se comunicará con el robot por puerto serie. Esta placa, servirá de plataforma de comunicación entre un PC y el robot, ofreciendo una interfaz del robot anterior con la capacidad de ampliación de la placa Arduino. En el transcurso del proyecto se ha realizado una capa intermedia de código C++ que gestiona el uso de la placa Arduino y del robot iRobot Create a través de la misma. Con objeto de dar también soporte a la programación del robot iRobot Create, se ha elegido un simulador y se le ha dado soporte en la capa anteriormente citada.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

En la programación por metas borrosa se trabaja con metas imprecisas del tipo “esencialmente menor (mayor) que bi”, las cuales se modelan mediante conjuntos borrosos, cuya función de pertenencia mide el grado de satisfacción respecto del logro de la meta. Para valores menores (mayores) que el nivel de aspiración bi el grado de satisfacción va disminuyendo monótonamente hasta un umbral, fijado por el decisor, a partir del cual el grado de satisfacción es nulo. El hecho de que el umbral no se pueda sobrepasar conduce, en algunos casos, a problemas infactibles, para evitar lo cual se tiende a ampliar excesivamente dicho umbral. En este trabajo, en lugar de maximizar el grado de satisfacción, proponemos un enfoque similar al de la programación por metas estándar, de manera que lo que pretendemos es minimizar la distancia a los niveles de aspiración. Obtenemos un programa matemático con función objetivo cuadrática y restricciones lineales y, por tanto, fácil de resolver. Se incluye un ejemplo numérico en el que se compara el enfoque propuesto con la programación por metas estándar y con el enfoque borroso ordinario.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Duración (en horas): De 41 a 50 horas. Destinatario: Estudiante y Docente