امروز ما سخنرانی دوم خود را داریم که اصطلاحاً در مورد برنامهنویسی موازی با MPI است. MPI مخفف "Message Passing Interface" است که برای برنامههای کاربردی HPCبرای موازیسازی استفاده میشود.
ما قبلاً در یکی از سخنرانیهای قبلی به موضوع حافظه توزیع شده اشاره کرده بودیم. قبل از اینکه به مطالب سخنرانی امروز بپردازیم، مروری بر سخنرانی گذشته داشته و در آن به مفاهیم اساسی استفاده از سیستمهای HPCپرداخته بودیم.
در این سخنرانی، به بررسی برنامههای چندفیزیکی در حوزههای مختلف علوم اعصاب، مانند شبیهسازی پمپهای خون در بدن انسان، پرداخته خواهد شد که نیازمند محاسبات فوقالعادهای هستند و میتوانند از محاسبات موازی بهره ببرند.
در سخنرانیهای آینده، به بررسی سرعت و تئوری محاسبات موازی خواهیم پرداخت. همچنین در مورد استفاده از GPUs در سیستمهای HPC و تأثیر آن بر کارایی و اجرای برنامههای مختلف صحبت خواهیم کرد.
این سخنرانیها به طور مستقیم با تجربه و بازخورد دانشجویان و جامعه در یوتیوب در دورهی تدریس مرتبط میشود و سعی دارد تا مفاهیم تئوری را به شیوهای عملی و قابل درک ارائه دهد.
اگر میخواهید واقعاً دیدگاه عملیتری در مورد این موضوع داشته باشید و واقعاً شروع به کدنویسی مستقیم روی یک ابررایانه کنید، کمی نامرتب است، بنابراین آنچه که ما انجام خواهیم داد، این است که یک مقدمه بسیار جالب بهMPI داشته باشیم و این به شما نشان میدهد که کمی توزیع شده بودن کامپیوترهای حافظه دوباره اوه او دارای اصطلاحات زیادی است، اما مربوط به این نرمافزار محاسباتی موازی مثالهای کاربردی ما کمی در مورد استانداردسازی صحبت میکنیم و اینکه چرا این ضروری است چه فایدهای دارد مانند قابل حمل بودن، ما پیادهسازیهای مختلفMPI داریم و سپس روشهای مختلف چگونه برای استفاده از MPI و یکی از اولین قسمتها درک گذر پیام نقطهدو خواهد بود که به عبارت دیگر شما یک ارسال و دریافت دارید و ما در این مورد صحبت خواهیم کرد و سپس به طور کلی در این مجموعههای MPI با محاسبات ساده نگاه خواهیم کرد.
مثالها و اساساً پس از آن، ما کمی بیشتر به این خواهیم پرداخت که ایده رتبه MPI چیست و ارتباطدهندههایی که در واقع با فضای ارتباطی که در این رایانههای قدرتمند اتفاق میافتد مقابله میکنند. بنابراین، قسمت دوم این سخنرانی امروز پس از آن، مبانی برنامهنویسی خواهد بود، بنابراین بخش اول کمی مفهومی خواهد بود تا اصلاً منظور ما از موازیسازی با برنامهنویسی به طور موازی چیست و در حالی که قسمت دوم باید شما را اینجا و آنجا به شما معرفی کند تا یک گام به گام در مورد نحوه انجام این کار آشنا شوید.
اکنون وارد برنامهنویسی موازی شوید که از یک برنامهC معمولی چه مراحلی را انجام دادهایم. اکنون با کد MPI تقویت کنیم تا واقعاً اجرای موازی را انجام دهیم که در مثال Hello World با یکدیگر صحبت کنند که دفعه قبل انجام دادیم. اگر این کار را انجام ندهیم، اجرای موازی انجام دادیم که با هم صحبت نکردیم و فقط به صورت موازی اجرا شد، چهار نتیجه متفاوت داشت با چهار بار Hello World در چهار نت مختلف، موضوع مهمی نیست. حالا در اینجا ما اکنون در قسمت دوم شروع میکنیم. برخی از برنامهها، اما سپس در سخنرانی عملی 2.1 که در ادامه خواهد آمد، نمونههایی را نیز به شما نشان خواهم داد، در حالی که این امروز در اینجا کاملاً مفهومی است، من همچنین یک سخنرانی عملی 2.1 از اساساً برای شما دارم دفعه بعد که این برنامهها را مرور میکنیم.
جزئیات بیشتر، اما در آنجا شما قبلاً کمی در قسمت دوم بر اساس ایدههای مفهومی قسمت اول تجربه خواهید کرد، چیزی که اکنون ایده کنار هم قرار دادن این برنامههای مختلف است و ما چند ویدیو داریم که به خوبی بسیاری از موارد را خلاصه میکند. این جنبهها در مورد MPI چون البته میتوانید تصور کنید که در یک مرکز ابرکامپیوتر جایی که من بزرگ شدهام، میگویید که ما این دورههایMPI را به مدت سه روز یا اساساً یک هفته کامل دورههای MPI میگذرانیم تا واقعاً بفهمیم که به درستی از این رو، ما اینجا فقط چند نفر داریم. از سخنرانیها چون این دوره نسبتاً HPC است و یک دوره کامل MPI نیست، ما موضوعات بسیار دیگری نیز داریم. بنابراین، زبان بسیار بزرگی است، اما مزایای آن این است که اساساً از همه این استانداردهای MPI فقط چند مورد از آن دسته جمعی و عملیات اغلب استفاده میشود. بقیه بسیار دقیقتر هستند.