523 resultados para GPGPU, CUDA, OpenCL, Programmazione Parallela
Resumo:
In recent years, depth cameras have been widely utilized in camera tracking for augmented and mixed reality. Many of the studies focus on the methods that generate the reference model simultaneously with the tracking and allow operation in unprepared environments. However, methods that rely on predefined CAD models have their advantages. In such methods, the measurement errors are not accumulated to the model, they are tolerant to inaccurate initialization, and the tracking is always performed directly in reference model's coordinate system. In this paper, we present a method for tracking a depth camera with existing CAD models and the Iterative Closest Point (ICP) algorithm. In our approach, we render the CAD model using the latest pose estimate and construct a point cloud from the corresponding depth map. We construct another point cloud from currently captured depth frame, and find the incremental change in the camera pose by aligning the point clouds. We utilize a GPGPU-based implementation of the ICP which efficiently uses all the depth data in the process. The method runs in real-time, it is robust for outliers, and it does not require any preprocessing of the CAD models. We evaluated the approach using the Kinect depth sensor, and compared the results to a 2D edge-based method, to a depth-based SLAM method, and to the ground truth. The results show that the approach is more stable compared to the edge-based method and it suffers less from drift compared to the depth-based SLAM.
Resumo:
Con la crescita in complessità delle infrastrutture IT e la pervasività degli scenari di Internet of Things (IoT) emerge il bisogno di nuovi modelli computazionali basati su entità autonome capaci di portare a termine obiettivi di alto livello interagendo tra loro grazie al supporto di infrastrutture come il Fog Computing, per la vicinanza alle sorgenti dei dati, e del Cloud Computing per offrire servizi analitici complessi di back-end in grado di fornire risultati per milioni di utenti. Questi nuovi scenarii portano a ripensare il modo in cui il software viene progettato e sviluppato in una prospettiva agile. Le attività dei team di sviluppatori (Dev) dovrebbero essere strettamente legate alle attività dei team che supportano il Cloud (Ops) secondo nuove metodologie oggi note come DevOps. Tuttavia, data la mancanza di astrazioni adeguata a livello di linguaggio di programmazione, gli sviluppatori IoT sono spesso indotti a seguire approcci di sviluppo bottom-up che spesso risulta non adeguato ad affrontare la compessità delle applicazione del settore e l'eterogeneità dei compomenti software che le formano. Poichè le applicazioni monolitiche del passato appaiono difficilmente scalabili e gestibili in un ambiente Cloud con molteplici utenti, molti ritengono necessaria l'adozione di un nuovo stile architetturale, in cui un'applicazione dovrebbe essere vista come una composizione di micro-servizi, ciascuno dedicato a uno specifica funzionalità applicativa e ciascuno sotto la responsabilità di un piccolo team di sviluppatori, dall'analisi del problema al deployment e al management. Poichè al momento non si è ancora giunti a una definizione univoca e condivisa dei microservices e di altri concetti che emergono da IoT e dal Cloud, nè tantomento alla definzione di linguaggi sepcializzati per questo settore, la definzione di metamodelli custom associati alla produzione automatica del software di raccordo con le infrastrutture potrebbe aiutare un team di sviluppo ad elevare il livello di astrazione, incapsulando in una software factory aziendale i dettagli implementativi. Grazie a sistemi di produzione del sofware basati sul Model Driven Software Development (MDSD), l'approccio top-down attualmente carente può essere recuperato, permettendo di focalizzare l'attenzione sulla business logic delle applicazioni. Nella tesi viene mostrato un esempio di questo possibile approccio, partendo dall'idea che un'applicazione IoT sia in primo luogo un sistema software distribuito in cui l'interazione tra componenti attivi (modellati come attori) gioca un ruolo fondamentale.
Resumo:
I robot ad architettura parallela sono meccanismi robotici a catena chiusa. Se al posto di membri rigidi estensibili, come collegamenti tra base e piattaforma, si utilizzano dei cavi avvolgibili allora si parla di manipolatori paralleli a cavi. Nel primo capitolo si mettono a confronto robot seriali e paralleli, si descrivono le caratteristiche dei manipolatori paralleli a cavi e si presentano alcune attuali applicazioni. Nel secondo capitolo si forniscono richiami fondamentali di cinematica e dinamica del corpo rigido e si fanno alcuni cenni alla teoria dei torsori. Nel terzo capitolo si affronta il problema geometrico-statico inverso di un robot parallelo a tre cavi. Nel quarto capitolo si affronta il problema della dinamica inversa, che è sempre da risolvere nei casi in cui si abbiano forze inerziali rilevanti e si desideri raggiungere livelli di accuratezza elevati. Nel quinto capitolo si descrive il codice di simulazione Matlab-Adams. Nel sesto capitolo si descrive la componentistica meccanica ed elettronica del prototipo di laboratorio di manipolatore parallelo a tre cavi e si presentano i risultati ottenuti dalle simulazioni combinate Matlab-Adams nei casi di diverse traiettorie percorse a differenti velocità; infine, si mettono in evidenza le differenze tra l’approccio dinamico e quello statico quando le velocità dei motori e le inerzie della piattaforma mobile sono rilevanti.
Resumo:
Ce mémoire est consacré à la parallélisation d’un algorithme d’assemblage d’ADN de type de novo sur différentes plateformes matérielles, soit les processeurs multicoeurs et les accélérateurs de type FPGA. Plus précisément, le langage OpenCL est utilisé pour accélérer l’algorithme dont il est question, et de permettre un comparatif direct entre les les plateformes. Cet algorithme est d’abord introduit, puis son implémentation originale, développée pour une exécution sur une grappe de noeuds, est discutée. Les modifications apportées à l’algorithme dans le but de faciliter la parallélisation sont ensuite divulgées. Ensuite, le coeur du travail est présenté, soit la programmation utilisant OpenCL. Finalement, les résultats sont présentés et discutés.
Resumo:
I robot industriali iniziano a diffondersi in maniera significativa verso la metà degli anni ’70, quando affrontare economicamente il costo legato alla loro progettazione e costruzione risultò più vantaggioso rispetto all’assunzione di manodopera. Nella categoria dei robot industriali rientrano anche i polsi robotici che, posti all’estremità di un braccio meccanico, possono essere impiegati in diverse applicazioni industriali. In questo ambito si inserisce il meccanismo sferico ideato da Wu e Carricato. Esso presenta un’architettura ibrida seriale-parallela e, grazie ad una disposizione simmetrica dei membri che lo costituiscono, è in grado di riprodurre il movimento del polso umano. L’attività svolta e presentata in questo elaborato è stata finalizzata alla progettazione, attraverso l’ausilio dei software Creo e Matlab, sia degli organi che compongono il dispositivo sia della trasmissione meccanica che consente l’attuazione dei 2 gradi di libertà (gdl) posseduti dal meccanismo. Sono state realizzate due versioni CAD del polso; la prima è volta alla realizzazione in materiale plastico dei componenti, sfruttando la tecnologia della stampa 3D, in modo da ottenere un primo prototipo funzionante ed operativo, in cui si sono previsti accoppiamenti rotoidali tra le parti del tipo a strisciamento. Costruito ed assemblato il prototipo in plastica, si è potuta verificare la compatibilità tra precisione costruttiva, tolleranze dimensionali e geometriche garantite dalla stampa 3D e corretto funzionamento del meccanismo. La seconda versione rappresenta una versione ingegnerizzata della precedente. In particolare, prevede la realizzazione in alluminio del polso e la progettazione dei giunti cinematici (principalmente rotoidali) utilizzando accoppiamenti volventi e non a strisciamento. In questo modo si riescono a ridurre le imperfezioni di montaggio ed i notevoli giochi introdotti dall’impiego di componenti in plastica.
Resumo:
Questa tesi riguarda il problema della schedulazione degli interventi nel blocco operatorio di un presidio ospedaliero, noto anche come Operating Theatre Planning & Scheduling. Il blocco operatorio è la struttura che eroga servizi a più alto impatto sui costi di un presidio ospedaliero ed è legato ad attività ad alto rischio. E' quindi fondamentale gestire in modo ottimale questa risorsa. In questa tesi, si considera come caso studio l'applicazione reale di un presidio ospedaliero dell'Emilia Romagna con un orizzonte temporale di una settimana, ovvero la cosiddetta programmazione operativa. L'obiettivo è quello di ottenere un utilizzo efficiente del blocco operatorio, garantendo al contempo la priorità agli interventi più urgenti. Data la complessità del problema, vengono proposti algoritmi euristici che permettano di ottenere buone soluzioni in tempi di calcolo ridotti. Studi precedenti hanno infatti evidenziato la difficoltà di trovare soluzioni ottime al problema, mediante l'utilizzo di solver commerciali per modelli di Programmazione Lineare Intera, senza introdurre ipotesi semplificative. Sono stati elaborati tre algoritmi euristici costruttivi di tipo multi-start che permettono di generare soluzioni ammissibili con diverse caratteristiche. Gli algoritmi si differenziano principalmente per le modalità con cui collocano gli interventi nel tempo disponibile delle risorse (induction room, operating room, recovery room), cercando di migliorarne l’utilizzazione e dando priorità ai pazienti più urgenti. Gli algoritmi sono stati implementati utilizzando il linguaggio JAVA e sono stati testati su istanze realistiche fornite dal presidio ospedaliero. I risultati hanno evidenziato un alto grado di utilizzazione delle sale operatorie, un fattore molto rilevante per una ottimale gestione del blocco operatorio. E' stata, infine, svolta un'analisi di sensitività alla variabilità delle durate.
Resumo:
L'elaborato tratta il ruolo del porto di Ravenna nell'import/export di prodotti ortofrutticoli. Dopo una accurata analisi dei dati, lo studio delle rotte marittime e l'uso di Dbms per gestire un database complesso, si propone un modello di programmazione lineare intera su un problema di ship routing, ship scheduling e full ship-load balancing. L'obiettivo è di massimizzare il profitto derivante da un prezzo di vendita e soggetto ai vari costi della logistica. Il modello sceglie la rotta ottimale da effettuare, in termini di ordine di visita dei vari porti che hanno un import e un export dei prodotti studiati. Inoltre, è in grado di gestire lo scorrere del tempo, fornendo come soluzione il giorno ottimale di visita dei vari porti considerati. Infine, trova la ripartizione ottima del numero di container a bordo della nave per ogni tipologia di prodotto.
Resumo:
El breve commentum in Statii Achilleida resulta muy interesante para el estudio de la transmisión mitográfica de la Antigüedad tardía al Medievo, pues no sólo participa de las características propias de la mitografía (narraciones de mitos, exégesis racionalista y/o alegórica, interpretaciones etimológicas, anonimato, pseudepigrafía,…), sino que también es otro eslabón en la cadena textual de transmisión, simplificación y canonización de los mitos clásicos.
Resumo:
A constante evolução da tecnologia disponibilizou, atualmente, ferramentas computacionais que eram apenas expectativas há 10 anos atrás. O aumento do potencial computacional aplicado a modelos numéricos que simulam a atmosfera permitiu ampliar o estudo de fenômenos atmosféricos, através do uso de ferramentas de computação de alto desempenho. O trabalho propôs o desenvolvimento de algoritmos com base em arquiteturas SIMT e aplicação de técnicas de paralelismo com uso da ferramenta OpenACC para processamento de dados de previsão numérica do modelo Weather Research and Forecast. Esta proposta tem forte conotação interdisciplinar, buscando a interação entre as áreas de modelagem atmosférica e computação científica. Foram testadas a influência da computação do cálculo de microfísica de nuvens na degradação temporal do modelo. Como a entrada de dados para execução na GPU não era suficientemente grande, o tempo necessário para transferir dados da CPU para a GPU foi maior do que a execução da computação na CPU. Outro fator determinante foi a adição de código CUDA dentro de um contexto MPI, causando assim condições de disputa de recursos entre os processadores, mais uma vez degradando o tempo de execução. A proposta do uso de diretivas para aplicar computação de alto desempenho em uma estrutura CUDA parece muito promissora, mas ainda precisa ser utilizada com muita cautela a fim de produzir bons resultados. A construção de um híbrido MPI + CUDA foi testada, mas os resultados não foram conclusivos.
Resumo:
The recently reported Monte Carlo Random Path Sampling method (RPS) is here improved and its application is expanded to the study of the 2D and 3D Ising and discrete Heisenberg models. The methodology was implemented to allow use in both CPU-based high-performance computing infrastructures (C/MPI) and GPU-based (CUDA) parallel computation, with significant computational performance gains. Convergence is discussed, both in terms of free energy and magnetization dependence on field/temperature. From the calculated magnetization-energy joint density of states, fast calculations of field and temperature dependent thermodynamic properties are performed, including the effects of anisotropy on coercivity, and the magnetocaloric effect. The emergence of first-order magneto-volume transitions in the compressible Ising model is interpreted using the Landau theory of phase transitions. Using metallic Gadolinium as a real-world example, the possibility of using RPS as a tool for computational magnetic materials design is discussed. Experimental magnetic and structural properties of a Gadolinium single crystal are compared to RPS-based calculations using microscopic parameters obtained from Density Functional Theory.
Resumo:
Abstract: Medical image processing in general and brain image processing in particular are computationally intensive tasks. Luckily, their use can be liberalized by means of techniques such as GPU programming. In this article we study NiftyReg, a brain image processing library with a GPU implementation using CUDA, and analyse different possible ways of further optimising the existing codes. We will focus on fully using the memory hierarchy and on exploiting the computational power of the CPU. The ideas that lead us towards the different attempts to change and optimize the code will be shown as hypotheses, which we will then test empirically using the results obtained from running the application. Finally, for each set of related optimizations we will study the validity of the obtained results in terms of both performance and the accuracy of the resulting images.
Resumo:
Abstract: As time has passed, the general purpose programming paradigm has evolved, producing different hardware architectures whose characteristics differ widely. In this work, we are going to demonstrate, through different applications belonging to the field of Image Processing, the existing difference between three Nvidia hardware platforms: two of them belong to the GeForce graphics cards series, the GTX 480 and the GTX 980 and one of the low consumption platforms which purpose is to allow the execution of embedded applications as well as providing an extreme efficiency: the Jetson TK1. With respect to the test applications we will use five examples from Nvidia CUDA Samples. These applications are directly related to Image Processing, as the algorithms they use are similar to those from the field of medical image registration. After the tests, it will be proven that GTX 980 is both the device with the highest computational power and the one that has greater consumption, it will be seen that Jetson TK1 is the most efficient platform, it will be shown that GTX 480 produces more heat than the others and we will learn other effects produced by the existing difference between the architecture of the devices.
Resumo:
Various mechanisms have been proposed to explain extreme waves or rogue waves in an oceanic environment including directional focusing, dispersive focusing, wave-current interaction, and nonlinear modulational instability. The Benjamin-Feir instability (nonlinear modulational instability), however, is considered to be one of the primary mechanisms for rogue-wave occurrence. The nonlinear Schrodinger equation is a well-established approximate model based on the same assumptions as required for the derivation of the Benjamin-Feir theory. Solutions of the nonlinear Schrodinger equation, including new rogue-wave type solutions are presented in the author's dissertation work. The solutions are obtained by using a predictive eigenvalue map based predictor-corrector procedure developed by the author. Features of the predictive map are explored and the influences of certain parameter variations are investigated. The solutions are rescaled to match the length scales of waves generated in a wave tank. Based on the information provided by the map and the details of physical scaling, a framework is developed that can serve as a basis for experimental investigations into a variety of extreme waves as well localizations in wave fields. To derive further fundamental insights into the complexity of extreme wave conditions, Smoothed Particle Hydrodynamics (SPH) simulations are carried out on an advanced Graphic Processing Unit (GPU) based parallel computational platform. Free surface gravity wave simulations have successfully characterized water-wave dispersion in the SPH model while demonstrating extreme energy focusing and wave growth in both linear and nonlinear regimes. A virtual wave tank is simulated wherein wave motions can be excited from either side. Focusing of several wave trains and isolated waves has been simulated. With properly chosen parameters, dispersion effects are observed causing a chirped wave train to focus and exhibit growth. By using the insights derived from the study of the nonlinear Schrodinger equation, modulational instability or self-focusing has been induced in a numerical wave tank and studied through several numerical simulations. Due to the inherent dissipative nature of SPH models, simulating persistent progressive waves can be problematic. This issue has been addressed and an observation-based solution has been provided. The efficacy of SPH in modeling wave focusing can be critical to further our understanding and predicting extreme wave phenomena through simulations. A deeper understanding of the mechanisms underlying extreme energy localization phenomena can help facilitate energy harnessing and serve as a basis to predict and mitigate the impact of energy focusing.
Resumo:
FEA simulation of thermal metal cutting is central to interactive design and manufacturing. It is therefore relevant to assess the applicability of FEA open software to simulate 2D heat transfer in metal sheet laser cuts. Application of open source code (e.g. FreeFem++, FEniCS, MOOSE) makes possible additional scenarios (e.g. parallel, CUDA, etc.), with lower costs. However, a precise assessment is required on the scenarios in which open software can be a sound alternative to a commercial one. This article contributes in this regard, by presenting a comparison of the aforementioned freeware FEM software for the simulation of heat transfer in thin (i.e. 2D) sheets, subject to a gliding laser point source. We use the commercial ABAQUS software as the reference to compare such open software. A convective linear thin sheet heat transfer model, with and without material removal is used. This article does not intend a full design of computer experiments. Our partial assessment shows that the thin sheet approximation turns to be adequate in terms of the relative error for linear alumina sheets. Under mesh resolutions better than 10e−5 m , the open and reference software temperature differ in at most 1 % of the temperature prediction. Ongoing work includes adaptive re-meshing, nonlinearities, sheet stress analysis and Mach (also called ‘relativistic’) effects.
Resumo:
Dissertação (mestrado)–Universidade de Brasília, Universidade UnB de Planaltina, Programa de Pós-Graduação em Ciência de Materiais, 2015.