Geri Dön

Heteregeneous computing for multi-phase blood flow simulations

Çok-fazlı kan akış simülasyonları için heterojen hesaplama

  1. Tez No: 520078
  2. Yazar: MEYSAM ABOUTALEBI
  3. Danışmanlar: PROF. DR. MUSTAFA SERDAR ÇELEBİ
  4. Tez Türü: Yüksek Lisans
  5. Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
  6. Anahtar Kelimeler: Belirtilmemiş.
  7. Yıl: 2018
  8. Dil: İngilizce
  9. Üniversite: İstanbul Teknik Üniversitesi
  10. Enstitü: Bilişim Enstitüsü
  11. Ana Bilim Dalı: Hesaplamalı Bilimler ve Mühendislik Ana Bilim Dalı
  12. Bilim Dalı: Belirtilmemiş.
  13. Sayfa Sayısı: 89

Özet

Teknolojideki geli¸smeler sonucunda artık hesaplamalı bilim ve mühendislik alanında yapılan çalı¸smalarda oldukça büyük ölçekli simülasyonlar yapılabilmektedir. Günümüzde, bilgisayar kullanılan hesaplamalarda i¸slemci olarak hala CPU'lar yo˘gun olarak kullanılmaktadır. Fakat bunun yanında grafik kartları GPU'lar (grafik i¸slem birimi) da oldukça yaygın kullanım alanına sahip olmu¸slardır. GPU'lar özel olarak grafik i¸slemleri için geli¸stirilmi¸slerdir ancak yıllar önce yapılan çalı¸smalar sonucu grafik algoritmaları dı¸sında da birçok alanda kullanılmaya ba¸slamı¸stır. Buna öncülük eden en büyük geli¸sme Nvidia firmasının özel olarak kendi kartları için geli¸stirdi˘gi programlama dili CUDA'nın (hesaplamalı birle¸sik donanım mimarisi) ortaya çıkmasıdır. CUDA ile beraber kullanıcılar özel algoritmalar dı¸sında genel hesaplama i¸slemleri de yapabilme yetene˘gi kazandılar. Bununla birlikte grafik kartları da de˘gi¸sik mimarilerde üretilmeye ba¸slanmı¸stır. Bu tezde kullandı˘gımız Tesla K20 grafik kartını buna örnek olarak gösterebiliriz. Tesla K20 kartı grafik i¸slemlerinde kullanılamadı˘gı gibi sadece hesaplama i¸slemlerinde kullanılabilmektedir. Bu tarz grafik kartları ile gerçekle¸stirilen hesaplama i¸sine de GPGPU (Grafik ˙I¸slemcisinde Genel Amaçlı Hesaplama) denilmektedir. Tesla K20 donanımının enerji çıkı¸sı dı¸sında herhangi bir çıkı¸s slotu bulunmamakla birlikte bilgisayara da PCI-Express (Çevresel bile¸sen ba˘glantısı) ile ba˘glanmaktadır. Buna ek olarak birden çok GPU aynı anda kullanılarak aynı hesaplama i¸sini daha hızlı yapmak için kullanılabilmektedir. GPU'nun günümüzde mühendislik hesaplamalarında bu kadar kullanılmasını göze alarak biz de bu verimli hesaplama kartlarını Hesaplamalı Akı¸skanlar Dinami˘gi (HAD) uygulamalarında test ettik. HAD uygulamaları için oldukça yo˘gun hesaplamala zamanına, haliyle güçlü donanımlara ihtiyaç duyulabilmektedir. GPU'nun verimlili˘gi Molekül Dinami˘ginden, Yapay zeka algoritmalarına kadar birçok alanda ispatlanmı¸s ve yo˘gun olarak kullanılmaktadır. Ara¸stırmacılar genellikle algoritmaları GPU mimarisine özel olarak geli¸stirerek oldukça yüksek verim elde edebilmektedirler. Literatürde bugüne kadar GPU ile birçok HAD uygulamaları gerçekle¸stirilmi¸s ve oldukça yüksek performanslar elde edilmi¸stir. Biz de tez çalı¸smamızda açık kaynaklı bir kod olan OpenFOAM'ı kullanarak GPU üzerinde HAD simülasyonları gerçekle¸stirdik. OpenFOAM, nesneye dayalı programlama dili olan C++ kullanılarak kendine özel bir mimaride geli¸stirilmi¸stir. OpenFOAM yazılımı, C++ sayesinde genel akı¸skan fizi˘gini bilgisayar ortamına çok güzel adapte edilmi¸s ve oldukça kaliteli bir HAD çözücü olarak ortaya koyulmu¸stur. CPU i¸slemcisine göre geli¸stirilen bu yazılımın GPU'da kullanılması dı¸sarıdan eklenen kütüphaneler kullanılarak gerçekle¸stirilebilmektedir. Bu kütüphaneler HAD simülasyonundaki hesaplamanın tamamı ile ilgilenmek yerine sadece matris sistem çözümleme kısmı ile ilgilenmektedirler. xxi Matris sistem çözümleri HAD uygulamalarında hesaplama süresinin %80 ve üstü kısmını kapsamaktadır. Bu yüzden matris sistem çözümünün hızlandırılması di˘ger genel i¸slemlere göre daha fazla önem arzetmektedir. Fakat bu i¸slem sırasında CPU ve GPU arasında haberle¸sme oldu˘gu, bilgi transferi gerçekle¸sti˘gi için performansta dü¸sü¸se sebep olmaktadır. Bu yüzden mümkün oldu˘gunda CPU-GPU haberle¸smesi kısa tutularak, hesaplamanın yo˘gun oldu˘gu durumlarda GPU kullanımı önerilmektedir. Yani, zaman adımının kısa sürdü˘gü ve uzun zaman adımlarının gerekti˘gi simülasyonlardan çok zaman adımının uzun sürdü˘gü simülasyonlarda GPU kullanımı performanstan kazanç sa˘glayabilir. Tabi yorum özel olarak OpenFOAM'da GPU kullanımı için yapılmaktadır. GPU için kullanılan bu kütüphaneler her zaman adımında CPU-GPU arasında bilgi transferi gerçekle¸stirdi˘gi için kısa süren zaman adımlı simülasyonlarda haberle¸smeye harcanan sürenin toplam hesaplama süresine oranı daha yüksek olaca˘gından, performans kazancından çok muhtemelen CPU'dan daha dü¸sük bir performans gösterebilir. Bu ¸sekilde OpenFOAM'a eklenebilen olan kütüphaneler olarak Cufflink ve Paralution kütüphaneleri bulunmaktadır. Bunun yanında CPU-GPU haberle¸smesini mümkün mertebe azaltmak için, OpenFOAM baz alınarak, geli¸stirilmi¸s bir ba¸ska yazılım olan RapidCFD'de HAD uygulamalarında verimli GPU hesaplaması yapmaya olanak sa˘glamaktadır. Bu yazılım da OpenFOAM'ın matris sistem çözümlemesine ek olarak Kısmi Diferansiyel Denklem (PDE) ayrıkla¸stırmasını da GPU'da gerçekle¸stiriyor. Bu sayede GPU-CPU arasında gerçekle¸sen haberle¸smenin minimuma inmesi ve matris format de˘gi¸sikli˘gi/kopyalanması gibi i¸slemler de saf dı¸sı bırakıldı˘gı için performansta oldukça artı¸s gösterebilmektedir. Bu kütüphane ve yazılımların çalı¸sma sistemi de göz önüne alınarak birden çok farklı HAD modelinde de˘gi¸sik ölçekteki simülasyonlar test edilerek kar¸sıla¸stırmalar yapılmı¸stır. Tez çalı¸smamızda, OpenFOAM'da birden çok GPU hesaplama yöntemini test etmemizin sebebi bu kütüphane ve yazılımların kendine has artı ve eksileri bulunmasıdır. Örne˘gin, RapidCFD do˘gası gere˘gi yöntemler arasında yüksek performansı göstermesi beklenmektedir fakat OpenFOAM'ın bütün fonksiyonlarını kapsamamaktadır çünkü kendi ba¸sına bir yazılım oldu˘gu için bu yazılımı geli¸stiren ara¸stırmacılar RapidCFD'yi OpenFOAM'ın belli ba¸slı çözücülerini CUDA'ya adapte ederek yayınlamı¸slardır. Bunun yanında Paralution'da oldukça kaliteli bir linear cebir kütüphanesi olmakla beraber tam kapsamlı Paralution yazılımına ula¸smak için lisans parası ödemek gerekmektedir. Örne˘gin, açık kaynak olan Paralution sürümünde çoklu GPU kullanımı kısıtlanmı¸stır, yani, sadece tek GPU ile hesaplamala i¸slemi gerçekle¸stirilebilmektedir. Cufflink kütüphanesi ise açık kaynaklı ve çoklu GPU kullanımına uygun olmasına ra˘gmen ilk yayınlanma sürümünden (0.0.1) sonra bir geli¸stirmeye tabi tutulmamı¸stır. Bunun yanında OpenFOAM'ın bir dalı olan foam-extend için geli¸stirilen bir kütüphanedir. Bahsedilen yazılım ve kütüphaneler kullanılarak OpenFOAM'ın üç ayrı test vakası için simülasyonlar gerçekle¸stirilerek performans kıyaslaması yapılmı¸stır. Bu test vakalarının ilkinde pitzDaily modelinin geometrisi kullanılarak nonNewtonianIcoFoam, non-Newtonian sıkı¸stırılamaz laminar akı¸s çözümleyicisi kullanılarak gerçekle¸stirilmi¸stir. Ikinci olarak da plateHole vakasının üstünde, solidDisplacementFoam çözümleyicisinin farklı yöntemlere göre GPU performans kıyası yapılmı¸stır. Son olarak da klasik lidDriven vakasında icoFoam, laminar sıkı¸stırılamaz akı¸s çözümleyicisi, kullanılarak kıyas yapılmı¸stır. Bütün çalı¸smalar sonucu elde etti˘gimiz verilerle üç ayrı GPU hesaplama yönteminin; Cufflink, Paralution ve RapidCFD kıyaslanması yapılmı¸stır. Cufflink kütüphanesinin xxii bir güzel yanı da aslında foam-extend için geli¸stirilmi¸s olmasıdır. Çünkü OpenFOAM dünyasında Sıvı-Katı Etkile¸sim (FSI) modelleri foam-extend için geli¸stirilmi¸stir. Bu yüzden herhangi bir FSI simülasyonunu GPU'da çözmek istersek bunu Cufflink kullanarak gerçekle¸stirebilmekteyiz. Cufflink kütüphanesinin çalı¸sma prensibi, CUDA'ya ait olan Cusp ve Thrust kütüphanelerini ba˘glamaya dayalıdır. Bu yüzden bireysel geli¸stirmelerde veya daha güncel CUDA kütüphanelerini OpenFOAM'a integre etme çalı¸smalarında güzel bir örnek te¸skil etmektedir. Tez çalı¸smamızın asıl amacı, iki-fazlı kan akı¸sı modellenmesinin GPU ile çözümlenmesine incelemektir. Iki-fazlı kan akı¸sı modellememizi, Kırmızı Kan Hücreleri (RBCs) ve plazma fazını iki ayrı akı¸skan kabul ile gerçekle¸stirmekteyiz. Iki-fazlı kan akı¸sı modellemesi daha çok toplardamarlarda, kan akı¸s hızının dü¸sük oldu˘gu yerlerde, daha çok önem arzetmektedir çünkü kırmızı kan hücreleri kan akı¸sının hızının dü¸sük oldu˘gu yerlerde daha baskın olarak kan akı¸sına daha çok non-Newtonian bir etki yaratmaktadır. Bizim kullandı˘gımız HAD çözümleyicisi, kırmızı kan hücrelerinin gösterdi˘gi non-Newtonian viskozite modelini içerdi˘gi için kırmızı kan hücrelerinin gözlemlenmesi mümkün olmaktadır. Bu viskozite modeli sadece kan akı¸sı için gerçekle¸stirilen deneyler sonucunda ortaya çıkan veriler kullanılarak geli¸stirildi˘gi için toplardamarlarda oldukça gerçekçi kan akı¸sı fizi˘gi ortaya koyabilmektedir. Kırmızı kan hücrelerinin viskozite için kullanılan bu modelin ismi modifiye Carreau-Yashuda model olarak geçmekte ve aslında üç fazlı kan akı¸sı (kırmızı kan hücreleri, plazma, beyaz kan hücreleri) için tanıtıldı˘gı gibi iki fazlı kan akı¸sı (kırmızı kan hücreleri, plazma) için de uyarlanabilmektedir. Bu model toplardamarlarda oldu˘gu gibi dü¸sük hızdaki kan akı¸sı için uygun bir yakla¸sım vermektedir. Non-newtonian karaktere sahip olan iki-fazlı kan akı¸sında, kırmızı kan hücrelerinin viskozitesi için deneysel veriler sonucu elde edilmi¸s modifiye Carreau-Yashuda modeli kullanılırken di˘ger plazma fazı için de Newtonian akı¸skan kabulü olan sabit viskoziteli akı¸skan modeli kullanılmı¸stır. Kullandı˘gımız modelde non-Newtonian faz olan kırmızı kan hücrelerinin viskozitesi, karı¸sım halinde olan kandaki kırmızı kan hücrelerinin hacim oranına (hematokrit) ve kayma oranına (shear rate) göre de˘gi¸smektedir. Iki fazlı kan akı¸sı modelimiz karı¸sım teorisine göre, yani iki ayrı Navier-Stokes denklemi fazlar arası parametreler dahil edilerek her faz için çözümlenmektedir. Simülasyonlarda kullandı˘gımız viskozite modeli OpenFOAM'ın kütüphanelerinde bulunmadı˘gı için ekstra bir kodlama ile eklenmi¸stir. Bu modeli OpenFOAM'a kendimiz ekledi˘gimiz için literatürde bulunan bir deneysel veri ile validasyon çalı¸sması gerçekle¸stirilmi¸stir. Simülasyonlar için OpenFOAM'da karı¸sım teorisini kullanan twoPhaseEulerFoam çözümleyicisini kullandık. Bu çözümleyici bahsetti˘gimiz gibi iki ayrı Navier-Stokes denklemlerini her faz için fazlar arası etkile¸sim parametrelerini de dahil ederek çözümlemektedir ve bu i¸slemler OpenFOAM içinde zaten tanımlanmı¸s bulunmaktadır. Biz, sadece kırmızı kan hücrelerinin viskozite modeli için ekstradan kod eklemesi yapmı¸s bulunmaktayız. Toplardamarlarda kan akı¸sı simülasyonundan önce, twoPhaseEulerFoam çözümleyicisini kullanarak OpenFOAM'ın bubbleColumn isimli test modelinde GPU hesaplama çalı¸sması gerçekle¸stirdik ve akabinde iki-fazlı akı¸s modelimizin do˘grulamasını bir deneysel çalı¸sma ile kıyaslayarak gerçekle¸stirdik. Son olarak da do˘gruladı˘gımız kan akı¸sı modelimizi Cufflink ile GPU üstünde test ederek toplardamar içinde iki-fazlı kan akı¸sı yakla¸sımıyla simülasyonumuzu gerçekle ¸stirdik. Cufflink kullanmamızın sebebi ise foam-extend için geli¸stirilmi¸s olması ve haliyle gelecekteki FSI simülasyonlarında GPU kullanımını gerçekle¸stirebiliyor olmamız. Toplardamardaki kan akı¸sında FSI özelli˘gi oldukça önem arzetmekte çünkü toplardamarlarda bulunan venöz mekanizmalarının da modellenmesi kan akı¸sının tamamen gerçekçi olarak ortaya konulmasında elzemdir. Tez çalı¸smamızdaki asıl amacımız toplardamardaki kan akı¸sının GPU kullanılarak simüle edilmesi oldu˘gu için çalı¸smamızda daha çok Cufflink kütüphanesine önem verilmi¸stir.

Özet (Çeviri)

With the advancement in hardware technology, we are able to reach unprecedented computational scalability and performance. Computational Science and Engineering applications now have highly effective computational resources other than CPU clusters. GPUs now have an important role in Computational Science and Engineering applications. In this study we have shown the efficiency of the usage of GPUs in Computational Fluid Dynamics (CFD). As CFD contains several numerical methods to solve Partial Differential Equations (PDE), some of the numerical methods are suitable for the usage of GPUs. Due to its computational architecture, GPUs can provide rather good performance in some algorithms. The CFD software we used for this thesis is OpenFOAM, an open source leading CFD software. As most of the expensive computational part of CFD takes place in the linear system solver, we have used tools such as Cufflink and Paralution which are able to integrate with OpenFOAM and uses GPU only in the linear system solver part of CFD applications. Other than these tools, there is other software called RapidCFD, based on OpenFOAM, that is developed to use GPUs for CFD applications in which GPU does not only take care of linear system solution but also discretization of PDEs and other calculations to prepare matrix system. All these tools have pros and cons as there is not one tool which is better than all, therefore, these softwares are compared in terms of their performance. We prefer to use Cufflink because it is developed for foam-extend which has Fluid Structure Interaction functionality which is sometimes important for some blood flow applications. The main purpose of this study is to make use of GPUs in blood flow especially using two-phase mixture flow approach. Therefore, we have also developed two-phase blood flow model with a specific non-Newtonian model for Red Blood Cells (RBCs) called modified Carreau-Yashuda Model. This realistic model has been established after experimental data for only blood flow, especially RBCs. Eventually, our blood flow model is expected to be used with FSI functionality for the flow in deep veins where venous valve mechanism is present. Two-phase blood flow modelling with the phases of RBCs and plasma is important to investigate the non-Newtonian behaviour of RBCs dispersed in plasma. Eventually, this thesis is focused on the usage of GPUs using OpenFOAM, mainly for the blood flow in deep veins.

Benzer Tezler

  1. Düşey girişimli basınç testlerinin modellenmesi ve parametre tahmini

    The modeling of the vertical interference tests and parameter estimation

    İHSAN MURAT GÖK

    Doktora

    Türkçe

    Türkçe

    2004

    Petrol ve Doğal Gaz Mühendisliğiİstanbul Teknik Üniversitesi

    Petrol ve Doğal Gaz Mühendisliği Ana Bilim Dalı

    PROF. DR. MUSTAFA ONUR

  2. 3-D velocity structure for the Sea of Marmara and surrounding region (NW Turkey) by using full waveform tomography

    Marmara Denizi ve Kuzeybatı Anadolu Bölgesi üç boyutlu (3-B) hız yapısının tam dalgabiçimi tomografi yöntemi ile analizi

    YEŞİM ÇUBUK SABUNCU

    Doktora

    İngilizce

    İngilizce

    2016

    Jeofizik Mühendisliğiİstanbul Teknik Üniversitesi

    Jeofizik Mühendisliği Ana Bilim Dalı

    PROF. DR. TUNCAY TAYMAZ

  3. Novel data partitioning and scheduling schemes for dynamic federated vehicular cloud

    Dinamik federe araç bulutu için yeni bir görev yükü paylaşımı ve iş planlaması şemaları

    WISEBORN MANFE DANQUAH

    Doktora

    İngilizce

    İngilizce

    2022

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    PROF. DR. DENİZ TURGAY ALTILAR

  4. Dolaşımlı akışkan yatağın hidrodinamik ve ısıl matematik modellemesi

    Hydrodynamic and thermal numerical modeling of coal gasification in circulating fluidized bed

    CEM DOLU

    Doktora

    Türkçe

    Türkçe

    2017

    Enerjiİstanbul Teknik Üniversitesi

    Makine Mühendisliği Ana Bilim Dalı

    PROF. DR. LÜTFULLAH KUDDUSİ