تور لحظه آخری
امروز : جمعه ، 25 آبان 1403    احادیث و روایات:  حضرت زهرا (س):ما اهل بیت رسول خدا(ص) وسیله ارتباط خدا با مخلوقاتیم ما برگزیدگان ...
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

تبلیغات متنی

صرافی ارکی چنج

صرافی rkchange

سایبان ماشین

دزدگیر منزل

تشریفات روناک

اجاره سند در شیراز

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

Future Innovate Tech

پی جو مشاغل برتر شیراز

لوله بازکنی تهران

آراد برندینگ

خرید یخچال خارجی

موسسه خیریه

واردات از چین

حمية السكري النوع الثاني

ناب مووی

دانلود فیلم

بانک کتاب

دریافت دیه موتورسیکلت از بیمه

طراحی سایت تهران سایت

irspeedy

درج اگهی ویژه

تعمیرات مک بوک

دانلود فیلم هندی

قیمت فرش

درب فریم لس

زانوبند زاپیامکس

روغن بهران بردبار ۳۲۰

قیمت سرور اچ پی

خرید بلیط هواپیما

بلیط اتوبوس پایانه

قیمت سرور dl380 g10

تعمیرات پکیج کرج

لیست قیمت گوشی شیائومی

خرید فالوور

بهترین وکیل کرج

بهترین وکیل تهران

اوزمپیک چیست

خرید اکانت تریدینگ ویو

خرید از چین

خرید از چین

تجهیزات کافی شاپ

نگهداری از سالمند شبانه روزی در منزل

بی متال زیمنس

ساختمان پزشکان

ویزای چک

محصولات فوراور

خرید سرور اچ پی ماهان شبکه

دوربین سیمکارتی چرخشی

همکاری آی نو و گزینه دو

کاشت ابرو طبیعی و‌ سریع

الک آزمایشگاهی

الک آزمایشگاهی

خرید سرور مجازی

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

لوله و اتصالات آذین

قرص گلوریا

 






آمار وبسایت

 تعداد کل بازدیدها : 1829815003




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
 refresh

انقلاب برنامه نویسی گرافیکی


واضح آرشیو وب فارسی:ماهنامه شبکه: به یاد می آورید روزهایی که مردم به پردازنده کامپیوتر خود افتخار می کردند (بازگردید به دورانی که کارت های گرافیک 1 مگابایت حافظه و سیستم های کامپیوتری حداکثر 16 مگابایت حافظه اصلی داشتند). امروزه بهترین مدل از پردازش گرهای مرکزی کامپیوتر در مقایسه با کارت های گرافیکی از قیمت پایین تری برخوردار هستند.این مطلب یکی از مجموعه مقالات پرونده ویژه « آینده برنامه نویسی » است. برای دانلود کل پرونده ویژه  اینجا  کلیک کنید.  به طور مثال، در حالی که قیمت پردازنده Intel Core i7-5960X هشت هسته ای با فرکانس کاری 3 گیگاهرتز در بازار داخلی نزدیک به سه میلیون سیصد هزار تومان است، اما کارت گرافیک ASUS GTX TITAN Z همراه با 12 گیگابایت حافظه در محدوده قیمت شش میلیون و هفتصد هزار تومان یا GeForce GTX 980 همراه با سیستم خنک کننده آبی آن در محدوده 12 میلیون تومان قرار دارند. حتی عاشقان بازی های کامپیوتری امروزه به سرعت کارت گرافیک خود و نه به CPU دستگاه خود افتخار می کنند. اما کارت های گرافیک دیگر در تملک بازی ها قرار ندارند و آن گونه که خواهید خواند، طیف گسترده ای از برنامه های کاربردی به آن ها علاقه مند شده اند. همین موضوع باعث خط دهی دنیای فناوری و بازار به سمت کارت های گرافیکی شده است. مطلب پیشنهادی: زنان پدیدآورنده 9 زبان برنامه نویسی مهم شتاب دهنده محاسباتی گرافیکی چیست؟ شتاب دهنده محاسبات مبتنی بر GPU از واحد پردازش گر مرکزی گرافیکی (GPU) همراه با CPU برای سرعت بخشیدن به برنامه های سازمانی، مهندسی، نجوم، تجزیه و تحلیل و تحقیقات علمی استفاده می کند. پیش گام این مدل از محاسبات انودیا بود. امروزه شتاب دهنده های گرافیکی به اندازه ای قدرتمند شده اند که از توان محاسباتی بالایی برخوردار هستند و در آزمایشگاه های دولتی، دانشگاه ها، شرکت ها و کسب وکارهای کوچک و بزرگ در سراسر جهان مورد استفاده قرار می گیرند. GPU در حال سرعت دادن به برنامه های کاربردی در طیف وسیعی از پلتفرم ها همچون ماشین ها، تبلت ها، گوشی های هوشمند، هواپیماهای بدون سرنشین و روبات ها است. GPU چگونه این شتاب را در برنامه ها به وجود می آورد؟ محاسبات مبتنی بر پردازش گر گرافیکی عملکرد نرم افزارها را به طرز بی سابقه ای افزایش داده است. این محاسبات با کمک گرفتن از پردازش جریانی و تقسیم و پخش کردن بخش های حساس محاسباتی یک برنامه روی GPU باعث افزایش سرعت برنامه ها می شود، در حالی که هنوز هم بخش های باقی مانده از کدهای برنامه توسط CPU اجرا می شود. از دیدگاه کاربر، برنامه های کاربردی به طور بسیار محسوس از سرعت اجرای بالاتری برخوردار می شوند (شکل 1).  شکل 1: کدهای برنامه به دو بخش تقسیم می شوند. رشته ای متوالی از کدها که توسط CPU مورد پردازش قرار می گیرند و محاسبات 5 درصد از کدها توسط GPU انجام می شود. مبارزه ای سنگین بین CPU و GPU  ساده ترین راهی که تفاوت موجود بین CPU و GPU را به ما نشان می دهد، مقایسه روش هایی است که این دو در پردازش وظایف از آن استفاده می کنند. یک CPU شامل تعداد محدودی از هسته های بهینه سازی شده برای اجرای متوالی مجموعه ای از فرآیندها است، در حالی که GPU از یک معماری موازی متشکل از هزاران هسته کوچک تشکیل شده که برای مدیریت چند وظیفه به طور هم زمان مورد استفاده قرار می گیرد (شکل 2).  شکل 2: پردازنده های گرافیکی از هزاران هسته موازی برای پردازش مؤثر وظایف سنگین استفاده می کنند. محاسبات همه منظوره روی واحد پردازش گرافیکی GPGPU (سرنام General-Purpose Computing on Graphics Processing Units) یا همان محاسبات همه منظوره روی واحد پردازش گرافیکی از واحد پردازش گر گرافیکی و برای انجام محاسبات خود فقط از پردازش گر گرافیکی استفاده می کند. به دلیل این که GPU به طور خاص برای انجام کارهای گرافیکی طراحی شده است، در نتیجه عملیات برنامه نویسی با محدودیت هایی روبه رو هستند. با توجه به معماری خاص آن ها، GPU فقط برای حل مشکلاتی که از پردازش جریانی استفاده می کنند، مؤثر خواهند بود، در نتیجه سخت افزار آن ها تنها به روش خاصی می تواند مورد استفاده قرار گیرد. GPU تنها توانایی انجام پردازش روی آرایه ها و قطعات مستقل را دارند، اما در مقابل می توانند این قطعات مستقل را به صورت موازی پردازش کنند. سرمایه گذاری روی یادگیری برنامه نویسی گرافیکی، سرمایه گذاری برای آینده است. حتی ارزان قیمت ترین کارت های گرافیکی امروزی نیز به شما امکان یادگیری این سبک از برنامه نویسی را ارائه می کنند. این تکنیک به ویژه زمانی مؤثر خواهد بود که برنامه نویسی بخواهد پردازش را روی طیف گسترده ای از آرایه ها یا بخش ها انجام دهد. در این حالت، GPU پردازش گر های جریانی هستند. پردازش گرهایی که توانایی انجام عملیات موازی روی داد ه های مختلف را در یک لحظه خواهند داشت. برای بهره مندی از مدل برنامه نویسی گرافیکی روش های مختلفی وجود دارد که عمدتاً دو گزینه شناخته شده به کاربران پیشنهاد می شود؛ OpenCL و CUDA. در صورتی که امروزه Har lan از قدرتی به مراتب بالاتر برخوردار است. OpenCL  OpenCL چهارچوبی است که برای نوشتن برنامه هایی که روی بیش از یک نوع پردازنده اجرا می شوند و تلفیقی از پردازنده گرافیکی (GPU)، پردازنده مرکزی (CPU)، پردازش گر سیگنال دیجیتال (DSP)، مدار مجتمع دیجیتال برنامه پذیر (FPGA) و پردازنده های دیگر هستند، مورد استفاده قرار می گیرد. برای این منظور OpenCL از روش های وظیفه محور و داده محور پشتیبانی می کند. OpenCL یک زبان ویژه (مبتنی بر C99) را برای برنامه نویسی این دستگاه ها و توابع برنامه نویسی را برای کنترل پلتفرم ها و اجرای برنامه ها روی دستگاه های محاسباتی در اختیار برنامه نویسان قرار می دهد.  CUDA CUDA (سرنام Compute Unified Device Architecture) پلتفرم محاسبات موازی است که رابط های برنامه نویسی را در اختیار برنامه نویسان قرار می دهد. کودا در سال 2007 توسط شرکت ا ن ویدیا معرفی شد و به طراحان نرم افزار اجازه می دهد تا از توانایی های GPU در جهت محاسبات همه منظوره روی واحد پردازش گرافیکی استفاده کنند که پیش تر به آن اشاره کردیم. پلتفرم کودا یک لایه نرم افزاری است که دسترسی مستقیم به مجموعه دستورالعمل های مجازی GPU و عناصر محاسبات موازی را می دهد. این پلتفرم به گونه ای طراحی شده است که با زبان های برنامه نویسی سی پلا س پلاس، سی و فرترن کار می کند. این قابلیت دسترسی کار را برای متخصصان برنامه نویسی موازی برای استفاده از منابع GPU به همان شکلی که از دایرکت ایکس یا اپن جی ال استفاده می کنند، هموار کرده است. کودا همچنین از چهارچوب های برنامه نویسی از قبیل OpenACC و OpenCL پشتیبانی می کند.  Harlan هارلن توسط دکتر اریک هولک متخصص علوم کامپیوتر و استاد دانشگاه ایندیانا طراحی شده است. هارلن در گروه زبان های برنامه نویسی سطح بالایی است که برای محاسبات GPU مورد استفاده قرار می گیرد. به طور معمول، زبان های برنامه نویسی GPU یک آرایه یک بعدی یا دو بعدی از داده های عددی را ارائه می کند که عمدتاً برای محاسبات ساده مورد استفاده قرار می گیرد. هارلن از آرایه های از پیش ساخته ای بهره می برد که از انعطاف پذیری بیش تری برخوردار هستند. اگر شما ماتریکس یا آرایه ای را در اختیار داشته باشید، بیش تر زبان های GPU در ارتباط با آرایه های داخلی و اندازه آن ها با محدودیت هایی همراه هستند. اما در هارلن این محدودیت ها وجود ندارد، به طوری که برنامه نویسان از انعطاف پذیری بیش تری برخوردار هستند (شکل 3).  شکل 3: هارلن از چند دستگاه پشتیبانی می کند. آینده برنامه نویسی گرافیکی به کجا خواهد رفت؟  هر روزه بر تعداد برنامه هایی که از GPU استفاده می کنند افزوده می شود. در مدت زمان کوتاهی بیش تر طراحان و حتی شرکت های بزرگ به طور فزاینده ای به سوی فرآیندهای گرافیکی خواهند آمد (هم اکنون نیز شرکت های بزرگ برنامه های خود را بر مبنای این الگو قرار داده اند). شبیه به کاری که اکنون مرورگرهای وب در حال انجام آن هستند. ما در آینده به طور فزاینده برنامه هایی را مشاهده خواهیم کرد که دیگر مختص رسم نقاشی های فانتزی نخواهد بود. برنامه ها به گونه ای بازنویسی خواهند شد که از معماری موازی GPU استفاده کنند. اما این گونه محاسبات برای چه گروه از افراد جنبه کاربردی خواهد داشت؟ در یک کلام برای همه گروه های جامعه! فیزک دانان از آن ها برای مطالعه اجرام استفاده می کنند، شیمی دانان از آن ها برای مطالعه واکنش ها، ستاره شناسان برای شبیه سازی کهکشان ها و زیست شناسان برای به دست آوردن آمارهای حیاتی از GPU استفاده خواهند کرد. با توجه به این گستره وسیع از کاربردها شاید من هم در آینده برای گرم کردن دفتر کارم از GPU استفاده کنم!  هارلن توسط دکتر اریک هولک متخصص علوم کامپیوتر و استاد دانشگاه ایندیانا طراحی شده است. هارلن در گروه زبان های برنامه نویسی سطح بالایی است که برای محاسبات GPU مورد استفاده قرار می گیرد.  مدل های به کارگیری برنامه نویسی گرافیکی به سرعت در حال گسترش است. به زودی کامپایلرهای بهتری نوشتن این گونه کدها را امکان پذیر خواهند ساخت و به کامپایلر اجازه خواهد داد، تصمیم بگیرد چهزمانی برای اجرای مؤثر کدها روی GPU مناسب است. ابزارهای دانشگاهی در حال حاضر این کار را در سطح محدودی انجام می دهند، اما این ابزارها در آینده به سرعت محبوب خواهند شد، زمانی که به کارگیری آن ها برای هر شخصی روی پروژه اش ساده باشد.  هولک می گوید: « مدل های برنامه نویسی که ما امروزه از آن ها استفاده می کنیم، به طور فزاینده در حال سخت تر شدن هستند و با گسترده تر شدن که مقیاس آن ها، مدیریت آن ها نیز سخت تر می شود؛ بنابراین، ما نیازمند راه های جدیدی برای دسترسی به برنامه نویسی ماشینی هستیم.» جدول 1: برنامه های مبتنی بر شتاب دهنده گرافیکی اندرو لومسداینه، مدیر مرکز تحقیقات CREST، واحدی مستقر در دانشگاه ایندیانا درباره برنامه نویسی گرافیکی می گوید: «یکی از مشکلاتی که پژوهش گران GPU با آن دست به گریبان هستند، در ارتباط با نوشتن برنامه هایی است که قرار است روی ماشین هایی که از دو پردازنده مختلف استفاده کنند اجرا شوند، به طوری که این برنامه ها توانایی انجام موازی کارها را داشته باشند. GPUs بسیار موازی هستند، اما نوع متفاوتی از موازی کاری را نسبت به هسته های CPU مورد استفاده قرار می دهند. محققان در تلاش هستند تا مکانیسم هایی را برای برنامه نویسی ماشینی و یک پارچه سازی این روش ها در برنامه نویسی به وجود آورند.» چه تجارت هایی از برنامه های مبتنی بر شتاب دهنده گرافیکی استفاده می کنند امروزه طیف گسترده ای از صنایع با بیش از سه هزار برنامه کاربردی بهینه سازی شده برای پردازنده های گرافیکی در خدمت کاربران قرار دارند. بهینه سازی های انجام شده روی این برنامه ها باعث سرعت بخشیدن به انجام کارها شده است. امروزه برنامه نویسی گرافیکی در محاسبات مالی، تجزیه و تحلیل های علمی داده ها، هوش مصنوعی، کارخانجات، حوزه چندرسانه ای، صنعت نفت و گاز، شیمی، زیست شناسی، تجزیه و تحلیل های عددی، فیزیک و حتی امنیت و ایمنی مورد استفاده قرار می گیرند. جدول 1 چند نمونه از این برنامه های کاربردی ارائه شده در صنایع را نشان می دهد. برنامه هایی که در جدول بالا مشاهده کردید، تنها بخش بسیار کوچکی از برنامه هایی است که امروزه محاسبات خود را بر مبنای شتاب دهنده گرافیکی انجام می دهند، در حالی که در صنعت نفت و گاز برنامه هایی همچون CGG- Inside Earth ،Echelon Stoneridge ،GeoMage: Multifocusing و ... یا در حوزه امنیت برنامه هایی همچون Herta Security BioSurveillance NEXT،BioFinder ،Mi-AccLib (2.0.1 ،Intuvision ،NerVve - Visual Search Solution NVSS) و ... قرار دارند. سخن آخر سرمایه گذاری روی یادگیری برنامه نویسی گرافیکی، سرمایه گذاری برای آینده است. حتی ارزان قیمت ترین کارت های گرافیکی امروزی نیز به شما امکان یادگیری این سبک از برنامه نویسی را ارائه می کنند.


یکشنبه ، ۱۲مهر۱۳۹۴


[مشاهده متن کامل خبر]





این صفحه را در گوگل محبوب کنید

[ارسال شده از: ماهنامه شبکه]
[مشاهده در: www.shabakeh-mag.com]
[تعداد بازديد از اين مطلب: 24]

bt

اضافه شدن مطلب/حذف مطلب







-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن