• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 475
  • 88
  • 87
  • 56
  • 43
  • 21
  • 14
  • 14
  • 10
  • 5
  • 5
  • 3
  • 3
  • 3
  • 3
  • Tagged with
  • 988
  • 321
  • 203
  • 183
  • 168
  • 165
  • 154
  • 138
  • 124
  • 104
  • 96
  • 95
  • 93
  • 88
  • 83
  • 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.
381

Radar and sea clutter simulation with Unity 3D game engine / Simulering av radar och sjöklotter med Unity 3D-spelmotor

Johnsson, Mikael, Bergman, Linus January 2023 (has links)
Game engines are well known for their use in the gaming industry but are starting to have an impact in other areas as well. Architecture, automotive, and the defence industry are today using these engines to visualise and, to some extent, test their products. In this thesis, we have examined how the game engine Unity could be used for simulating a radar with the purpose of detecting and measuring sea clutter. Following a pre-study examining different implementation approaches, it was decided to use ray tracing. The radar itself is simulated by using the camera to emit rays and having a plane object directly behind it act as a receiver. Rays are then individually traced for each pixel, propagating throughout the scene and saving information such as hit coordinates, distance travelled, and direction. By using the total travel distance of each ray that returned to the receiver, the phase of each ray is calculated. This is then used to compute the total amplitude, which represents the returned signal strength. Using a compute shader, most of the computations are done in parallel on the GPU, enabling millions of rays to be traced. As measuring sea clutter was an objective of the study, tests measuring the ocean were carried out. These used ocean surfaces with two different sea states, using the Phillips spectrum to generate realistic waves. A ship object was then tested in free space and on two different ocean surfaces. The calculated amplitude and the number of rays returned were used to determine the signal strength returned and the RCS of the object. The purpose of this was to compare with other results of sea clutter studied, observed both in the real world and in simulated scenarios, and determine if our approach could be a valid choice for the industry. Some results matched the findings of a similar study that used a professional radar simulation tool called OKTAL. Other results of sea clutter were found to not be realistic due to certain limitations. The current main limitation of our implementation is not being able to trace a large enough ocean surface with the finer details needed for realistic results. However, this could be solved by creating a better implementation. These findings suggest that simulating radar and sea clutter in Unity is a feasible approach worth continuing to explore. / Spelmotorer är välkända för sin användning inom spelindustrin men har också fått genomslag inom andra områden. Arkitektur, fordonsindustrin och försvarsindustrin använder idag dessa verktyg för att visualisera och till viss mån, även testa sina produkter. I detta examensarbete har vi undersökt hur spelmotorn Unity kan användas för att simulera en radar i syfte att detektera och mäta sjöklotter. Efter en förstudie där olika implementeringsmetoder undersöktes, beslutades det att använda strålspårning (eng. ray tracing). Själva radarn simuleras genom att använda kameraobjektet i Unity för att sända ut strålar. Bakom kameran finns ett planobjekt som fungerar som mottagare. Strålar spåras sedan individuellt för varje pixel och sprider sig genom en given scen. Samtidigt sparas information såsom träffkoordinater, den totala färdsträckan samt riktning. Genom att använda det totala färdavståndet för varje stråle som återvänt till mottagaren kan fasen för varje stråle beräknas. Detta kan sedan användas för att beräkna den totala returnerade amplituden, vilket motsvarar den returnerade signalstyrkan. Med hjälp av en "compute shader" kan databeräkningarna göras parallellt av GPU:n vilket underlättar när så många strålar ska spåras. Eftersom syftet med uppsatsen var mätning av simulerat sjöklotter, genomfördes tester för att mäta på ett simulerat hav. Havsytorna hade två olika sjöstadier, vilka genererades med Phillips-spektrumet för att få realistiska vågor. Ett fartygsobjekt testades sedan i frirymd och sedan även i de två olika havsytorna. Amplituden och mängden strålar som returnerades användes för att bestämma den totala returnerade signalstyrkan och "Radar Cross Section" (RCS) för objektet. Syftet med detta var att kunna jämföra med andra studier gällande sjöklotter, både simulerade som verklighetsbaserade och avgöra om vårt tillvägagångssätt kunde resultera i ett användbart verktyg för branschen. De olika amplituder och antalet strålar som vi fick tillbaka varierade beroende på vilka vinklar och havsytor som användes.Vissa resultat var inte realistiska jämfört med verkliga mätningar av sjöklotter. Det beror främst på våra nuvarande begränsningar i att inte kunna spåra en tillräckligt stor och tillräckligt detaljerad havsyta, vilket behövs för att mätningarna ska vara mer realistiska. Däremot matchade vi några resultat med de från en liknande studie, där verktyget OKTAL, som är ett professionellt radarsimuleringsverktyg, användes. Detta i kombination med möjligheterna för en förbättrad implementation tyder på att användningen av en spelmotor som Unity är ett intressant verktyg värd att vidareutforska radarsimuleringar med.
382

Accelerating a Molecular Docking Application by Leveraging Modern Heterogeneous Computing Systems / Accelerering av en Molekylär Dockningsapplikation genom att Utnyttja Moderna Heterogena Datorsystem

Schieffer, Gabin January 2023 (has links)
In drug development, molecular docking methods aim at characterizing the binding of a drug-like molecule to a protein. In a typical drug development process, a docking task is repeated millions of time, which makes optimization efforts essential. In particular, modern heterogeneous architectures, such as GPUs, allow for significant acceleration opportunities. AutoDock-GPU, a state-of-the-art GPU-accelerated molecular docking software, estimates the geometrical conformation of a docked ligand-protein complex by minimizing an energy-based scoring function. Our profiling results indicated that a reduction operation, which is performed several millions times in a single docking run, limits performance in AutoDock-GPU. Thus, we proposed a method to accelerate the block-level sum reduction of four-element vectors by using matrix operations. We implemented our method to make use of the high throughput capabilities offered by NVIDIA Tensor Cores to perform matrix operations. We evaluated our approach by designing a simple benchmark, and achieved a 4 to 7-fold runtime improvement compared to the original method. We then integrated our reduction operation into AutoDock-GPU and evaluated it on multiple chemical complexes on three GPUs. This evaluation allowed to assess the possibility to use half-precision reduction operations in parts of AutoDock-GPU code, without detrimental effects on the simulation result. In addition, our implementation achieved an average 27% improvement on the overall docking time during a real-world docking run. / Vid läkemedelsutveckling syftar molekylär dockningsmetoder till att karakterisera bindningen av en läkemedelsliknande molekyl till ett protein. I en typisk läkemedelsutvecklingsprocess upprepas en dockinguppgift miljontals gånger, vilket gör optimeringsinsatser nödvändiga. Framför allt moderna heterogena arkitekturer som GPU:er ger betydande accelerationsmöjligheter. AutoDock-GPU, en modern GPU-accelererad programvara för molekylär dockning, uppskattar den geometriska konformationen hos ett ligand-protein-komplex genom att minimera en energibaserad poängsättningsfunktion. Våra profileringsresultat visade att en reduktionsoperation, som utförs flera miljoner gånger i en enda dockningskörning, begränsar prestandan i AutoDock-GPU. Vi har därför föreslagit en metod för att accelerera summareduktionen på blocknivå av vektorer med fyra element med hjälp av matrisoperationer. Vi implementerade vår metod för att utnyttja den höga genomströmningskapacitet som erbjuds av NVIDIA Tensor Cores för att utföra matrisoperationer. Vi utvärderade vårt tillvägagångssätt genom att utforma ett enkelt testfall och uppnådde en 4- till 7-faldig förbättring av körtiden jämfört med den ursprungliga metoden. Vi integrerade sedan vår reduktionsoperation i AutoDock-GPU och utvärderade den på flera kemiska komplex på tre GPU:er. Denna utvärdering lät oss bedöma möjligheten att använda reduktionsoperationer med halvprecision i delar av AutoDock-GPU-koden, utan negativa effekter på simuleringsresultatet. Dessutom uppnådde vår version en genomsnittlig förbättring på 27% av den totala dockningstiden under en riktig dockningskörning.
383

GPU Volume Voxelization : Exploration of the performance characteristics of different GPU-based implementations

Glukhov, Grigory, Soltan, Aleksandra January 2019 (has links)
In recent years, voxel-based modelling has seen a reintroduction to computer game development through massive graphics hardware improvements. Never- theless, polygons continue to be the default building block of 3D objects, intro- ducing a need for the transformation of polygon meshes into voxel-based models; this process is known as voxelization. Efficient voxelization algorithms take ad- vantage of the flexibility and control offered by modern, programmable GPU pipelines. However, the variability in possible approaches poses the question of how different GPU-based implementations affect voxelization performance.This thesis explores the impact of GPU-based improvements by comparing four different implementations of a solid voxelization algorithm. The implemen- tations include a naive transition from the CPU to the GPU, a non-branching execution path approach, data pre-processing, and a combination of the two previous approaches. Benchmarking experiments run on four, standard polygo- nal models and three graphics cards (NVIDIA and AMD) provide runtime and memory usage data for each implementation. A comparative analysis is per- formed on the basis of this data to determine the performance impact of the GPU-based adjustments to the voxelization algorithm implementation.Results indicate that the non-branching execution path approach yields clear improvements over the naive implementation, while data pre-processing has in- consistent performance and a large initial performance cost; the combination of the two improvements unsurprisingly leads to combined results. Therefore, the conclusive recommendation is using the non-branching execution path technique for GPU-based improvements. / Voxel-baserad modellering har på senare år blivit återintroducerat till datorspelsutveckling tack vare massiva förbättringar i grafikhårdvara. Trots detta fortsätter polygoner att vara standarden för uppbyggnaden av 3D-objekt. Detta gör det nödvändigt att kunna transformera polygonytor till voxel-baserade modeller; denna process kallas för voxelisering. Effektiva voxeliseringsalgoritmer tar vara på den flexibilitet och kontroll som ges av moderna, programmerbara GPU-pipelines. Variationen i möjliga tillvägagångssätt gör det dock intressant att veta hur olika GPU-baserade implementationer påverkar prestandan av voxeliseringen. Denna avhandling undersöker påverkan av GPU-baserade förbättringar genom att jämföra fyra olika implementationer av en solid-voxeliseringsalgoritm. Implementationerna inkluderar en naiv övergång från CPU:n till GPU:n, en metod med en non-branching exekveringsväg, förbehandling av data, och en kombination av det två tidigare metoderna. Benchmarkingexperiment görs på fyra standardpolygonmodeller och tre grafikkort (NVIDIA och AMD) förser data för exekveringstid och minnesåtgång för varje implementation. En jämförande analys görs med detta data som grund för att bestämma den påverkan som de GPU-baserade ändringarna har på prestandan av voxeliseringsalgoritmens implementation. Resultaten indikerar att implementationen med en non-branching exekveringsväg ger klara förbättringar över den naiva implementationen, medans förbehandlingen av data presterar inkonsekvent och har en stor initial prestandakostnad; kombinationen av dem båda ledde, inte överraskande, till blandade resultat. Den slutgiltiga rekommendationen är således att använda tekniken med en non-branching exekveringsväg för GPU-baserade förbättringar.
384

Improving the performance of GPU-accelerated spatial joins

Hrstic, Dusan Viktor January 2017 (has links)
Data collisions have been widely studied by various fields of science and industry. Combing CPU and GPU for processing spatial joins has been broadly accepted due to the increased speed of computations. This should redirect efforts in GPGPU research from straightforward porting of applications to establishing principles and strategies that allow efficient mapping of computation to graphics hardware. As threads are executing instructions while using hardware resources that are available, impact of different thread organizations and their effect on spatial join performance is analyzed and examined in this report.Having new perspectives and solutions to the problem of thread organization and warp scheduling may contribute more to encourage others to program on the GPU side. The aim with this project is to examine the impact of different thread organizations in spatial join processes. The relationship between the items inside datasets are examined by counting the number of collisions their join produce in order to understand how different approaches may have an influence on performance. Performance benchmarking, analysis and measuring of different approaches in thread organization are investigated and analyzed in this report in order to find the most time efficient solution which is the purpose of the conducted work.This report shows the obtained results for the utilization of different thread techniques in order to optimize the computational speeds of the spatial join algorithms. There are two algorithms on the GPU, one implementing thread techniques and the other non-optimizing solution. The GPU times are compared with the execution times on the CPU and the GPU implementations are verified by observing the collision counters that are matching with all of the collision counters from the CPU counterpart.In the analysis part of this report the the implementations are discussed and compared to each other. It has shown that the difference between algorithm implementing thread techniques and the non-optimizing one lies around 80% in favour of the algorithm implementing thread techniques and it is also around 56 times faster then the spatial joins on the CPU. / Datakollisioner har studerats i stor utsträckning i olika områden inom vetenskap och industri. Att kombinera CPU och GPU för bearbetning av rumsliga föreningar har godtagits på grund av bättre prestanda. Detta bör omdirigera insatser i GPGPU-forskning från en enkel portning av applikationer till fastställande av principer och strategier som möjliggör en effektiv användning av grafikhårdvara. Eftersom trådar som exekverar instruktioner använder sig av hårdvaruresurser, förekommer olika effekter beroende på olika trådorganisationer. Deras på verkan på prestanda av rumsliga föreningar kommer att analyseras och granskas i denna rapport. Nya perspektiv och lösningar på problemet med trådorganisationen och schemaläggning av warps kan bidra till att fler uppmuntras till att använda GPU-programmering. Syftet med denna rapport är att undersöka effekterna av olika trådorganisationer i rumsliga föreningar. Förhållandet mellan objekten inom datamängder undersöks genom att beräkna antalet kollisioner som ihopslagna datamängder förorsakar. Detta görs för att förstå hur olika metoder kan påverka effektivitet och prestanda. Prestandamätningar av olika metoder inom trå dorganisationer undersö ks och analyseras fö r att hitta den mest tidseffektiva lösningen. I denna rapport visualiseras också det erhållna resultatet av olika trådtekniker som används för att optimera beräkningshastigheterna för rumsliga föreningar. Rapporten undersökeren CPU-algoritm och två GPU-algoritmer. GPU tiderna jämförs hela tiden med exekveringstiderna på CPU:n, och GPU-implementeringarna verifieras genom att jämföra antalet kollisioner från både CPU:n och GPU:n. Under analysdelen av rapporten jämförs och diskuteras olika implementationer med varandra. Det visade sig att skillnaden mellan en algoritm som implementerar trådtekniker och en icke-optimerad version är cirka 80 % till förmån för algoritmen som implementerar trådtekniker. Det visade sig också föreningarna på CPU:n att den är runt 56 gånger snabbare än de rumsliga
385

Towards an Efficient Spectral Element Solver for Poisson’s Equation on Heterogeneous Platforms / Mot en effektiv spektrala element-lösare för Poissons ekvation på heterogena plattformar

Nylund, Jonas January 2022 (has links)
Neko is a project at KTH to refactor the widely used fluid dynamics solver Nek5000 to support modern hardware. Many aspects of the solver need adapting for use on GPUs, and one such part is the main communication kernel, the Gather-Scatter (GS) routine. To avoid race conditions in the kernel, atomic operations are used, which can be inefficient. To avoid the use of atomics, elements were grouped in such a way that when multiple writes to the same address are necessary, they will always come in blocks. This way, each block can be assigned to a single thread and handled sequentially, avoiding the need for atomic operations altogether. In the scope of the thesis, a Poisson solver was also ported from CPU to Nvidia GPUs. To optimise the Poisson solver, a batched matrix multiplication kernel was developed to efficiently perform small matrix multiplications in bulk, to better utilise the GPU. Optimisations using shared memory and kernel unification was done. The performance of the different implementations was tested on two systems using a GTX1660 and dual Nvidia A100 respectively. The results show only small differences in performance between the two versions of the GS kernels when only considering computational cost, and in a multi-rank setup the communication time completely overwhelms any potential difference. The shared memory matrix multiplication kernel yielded around a 20% performance boost for the Poisson solver. Both versions vastly outperformed cuBLAS. The unified kernel also had a large positive impact on the performance, yielding up to a 50% increase in throughput. / Neko är ett KTH-projekt med syfte att vidareutveckla det populära beräkningsströmningsdynamik-programmet Nek5000 för moderna datorsystem. Speciell vikt har lagts vid att stödja heterogena plattformar med dedikerade accelleratorer för flyttalsberäkningar. Den idag vanligast förekommande sådana är grafikkort (GPUer). En viktig del av Neko är Gather-Scatter (GS)-funktionen, som är den huvudsakliga kommunikations-funktionen mellan processer i programmet. I GS-funktionen kan race conditions uppstå då flera trådar skriver till samma minnesaddress samtidigt. Detta kan undvikas med atomic operations, men användande av dessa kan ha negativ inverkan på prestanda. I detta masterarbete utvecklades en alternativ implementation där element i GS-algoritmen grupperades på sådant sätt att alla operationer på samma element kommer i block. På så sätt kan de enkelt behandlas i sekvens och därmed undvika behovet av atomic operations. Inom ramen för masterarbetet implementerades en numerisk lösare av Poisson’s ekvation för GPUer. Optimering av koden genom att göra matrismultiplikationer i bulk genomfördes, och vidare genom utnyttjande av shared memory. Prestandan utvärderades på två olika datorsystem med en GTX1660 respektive två A100 GPUer. Enbart små skillnader sågs mellan de olika GS-implementationerna, med en svag fördel om ca 5% högre prestanda för den grupperade varianten i högupplösta domäner. Poisson-lösaren visade på höga prestandasiffror jämfört med cuBLAS-biblioteket.
386

Hardware Acceleration in the Context of Motion Control for Autonomous Systems / Hårdvaruacceleration i samband med rörelsekontroll för autonoma system

Leslin, Jelin January 2020 (has links)
State estimation filters are computationally intensive blocks used to calculate uncertain/unknown state values from noisy/not available sensor inputs in any autonomous systems. The inputs to the actuators depend on these filter’s output and thus the scheduling of filter has to be at very small time intervals. The aim of this thesis is to investigate the possibility of using hardware accelerators to perform this computation. To make a comparative study, 3 filters that predicts 4, 8 and 16 state information was developed and implemented in Arm real time and application purpose CPU, NVIDIA Quadro and Turing GPU, and Xilinx FPGA programmable logic. The execution, memory transfer time, and the total developement time to realise the logic in CPU, GPU and FPGA is discussed. The CUDA developement environment was used for the GPU implementation and Vivado HLS with SDSoc environment was used for the FPGA implementation. The thesis concludes that a hardware accelerator is needed if the filter estimates 16 or more state information even if the processor is entirely dedicated for the computation of filter logic. Otherwise, for a 4 and 8 state filter the processor shows similar performance as an accelerator. However, in a real time environment the processor is the brain of the system, so it has to give instructions to many other functions parallelly. In such an environment, the instruction and data caches of the processor will be disturbed and there will be a fluctuation in the execution time of the filter for every iteration. For this, the best and worst case processor timings are calculated and discussed. / Tillståndsberäkningsfilter är beräkningsintensiva block som används för att beräkna osäkra / okända tillståndsvärden från bullriga / ej tillgängliga sensoringångar i autonoma system. Ingångarna till manöverdonen beror på filterens utgång och därför måste schemaläggningen av filtret ske med mycket små tidsintervall. Syftet med denna avhandling är att undersöka möjligheten att använda hårdvaruacceleratorer för att utföra denna beräkning. För att göra en jämförande studie utvecklades och implementerades 3 filter som förutsäger information om 4, 8 och 16 tillstånd i realtid med applikationsändamålen CPU, NVIDIA Quadro och Turing GPU, och Xilinx FPGA programmerbar logik. Exekvering, minnesöverföringstid och den totala utvecklingstiden för att förverkliga logiken i båda hårdvarorna diskuteras. CUDAs utvecklingsmiljö användes för GPU-implementeringen och Vivado HLS med SDSoc-miljö användes för FPGA-implementering. Avhandlingen drar slutsatsen att en hårdvaru-accelerator behövs om filtret uppskattar information om mer än 16 tillstånd även om processorn är helt dedikerad för beräkning av filterlogik. För 4 och 8 tillståndsfilter, visar processorn liknande prestanda som en accelerator. Men i realtid är processorn hjärnan i systemet; så den måste ge instruktioner till många andra funktioner parallellt. I en sådan miljö kommer processorns instruktioner och datacacher att störas och det kommer att bli en fluktuation i exekveringstiden för filtret för varje iteration. För detta beräknas och diskuteras de bästa och värsta fallstiderna.
387

Parallelized QC-LDPC Decoder ona GPU : An evaluation targeting LDPC codes adhering to the 5G standard / Paralleliserad QC-LDPC-avkodare på en GPU : En utvärdering av LDPC-koder som följer 5G-standarden

Hedlund, Olivia January 2024 (has links)
Over the last ten years, there has been an incremental growth of mobile network data traffic. The evolution leading to the development of 5G stands as a testament to the increased demands for high speed networks. Channel coding plays a pivotal role in 5G networks, making it possible to recover messages from errors introduced when sent through the network. Channel decoding is however a time consuming task for a receiver, and making optimization to this process could therefore have a significant impact on receiver processing time. Low-Density Parity-Check (LDPC) codes are one of the channel coding schemes used in the 5G standard. These codes could benefit from parallel processing, making Graphics Processing Units (GPUs) with their parallel computation abilities a possible platform for effective LDPC decoding. In this thesis, our goal is to evaluate a GPU as a platform for 5G LDPC decoding. The LDPC codes adhering to the 5G standard belong to the Quasi-Cyclic LDPC (QC-LDPC) subclass. Optimizations targeting this subclass, as well as other optimization techniques, are implemented in our thesis project to promote fast execution times. A GPU-based decoder is evaluated against a Central Processing Unit (CPU)-based decoder, written with Compute Unified Device Architecture (CUDA) and C++ respectively. The functionally equivalent decoders implement the layered offset Min-Sum Algorithm (MSA) with early termination to decode messages. Execution time for the decoders were measured while varying message size, Signal-to-Noise Ratio (SNR) and maximum iterations. Additionaly, we evaluated the decoders with and without including early termination, and also evaluated the GPU-decoder when it was integrated into a MATLAB 5G channel simulator used by Tietoevry. The results from the experiments showed that the GPU-based decoder experienced up to 4.3 times faster execution than the CPU-based decoder for message sizes ranging from 3000-12000 bits. The GPU-based decoder however experienced a higher baseline execution time, making the CPU-based decoder faster for smaller message sizes. It was also concluded that the benefit of including early termination in the decoder generally outweighs the cost of additional processing time. / Under de senaste tio åren har det skett en gradvis ökning av datatrafik i mobilnät. Utvecklingen som lett till framtagandet av 5G står som ett bevis på de ökade kraven på höghastighetsnätverk. Kanalkodning spelar en avgörande roll i 5G- nätverk, vilket gör det möjligt att återställa meddelanden från fel som uppstår när de skickas genom nätverket. Kanalavkodning är dock en tidskrävande uppgift för en mottagare, och optimering av denna process kan därför ha en betydande inverkan på mottagarens exekveringstider. LDPC-koder är en av de kanalkoder som används i 5G-standarden. Dessa koder kan dra nytta av parallell bearbetning, vilket gör GPUs med deras parallella beräkningsförmåga till en möjlig plattform för effektiv LDPC- avkodning. I denna masteruppsats är vårt mål att utvärdera en GPU som en plattform för 5G LDPC- avkodning. LDPC-koder som följer 5G-standarden tillhör underklassen QC-LDPC. Optimeringar som riktar sig mot denna underklass, samt andra optimeringstekniker, implementeras i vårt avhandlingsprojekt för att främja snabba exekveringstider. En GPU-baserad avkodare utvärderas mot en CPU-baserad avkodare, skrivna med programspråken CUDA respektive C++. De funktionellt likvärdiga avkodarna implementerar den lagrade offset MSA med tidig terminering för att avkoda meddelanden. Exekveringstiden för avkodarna mättes medan meddelandestorlek, SNR och maximalt antal iterationer varierades. Vi utvärderade också avkodarna med och utan att inkludera tidig terminering, samt utvärderade GPU-avkodaren när den integrerats i en MATLAB 5G-kanalsimulator som används av Tietoevry. Resultaten från experimenten visade att den GPU-baserade avkodaren hade upp till 4.3 gånger snabbare exekvering än den CPU-baserade avkodaren för meddelandestorlekar mellan 3000 och 12000 bitar. Den GPU-baserade avkodaren hade dock en högre baslinje för exekveringstiden, vilket gjorde den CPU-baserade avkodaren snabbare för mindre meddelandestorlekar. Det konstaterades också att fördelen med att inkludera tidig terminering i avkodaren i allmänhet överväger kostnaden för ytterligare bearbetningstid.
388

Accelerated LiDAR and RADAR sensor simulation for autonomous vehicles in mining environments

Larsson, Herman January 2024 (has links)
Background. Digital simulations of physical scenarios are becoming increasingly feasible and driverless vehicles are playing an ever growing part in contemporary mining operations and have the potential to increase productivity and worker safety. Such vehicles require sensors to detect their environments, two of the most common types being LiDAR and RADAR sensors. LiDAR sensors are sensitive to atmospheric sensory pollutants whereas RADAR sensors typically are not, but more susceptible to echoes. As such, digital simulations of such sensors seem a viable alternative to reduce costs and risks in testing new hardware. Objectives. This thesis aims to adapt existing models for CPU simulated LiDAR and RADAR sensors to the GPU as well as to further develop their functionality. These models will then be evaluated against one another according to their performance and scalability. Methods. The stated goals are achieved through the method of literary research, implementation, experimentation, and gathering of data. This data will then be structured, analyzed, and discussed to reach conclusions about the developed software models. Results. The results show that GPU accelerated sensor models have a high overhead cost compared to CPU implementation which hampers performance for low intensity simulations. GPU implementations do however scale more efficiently in many scenarios and achieved speedups of up to 650 times when executed on DXR shaders with heavy workloads than equivalent tests on the CPU. Likewise, low workloads appear unfit for GPU accelerations as the overhead cost of streaming data and instructions between the CPU and GPU can take over twice as long as merely executing the same instructions on the CPU. Conclusions. In conclusion, GPU accelerated ray tracing sensor simulations can be highly efficient compared to CPU implementations when tracing large numbers of rays or simulating many concurrent sensors, but may result in increased execution time if the workload is not high enough to justify the additional overhead cost of CPU-to-GPU communication. / Bakgrund. Digitala simuleringar av fysikaliska fenomen blir mer och mer görbara och självgående fordon spelar en allt större roll i dagens gruvoperationer. Dessa fordon har möjligheten att öka produktiviteten för företaget och säkerheten för arbetarna. Sådana fordon behöver sensorer för att finna sig i sin omgivning och LiDAR- och RADAR-sensorer är två av de vanligaste alternativen. LiDAR-sensorer är känsliga för luftburna störningsmoment medan RADAR-sensorer är jämförelsevis opåverkade men känsliga mot ekon. Med detta i åtanke verkar digitala simuleringar av sådana sensorer vara ett lovande alternativ för att sänka kostnader och risker med att testa ny hårdvara. Syfte. Syftet med arbetet är att översätta befintliga CPU modeller för att simulera LiDAR- och RADAR-sensorer till GPU-programvara såväl som att vidareutveckla deras funktionalitet. Dessa modeller kommer sedan att bli utvärderade gentemot varandra vad gäller deras prestanda och skalbarhet. Metod. De givna målen kommer att uppfyllas via litterära studier, implementation, experimentering och datainsamling. Denna data kommer sedan att bli omstrukturerad, analyserad, diskuteras, och få slutsatser dragna kring sig gällande den mjukvara som utvecklats och framförts. Resultat. Resultaten visar att GPU-accelererade sensormodeller har en hög overheadkostnad jämfört med CPU implementationerna, vilket sänker deras relativa prestanda i lågintensitetssimuleringar. GPU-implementationerna har dock högre skalbarhet i många situationer och kan uppnå resultat upp till 650 gånger snabbare än originalkoden när de istället utförs via DXR-shaders med hög arbetsbörda. Likaså är framstår låg arbetsbörda som opassande scenarion för GPU accelererad mjukvara då exekveringstiden på CPUn kan komma att bli snabbare än overheadkostnaden av att strömma datan och instruktionerna till GPUn. Slutsatser. GPU accelererad raytracing med stora antal strålar eller sensorer som exekveras samtidigt ger upphov till mycket tidseffektiva simuleringar men kan leda till ökad total exekveringstid om arbetsbördan inte blir tillräckligt hög för att rättfärdiga overheadkostnaden av GPU-till-CPU kommunikation.
389

Parallel explicit FEM algorithms using GPU's

Banihashemi, Seyed Parsa 07 January 2016 (has links)
The Explicit Finite Element Method is a powerful tool in nonlinear dynamic finite element analysis. Recent major developments in computational devices, in particular, General Purpose Graphical Processing Units (GPGPU's) now make it possible to increase the performance of the explicit FEM. This dissertation investigates existing explicit finite element method algorithms which are then redesigned for GPU's and implemented. The performance of these algorithms is assessed and a new asynchronous variational integrator spatial decomposition (AVISD) algorithm is developed which is flexible and encompasses all other methods and can be tuned based for a user-defined problem and the performance of the user's computer. The mesh-aware performance of the proposed explicit finite element algorithm is studied and verified by implementation. The current research also introduces the use of a Particle Swarm Optimization method to tune the performance of the proposed algorithm automatically given a finite element mesh and the performance characteristics of a user's computer. For this purpose, a time performance model is developed which depends on the finite element mesh and the machine performance. This time performance model is then used as an objective function to minimize the run-time cost. Also, based on the performance model provided in this research and predictions about the changes in GPU's in the near future, the performance of the AVISD method is predicted for future machines. Finally, suggestions and insights based on these results are proposed to help facilitate future explicit FEM development.
390

Animation de phénomènes gazeux basée sur la simulation d'un modèle de fluide à phase unique sur le GPU

Guay, Martin January 2011 (has links)
Le présent mémoire porte sur l'animation passive de phénomènes naturels. L'animation est dite passive lorsque qu'elle [i.e. lorsqu'elle] est directe et sans contrôle ou sans dynamique inverse. En particulier, le type de phénomènes naturels traités est celui des phénomènes gazeux et plus précisément, ceux modélisés par un fluide à phase unique. Tout d'abord, le domaine de l'animation de fluide synthétisé par la simulation d'un modèle physique sera introduit ainsi que la problématique abordée.Le document comprend trois contributions abordant la problématique à différents niveaux. Dans le premier ouvrage, on retrouve une méthode permettant de résoudre les équations de Navier-Stokes en une seule itération sur le GPU (Graphical Processing Unit). La méthode est si simple qu'elle a pu être implémentée en moins d'une journée de travail dans Fx-Composer (vidéo : http: //www.youtube.com/watch?v=PScfTOKbSpU). En plus d'être extrêmement rapide sur le GPU, cette méthode rend l'animation de fluide beaucoup plus accessible et peut être utilisée à différentes fins : l'initiation à l'animation de fluide à l'aide d'une méthode simple à implémenter ou l'ajout rapide d'effets visuels dans un jeu vidéo ou autre application interactive. La deuxième contribution aborde le problème au niveau de la visualisation du fluide. On y retrouve l'élaboration d'une méthode explicite et inconditionnellement stable pour la résolution numérique de l'équation de convection-diffusion utilisée pour simuler la densité d'un gaz qui à la fois est diffusé et transporté dans le domaine par un champ de vecteurs-vitesse, qui dans notre cas représente le mouvement d'un fluide.Le troisième article aborde le problème au niveau de la complexité calculatoire et réduit l'animation 3D de feu à une utilisation 2D strictement en espace-écran. La complexité d'une animation en espace-écran est constante pour une résolution d'image donnée puisque les calculs se font uniquement sur les pixels de l'écran (ou une sur une sous-résolution de ceux-ci).

Page generated in 0.0379 seconds