حل عددی معادلات ۲ بعدی آب کم عمق روی شبکه مثلتی به روش پردازش گرافیکی
- رشته تحصیلی
- مهندسی عمران-سازه های دریایی
- مقطع تحصیلی
- کارشناسی ارشد
- محل دفاع
- کتابخانه پردیس یک فنی شماره ثبت: 2092;کتابخانه مرکزی -تالار اطلاع رسانی شماره ثبت: 69697
- تاریخ دفاع
- ۱۶ شهریور ۱۳۹۲
- دانشجو
- حبیب اله عبدی
- استاد راهنما
- مسعود منتظری نمین
- چکیده
- استفاده از پردازنده¬های گرافیکی به منظور سرعت بخشیدن به محاسبات کامپیوتری، چند سالی است که مورد توجه مجامع علمی می¬باشد. یکی از حوزه¬هایی که به خوبی با این فناوری قابلیت هماهنگ شدن دارد، شاخه دینامیک سیالات محاسباتی است. به منظور آزمودن کارایی این روش، در این تحقیق حلگری برای معادلات دو بعدی آب کم عمق پیاده¬سازی شده و برای اجرا توسط پردازنده¬های گرافیکی توسعه یافته است. به کمک این حلگر، مدل جریان¬های جذر و مدی خلیج فارس به مدت دو هفته از زمان واقعی، شبیه¬سازی شده و در نهایت افزایش سرعت¬های به دست آمده نسبت به پردازشگرهای تک هسته¬ای و چند هسته¬ای سنتی (CPU) محاسبه شده است. برای مدلسازی مورد نظر در این تحقیق از زبان برنامه-نویسی CADA C/C++ استفاده شده است که زبانی با هسته C/C++ و به منظور بهره¬گیری از قابلیت¬های پردازنده¬های گرافیکی است. همچنین برای مدلسازی به منظور اجرا در سیستم¬های چند هسته¬ای از ابزار OpenMP بهره گرفته شده است.به کمک شبیه¬سازی ایجاد شده، افزایش سرعتی در حدود 47 برابر نسبت به مدل پردازنده¬های سنتی به دست آمده است. در کنار این نتایج سعی شده است تا به طور دقیق و موشکافانه، معماری پردازنده¬های گرافیکی و اصول مدلسازی برای اجرا توسط این پردازنده¬ها بیان شود. همچنین ملاحظات مربوط به افزایش کارایی این نوع برنامه¬ها تا حد امکان بیان شود.
- Abstract
- Using of graphic processors for speeding up computation is of interest of scientific community for a few years.One of the branches that goes well with this technology is computational fluid dynamics.In order to test the efficiency of this method, a two dimensional shallow water equations solver is developed to implement and run by the graphic processors.With this solver the tidal flows of Persian Gulf for two weeks of real time is simulated and speedups over traditional single-core and multi-core CPUs are calculated.CUDA C/C++ is used for this purpose which is a C/C++ based programming language utilizing GPUs as the main processor.Also an OpenMP model for the solver has been developed for computing in multi-core CPU systems. With this simulation speedup of about 47 times is obtained for CUDA implementation over the traditional CPU based computations.In addition to these results, it has been tried to describe GPU architecture and modeing principals for these kinds of processors. Also important considerations for improving performance for these programs is expressed.