• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 339
  • 189
  • 134
  • 56
  • 45
  • 44
  • 4
  • 4
  • 2
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • Tagged with
  • 924
  • 924
  • 924
  • 404
  • 395
  • 351
  • 351
  • 329
  • 325
  • 320
  • 319
  • 316
  • 314
  • 313
  • 313
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
501

Environnement décentralisé et protocole de communication pour le calcul intensif sur grille / A decentralized environment and a protocol of communication for high performance computing on grid architecture

Fakih, Bilal 09 November 2018 (has links)
Dans cette thèse nous présentons un environnement décentralisé pour la mise en oeuvre des calcul intensif sur grille. Nous nous intéressons à des applications dans les domaines de la simulation numérique qui font appel à des modèles de type parallélisme de tâches et qui sont résolues par des méthodes itératives parallèles ou distribuées; nous nous intéressons aussi aux problèmes de planification. Mes contributions se situent au niveau de la conception et la réalisation d'un environnement de programmation GRIDHPC. GRIDHPC permet l'utilisation de tous les ressources de calcul, c'est-à-dire de tous les coeurs des processeurs multi-coeurs ainsi que l'utilisation du protocole de communication RMNP pour exploiter simultanément différents réseaux hauts débits comme Infiniband, Myrinet et aussi Ethernet. Notons que RMNP peut se reconfigurer automatiquement et dynamiquement en fonction des exigences de l'application, comme les schémas de calcul, c.-à-d, les schémas itératifs synchrones ou asynchrones, des éléments de contexte comme la topologie du réseau et le type de réseau comme Ethernet, Infiniband et Myrinet en choisissant le meilleur mode de communication entre les noeuds de calcul et le meilleur réseau. Nous présentons et analysons des résultats expérimentaux obtenus sur des grappes de calcul de la grille Grid5000 pour le problème de l'obstacle et le problème de planification. / This thesis aims at designing an environment for the implementation of high performance computing applications on Grid platforms. We are interested in applications like loosely synchronous applications and pleasingly parallel applications. For loosely synchronous applications, we are interested in particular in applications in the domains of numerical simulation that can be solved via parallel or distributed iterative methods, i.e., synchronous, asynchronous and hybrid iterative method; while, for pleasingly parallel applications, we are interested in planning problems. Our thesis work aims at designing the decentralized environment GRIDHPC. GRIDHPC exploits all the computing resources (all the available cores of computing nodes) using OpenMP as well as several types of networks like Ethernet, Infiniband and Myrinet of the grid platform using the reconfigurable multi network protocol RMNP. Note that RMNP can configure itself automatically and dynamically in function of application requirements like schemes of computation, i.e., synchronous or asynchronous iterative schemes, elements of context like network topology and type of network like Ethernet, Infiniband and Myrinet by choosing the best communication mode between computing nodes and the best network. We present and analyze a set of computational results obtained on Grid5000 platform for the obstacle and planning problems.
502

MVAPICH2-AutoTune: An Automatic Collective Tuning Framework for the MVAPICH2 MPI Library

Srivastava, Siddhartha January 2021 (has links)
No description available.
503

Modeling and Phylodynamic Simulations of Avian Influenza

Mosley, Liam M. 03 May 2019 (has links)
No description available.
504

Training Convolutional Neural Network Classifiers Using Simultaneous Scaled Supercomputing

Kaster, Joshua M. 15 June 2020 (has links)
No description available.
505

Ein Framework zur Optimierung der Energieeffizienz von HPC-Anwendungen auf der Basis von Machine-Learning-Methoden

Gocht-Zech, Andreas 03 November 2022 (has links)
Ein üblicher Ansatzpunkt zur Verbesserung der Energieeffizienz im High Performance Computing (HPC) ist, neben Verbesserungen an der Hardware oder einer effizienteren Nachnutzung der Wärme des Systems, die Optimierung der ausgeführten Programme. Dazu können zum Beispiel energieoptimale Einstellungen, wie die Frequenzen des Prozessors, für verschiedene Programmfunktionen bestimmt werden, um diese dann im späteren Verlauf des Programmes anwenden zu können. Mit jeder Änderung des Programmes kann sich dessen optimale Einstellung ändern, weshalb diese zeitaufwendig neu bestimmt werden muss. Das stellt eine wesentliche Hürde für die Anwendung solcher Verfahren dar. Dieser Prozess des Bestimmens der optimalen Frequenzen kann mithilfe von Machine-Learning-Methoden vereinfacht werden, wie in dieser Arbeit gezeigt wird. So lässt sich mithilfe von sogenannten Performance-Events ein neuronales Netz erstellen, mit dem während der Ausführung des Programmes die optimalen Frequenzen automatisch geschätzt werden können. Performance-Events sind prozessorintern und können Einblick in die Abläufe im Prozessor gewähren. Bei dem Einsatz von Performance-Events gilt es einige Fallstricke zu vermeiden. So werden die Performance-Events von Performance-Countern gezählt. Die Anzahl der Counter ist allerdings begrenzt, womit auch die Anzahl der Events, die gleichzeitig gezählt werden können, limitiert ist. Eine für diese Arbeit wesentliche Fragestellung ist also: Welche dieser Events sind relevant und müssen gezählt werden? Bei der Beantwortung dieser Frage sind Merkmalsauswahlverfahren hilfreich, besonders sogenannte Filtermethoden, bei denen die Merkmale vor dem Training ausgewählt werden. Viele bekannte Methoden gehen dabei entweder davon aus, dass die Zusammenhänge zwischen den Merkmalen linear sind, wie z. B. bei Verfahren, die den Pearson-Korrelationskoeffizienten verwenden, oder die Daten müssen in Klassen eingeteilt werden, wie etwa bei Verfahren, die auf der Transinformation beruhen. Beides ist für Performance-Events nicht ideal. Auf der einen Seite können keine linearen Zusammenhänge angenommen werden. Auf der anderen Seite bedeutet das Einteilen in Klassen einen Verlust an Information. Um diese Probleme zu adressieren, werden in dieser Arbeit bestehende Merkmalsauswahlverfahren mit den dazugehörigen Algorithmen analysiert, neue Verfahren entworfen und miteinander verglichen. Es zeigt sich, dass mit neuen Verfahren, die auf sogenannten Copulas basieren, auch nichtlineare Zusammenhänge erkannt werden können, ohne dass die Daten in Klassen eingeteilt werden müssen. So lassen sich schließlich einige Events identifiziert, die zusammen mit neuronalen Netzen genutzt werden können, um die Energieeffizienz von HPC-Anwendung zu steigern. Das in dieser Arbeit erstellte Framework erfüllt dabei neben der Auswahl der Performance-Events weitere Aufgaben: Es stellt sicher, dass diverse Programmteile mit verschiedenen optimalen Einstellungen voneinander unterschieden werden können. Darüber hinaus sorgt das Framework dafür, dass genügend Daten erzeugt werden, um ein neuronales Netz zu trainieren, und dass dieses Netz später einfach genutzt werden kann. Dabei ist das Framework so flexibel, dass auch andere Machine-Learning-Methoden getestet werden können. Die Leistungsfähigkeit des Frameworks wird abschließend in einer Ende-zu-Ende-Evaluierung an einem beispielhaften Programm demonstriert. Die Evaluierung il­lus­t­riert, dass bei nur 7% längerer Laufzeit eine Energieeinsparung von 24% erzielt werden kann und zeigt damit, dass mit Machine-Learning-Methoden wesentliche Energieeinsparungen erreicht werden können.:1 Einleitung und Motiovation 2 Energieeffizienz und Machine-Learning – eine thematische Einführung 2.1 Energieeffizienz von Programmen im Hochleistungsrechnen 2.1.1 Techniken zur Energiemessung oder -abschätzung 2.1.2 Techniken zur Beeinflussung der Energieeffizienz in der Hardware 2.1.3 Grundlagen zur Performanceanalyse 2.1.4 Regionsbasierte Ansätze zur Erhöhung der Energieeffizienz 2.1.5 Andere Ansätze zur Erhöhung der Energieeffizienz 2.2 Methoden zur Merkmalsauswahl 2.2.1 Merkmalsauswahlmethoden basierend auf der Informationstheorie 2.2.2 Merkmalsauswahl für stetige Merkmale 2.2.3 Andere Verfahren zur Merkmalsauswahl 2.3 Machine-Learning mit neuronalen Netzen 2.3.1 Neuronale Netze 2.3.2 Backpropagation 2.3.3 Aktivierungsfunktionen 3 Merkmalsauswahl für mehrdimensionale nichtlineare Abhängigkeiten 3.1 Analyse der Problemstellung, Merkmale und Zielgröße 3.2 Merkmalsauswahl mit mehrdimensionaler Transinformation für stetige Merkmale 3.2.1 Mehrdimensionale Copula-Entropie und mehrdimensionale Transinformation 3.2.2 Schätzung der mehrdimensionalen Transinformation basierend auf Copula-Dichte 3.3 Normierung 3.4 Vergleich von Copula-basierten Maßzahlen mit der klassischen Transinformation und dem Pearson-Korrelationskoeffizienten 3.4.1 Deterministische Abhängigkeit zweier Variablen 3.4.2 UnabhängigkeitVergleich verschiedener Methoden zur Auswahl stetiger Merkmale 3.5 Vergleich verschiedener Methoden zur Auswahl stetiger Merkmale 3.5.1 Erzeugung synthetischer Daten 3.5.2 Szenario 1 – fünf relevante Merkmale 3.5.3 Szenario 2 – fünf relevante Merkmale, fünf wiederholte Merkmale 3.5.4 Schlussfolgerungen aus den Simulationen 3.6 Zusammenfassung 4 Entwicklung und Umsetzung des Frameworks 4.1 Erweiterungen der READEX Runtime Library 4.1.1 Grundlegender Aufbau der READEX Runtime Library 4.1.2 Call-Path oder Call-Tree 4.1.3 Calibration-Module 4.2 Testsystem 4.2.1 Architektur 4.2.2 Bestimmung des Offsets zur Energiemessung mit RAPL 4.3 Verwendete Benchmarks zur Erzeugung der Datengrundlage 4.3.1 Datensatz 1: Der Stream-Benchmark 4.3.2 Datensatz 2: Eine Sammlung verschiedener Benchmarks 4.4 Merkmalsauswahl und Modellgenerierung 4.4.1 Datenaufbereitung 4.4.2 Merkmalsauswahl Algorithmus 4.4.3 Performance-Events anderer Arbeiten zum Vergleich 4.4.4 Erzeugen und Validieren eines Modells mithilfe von TensorFlow und Keras 4.5 Zusammenfassung 5 Evaluierung des Ansatzes 5.1 Der Stream-Benchmark 5.1.1 Analyse der gewählten Merkmale 5.1.2 Ergebnisse des Trainings 5.2 Verschiedene Benchmarks 5.2.1 Ausgewählte Merkmale 5.2.2 Ergebnisse des Trainings 5.3 Energieoptimierung einer Anwendung 6 Zusammenfassung und Ausblick Literatur Abbildungsverzeichnis Tabellenverzeichnis Quelltextverzeichnis / There are a variety of different approaches to improve energy efficiency in High Performance Computing (HPC). Besides advances to the hardware or cooling systems, optimising the executed programmes' energy efficiency is another a promising approach. Determining energy-optimal settings of program functions, such as the processor frequency, can be applied during the program's execution to reduce energy consumption. However, when the program is modified, the optimal setting might change. Therefore, the energy-optimal settings need to be determined again, which is a time-consuming process and a significant impediment for applying such methods. Fortunately, finding the optimal frequencies can be simplified using machine learning methods, as shown in this thesis. With the help of so-called performance events, a neural network can be trained, which can automatically estimate the optimal processor frequencies during program execution. Performance events are processor-specific and can provide insight into the procedures of a processor. However, there are some pitfalls to be avoided when using performance events. Performance events are counted by performance counters, but as the number of counters is limited, the number of events that can be counted simultaneously is also limited. This poses the question of which of these events are relevant and need to be counted. % Though the issue has received some attention in several publications, a convincing solution remains to be found. In answering this question, feature selection methods are helpful, especially so-called filter methods, where features are selected before the training. Unfortunately, many feature selection methods either assume a linear correlation between the features, such as methods using the Pearson correlation coefficient or require data split into classes, particularly methods based on mutual information. Neither can be applied to performance events as linear correlation cannot be assumed, and splitting the data into classes would result in a loss of information. In order to address that problem, this thesis analyses existing feature selection methods together with their corresponding algorithms, designs new methods, and compares different feature selection methods. By utilising new methods based on the mathematical concept of copulas, it was possible to detect non-linear correlations without splitting the data into classes. Thus, several performance events could be identified, which can be utilised together with neural networks to increase the energy efficiency of HPC applications. In addition to selecting performance events, the created framework ensures that different programme parts, which might have different optimal settings, can be identified. Moreover, it assures that sufficient data for the training of the neural networks is generated and that the network can easily be applied. Furthermore, the framework is flexible enough to evaluate other machine learning methods. Finally, an end-to-end evaluation with a sample application demonstrated the framework's performance. The evaluation illustrates that, while extending the runtime by only 7%, energy savings of 24% can be achieved, showing that substantial energy savings can be attained using machine learning approaches.:1 Einleitung und Motiovation 2 Energieeffizienz und Machine-Learning – eine thematische Einführung 2.1 Energieeffizienz von Programmen im Hochleistungsrechnen 2.1.1 Techniken zur Energiemessung oder -abschätzung 2.1.2 Techniken zur Beeinflussung der Energieeffizienz in der Hardware 2.1.3 Grundlagen zur Performanceanalyse 2.1.4 Regionsbasierte Ansätze zur Erhöhung der Energieeffizienz 2.1.5 Andere Ansätze zur Erhöhung der Energieeffizienz 2.2 Methoden zur Merkmalsauswahl 2.2.1 Merkmalsauswahlmethoden basierend auf der Informationstheorie 2.2.2 Merkmalsauswahl für stetige Merkmale 2.2.3 Andere Verfahren zur Merkmalsauswahl 2.3 Machine-Learning mit neuronalen Netzen 2.3.1 Neuronale Netze 2.3.2 Backpropagation 2.3.3 Aktivierungsfunktionen 3 Merkmalsauswahl für mehrdimensionale nichtlineare Abhängigkeiten 3.1 Analyse der Problemstellung, Merkmale und Zielgröße 3.2 Merkmalsauswahl mit mehrdimensionaler Transinformation für stetige Merkmale 3.2.1 Mehrdimensionale Copula-Entropie und mehrdimensionale Transinformation 3.2.2 Schätzung der mehrdimensionalen Transinformation basierend auf Copula-Dichte 3.3 Normierung 3.4 Vergleich von Copula-basierten Maßzahlen mit der klassischen Transinformation und dem Pearson-Korrelationskoeffizienten 3.4.1 Deterministische Abhängigkeit zweier Variablen 3.4.2 UnabhängigkeitVergleich verschiedener Methoden zur Auswahl stetiger Merkmale 3.5 Vergleich verschiedener Methoden zur Auswahl stetiger Merkmale 3.5.1 Erzeugung synthetischer Daten 3.5.2 Szenario 1 – fünf relevante Merkmale 3.5.3 Szenario 2 – fünf relevante Merkmale, fünf wiederholte Merkmale 3.5.4 Schlussfolgerungen aus den Simulationen 3.6 Zusammenfassung 4 Entwicklung und Umsetzung des Frameworks 4.1 Erweiterungen der READEX Runtime Library 4.1.1 Grundlegender Aufbau der READEX Runtime Library 4.1.2 Call-Path oder Call-Tree 4.1.3 Calibration-Module 4.2 Testsystem 4.2.1 Architektur 4.2.2 Bestimmung des Offsets zur Energiemessung mit RAPL 4.3 Verwendete Benchmarks zur Erzeugung der Datengrundlage 4.3.1 Datensatz 1: Der Stream-Benchmark 4.3.2 Datensatz 2: Eine Sammlung verschiedener Benchmarks 4.4 Merkmalsauswahl und Modellgenerierung 4.4.1 Datenaufbereitung 4.4.2 Merkmalsauswahl Algorithmus 4.4.3 Performance-Events anderer Arbeiten zum Vergleich 4.4.4 Erzeugen und Validieren eines Modells mithilfe von TensorFlow und Keras 4.5 Zusammenfassung 5 Evaluierung des Ansatzes 5.1 Der Stream-Benchmark 5.1.1 Analyse der gewählten Merkmale 5.1.2 Ergebnisse des Trainings 5.2 Verschiedene Benchmarks 5.2.1 Ausgewählte Merkmale 5.2.2 Ergebnisse des Trainings 5.3 Energieoptimierung einer Anwendung 6 Zusammenfassung und Ausblick Literatur Abbildungsverzeichnis Tabellenverzeichnis Quelltextverzeichnis
506

Using GPU-aware message passing to accelerate high-fidelity fluid simulations / Användning av grafikprocessormedveten meddelandeförmedling för att accelerera nogranna strömningsmekaniska datorsimuleringar

Wahlgren, Jacob January 2022 (has links)
Motivated by the end of Moore’s law, graphics processing units (GPUs) are replacing general-purpose processors as the main source of computational power in emerging supercomputing architectures. A challenge in systems with GPU accelerators is the cost of transferring data between the host memory and the GPU device memory. On supercomputers, the standard for communication between compute nodes is called Message Passing Interface (MPI). Recently, many MPI implementations support using GPU device memory directly as communication buffers, known as GPU-aware MPI. One of the most computationally demanding applications on supercomputers is high-fidelity simulations of turbulent fluid flow. Improved performance in high-fidelity fluid simulations can enable cases that are intractable today, such as a complete aircraft in flight. In this thesis, we compare the MPI performance with host memory and GPU device memory, and demonstrate how GPU-aware MPI can be used to accelerate high-fidelity incompressible fluid simulations in the spectral element code Neko. On a test system with NVIDIA A100 GPUs, we find that MPI performance is similar using host memory and device memory, except for intra-node messages in the range of 1-64 KB which is significantly slower using device memory, and above 1 MB which is faster using device memory. We also find that the performance of high-fidelity simulations in Neko can be improved by up to 2.59 times by using GPU-aware MPI in the gather–scatter operation, which avoids several transfers between host and device memory. / Motiverat av slutet av Moores lag så har grafikprocessorer (GPU:er) börjat ersätta konventionella processorer som den huvudsakliga källan till beräkningingskraft i superdatorer. En utmaning i system med GPU-acceleratorer är kostnaden att överföra data mellan värdminnet och acceleratorminnet. På superdatorer är Message Passing Interface (MPI) en standard för kommunikation mellan beräkningsnoder. Nyligen stödjer många MPI-implementationer direkt användning av acceleratorminne som kommunikationsbuffertar, vilket kallas GPU-aware MPI. En av de mest beräkningsintensiva applikationerna på superdatorer är nogranna datorsimuleringar av turbulenta flöden. Förbättrad prestanda i nogranna flödesberäkningar kan möjliggöra fall som idag är omöjliga, till exempel ett helt flygplan i luften. I detta examensarbete jämför vi MPI-prestandan med värdminne och acceleratorminne, och demonstrerar hur GPU-aware MPI kan användas för att accelerera nogranna datorsimuleringar av inkompressibla flöden i spektralelementkoden Neko. På ett testsystem med NVIDIA A100 GPU:er finner vi att MPI-prestandan är liknande med värdminne och acceleratorminne. Detta gäller dock inte för meddelanden inom samma beräkningsnod i intervallet 1-64 KB vilka är betydligt långsammare med acceleratorminne, och över 1 MB vilka är betydligt snabbare med acceleratorminne. Vi finner också att prestandan av nogranna datorsimuleringar i Neko kan förbättras upp till 2,59 gånger genom användning av GPU-aware MPI i den så kallade gather– scatter-operationen, vilket undviker flera överföringar mellan värdminne och acceleratorminne.
507

Composable, Sound Transformations for Nested Recursion and Loops

Kirshanthan Sundararajah (16647885) 26 July 2023 (has links)
<p>    </p> <p>Programs that use loops to operate over arrays and matrices are generally known as <em>regular programs</em>. These programs appear in critical applications such as image processing, differential equation solvers, and machine learning. Over the past few decades, extensive research has been done on composing, verifying, and applying scheduling transformations like loop interchange and loop tiling for regular programs. As a result, we have general frameworks such as the polyhedral model to handle transformations for loop-based programs. Similarly, programs that use recursion and loops to manipulate pointer-based data structures are known as <em>irregular programs</em>. Irregular programs also appear in essential applications such as scientific simulations, data mining, and graphics rendering. However, there is no analogous framework for recursive programs. In the last decade, although many scheduling transformations have been developed for irregular programs, they are ad-hoc in various aspects, such as being developed for a specific application and lacking portability. This dissertation examines principled ways to handle scheduling transformations for recursive programs through a unified framework resulting in performance enhancement. </p> <p>Finding principled approaches to optimize irregular programs at compile-time is a long-standing problem. We specifically focus on scheduling transformations that reorder a program’s operations to improve performance by enhancing locality and exploiting parallelism. In the first part of this dissertation, we present PolyRec, a unified general framework that can compose and apply scheduling transformations to nested recursive programs and reason about the correctness of composed transformations. PolyRec is a first-of-its-kind unified general transformation framework for irregular programs consisting of nested recursion and loops. It is built on solid theoretical foundations from the world of automata and transducers and provides a fundamentally novel way to think about recursive programs and scheduling transformations for them. The core idea is designing mechanisms to strike a balance between the expressivity in representing the set of dynamic instances of computations, transformations, and dependences and the decidability of checking the correctness of composed transformations. We use <em>multi-tape </em>automata and transducers to represent the set of dynamic instances of computations and transformations, respectively. These machines are similar yet more expressive than their classical single-tape counterparts. While in general decidable properties of classical machines are undecidable for multi-tape machines, we have proven that those properties are decidable for the class of machines we consider, and we present algorithms to verify these properties. Therefore these machines provide the building blocks to compose and verify scheduling transformations for nested recursion and loops. The crux of the PolyRec framework is its regular string-based representation of dynamic instances that allows to lexicographically order instances identically to their execution order. All the transformations considered in PolyRec require different ordering of these strings representable only with <em>additive </em>changes to the strings. </p> <p>Loop transformations such as <em>skewing </em>require performing arithmetic on the representation of dynamic instances. In the second part of this dissertation, we explore this space of transformations by introducing skewing to nested recursion. Skewing plays an essential role in producing easily parallelizable loop nests from seemingly difficult ones due to dependences carried across loops. The inclusion of skewing for nested recursion to PolyRec requires significant extensions to representing dynamic instances and transformations that facilitate <em>performing arithmetic using strings</em>. First, we prove that the machines that represent the transformations are still composable. Then we prove that the representation of dependences and the algorithm that checks the correctness of composed transformations hold with minimal changes. Our new extended framework is known as UniRec, since it resembles the unimodular transformations for perfectly nested loop nests, which consider any combination of the primary transformations interchange, reversal, and skewing. UniRec opens possibilities of producing newly composed transformations for nested recursion and loops and verifying their correctness. We claim that UniRec completely subsumes the unimodular framework for loop transformations since nested recursion is more general than loop nests. </p>
508

Investigation Of Solid-state Ion Conduction With Stable Silver Isotope Analysis And High Performance Computing

Anderson, Calvin 01 April 2023 (has links)
No description available.
509

Interactive in situ visualization of large volume data

Gupta, Aryaman 10 January 2024 (has links)
Three-dimensional volume data is routinely produced, at increasingly high spatial resolution, in computer simulations and image acquisition tasks. In-situ visualization, the visualization of an experiment or simulation while it is running, enables new modes of interaction, including simulation steering and experiment control. These can provide the scientist a deeper understanding of the underlying phenomena, but require interactive visualization with smooth viewpoint changes and zooming to convey depth perception and spatial understanding. As the size of the volume data increases, however, it is increasingly challenging to achieve interactive visualization with smooth viewpoint changes. This thesis presents an end-to-end solution for interactive in-situ visualization based on novel extensions proposed to the Volumetric Depth Image (VDI) representation. VDIs are view-dependent, compact representations of volume data than can be rendered faster than the original data. Novel methods are proposed in this thesis for generating VDIs on large data and for rendering them faster. Together, they enable interactive in situ visualization with smooth viewpoint changes and zooming for large volume data. The generation of VDIs involves decomposing the volume rendering integral along rays into segments that store composited color and opacity, forming a representation much smaller than the volume data. This thesis introduces a technique to automatically determine the sensitivity parameter that governs the decomposition of rays, eliminating the need for manual parameter tuning in the generation of a VDI. Further, a method is proposed for sort-last parallel generation and compositing of VDIs on distributed computers, enabling their in situ generation with distributed numerical simulations. A low latency architecture is proposed for the sharing of data and hardware resources with a running simulation. The resulting VDI can be streamed for interactive visualization. A novel raycasting method is proposed for rendering VDIs. Properties of perspective projection are exploited to simplify the intersection of rays with the view-dependent segments contained within the VDI. Spatial smoothness in volume data is leveraged to minimize memory accesses. Benchmarks are performed showing that the method significantly outperforms existing methods for rendering the VDI, and achieves responsive frame rates for High Definition (HD) display resolutions near the viewpoint of generation. Further, a method is proposed to subsample the VDI for preview rendering, maintaining high frame rates even for large viewpoint deviations. The quality and performance of the approach are analyzed on multiple datasets, and the contributions are provided as extensions of established open-source tools. The thesis concludes with a discussion on the strengths, limitations, and future directions for the proposed approach.
510

A Graphics Processing Unit Based Discontinuous Galerkin Wave Equation Solver with hp-Adaptivity and Load Balancing

Tousignant, Guillaume 13 January 2023 (has links)
In computational fluid dynamics, we often need to solve complex problems with high precision and efficiency. We propose a three-pronged approach to attain this goal. First, we use the discontinuous Galerkin spectral element method (DG-SEM) for its high accuracy. Second, we use graphics processing units (GPUs) to perform our computations to exploit available parallel computing power. Third, we implement a parallel adaptive mesh refinement (AMR) algorithm to efficiently use our computing power where it is most needed. We present a GPU DG-SEM solver with AMR and dynamic load balancing for the 2D wave equation. The DG-SEM is a higher-order method that splits a domain into elements and represents the solution within these elements as a truncated series of orthogonal polynomials. This approach combines the geometric flexibility of finite-element methods with the exponential convergence of spectral methods. GPUs provide a massively parallel architecture, achieving a higher throughput than traditional CPUs. They are relatively new as a platform in the scientific community, therefore most algorithms need to be adapted to that new architecture. We perform most of our computations in parallel on multiple GPUs. AMR selectively refines elements in the domain where the error is estimated to be higher than a prescribed tolerance, via two mechanisms: p-refinement increases the polynomial order within elements, and h-refinement splits elements into several smaller ones. This provides a higher accuracy in important flow regions and increases capabilities of modeling complex flows, while saving computing power in other parts of the domain. We use the mortar element method to retain the exponential convergence of high-order methods at the non-conforming interfaces created by AMR. We implement a parallel dynamic load balancing algorithm to even out the load imbalance caused by solving problems in parallel over multiple GPUs with AMR. We implement a space-filling curve-based repartitioning algorithm which ensures good locality and small interfaces. While the intense calculations of the high order approach suit the GPU architecture, programming of the highly dynamic adaptive algorithm on GPUs is the most challenging aspect of this work. The resulting solver is tested on up to 64 GPUs on HPC platforms, where it shows good strong and weak scaling characteristics. Several example problems of increasing complexity are performed, showing a reduction in computation time of up to 3× on GPUs vs CPUs, depending on the loading of the GPUs and other user-defined choices of parameters. AMR is shown to improve computation times by an order of magnitude or more.

Page generated in 0.0936 seconds