Tez No İndirme Tez Künye Durumu
872226
FPGA based hardware accelerator for euler equations with finite volume method / Euler denklemleri için sonlu hacimler yöntemi ile FPGA tabanlı donanım hızlandırıcı
Yazar:EMİNE ELİF YİĞİT
Danışman: DR. ÖĞR. ÜYESİ RAMAZAN YENİÇERİ
Yer Bilgisi: İstanbul Teknik Üniversitesi / Lisansüstü Eğitim Enstitüsü / Savunma Teknolojileri Ana Bilim Dalı / Savunma Teknolojileri Bilim Dalı
Konu:Elektrik ve Elektronik Mühendisliği = Electrical and Electronics Engineering ; Havacılık ve Uzay Mühendisliği = Aeronautical Engineering ; Savunma ve Savunma Teknolojileri = Defense and Defense Technologies
Dizin:Bilgisayar donanımları = Hardware ; FPGA = FPGA ; Hesaplamalı akışkanlar dinamiği (HAD) = Computational fluid dynamics (HAD)
Onaylandı
Yüksek Lisans
İngilizce
2024
95 s.
Bu tezde, Alan Programlanabilir Kapı Dizilerinin (FPGA) yenilikçi kullanımı yoluyla Hesaplamalı Akışkanlar Dinamiği (CFD) simülasyonlarının hızlandırılmasına ilişkin ayrıntılı bir araştırma sunulmaktadır. Bu araştırma, akış analizinde geleneksel teorik ve deneysel yaklaşımların getirdiği sınırlamaları aşma, analizleri hızlandırma ve maliyeti düşürme ihtiyacıyla ortaya çıkmıştır. Teorik modeller akışkanlar dinamiğini anlamada önemli adımlar atmıştır, ancak Navier-Stokes denklemleri gibi zorluğuyla bilinen ve "Milenyum Ödülü Problemleri" arasında listelenen karmaşık denklemleri çözmenin hesaplama zorluklarıyla karşılaştıklarında genellikle bocalarlar. Öte yandan deneysel yöntemler, rüzgar tüneli deneyleri aracılığıyla gerçek dünyaya ilişkin değerli bilgiler sağlar, ancak yüksek işletme maliyetleri, test koşulları üzerindeki sınırlı kontrol ve hassas ölçümler elde etmenin zorluğu nedeniyle kısıtlanırlar. CFD, akışkanların dinamiğini incelemek için daha hassas ve uygun maliyetli bir metodolojiyi savunan üçüncü ve umut verici bir yaklaşım olarak öne çıkmaktadır. Akışkan hareketini simüle etmek için sayısal yöntemler ve algoritmalar kullanan CFD, karmaşık geometrilere uygulanabilirliği, fiziksel deneyleri etkili bir şekilde tamamlama kapasitesi ve önemli ölçüde maliyet ve zaman azaltma potansiyeli gibi belirgin avantajlar sergiler. Bununla birlikte, CFD simülasyonlarının güvenilirliği büyük ölçüde modelin kalitesine ve seçilen çözüm stratejilerine bağlıdır. Karmaşık geometrileri ve fiziksel olayları doğru bir şekilde modellemek için kapsamlı hesaplama gücüne ihtiyaç duyar. CFD çözümleri daha önce yapılan çalışmalarda Merkezi İşlem Birimi (CPU), Grafik İşlem Birimi (GPU) ve FPGA gibi donanımların yardımıyla önemli ölçüde hızlandırılmıştır. CPU'lar genel amaçlı hesaplamalar için tasarlanırken, GPU'lar özellikle yüksek paralellik gerektiren görevlerde avantajlar sunar. FPGA'lar, kullanıcılar tarafından belli görevleri yerine getirmek üzere yapılandırılabilen programlanabilir mantık çipleridir. FPGA'lar, donanımın işlevselliğini yazılım aracılığıyla değiştirilmesine izin vererek onları çeşitli uygulamalar için esnek ve optimize edilebilir sistemler haline sağlar. Bu özellikler, yeniden programlanabilir yapıları ve üstün performans yetenekleri ile tanınan FPGA'ların kullanımını önermektedir. Bu çalışma için Model Tabanlı Tasarım (MBD) yaklaşımı benimsenerek, HDL kodu üretme süreci detaylandırılmıştır. Bu metodoloji, MATLAB komut dosyalarından sentezlenebilir Donanım Tanımlama Dili (HDL) kodu üretme sürecini detaylandırmıştır.Bu methodoloji sadece tasarım sürecini iyileştirmeyi değil, aynı zamanda FPGA programlamanın güvenilirliğini artırmayı ve özellikle CFD çözümlerini hızlandırmak için tasarlanmış FPGA tabanlı bir donanım hızlandırıcısının geliştirilmesi için sağlam bir çerçeve oluşturmayı amaçlamaktadır. Araştırma özellikle, yüksek hızlı akışkan akışını modellemesi için çok önemli olan Euler Denklemleri için bir çözüm geliştirmeye odaklanmaktadır. Tasarım bu metodolojiye göre gerçekleştirildikten sonra doğruluğu Ansys Fluent ticari yazılımı ile kontrol edilecektir. Doğruluğu kesinleşen ilk model detaylandırılacak ve HDL kodu üretilmesi için MATLAB HDL Coder aracına aktarılarak HDL kodu üretilecektir. HDL kod üretildikten sonra bir sonlu hacim elemanı için FPGA kaynak kullanımı ve çözüm süresine bakılması planlanmıştır. Böylelikle önceki çalışmalar ile tasarlanan donanım hızlandırıcısı arasındaki çözüm süresi performansı değerlendirilecektir. Tezde öncelikle donanım tasarım metodolojisinden bahsedilmiş ve önerilen tasarım metodu hakkında bilgi verilmiştir. Bu tasarım metodolojisi, Sonlu Hacimler Yöntemi (FVM) ve ikinci dereceden yukarı rüzgar yöntemi ile elde edilen Euler Denklemlerinin uyarlanmasıyla başlar. Viskoz olmayan, zamana bağlı olarak değişmeyen ve sıkıştırılabilir akış koşullarının modellenmesi için temel olan bu denklemler daha sonra MATLAB kodu dosyası formuna dönüştürülür. Bu süreç, bu tez için geliştirilen MATLAB simülatörünün omurgasını oluşturan çekirdek kod dosyalarının oluşturulmasıyla sonuçlanır. Simülatör, ilk modelleme aşamasının doruk noktasını temsil eder ve ayrıklaştırılmış denklemleri yinelemeli olarak çözerek tüm simülasyon sürecini kapsar. Simülasyon algoritması, 100 hücrelik bir hesaplama alanında CFD analizi yapmak için gereken tüm adımları ayrıntılı bir şekilde kapsamaktadır. Hesaplama, çeşitli akış özellikleri için başlangıç koşullarının belirlenmesiyle başlar. Bu özellikler arasında hız bileşenleri, enerji, sıcaklık ve basınç yer alır ve simülasyonun temelini oluşturur. İlk yoğunluk hesaplaması, ideal gaz denklemi kullanılarak yapılır. Algoritma akışkanın yoğunluğunu, hız bileşenlerini ve enerjisini güncellemek için sırayla Süreklilik, Momentum ve Enerji denklemlerini paralel olarak çözer. Ardından sıcaklık ve basınçla ilgili ek denklemler çözülür ve elde edilen değerler akışkanın yeni özelliklerini yansıtacak şekilde güncellenir ve bir sonraki iterasyona geçiş yapılır. Yazılan algoritmanın MATLAB ortamında uygulanması ve 100 iterasyon koşturulmasından sonra MATLAB simülatörü oluşturulmuş olur. Bu simülatörün doğruluğunu karşılaştırma yoluyla doğrulamak için aynı parametreler kullanılarak ANSYS Fluent'te bir analiz gerçekleştirilir. Doğrulama süreci, ilk modelin istenen sonuçlarla uyumlu olmasını sağladığı için çok önemlidir. MATLAB simülasyon günlüğünde tutulan analiz sonuçları ile Ansys Fluent ticari yazılımında yapılan analiz sonuçları arasındaki farklar kolaylıkla tespit edilebilecek kadar düşük oldukları için bu modelin doğruluğu ve değerlendirme süreci başarıyla tamamlanmış olarak kabul edilmiştir. Daha sonra ilk model HDL kodunun oluşturulması için MATLAB HDL Coder'a aktarılır. İlk model toplama, çıkarma, bölme, çarpma ve karşılaştırma gibi atomik işlemlere ayrıldığı ve FPGA uygulaması için uygun sentezlenebilir HDL kodunun oluşturulmasını kolaylaştıran bir detaylandırma aşamasından geçer. Bu adımda tek bir sonlu hacim için tüm ayrıklaştırılmış denklemler satır satır yazılır. Kodlar her satırda tek bir matematiksel işlem olacak şekilde yazıldıktan sonra, MATLAB HDL Coder aracına aktarılır. Sentez işlemi için Zynq UltraScale+ MPSoCs yonga ailesinden 'xczu7cg-ffvf1517-2L-e' cihazı seçilmiştir. MATLAB HDL Coder tarafından oluşturulan ve Vivado ortamında gerçekleştirilen sentez sonuçlarının değerlendirilmesi, FPGA kullanımına ilişkin derinlemesine bir genel bakış sunmaktadır. Bu analiz, FPGA içinde süreklilik, momentum, enerji, sıcaklık ve basınç hesaplamalarını gerçekleştirmek için çok önemli olan Look-Up Tabloları (LUT'lar), RAM, Flip-Flop'lar, Dijital Sinyal İşlemcileri (DSP'ler) ve Tampon Hafıza Bölgesi (Buffer'lar) gibi temel kaynakların ayrıntılı bir dökümünü kapsar. Dikkat çekici bir şekilde, FPGA tabanlı tasarım aracılığıyla Euler Denklemlerini tek bir hücrede çözmek için kaydedilen yineleme süresi 606,8 ns'dir ve geleneksel CPU tabanlı yöntemlere kıyasla önemli bir hızlanma sergilemektedir. Bu performans, CPU'larda tek boyutlu Euler denklemi çözümlerine odaklanan önceki çalışmalardan 1,17 kat, CPU'larda iki boyutlu çözümlerden ise 3,18 kat daha hızlıdır. Bu sonuçlar, FPGA yaklaşımının hesaplama hızını artırmadaki etkinliğini teyit etmekle kalmayıp, aynı zamanda CFD simülasyonları alanında önemli bir ilerlemeye işaret eder. Bu tez, FPGA teknolojisinden yararlanarak simülasyon sürelerinde belirgin iyileşme potansiyelini ortaya koymakta ve aerodinamik analiz ve tasarım yinelemeleri için daha hızlı, daha verimli bir yol sunmaktadır. Bu araştırma, tek bir FPGA içinde daha fazla sayıda hücreyi desteklemek için donanım mimarisinin genişletilmesini, ayrıklaştırma tekniklerini ve çözümün iki boyutlu bir modele dönüştürülmesini dahil olmak üzere gelecekteki birçok araştırmaya ışık tutmaktadır. Bu girişimler, daha karmaşık simülasyonları ele alma ve FPGA tabanlı hızlandırıcıların hesaplamalı akışkanlar dinamiği ve ötesindeki faydasını artırma yönünde kritik bir adım anlamına gelerek, bu alandaki son teknolojinin kapsamını ve uygulanabilirliğini genişletmeyi vaat etmektedir. Bu kapsamlı araştırma sayesinde tez, FPGA tabanlı hızlandırıcıların CFD simülasyonlarını dönüştürme potansiyelini sergilemekle kalmaz, aynı zamanda yüksek hızlı aerodinamik çalışmaların sunduğu zorlukların üstesinden gelmek için gelişmiş hesaplama araçlarının kullanımına ilişkin daha geniş bir tartışmaya da katkıda bulunur.
This thesis presents a detailed investigation into the acceleration of Computational Fluid Dynamics (CFD) simulations through the innovative use of Field-Programmable Gate Arrays (FPGAs). This research is motivated by the need to overcome the limitations imposed by traditional theoretical and experimental approaches in flow analysis, to accelerate analyses, and to reduce costs. Theoretical models have made significant strides in understanding fluid dynamics; however, they often falter when faced with the computational challenges of solving complex equations known for their difficulty, such as the Navier-Stokes equations, which are listed among the "Millennium Prize Problems". On the other hand, experimental methods provide valuable real-world insights through wind tunnel experiments, but are limited due to high operational costs, restricted control over test conditions, and the difficulty of obtaining precise measurements. CFD emerges as a third and promising approach, advocating for a more accurate and cost-effective methodology to study fluid dynamics. Utilizing numerical methods and algorithms to simulate fluid motion, CFD exhibits distinct advantages such as applicability to complex geometries, the capacity to effectively complement physical experiments, and significant potential for cost and time reduction. Nevertheless, the reliability of CFD simulations heavily relies on the quality of the model and the chosen solution strategies, requiring extensive computational power to accurately model complex geometries and physical phenomena. In previous studies, solutions for CFD have been significantly accelerated with the assistance of hardware such as Central Processing Units (CPU), Graphics Processing Units (GPU), and FPGAs. While CPUs are designed for general-purpose computations, GPUs offer advantages in tasks requiring high parallelism. FPGAs are programmable logic chips that can be configured by users to perform specific tasks. By allowing the functionality of the hardware to be altered through software, FPGAs become flexible and re-programmable for various applications. This study suggests the use of FPGAs, recognized for their re-programmable structures and superior performance capabilities, to meet the demanding computational requirements of CFD simulations. Thanks to their customizable architecture, FPGAs can be optimized for specific tasks, presenting a promising solution for the challenges associated with CFD computations. For this study, a Model-Based Design (MBD) approach is adopted, detailing the process of generating synthesizable Hardware Description Language (HDL) code from MATLAB scripts via an HDL coding module. This methodology aims not only to improve the design process but also to enhance the reliability of FPGA programming and to establish a robust framework for developing an FPGA-based hardware accelerator designed specifically to speed up CFD solutions. The research focuses particularly on developing a solver for the Euler Equations, which are crucial for modeling high-speed fluid flow. After the design is carried out according to this methodology, its accuracy will be checked against the commercial software Ansys Fluent. The first model, once its accuracy is confirmed, will be detailed and transferred to the MATLAB HDL Coder tool for generating the HDL code. After the HDL code is generated, an analysis of FPGA resource usage and the time it takes to solve for an element is planned. Thus, the performance of the designed hardware accelerator will be evaluated against previous studies. The thesis initially discusses hardware design methodology and provides information about the proposed design method. This design methodology begins with the discretization of the Euler Equations, obtained using the Finite Volume Method (FVM) and a second-order upwind method. These equations, fundamental for modeling inviscid, steady, and compressible flow conditions, are then converted into MATLAB script form. This process results in the creation of core code files that form the backbone of the MATLAB simulator developed for this thesis. The simulator represents the culmination of the initial modeling phase, encompassing the entire simulation process by iteratively solving the discretized equations. The simulation algorithm covers in detail the steps required to perform CFD analysis in a computational domain of 100 cells. The computation starts with the determination of initial conditions for various flow properties, including velocity components, energy, temperature, and pressure, which lay the groundwork for the simulation. The density is initialized using the ideal gas equation. The algorithm then solves the Continuity, Momentum, and Energy equations in parallel to update the fluid's density, velocity components, and energy, respectively. Additional equations related to temperature and pressure are solved next, and the updated values reflect the new properties of the fluid, leading to the transition to the next iteration. After implementing the written algorithm in MATLAB and running 100 iterations, the MATLAB simulator is created. To validate the accuracy of this simulator, an analysis is performed in ANSYS Fluent using the same parameters. The validation process is crucial as it ensures that the initial model is consistent with the desired results. Since the differences between the analysis results logged in the MATLAB simulation diary and those conducted in the commercial software ANSYS Fluent are acceptably small, the validation and evaluation process of the initial model is considered to be successfully completed. Subsequently, the initial model is transferred to MATLAB HDL Coder for the generation of HDL code. The initial model undergoes a detailing phase where it is broken down into atomic operations such as addition, subtraction, division, multiplication, and comparison, facilitating the creation of synthesizable HDL code suitable for FPGA implementation. At this stage, the discretized equations for a single finite volume are written line by line. After the codes are written to include only a single mathematical operation per line, they are transferred to the MATLAB HDL Coder tool. The 'xczu7cg-ffvf1517-2L-e' device from the Zynq UltraScale+ MPSoCs xxii family is selected for the synthesis process. The evaluation of synthesis results conducted in the Vivado environment and generated by MATLAB HDLcoder provides an in-depth overview of FPGA usage. This analysis includes a detailed breakdown of essential resources such as Look-Up Tables (LUTs), RAM, Flip-Flops, Digital Signal Processors (DSPs), and Buffers, which are crucial for performing calculations of continuity, momentum, energy, temperature, and pressure within the FPGA. Remarkably, the iteration time recorded for solving the Euler Equations in a single cell through FPGA-based design is 606.8 ns, demonstrating a significant acceleration compared to traditional CPU-based methods. This performance is 1.17 times faster than previous studies focused on one-dimensional Euler Equation solutions on CPUs and 3.18 times faster than two-dimensional solutions on CPUs. These results not only confirm the efficacy of the FPGA approach in increasing computational speed but also signify a major advancement in the field of CFD simulations. This thesis showcases the potential for significant improvements in simulation times by leveraging FPGA technology, offering a faster and more efficient route for aerodynamic analysis and design iterations. Looking forward, the thesis identifies future research areas, including expanding the hardware architecture to support a larger number of cells within a single FPGA, enhancing discretization techniques, and converting the solver into a three-dimensional model. These initiatives represent a critical step towards handling more complex simulations and enhancing the utility of FPGA-based accelerators in computational fluid dynamics and beyond, promising to extend the scope and applicability of this cutting-edge technology. Through this comprehensive research, the thesis not only demonstrates the transformative potential of FPGA-based accelerators for CFD simulations but also contributes to a broader discussion on the use of advanced computational tools to overcome the challenges presented by high-speed aerodynamic studies.