بسیاری از کاربران بر این باور هستند که پردازنده مستقل گرافیکی (GPU) تنها به منظور پردازش اطلاعات گرافیکی به خدمت گرفته می شود.این تصور کاملا اشتباه است.پردازنده های GPU کاربردهای بسیار متنوعی را هدایت می کنند که گاها نتیجه نهایی از پردازنده مرکزی (CPU) بهتر است.با ما همراه باشید.
واحد پردازش گرافیکی (GPU) عموماً برای پردازش محاسبات گرافیکی رایانه طراحی و تولید میشود. به بهرهبرداری از واحد پردازش گرافیکی یک رایانه برای انجام محاسبات معمولی که در گذشته به کمک CPUها صورت میگرفته است، محاسبات همهمنظوره بر روی واحد پردازش گرافیکی (GPGPU) گفته میشود.در حال حاضر اوپنسیال زبان متنباز رایج برنامهنویسی چندمنظوره بر روی جیپییوها بوده و زبان کودا (محصول شرکت انویدیا) نیز پراستفادهترین بستر مالکیتی این زمینه محسوب میشود.
مفاهیم GPGPU
از آنجایی که واحدهای پردازش گرافیکی برای کارهای گرافیکی طراحی شدهاند، در انجام عملیات و برنامهنویسی بسیار محدود هستند. بر اساس مدل طراحی GPUها، استفاده از آنها تنها در مسائلی که به کمک پردازش جریانی قابل حل هستند مفید بوده و قدرت سختافزار آنها تنها به روشهای خاصی قابل بهرهبرداری است.بزرگترین تفاوت اصلی CPU و GPU نیز در این قسمت است.CPU ها توانایی بالایی در نوع پردازش اطلاعات،زبان های برنامه نویسی و اجرای دستورات دارند.اما این در حالی است که پردازنده های گرافیکی تنها در حالاتی خاص قادر به بهره برداری های غیر گرافیکی هستند.
سیستم پردازش جریانی
GPU ها تنها میتوانند بر روی دادهها و آرایههای مستقل از هم پردازش انجام دهند؛ اما این پردازش را در تعداد بسیار بالا و به صورت همزمان اعمال میکنند. این ویژگی هنگامی که نیاز به کار یکسان بر روی تعداد زیادی داده داشته باشید، مفید واقع میشود. به بیان دیگر، GPU ها پردازشگرهای جریانی هستند؛ پردازشگرهایی که به صورت موازی یک روند را بر روی جریانی از دادهها اعمال میکنند. یک جریان، به بیان ساده، مجموعهای از دادههاست که نیاز به محاسبات یکسانی دارند. جریانها اساس موازات دادهها در پردازش موازی محسوب میشوند. کرنلها (به معنای هسته) که توسط GPUها فراخوانده میشوند نیز توابعی هستند که بر روی تکتک اعضای جریان داده اجرا میشوند. در برنامههایی که برای GPUها نوشته میشوند، توجه به میزان عملیات ریاضی بر واحد حافظه ضروری است. از آنجایی که سرعت دسترسی به حافظه بسیار کمتر از سرعت پردازش این سختافزارها است، اگر تعداد عملیات ریاضی برای هر دادهٔ موجود در حافظه کم باشد، میزان افزایش سرعت اجرا محدود میگردد. نرمافزارهای ایدهآل برای GPGPU نرمافزارهایی هستند که دادههای فراوان، موازات بالا و وابستگی کم دادهای داشتهباشند.
سلام
ممنون از مقاله خوب ولی کم !
آقای آریایی میدونم سرتون شلوغه ولی شما یه سری مقاله دادید که با استقبال رو برو شد مثله همین Game Engine ها و …. که قرار بود بنا به گفته خودتون تکمیل تر بشه . فکر کنم اگه یه موضوع رو تموم کنید بعد به موضوع بعدی بپردازید خیلی بهتر میشه ! در هر صورت خوشحال میشم نظرتون رو بدونم
بازم ممنون
واقعا عالی مرسی ازت امیر
مختصر بود اما واقعا مفهموی و عالی بود:-bd
پایان نامه ارشدم GPGPU بود و این نکته بگم که کاربردهای زیادی داره از دستگاهای نظامی گرفته مثل پهبادهای و UAV و…. تا پزشکی و صنعتی و بخاطر اینکه بیشترین آمار جاسوسی از نیروگاها و جاهای نظامی با کارتهای گرافکی انجام میگیره که واقعا توضیح دادنش جاش نیست و فقط بدونین یکی از سخت افزارهای جاسوسی GPU هستش با درایورهای که داره
ممنون آقای آریایی واقعا این مورد رو نمیدونستم (GPGPU)
از این مطالب خیلی خوشم میاد لطفا بیشترش کنید:-bd:-bd:-bd:-bd:-bd:-bd:-bd