12 resultados para virtualised GPU

em AMS Tesi di Laurea - Alm@DL - Università di Bologna


Relevância:

20.00% 20.00%

Publicador:

Resumo:

The efficient emulation of a many-core architecture is a challenging task, each core could be emulated through a dedicated thread and such threads would be interleaved on an either single-core or a multi-core processor. The high number of context switches will results in an unacceptable performance. To support this kind of application, the GPU computational power is exploited in order to schedule the emulation threads on the GPU cores. This presents a non trivial divergence issue, since GPU computational power is offered through SIMD processing elements, that are forced to synchronously execute the same instruction on different memory portions. Thus, a new emulation technique is introduced in order to overcome this limitation: instead of providing a routine for each ISA opcode, the emulator mimics the behavior of the Micro Architecture level, here instructions are date that a unique routine takes as input. Our new technique has been implemented and compared with the classic emulation approach, in order to investigate the chance of a hybrid solution.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

La radioterapia guidata da immagini (IGRT), grazie alle ripetute verifiche della posizione del paziente e della localizzazione del volume bersaglio, si è recentemente affermata come nuovo paradigma nella radioterapia, avendo migliorato radicalmente l’accuratezza nella somministrazione di dose a scopo terapeutico. Una promettente tecnica nel campo dell’IGRT è rappresentata dalla tomografia computerizzata a fascio conico (CBCT). La CBCT a kilovoltaggio, consente di fornire un’accurata mappatura tridimensionale dell’anatomia del paziente, in fase di pianificazione del trattamento e a ogni frazione del medisimo. Tuttavia, la dose da imaging attribuibile alle ripetute scansioni è diventata, negli ultimi anni, oggetto di una crescente preoccupazione nel contesto clinico. Lo scopo di questo lavoro è di valutare quantitativamente la dose addizionale somministrata da CBCT a kilovoltaggio, con riferimento a tre tipici protocolli di scansione per Varian OnBoard Imaging Systems (OBI, Palo Alto, California). A questo scopo sono state condotte simulazioni con codici Monte Carlo per il calcolo della dose, utilizzando il pacchetto gCTD, sviluppato sull’architettura della scheda grafica. L’utilizzo della GPU per sistemi server di calcolo ha permesso di raggiungere alte efficienze computazionali, accelerando le simulazioni Monte Carlo fino a raggiungere tempi di calcolo di ~1 min per un caso tipico. Inizialmente sono state condotte misure sperimentali di dose su un fantoccio d’acqua. I parametri necessari per la modellazione della sorgente di raggi X nel codice gCTD sono stati ottenuti attraverso un processo di validazione del codice al fine di accordare i valori di dose simulati in acqua con le misure nel fantoccio. Lo studio si concentra su cinquanta pazienti sottoposti a cicli di radioterapia a intensità modulata (IMRT). Venticinque pazienti con tumore al cervello sono utilizzati per studiare la dose nel protocollo standard-dose head e venticinque pazienti con tumore alla prostata sono selezionati per studiare la dose nei protocolli pelvis e pelvis spotlight. La dose media a ogni organo è calcolata. La dose media al 2% dei voxels con i valori più alti di dose è inoltre computata per ogni organo, al fine di caratterizzare l’omogeneità spaziale della distribuzione.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

In accordo con la filosofia della Software Defined Radio è stato progettato un decoder LDPC software che utilizza una GPU per ottenere prestazioni migliori. Il lavoro, che comprende anche l'encoder e un simulatore di canale AWGN, può essere utilizzato sia per eseguire simulazioni che per elaborare dati in real time. Come caso di studio si sono considerati i codici LDPC dello standard DVB-S2.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Il segnale elettrico si propaga nel tessuto cardiaco attraverso gap-junctions che si trovano tra i miociti cardiaci e in ciascuno di essi si avvia un processo chiamato potenziale d'azione (PA). In questa tesi prenderò in considerazione il modello Luo-Rudy 1991 e il difetto oggetto di studio sono le Early Afterdepolarizations (EADs). Si analizzerà la propagazione del potenziale d’azione in un cavo di 300 cellule. Dopo alcune simulazioni preliminari è emersa l’utilità di trovare una soluzione che permettesse di ridurre i tempi di calcolo, il modello è stato quindi implementato in CUDA. Il lavoro è stato sviluppato nei seguenti step: 1) l’impiego dell’ambiente di calcolo MATLAB per implementare il modello, descrivendo ogni cellula attraverso il modello Luo-Rudy 1991 e l’interazione elettrica inter-cellulare, considerando un cavo di 300 cellule; 2) individuazione dei parametri che, adeguatamente modificati, sono in grado di indurre EADs a livello single cell; 3) implementazione del modello in CUDA, creando uno strumento che potrà essere utilizzato per aumentare notevolmente il numero delle simulazioni nell’unità di tempo; 4) messa a punto di un criterio per valutare in modo conciso la bontà (safety factor) della relazione source-sink. L’utilità di un simile criterio è quella di valutare, sia nel caso di propagazione di AP che in quello di eventuale propagazione di EADs, la propensione alla propagazione in un tessuto. Il primo capitolo descriverà il potenziale d’azione, il modello usato e la teoria del cavo. Il secondo capitolo discuterà l’implementazione del modello usato, descriverà CUDA e come il modello sia stato implementato. Il terzo capitolo riguarderà i primi risultati ottenuti dalle simulazioni e come la variazione dei parametri influisce sulla forma delle EADs. L’ultimo capitolo approfondirà i requisiti necessari per far avvenire una propagazione in un cavo.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Microprocessori basati su singolo processore (CPU), hanno visto una rapida crescita di performances ed un abbattimento dei costi per circa venti anni. Questi microprocessori hanno portato una potenza di calcolo nell’ordine del GFLOPS (Giga Floating Point Operation per Second) sui PC Desktop e centinaia di GFLOPS su clusters di server. Questa ascesa ha portato nuove funzionalità nei programmi, migliori interfacce utente e tanti altri vantaggi. Tuttavia questa crescita ha subito un brusco rallentamento nel 2003 a causa di consumi energetici sempre più elevati e problemi di dissipazione termica, che hanno impedito incrementi di frequenza di clock. I limiti fisici del silicio erano sempre più vicini. Per ovviare al problema i produttori di CPU (Central Processing Unit) hanno iniziato a progettare microprocessori multicore, scelta che ha avuto un impatto notevole sulla comunità degli sviluppatori, abituati a considerare il software come una serie di comandi sequenziali. Quindi i programmi che avevano sempre giovato di miglioramenti di prestazioni ad ogni nuova generazione di CPU, non hanno avuto incrementi di performance, in quanto essendo eseguiti su un solo core, non beneficiavano dell’intera potenza della CPU. Per sfruttare appieno la potenza delle nuove CPU la programmazione concorrente, precedentemente utilizzata solo su sistemi costosi o supercomputers, è diventata una pratica sempre più utilizzata dagli sviluppatori. Allo stesso tempo, l’industria videoludica ha conquistato una fetta di mercato notevole: solo nel 2013 verranno spesi quasi 100 miliardi di dollari fra hardware e software dedicati al gaming. Le software houses impegnate nello sviluppo di videogames, per rendere i loro titoli più accattivanti, puntano su motori grafici sempre più potenti e spesso scarsamente ottimizzati, rendendoli estremamente esosi in termini di performance. Per questo motivo i produttori di GPU (Graphic Processing Unit), specialmente nell’ultimo decennio, hanno dato vita ad una vera e propria rincorsa alle performances che li ha portati ad ottenere dei prodotti con capacità di calcolo vertiginose. Ma al contrario delle CPU che agli inizi del 2000 intrapresero la strada del multicore per continuare a favorire programmi sequenziali, le GPU sono diventate manycore, ovvero con centinaia e centinaia di piccoli cores che eseguono calcoli in parallelo. Questa immensa capacità di calcolo può essere utilizzata in altri campi applicativi? La risposta è si e l’obiettivo di questa tesi è proprio quello di constatare allo stato attuale, in che modo e con quale efficienza pùo un software generico, avvalersi dell’utilizzo della GPU invece della CPU.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

The aim of my thesis is to parallelize the Weighting Histogram Analysis Method (WHAM), which is a popular algorithm used to calculate the Free Energy of a molucular system in Molecular Dynamics simulations. WHAM works in post processing in cooperation with another algorithm called Umbrella Sampling. Umbrella Sampling has the purpose to add a biasing in the potential energy of the system in order to force the system to sample a specific region in the configurational space. Several N independent simulations are performed in order to sample all the region of interest. Subsequently, the WHAM algorithm is used to estimate the original system energy starting from the N atomic trajectories. The parallelization of WHAM has been performed through CUDA, a language that allows to work in GPUs of NVIDIA graphic cards, which have a parallel achitecture. The parallel implementation may sensibly speed up the WHAM execution compared to previous serial CPU imlementations. However, the WHAM CPU code presents some temporal criticalities to very high numbers of interactions. The algorithm has been written in C++ and executed in UNIX systems provided with NVIDIA graphic cards. The results were satisfying obtaining an increase of performances when the model was executed on graphics cards with compute capability greater. Nonetheless, the GPUs used to test the algorithm is quite old and not designated for scientific calculations. It is likely that a further performance increase will be obtained if the algorithm would be executed in clusters of GPU at high level of computational efficiency. The thesis is organized in the following way: I will first describe the mathematical formulation of Umbrella Sampling and WHAM algorithm with their apllications in the study of ionic channels and in Molecular Docking (Chapter 1); then, I will present the CUDA architectures used to implement the model (Chapter 2); and finally, the results obtained on model systems will be presented (Chapter 3).

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Il presente lavoro di tesi, svolto presso i laboratori dell'X-ray Imaging Group del Dipartimento di Fisica e Astronomia dell'Università di Bologna e all'interno del progetto della V Commissione Scientifica Nazionale dell'INFN, COSA (Computing on SoC Architectures), ha come obiettivo il porting e l’analisi di un codice di ricostruzione tomografica su architetture GPU installate su System-On-Chip low-power, al fine di sviluppare un metodo portatile, economico e relativamente veloce. Dall'analisi computazionale sono state sviluppate tre diverse versioni del porting in CUDA C: nella prima ci si è limitati a trasporre la parte più onerosa del calcolo sulla scheda grafica, nella seconda si sfrutta la velocità del calcolo matriciale propria del coprocessore (facendo coincidere ogni pixel con una singola unità di calcolo parallelo), mentre la terza è un miglioramento della precedente versione ottimizzata ulteriormente. La terza versione è quella definitiva scelta perché è la più performante sia dal punto di vista del tempo di ricostruzione della singola slice sia a livello di risparmio energetico. Il porting sviluppato è stato confrontato con altre due parallelizzazioni in OpenMP ed MPI. Si è studiato quindi, sia su cluster HPC, sia su cluster SoC low-power (utilizzando in particolare la scheda quad-core Tegra K1), l’efficienza di ogni paradigma in funzione della velocità di calcolo e dell’energia impiegata. La soluzione da noi proposta prevede la combinazione del porting in OpenMP e di quello in CUDA C. Tre core CPU vengono riservati per l'esecuzione del codice in OpenMP, il quarto per gestire la GPU usando il porting in CUDA C. Questa doppia parallelizzazione ha la massima efficienza in funzione della potenza e dell’energia, mentre il cluster HPC ha la massima efficienza in velocità di calcolo. Il metodo proposto quindi permetterebbe di sfruttare quasi completamente le potenzialità della CPU e GPU con un costo molto contenuto. Una possibile ottimizzazione futura potrebbe prevedere la ricostruzione di due slice contemporaneamente sulla GPU, raddoppiando circa la velocità totale e sfruttando al meglio l’hardware. Questo studio ha dato risultati molto soddisfacenti, infatti, è possibile con solo tre schede TK1 eguagliare e forse a superare, in seguito, la potenza di calcolo di un server tradizionale con il vantaggio aggiunto di avere un sistema portatile, a basso consumo e costo. Questa ricerca si va a porre nell’ambito del computing come uno tra i primi studi effettivi su architetture SoC low-power e sul loro impiego in ambito scientifico, con risultati molto promettenti.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

In questa tesi si descrive il lavoro svolto presso l’istituto INFN-CNAF, che consiste nello sviluppo di un’applicazione parallela e del suo utilizzo su di un’architettura a basso consumo, allo scopo di valutare il comportamento della stessa, confrontandolo a quello di architetture ad alta potenza di calcolo. L’architettura a basso consumo utilizzata `e un system on chip mutuato dal mondo mobile e embedded contenente una cpu ARM quad core e una GPU NVIDIA, mentre l’architettura ad alta potenza di calcolo `e un sistema x86 64 con una GPU NVIDIA di classe server. L’applicazione `e stata sviluppata in C++ in due differenti versioni: la prima utilizzando l’estensione OpenMP e la seconda utilizzando l’estensione CUDA. Queste due versioni hanno permesso di valutare il comportamento dell’architettura a basso consumo sotto diversi punti di vista, utilizzando nelle differenti versioni dell’applicazione la CPU o la GPU come unita` principale di elaborazione.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Porting dell'esecuzione dell'algoritmo KinectFusion su piattaforma mobile (Android).

Relevância:

10.00% 10.00%

Publicador:

Resumo:

In questo lavoro di tesi sono state impiegate le librerie grafiche OpenGL ES 2 per eseguire calcoli paralleli sulla GPU del Raspberry Pi. Sono stati affrontati e discussi concetti riguanrdati il calcolo parallelo, stream processing, GPGPU e le metriche di valutazione di algoritmi paralleli. Sono inoltre descritte le potenzialita e le limitazioni derivanti dall'impiego di OpenGL per implementare algoritmi paralleli. In particolare si e fatto riferimento all'algoritmo Seam Carving per il restringimento di immagini, realizzando e valutando una implementazione parallela di questo sul Raspberry Pi.