در اینجا ما دربارهی محاسبات با کارایی بالا و محاسبات علمی پیشرفته سخنرانی میکنیم. امروز یک سخنرانی عملی داریم که بر اساس مفاهیم پایهای که پیشتر بیان کردیم، ساخته شده است. ما قرار است یک مقدمه کوتاه به برنامهنویسی و زمانبندی در زبان C داشته باشیم. هر دو مورد به برنامهنویسی و بهینهسازی زمان اجرا اختصاص دارد.
محاسبات با کارایی بالا اساسی برای بسیاری از برنامههای علمی و فنی هستند و ما قصد داریم به آنها اشاره کنیم. در حالی که به برنامهنویسی C میپردازیم، در برخی موارد ممکن است از زبانهای دیگر مانند Fortran و UM در حوزهی محاسبات با کارایی بالا نیز استفاده کرده باشید. همچنین به مطالعهی مفهوم زمانبندی برای برنامهها پرداخته و اهمیت آن را مورد بررسی قرار دادهایم.
قبل از ورود به جزییات سخنرانی، بگذارید یک بار دیگر به مفاهیم ابتداییی که پوشش دادیم بپردازیم. در سخنرانی گذشتهای که در مورد HPCبه عنوان یک معماری گستردهتر صحبت کردیم، به اصول پایهای محاسبات با کارایی بالا پرداختیم و این به طور معقول با شروع به برنامهنویسی و بهینهسازی کد مرتبط است.
سیستم شما کوچکترین واحدهای محاسباتی در آن در واقع دوره یا توان محاسباتی هستند، بنابراین به مباحثی از قبیل پردازندههای چند هستهای، حافظه نهان و دیگر ویژگیها پرداختیم که در پردازندههای چند هستهای معمولاً یافت میشوند.
عملکرد سیستمها با تهدید سیگنال بالا است و به طور گسترده در برنامهنویسی موازی و محاسبات موازی استفاده میشود، به معنای آن که فرآیندهای متفاوتی همزمان اجرا میشوند و از ظرفیت کامل پردازشها بهره میبرند. ما مطالعهای بر روی روشهای مختلف اینگونه برنامهنویسی انجام دادیم، از جمله هستههایی که با یکدیگر تعامل دارند و از آنها به عنوان یک واحد مشترک در حل مسائل بزرگ استفاده میشود.
در بخش بعدی سخنرانی به مسائلی چون برنامهنویسی با استفاده از MP Open و تنظیمات حافظه توزیع شده میپردازیم، که این موارد هنوز در حال ارائهی فرصتها و چالشهایی برای بهبود عملکرد سیستمها هستند. به طور خاص، ما دربارهی NUMAو کش CCNUMA به صورت جامع صحبت خواهیم کرد.
همچنین به موضوعاتی چون شبیهسازیهای فیزیکی پیشرفته، استفاده از دادههای بزرگ برای تحقیقات شبیهسازی، و استفاده از HPCبرای پردازش تصاویر ماهوارهای برای ارزیابی از دور پرداختهایم. این تمام اهداف و محتوای سخنرانیهای آتی ما خواهد بود.
این مطالب در زمینهی محاسبات با کارایی بالا و برنامهنویسی بهینهسازی شده را برای سخنرانی امروز تهیه کردهایم.
مثالهایی از شبکههای کانولوشنی هستند. اینها واقعاً اهمیت زیادی دارند. امروزه، یادگیری عمیق از آنها بهره میبرد و hpcاساسی است برای محاسباتی که اصلاً فرآیند یادگیری نام دارد. این فرآیند اساساً تکنیکی است که بسیاری از ماتریسهای ضرب برداری را نشان میدهد، ماتریسهای متعددی را واقعاً محاسبه میکند. امروزه، ما دارای تعداد زیادی از این پارامترهای بالا برای حل مشکلات هستیم، بنابراین از بهینهسازی استفاده میکنیم که اساساً بهترین فعالسازی است. توجه داشته باشید که تابع چند دستهای و استفاده از ray tune و سایر ابزارها موضوع یکی از سخنرانیهای بعدی است. در این سخنرانیها، ما به بحث پرداخته و همچنین در مورد اهمیت hpc برای پیدا کردن ایده درست از پارامترهای هایپر بحث خواهیم کرد.
در موضوعات بعدی، به بررسی مسائل عملیتر و گامهای بعدی پرداخته خواهد شد. این سخنرانی در مورد اهمیت سیستمهای hpcصحبت میکند و همچنین به آینده نگاه میکند. ما همچنین فهمیدهایم که آینده در حال حاضر واقعی است، بنابراین محاسبات کوانتومی در اینجا تصور میشود که واقعاً فعال هستند. ما البته نمونههایی از آنیل کوانتومی نشان دادهایم که گروه تحقیقاتی ما قبلاً انجام داده است. این موضوع مهمی است و در آینده موضوع جالبی خواهد بود. به شما توصیه میکنم که به این موضوع که در یوتیوب دیدهاید نگاهی بیندازید، به عنوان مثال یک سخنرانی از من در چند سال پیش وجود دارد که اساساً برای درک چگونگی عملکرد کیوبیتها است. در نهایت، آنیلر کوانتومی در یک فضای بزرگ برنامهریزی میشود و بازپخت کوانتومی فقط یک کسر کوچک روی آن اجرا میشود.
ماژولها درست است اگر به یاد داشته باشید که در سخنرانیهای گذشته، ابرمحاسبات مدولار را مورد بررسی قرار دادهایم. در حقیقت، رایانه کوانتومی تقریباً مانند یک شتابدهنده است که برای مسائل خاص استفاده میشود، و این یکی از مسائل جالب برای حل بهینهسازی با رایانه کوانتومی است. الگوریتمهای یادگیری ماشین بر اساس یک بهینهساز مشترک عمل میکنند. در اینجا، مسائل زیبایی که با آنیل کوانتومی حل میشوند، معرفی شده است. در بخشهای بعدی دوره، به این موضوع خواهیم پرداخت.
اجازه دهید اکنون به بینشهای عملیتر برویم. این سخنرانی بسیار اولیه است و نمیتوانم به طور کلی برنامهنویسی Cرا پوشش دهم. اگر میخواهید یک متخصص Cباشید، نیاز به آموزشهای گستردهتر دارید. هدف این است که به اصول اولیه پرداخته شود و این که چرا برنامهنویسی Cبرای یک دوره مهم است. همچنین، برای رفع اضطراب شما، ممکن است به یک برنامه ساده C نگاه کنید و ببینید که چگونه میتوانید از آن استفاده کنید. این با توجه به سیستم HPCکاملاً متفاوت است، که با آنچه که ممکن است با کامپایل جاوا یا C# روی لپتاپ خود میدانید، کاملاً متفاوت است. در اینجا، سیستمهای HPCدارای ویژگیهای خاصی هستند و گرهها دارای ماژولهای خاصی هستند که به شما نشان میدهند که هرگز نباید از یک گره ورودی برای اجرای برنامههای C استفاده کنید.