199 resultados para GPGPU, CUDA, OpenCL, Programmazione Parallela


Relevância:

10.00% 10.00%

Publicador:

Resumo:

Lo scopo di questo lavoro è lo sviluppo, mediante il linguaggio di programmazione Python, di un applicativo per il calcolo e la visualizzazione di frequenze naturali per strutture e cavità. L’applicativo consiste di un’interfaccia grafica e di una libreria nella quale si trovano le diverse tipologie di strutture e cavità presenti in letteratura. I vari sistemi possono essere vincolati da diverse condizioni al contorno e sono inoltre costituiti da materiali isotropi, nel caso di strutture, e fluidi, nel caso di cavità. La prima parte del lavoro comprende la codifica delle soluzioni analitiche per l’analisi modale. La seconda fase è, invece, incentrata sulla validazione del codice, utilizzando un software commerciale per la comparazione di frequenze naturali e forme dei modi.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Nei prossimi anni è atteso un aggiornamento sostanziale di LHC, che prevede di aumentare la luminosità integrata di un fattore 10 rispetto a quella attuale. Tale parametro è proporzionale al numero di collisioni per unità di tempo. Per questo, le risorse computazionali necessarie a tutti i livelli della ricostruzione cresceranno notevolmente. Dunque, la collaborazione CMS ha cominciato già da alcuni anni ad esplorare le possibilità offerte dal calcolo eterogeneo, ovvero la pratica di distribuire la computazione tra CPU e altri acceleratori dedicati, come ad esempio schede grafiche (GPU). Una delle difficoltà di questo approccio è la necessità di scrivere, validare e mantenere codice diverso per ogni dispositivo su cui dovrà essere eseguito. Questa tesi presenta la possibilità di usare SYCL per tradurre codice per la ricostruzione di eventi in modo che sia eseguibile ed efficiente su diversi dispositivi senza modifiche sostanziali. SYCL è un livello di astrazione per il calcolo eterogeneo, che rispetta lo standard ISO C++. Questo studio si concentra sul porting di un algoritmo di clustering dei depositi di energia calorimetrici, CLUE, usando oneAPI, l'implementazione SYCL supportata da Intel. Inizialmente, è stato tradotto l'algoritmo nella sua versione standalone, principalmente per prendere familiarità con SYCL e per la comodità di confronto delle performance con le versioni già esistenti. In questo caso, le prestazioni sono molto simili a quelle di codice CUDA nativo, a parità di hardware. Per validare la fisica, l'algoritmo è stato integrato all'interno di una versione ridotta del framework usato da CMS per la ricostruzione. I risultati fisici sono identici alle altre implementazioni mentre, dal punto di vista delle prestazioni computazionali, in alcuni casi, SYCL produce codice più veloce di altri livelli di astrazione adottati da CMS, presentandosi dunque come una possibilità interessante per il futuro del calcolo eterogeneo nella fisica delle alte energie.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

L'utilizzo del Piano del Parto nelle strutture consultoriali e ospedaliere dell'area di Bologna. Analisi quali-quantitativa INTRODUZIONE: Il piano del parto è uno strumento di comunicazione scritto dalle donne in gravidanza in cui sono delineati i desideri e le preferenze della donna circa l’esperienza del travaglio e del parto. L’obiettivo di questa ricerca è quello di approfondire la conoscenza e il pensiero degli operatori, nella realtà dei consultori e delle sale parto dell’area di Bologna, in merito al piano del parto MATERIALI E METODI: Per rispondere alla domanda di ricerca sono stati realizzati due questionari online. Il primo questionario è stato somministrato alle ostetriche dei consultori per approfondire il momento della proposta e della redazione del piano del parto. Il secondo è stato somministrato alle ostetriche delle sale parto per comprendere le reazioni e il pensiero degli operatori in merito alla presentazione del piano del parto all’ingresso della donna in sala travaglio RISULTATI: Dalle risposte ai questionari è emerso che il piano del parto è uno strumento ampiamente utilizzato nei consultori, e che viene redatto in autonomia dalla donna. Le ostetriche delle sale parto tengono conto dei bisogni espressi nel piano del parto, ma non mancano delle critiche, legate principalmente alla disinformazione delle donne dovuta all’assenza di un professionista che funga loro da guida durante la sua stesura CONCLUSIONI: Da quanto è emerso dall’indagine si può affermare la necessità che le Ostetriche dedichino più tempo alla discussione del piano del parto con la donna durante il terzo trimestre. Un'altra riflessione può essere fatta rispetto agli incontri di accompagnamento alla nascita, anch’esso potrebbe essere un momento in cui una professionista ascolta e aiuta le donne a redigere un piano del parto consapevole. Sarebbe inoltre auspicabile diffondere l’importanza di questo strumento inserendolo, ad esempio, nella programmazione didattica del Corso di Laurea.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

L'obbiettivo della seguente tesi è quello di analizzare quali sono ad oggi i migliori framework per lo sviluppo di software in Mixed Reality e studiare i design pattern più utili ad uno sviluppatore in questo ambito. Nel primo capitolo vengono introdotti i concetti di realtà estesa, virtuale, aumentata e mista con le relative differenze. Inoltre vengono descritti i diversi dispositivi che consentono la realtà mista, in particolare i due visori più utilizzati: Microsoft Hololens 2 e Magic Leap 1. Nello stesso capitolo vengono presentati anche gli aspetti chiave nello sviluppo in realtà mista, cioè tutti gli elementi che consentono un'esperienza in Mixed Reality. Nel secondo capitolo vengono descritti i framework e i kit utili per lo sviluppo di applicazioni in realtà mista multi-piattaforma. In particolare vengono introdotti i due ambienti di sviluppo più utilizzati: Unity e Unreal Engine, già esistenti e non specifici per lo sviluppo in MR ma che diventano funzionali se integrati con kit specifici come Mixed Reality ToolKit. Nel terzo capitolo vengono trattati i design pattern, comuni o nativi per applicazioni in realtà estesa, utili per un buono sviluppo di applicazioni MR. Inoltre, vengono presi in esame alcuni dei principali pattern più utilizzati nella programmazione ad oggetti e si verifica se e come sono implementabili correttamente su Unity in uno scenario di realtà mista. Questa analisi risulta utile per capire se l'utilizzo dei framework di sviluppo, metodo comunemente più utilizzato, comporta dei limiti nella libertà di sviluppo del programmatore.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Questa tesi ha l’obbiettivo di studiare e seguire la creazione un modello matematico che possa risolvere un problema logistico di Hub Facility Location reale, per l’individuazione del posizionamento ottimale di uno o più depositi all’interno di una rete distributiva europea e per l’assegnazione dei rispettivi clienti. Si fa riferimento alla progettazione della rete logistica per rispondere alle necessità del cliente, relativamente ad una domanda multiprodotto. Questo problema è stato studiato a partire da un caso reale aziendale per la valutazione della convenienza nella sostituzione di quattro magazzini locali con uno/due hub logistici che possano servire tutte le aree. Il modello distributivo può anche essere adoperato per valutare l’effetto della variazione, dal punto di vista economico, del servizio di trasporto e di tariffario. La determinazione della posizione ottimale e del numero dei magazzini avviene tramite un modello matematico che considera al proprio interno sia costi fissi relativi alla gestione dei magazzini (quindi costo di stabilimento, personale e giacenza) e sia i costi relativi al trasporto e alla spedizione dei prodotti sulle diverse aree geografiche. In particolare, la formulazione matematica si fonda su un modello Programmazione Lineare Intera, risolto in tempi molto brevi attraverso un software di ottimizzazione, nonostante la grande mole di dati in input del problema. In particolare, si ha lo studio per l’integrazione di tariffari di trasporto diversi e delle economie di scala per dare consistenza ad un modello teorico. Inoltre, per ricercare la migliore soluzione di quelle ottenute sono poi emersi altri fattori oltre a quello economico, ad esempio il tempo di trasporto (transit-time) che è un fattore chiave per ottenere la soddisfazione e la fedeltà del cliente e attitudine dell’area geografica ad accogliere una piattaforma logistica, con un occhio sugli sviluppi futuri.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

In questo lavoro si studierà un nuovo sistema di consegna merci, denominato crowd-shipping. Questo si propone come soluzione per il trasporto della merce a domicilio, soprattutto per quanto riguarda l’ultimo miglio, con la quale si intendono le consegne che vengono effettuate all’interno dei centri urbani. È una soluzione recente che prevede di appoggiare ai corrieri tradizionali delle persone comuni, definiti corrieri occasionali (OD, Occasional Drivers). Questi ultimi, percorrendo un tratto di strada per motivi personali, sono disposti a consegnare la merce ai destinatari finali effettuando delle deviazioni al loro tragitto originario, in cambio di un compenso. Dopo aver studiato la situazione attuale dell’E-commerce e dello sviluppo delle Sharing Economy, dopo aver appreso il funzionamento di questo nuovo tipo di soluzione logistica, verrà presentato un modello matematico di programmazione lineare per le consegne last mile della merce in crowd-shipping. Questo modello verrà testato nel contesto urbano di Bologna e prevedrà due livelli di consegna rappresentati in primis dai corrieri tradizionali e in secondo luogo dai corrieri occasionali. Modalità possibile grazie all’utilizzo di armadietti automatici come depositi intermedi; si avranno, infatti, dei corrieri classici che riforniscono gli armadietti e dei corrieri occasionali che prelevano la merce dagli armadietti e la consegnano ai destinatari finali. Il modello sarà implementato in scenari diversi, con un differente numero di attori coinvolti, diverse ricompense per gli OD e diverse tipologie di veicoli, più o meno inquinanti. Questo ultimo punto ci anticipa che questa modalità di consegne può portare benefici importanti anche a livello ambientale; e in un mondo dove i cambiamenti atmosferici dovuti all’inquinamento sono sempre più devastanti, il crowd-shipping può portare a benefici concreti. Benefici che si sono dimostrati anche economici, sia per le aziende di spedizioni, sia per i clienti finali.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Ballerina è un linguaggio open-source, cloud-native, progettato, quindi, con l'intento di alleggerire il carico dello sviluppo e dell'integrazione associato alle applicazioni aziendali. Questo linguaggio semplifica il modo in cui un programma comunica con la rete, che di solito avviene tramite un API (Application Program Interface). Ballerina tenta di creare un sistema integrato, riunendo i concetti, le idee e gli strumenti essenziali di integrazione di un sistema distribuito e offrendo un ambiente concorrente e sicuro per supportare lo sviluppo di API.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

La Stereo Vision è un popolare argomento di ricerca nel campo della Visione Artificiale; esso consiste nell’usare due immagini di una stessa scena,prodotte da due fotocamere diverse, per estrarre informazioni in 3D. L’idea di base della Stereo Vision è la simulazione della visione binoculare umana:le due fotocamere sono disposte in orizzontale per fungere da “occhi” che guardano la scena in 3D. Confrontando le due immagini ottenute, si possono ottenere informazioni riguardo alle posizioni degli oggetti della scena.In questa relazione presenteremo un algoritmo di Stereo Vision: si tratta di un algoritmo parallelo che ha come obiettivo di tracciare le linee di livello di un area geografica. L’algoritmo in origine era stato implementato per la Connection Machine CM-2, un supercomputer sviluppato negli anni 80, ed era espresso in *Lisp, un linguaggio derivato dal Lisp e ideato per la macchina stessa. Questa relazione tratta anche la traduzione e l’implementazione dell’algoritmo in CUDA, ovvero un’architettura hardware per l’elaborazione pa- rallela sviluppata da NVIDIA, che consente di eseguire codice parallelo su GPU. Si darà inoltre uno sguardo alle difficoltà che sono state riscontrate nella traduzione da *Lisp a CUDA.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

In questi anni, c’è stato un grande sviluppo negli standard wireless nel mondo della televisione, della radio e delle comunicazioni mobili. Questo ha portato con sé problemi di compatibilità tra le reti wireless e ha limitato lo sviluppo di nuove funzionalità e servizi. La Software Defined Radio rappresenta una soluzione di flessibilità per affrontare questa serie di problematiche. In un sistema di comunicazione digitale, le informazioni viaggiano su un canale che è soggetto a rumore ed interferenza; perciò, per garantire robustezza e affidabilità alle applicazioni nella comunicazione digitale, i sistemi richiedono l’uso di codici di correzione degli errori, basati su schemi di codifica di canale. Esistono diverse tipologie di codici per la correzione degli errori, tra le quali il turbo codice, utilizzato nei sistemi LTE. Questo lavoro presenta la progettazione e la successiva ottimizzazione di un turbo encoder per sistemi LTE su una scheda FPGA, la quale, a differenza di altri dispositivi, meglio si presta a questo scopo, grazie alla caratteristica di riprogrammabilità. Dapprima viene presentato un turbo encoder sequenziale, il quale viene ottimizzato creandone una versione parallela. I risultati mostrano che l’architettura parallela presenta prestazioni, in termini di throughput, quattro volte migliori di quella sequenziale, a fronte di un lieve aumento dell’uso delle risorse della scheda. Confrontando questo turbo encoder ottimizzato con un progetto presente in letteratura, si nota che l’efficienza d’area risulta maggiore con un fattore circa pari a 3.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Il presente lavoro si concentra sugli scostamenti di tipo morfosintattico tra un discorso orale e formale-istituzionale tenuto in italiano e le rispettive rese, in interpretazione simultanea, verso il francese e il tedesco. Alla base dell’osservazione condotta vi è la volontà di comprendere fino a che punto un interprete professionista si discosti dalla struttura morfosintattica del testo originale e quali strategie attui, partendo dall'ipotesi che nei punti di maggiore marcatezza morfosintattica l'interprete si allontani maggiormente dalla struttura dell'originale. Dapprima si discutono alcune delle caratteristiche dell’italiano contemporaneo. In seguito, viene proposta un’osservazione teorica dei punti di maggiore vicinanza o lontananza tra la morfosintassi dell’italiano e delle due lingue straniere considerate. Vengono poi affrontate le principali difficoltà in interpretazione simultanea (IS), passando in rassegna le più frequenti strategie di risposta a tali difficoltà. Segue un’illustrazione della metodologia seguita al fine di reperire e raccogliere i discorsi pronunciati nelle Commissioni del Parlamento europeo per la costituzione di un corpus parallelo trilingue su SketchEngine. Infine, vengono presentati i risultati emersi dall'osservazione parallela basata sul corpus, in un confronto in cui vengono individuati i punti di comunanza e di divergenza tra l’originale nella lingua di partenza e le rese nelle lingue di arrivo in corrispondenza di alcuni fenomeni morfosintattici scelti.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

In questo lavoro di tesi si analizzerà un metodo per risolvere il problema del PageRank alternativo rispetto al tradizionale metodo delle potenze. Verso la fine degli anni '90, con l’avvento del World Wide Web, fu necessario sviluppare degli algoritmi di classificazione in grado di ordinare i siti web in base alla loro rilevanza. Davanti a questa sfida i due matematici A.N.Langville e C.D.Meyer svilupparono il metodo SIAD, "special iterative aggregation/disaggregation method". Lo scopo di questa tesi è in primo luogo di ricostruire il metodo SIAD e analizzarne le proprietà. Seguendo le analisi in un articolo di I.C.Ipsen e S.Kirkland, si ricostruirà nel dettaglio il metodo SIAD, così da esplicitare la convergenza asintotica del metodo in relazione al complemento stocastico scelto. In secondo luogo si analizzerà il metodo SIAD applicato ad una matrice di Google che rispetta ipotesi determinate, le matrici di Google sono solitamente utilizzate per rappresentare il problema del PageRank. Successivamente, si dimostrerà un importante teorema che prova come per ogni matrice di Google si possa individuare un complemento stocastico per cui il metodo SIAD converge più velocemente del metodo delle potenze. Infine, nell’ultimo capitolo si implementerà con il inguaggio di programmazione Matlab il metodo SIAD per una matrice generica e per una matrice di Google. In particolare, si sfrutterà la struttura della matrice di Google per ridurre sensibilmente il costo computazionale del metodo quando applicato applicato ad una tale matrice.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Le app mobile sono sempre più pervasive nella vita quotidiana delle persone: gli smartphone hanno rivoluzionato il modo di interagire degli utenti con le varie organizzazioni. Che sia per l'accesso al proprio conto corrente, per la visualizzazione delle notizie quotidiane o per il semplice svago, gli utenti usano sempre più il mondo mobile come canale privilegiato per la fruizione dei contenuti digitali. Il sempre maggior successo delle applicazioni mobile ha sempre più spostato l'attenzione dei malintenzionati sugli smartphone, che sono diventati così uno degli obiettivi più popolari per i cyberattacchi: ciò comporta nuove sfide per le organizzazioni al fine di garantire la sicurezza di dati e sistemi. Risulta fondamentale per un organizzazione in particolare mantenere un controllo sulle proprie applicazioni mobile: configurazioni errate, errori di programmazione, inclusione di librerie software vulnerabili o malevoli e la presenza di credenziali cablate nel codice o nelle configurazioni rappresentano un notevole rischio per la confidenzialità, l'integrità e disponibilità di dati e sistemi. Se risulta fondamentale nello sviluppo un approccio che utilizzi i principi della Security by Design, risulta ancora più importante un presidio costante sulle applicazioni e la costruzione di un ciclo di vita del software sicuro (SSDLC). A tal fine la proposta del progetto di tesi riguarda l'analisi delle principali minacce e vulnerabilità delle applicazioni mobile e lo sviluppo di uno strumento di analisi dei pacchetti mobile (su piattaforma Android o iOS) al fine di identificare possibili rischi prima della pubblicazione dei pacchetti sugli store ufficiali.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Il progetto di tesi è stato sviluppato durante il periodo di tirocinio svolto all’interno del “Laboratorio di Radio Scienza ed Esplorazione Planetaria” da un'esperienza da cui prende il nome lo stesso elaborato: ”Numerical integration errors in deep space orbit determination”. Lo scopo del sopraccitato laboratorio è stato quello di studiare in modo approfondito il problema kepleriano dei due corpi, per poi passare ad un’analisi del problema dei tre corpi e successivamente a n corpi (con particolare attenzione alle orbite dei satelliti medicei di Giove). Lo studio è stato affiancato ad un costante utilizzo della piattaforma di programmazione Matlab per l’elaborazione e la stesura di codici per il calcolo di traiettorie orbitali ed errori numerici. Infatti, il fulcro del lavoro è stato proprio il confronto di vari integratori e degli errori numerici derivanti dall’integrazione. Nella tesi, dapprima, viene introdotto il sistema Gioviano, vengono presentati i satelliti medicei, delineate le caratteristiche fisiche fondamentali e i principali motivi che portano ad avere particolare interesse nel conoscere lo sviluppo orbitale di tale sistema. In seguito, l'elaborato, dopo una dettagliata descrizione teorica del problema dei due corpi, presenta un codice per la rappresentazione di orbite kepleriane e il calcolo dei relativi errori commessi dal metodo numerico rispetto a quello analitico. Nell'ultimo capitolo, invece, il problema è esteso a più corpi dotati di massa e a tal proposito viene proposto un codice per la rappresentazione delle orbite descritte nel tempo da n corpi, date le condizioni iniziali, e il calcolo dei rispettivi errori nel sistema di riferimento (r,t,n). In merito a ciò, vengono infine testati diversi integratori per cercare quello con le migliori performance e sono poi analizzati alcuni parametri in input al problema per verificare sotto quali condizioni l’integratore lavora meglio.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Distribuire un’applicazione che soddisfi i requisiti del cliente e che sia in grado di accogliere rapidamente eventuali modifiche è, al giorno d’oggi, d’obbligo per aziende che si occupano di applicazioni mobile che vogliano rimanere competitive sul mercato. Il principale fattore chiave in grado di mantenere un’azienda al passo con la continua evoluzione sia del mercato che delle tecnologie mobile è la continua innovazione e ottimizzazione dell’intero processo di sviluppo. La collaborazione e la comunicazione tra diversi team, l’utilizzo di cicli iterativi di sviluppo, i rilasci frequenti e l’automazione dei test sono alcune delle pratiche incentivate dalla cultura DevOps, adottabile con successo (si vedrà in questa tesi) anche per lo sviluppo di applicazioni mobile. Innovare e ottimizzare il processo di sviluppo non significa solo automatizzare l’esecuzione dei task. Un ruolo importante è giocato anche da aspetti legati all’applicazione: l’architettura, il paradigma di programmazione, e gli strumenti utilizzati. In particolare, al fine di applicare il principio “Don’t repeat yourself ” (DRY) e semplificare la manutenzione, diversi moderni framework per lo sviluppo di applicazioni mobile, detti multipiattaforma, propongono meccanismi che consentono di condividere codice tra piattaforme differenti. L’obiettivo di questa tesi è dunque quello di discutere (capitoli 1, 2 e 3) e mostrare, applicate ad un caso di studio industriale (capitoli 4, 5 e 6), l’uso di tecniche DevOps nell’ambito di applicazioni mobile, ed in particolare mostrando come queste siano applicabili in congiunzione ai framework di sviluppo multipiattaforma (in particolare, Kotlin Multiplatform).

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Obiettivo dello studio condotto è l’implementazione di cicli di operazioni per l’assemblaggio automatizzato di componenti che costituiscono un sistema di trasporto a catena presente in alcune macchine automatiche. L’automazione del processo, fino ad oggi svolto manualmente, prevede l’utilizzo di un robot e, per il controllo di quest’ultimo, di un sistema di visione artificiale. L’attività di tirocinio associata alla tesi di laurea, che ha incluso una parte sperimentale oltre alla scrittura degli algoritmi di controllo del robot, è stata svolta all’interno del laboratorio TAILOR (Technology and Automation for Industry LabORatory) presso Siropack Italia S.r.l dove è presente una cella dotata di robot antropomorfo (Mitsubishi Electric) e di sistema di visione artificiale con camere 2D (Omron). La presenza di quest’ultimo è risultata strategica in termini di possibilità di adattare il montaggio anche a diversi posizionamenti degli oggetti all’interno dello spazio di lavoro, fermo restando che gli stessi risultassero appoggiati su una superficie piana. In primo luogo, affinché fosse garantita la ripetibilità del processo, sono state testate le prestazioni del sistema di visione tramite opportuna calibrazione della camera e del sistema di illuminazione ad esso collegata, al fine di ottenere un’acquisizione delle immagini che fosse sufficientemente robusta e risoluta mediante lo sfruttamento del software di elaborazione Omron FH Vision System. Un’opportuna programmazione della traiettoria del robot in ambiente di simulazione RT Toolbox 3, software integrato nel sistema di controllo del robot Mitsubishi Electric, ha infine consentito le regolari operazioni di assemblaggio, garantendo un processo affidabile ed, allo stesso tempo, adattabile ad ambienti eventualmente non strutturati in cui esso si trova ad operare.